diff --git a/.gitignore b/.gitignore
index 65368e4..7db03f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,8 @@
.packages
# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock
+!apps/client/pubspec.lock
+!apps/runner/pubspec.lock
# Directory created by dartdoc
# If you don't generate documentation locally you can remove this line.
@@ -60,6 +62,9 @@ agent-ops/rules/private/
.claude/settings.local.json
/services/core/oto-core
agent-test/local/
+!agent-test/
+!agent-test/local/
+!agent-test/local/*.md
agent-test/runs/
# BEGIN Agent-Ops managed gitignore
diff --git a/agent-roadmap/ROADMAP.md b/agent-roadmap/ROADMAP.md
index 6de6c93..309b775 100644
--- a/agent-roadmap/ROADMAP.md
+++ b/agent-roadmap/ROADMAP.md
@@ -17,9 +17,9 @@ OTO는 YAML 기반 빌드/배포 파이프라인을 실행하는 Dart CLI에서
- [폐기] Edge 직접 연결 기반 `oto-agent`
- 경로: `agent-roadmap/archive/phase/edge-direct-oto-agent/PHASE.md`
- 요약: OTO가 iop Edge와 proto-socket 기반 outbound 통신을 하는 경로는 검증 근거만 보존하고, 독립 OTO Control Plane 방향으로 전환하며 기본 제품 경로에서는 폐기한다.
-- [진행중] 독립 Control Plane 기반 OTO
+- [검토중] 독립 Control Plane 기반 OTO
- 경로: `agent-roadmap/phase/independent-control-plane/PHASE.md`
- - 요약: OTO를 iop 직접 연결 구조에서 분리해 `apps/runner`, `apps/client`, `services/core`를 가진 독립 CI/CD runner/control plane 제품 구조로 전환하며, 현재는 core server 모듈 경계 정리를 진행 중이다.
+ - 요약: OTO를 iop 직접 연결 구조에서 분리해 `apps/runner`, `apps/client`, `services/core`를 가진 독립 CI/CD runner/control plane 제품 구조로 전환했고, Phase 완료 후보로 검토 중이다.
- [검토중] 메시지 기반 빌드 에이전트
- 경로: `agent-roadmap/phase/message-based-build-agent/PHASE.md`
- 요약: `oto agent` 또는 `oto daemon` 모드에서 Edge와 양방향 메시지 통신을 사용하며, OTO를 build/deploy 전용 domain agent로 노출한다.
diff --git a/agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md b/agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md
new file mode 100644
index 0000000..6d9943f
--- /dev/null
+++ b/agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md
@@ -0,0 +1,58 @@
+# Milestone: workspace 메타데이터와 재현성 정리
+
+## 상태
+
+[완료]
+
+## 목표
+
+모노레포의 lockfile, local test 문서, package metadata, 배포 템플릿 상태를 정리해 새 작업과 배포 검증이 일관되게 재현되도록 만든다.
+
+## 범위
+
+- `.gitignore`의 `pubspec.lock`과 `agent-test/local/` ignore 정책을 현재 추적 파일과 맞춘다.
+- Flutter client와 runner package description, web manifest, Chocolatey package placeholder를 제품 상태에 맞게 갱신한다.
+- package별 lockfile 추적 또는 비추적 기준을 명시한다.
+
+## 범위 제외
+
+- 배포 채널 추가
+- package versioning 정책 전면 개편
+- secret 또는 private 설정 문서화
+
+## 구현 잠금
+
+- 상태: 해제
+- 결정 필요:
+ - 없음
+
+## 작업 컨텍스트
+
+- `.gitignore`는 기본적으로 `pubspec.lock`을 ignore하되, executable application인 `apps/client`와 `apps/runner` lockfile만 추적 예외로 둔다.
+- root에는 `pubspec.yaml`이 없으므로 root `pubspec.lock`은 stale local artifact로 제거하고 계속 ignore한다.
+- library package인 `packages/flutter/oto_console`의 `pubspec.lock`은 비추적 기준으로 두고 local artifact로 제거한다.
+- `agent-test/local/*.md`는 tracked local test rule/smoke 문서로 유지하고, `agent-test/runs/`는 local 산출물로 ignore한다.
+- `apps/client`와 `apps/runner` metadata의 Flutter/Dart 기본 템플릿 문구는 OTO 제품 설명으로 갱신했다.
+- `apps/runner/assets/package/chocolatey/_TODO.txt`는 generic Chocolatey TODO 대신 OTO packaging status와 release 전 확인 항목을 기록한다.
+
+## 기능
+
+### Epic: [metadata] workspace metadata
+
+- [x] [lock-policy] application/library package별 `pubspec.lock` 추적 기준을 확정하고 `.gitignore`를 그 기준에 맞춘다.
+- [x] [test-docs] `agent-test/local/` ignore 정책과 tracked smoke 문서 운영 방식이 충돌하지 않도록 정리한다.
+- [x] [descriptions] Flutter client, web manifest, runner package description의 기본 템플릿 문구를 제품 설명으로 갱신한다.
+- [x] [package-todo] Chocolatey package placeholder의 처리 방향을 결정하고 배포 템플릿 상태를 문서 또는 파일 구조에 반영한다.
+
+## 완료 리뷰
+
+- 상태: 승인됨
+- 요청일: 2026-06-09
+- 승인일: 2026-06-09
+- 완료 근거:
+ - `.gitignore`가 app lockfile만 추적 예외로 두고 root/library lockfile은 비추적 기준으로 정리되었다.
+ - local test 문서 추적 예외, package/web metadata, Chocolatey packaging status가 현재 제품 구조에 맞게 갱신되었다.
+ - `dart pub get`, `flutter pub get`, runner/client analyzer, client test, focused runner CLI smoke가 통과했다.
+- 사용자 최종 확인:
+ - 2026-06-09 완료 및 archive 이동 승인.
+- 리뷰 코멘트: runner 전체 `dart test`는 외부 iop Edge smoke의 `agent_kind` 설정 문제로 실패했으며, 이번 변경과 직접 관련된 focused runner CLI smoke는 통과했다. 해당 runner 검증 기준 정합화는 별도 후속 Milestone 범위로 분리한다.
diff --git a/agent-roadmap/phase/independent-control-plane/PHASE.md b/agent-roadmap/phase/independent-control-plane/PHASE.md
index 53373d2..0125b6c 100644
--- a/agent-roadmap/phase/independent-control-plane/PHASE.md
+++ b/agent-roadmap/phase/independent-control-plane/PHASE.md
@@ -2,7 +2,7 @@
## 상태
-[진행중]
+[검토중]
## 목표
@@ -33,10 +33,21 @@ OTO를 iop Edge에 직접 붙는 domain agent가 아니라, 독립 실행 가능
- [완료] core server 모듈 경계 정리
- 경로: `agent-roadmap/archive/phase/independent-control-plane/milestones/core-server-boundary-cleanup.md`
- 요약: Go core service의 HTTP routing, handler, DTO, clock 의존을 모듈 경계별로 분리한다.
-- [진행중] workspace 메타데이터와 재현성 정리
- - 경로: `agent-roadmap/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md`
+- [완료] workspace 메타데이터와 재현성 정리
+ - 경로: `agent-roadmap/archive/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md`
- 요약: lockfile, local test 문서, package metadata, 배포 템플릿의 추적/설명 기준을 정리한다.
+## 완료 리뷰
+
+- 상태: 요청됨
+- 요청일: 2026-06-09
+- 완료 근거:
+ - 독립 Control Plane 분리, 포트/환경, agent-ops 규칙, runner 출력, oto_console, core server, workspace metadata Milestone이 모두 완료되어 archive 경로로 정리되었다.
+ - `apps/runner`, `apps/client`, `services/core` 중심의 독립 OTO runner/control plane 구조와 재현성 메타데이터 기준이 정리되었다.
+- 사용자 최종 확인:
+ - [ ] 이 Phase를 완료로 승인하고 archive 이동해도 되는지 확인한다.
+- 리뷰 코멘트: runner 전체 test baseline 정리는 `메시지 기반 빌드 에이전트` Phase의 `runner 검증 기준 정합화` Milestone에서 별도 후속으로 추적한다.
+
## Phase 경계
- OTO는 iop의 native module이나 iop Edge domain agent로 동작하지 않는다.
diff --git a/agent-roadmap/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md b/agent-roadmap/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md
deleted file mode 100644
index 3628629..0000000
--- a/agent-roadmap/phase/independent-control-plane/milestones/workspace-metadata-reproducibility.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Milestone: workspace 메타데이터와 재현성 정리
-
-## 상태
-
-[진행중]
-
-## 목표
-
-모노레포의 lockfile, local test 문서, package metadata, 배포 템플릿 상태를 정리해 새 작업과 배포 검증이 일관되게 재현되도록 만든다.
-
-## 범위
-
-- `.gitignore`의 `pubspec.lock`과 `agent-test/local/` ignore 정책을 현재 추적 파일과 맞춘다.
-- Flutter client와 runner package description, web manifest, Chocolatey package placeholder를 제품 상태에 맞게 갱신한다.
-- package별 lockfile 추적 또는 비추적 기준을 명시한다.
-
-## 범위 제외
-
-- 배포 채널 추가
-- package versioning 정책 전면 개편
-- secret 또는 private 설정 문서화
-
-## 구현 잠금
-
-- 상태: 잠금
-- 결정 필요:
- - [ ] Flutter/Dart application package의 `pubspec.lock`을 추적할지, library package는 계속 비추적할지 결정한다.
-
-## 작업 컨텍스트
-
-- `.gitignore`는 모든 `pubspec.lock`을 ignore해 application lockfile도 기본적으로 추적되지 않는다.
-- `.gitignore`는 `agent-test/local/`을 ignore하지만, 현재 local test rule과 smoke 문서는 일부 tracked 상태다.
-- `apps/client`와 `apps/runner` metadata에는 Flutter/Dart 기본 템플릿 문구가 남아 있다.
-- `apps/runner/assets/package/chocolatey/_TODO.txt`는 배포 템플릿 후속 정리 필요 신호로 남아 있다.
-
-## 기능
-
-### Epic: [metadata] workspace metadata
-
-- [ ] [lock-policy] application/library package별 `pubspec.lock` 추적 기준을 확정하고 `.gitignore`를 그 기준에 맞춘다.
-- [ ] [test-docs] `agent-test/local/` ignore 정책과 tracked smoke 문서 운영 방식이 충돌하지 않도록 정리한다.
-- [ ] [descriptions] Flutter client, web manifest, runner package description의 기본 템플릿 문구를 제품 설명으로 갱신한다.
-- [ ] [package-todo] Chocolatey package placeholder의 처리 방향을 결정하고 배포 템플릿 상태를 문서 또는 파일 구조에 반영한다.
diff --git a/apps/client/pubspec.lock b/apps/client/pubspec.lock
new file mode 100644
index 0000000..93da6e8
--- /dev/null
+++ b/apps/client/pubspec.lock
@@ -0,0 +1,227 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+ agent_shell:
+ dependency: "direct main"
+ description:
+ path: "../../../agent-shell"
+ relative: true
+ source: path
+ version: "0.1.0"
+ async:
+ dependency: transitive
+ description:
+ name: async
+ sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.13.1"
+ boolean_selector:
+ dependency: transitive
+ description:
+ name: boolean_selector
+ sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.2"
+ characters:
+ dependency: transitive
+ description:
+ name: characters
+ sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.1"
+ clock:
+ dependency: transitive
+ description:
+ name: clock
+ sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.2"
+ collection:
+ dependency: transitive
+ description:
+ name: collection
+ sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.19.1"
+ cupertino_icons:
+ dependency: "direct main"
+ description:
+ name: cupertino_icons
+ sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.9"
+ fake_async:
+ dependency: transitive
+ description:
+ name: fake_async
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.3"
+ flutter:
+ dependency: "direct main"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ flutter_lints:
+ dependency: "direct dev"
+ description:
+ name: flutter_lints
+ sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.0.0"
+ flutter_test:
+ dependency: "direct dev"
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
+ url: "https://pub.dev"
+ source: hosted
+ version: "11.0.2"
+ leak_tracker_flutter_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_flutter_testing
+ sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.10"
+ leak_tracker_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_testing
+ sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.2"
+ lints:
+ dependency: transitive
+ description:
+ name: lints
+ sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.1.0"
+ matcher:
+ dependency: transitive
+ description:
+ name: matcher
+ sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.12.19"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+ sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.13.0"
+ meta:
+ dependency: transitive
+ description:
+ name: meta
+ sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.17.0"
+ oto_console:
+ dependency: "direct main"
+ description:
+ path: "../../packages/flutter/oto_console"
+ relative: true
+ source: path
+ version: "0.1.0"
+ path:
+ dependency: transitive
+ description:
+ name: path
+ sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.9.1"
+ sky_engine:
+ dependency: transitive
+ description: flutter
+ source: sdk
+ version: "0.0.0"
+ source_span:
+ dependency: transitive
+ description:
+ name: source_span
+ sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.10.2"
+ stack_trace:
+ dependency: transitive
+ description:
+ name: stack_trace
+ sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.12.1"
+ stream_channel:
+ dependency: transitive
+ description:
+ name: stream_channel
+ sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
+ string_scanner:
+ dependency: transitive
+ description:
+ name: string_scanner
+ sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.1"
+ term_glyph:
+ dependency: transitive
+ description:
+ name: term_glyph
+ sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.2"
+ test_api:
+ dependency: transitive
+ description:
+ name: test_api
+ sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.10"
+ vector_math:
+ dependency: transitive
+ description:
+ name: vector_math
+ sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.0"
+ vm_service:
+ dependency: transitive
+ description:
+ name: vm_service
+ sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
+ url: "https://pub.dev"
+ source: hosted
+ version: "15.2.0"
+sdks:
+ dart: ">=3.11.3 <4.0.0"
+ flutter: ">=3.18.0-18.0.pre.54"
diff --git a/apps/client/pubspec.yaml b/apps/client/pubspec.yaml
index f1121e0..8c51b7c 100644
--- a/apps/client/pubspec.yaml
+++ b/apps/client/pubspec.yaml
@@ -1,5 +1,5 @@
name: oto_client
-description: "A new Flutter project."
+description: "Flutter client for operating the OTO CI/CD runner control plane."
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
diff --git a/apps/client/web/index.html b/apps/client/web/index.html
index 8d55fc0..5700939 100644
--- a/apps/client/web/index.html
+++ b/apps/client/web/index.html
@@ -18,18 +18,18 @@
-
+
-
+
-
oto_client
+ OTO Client
diff --git a/apps/client/web/manifest.json b/apps/client/web/manifest.json
index c89f35d..c53efd3 100644
--- a/apps/client/web/manifest.json
+++ b/apps/client/web/manifest.json
@@ -1,11 +1,11 @@
{
- "name": "oto_client",
- "short_name": "oto_client",
+ "name": "OTO Client",
+ "short_name": "OTO",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
- "description": "A new Flutter project.",
+ "description": "Flutter control-plane client for the OTO CI/CD runner.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
diff --git a/apps/runner/assets/package/chocolatey/_TODO.txt b/apps/runner/assets/package/chocolatey/_TODO.txt
index 50bca03..7e16295 100644
--- a/apps/runner/assets/package/chocolatey/_TODO.txt
+++ b/apps/runner/assets/package/chocolatey/_TODO.txt
@@ -1,131 +1,15 @@
-TODO
+OTO Chocolatey Packaging Status
-1. Determine Package Use:
+Status: tracked packaging scaffold, not ready for public/community release.
- Organization? Internal Use? - You are not subject to distribution
- rights when you keep everything internal. Put the binaries directly
- into the tools directory (as long as total nupkg size is under 1GB).
- When bigger, look to use from a share or download binaries from an
- internal location. Embedded binaries makes for the most reliable use
- of Chocolatey. Use `$fileLocation` (`$file`/`$file64`) and
- `Install-ChocolateyInstallPackage`/`Get-ChocolateyUnzip` in
- tools\chocolateyInstall.ps1.
+Current direction:
+- Keep this directory as an internal packaging template for the Dart runner CLI.
+- Treat tools/chocolateyinstall.ps1 as a zip/download install scaffold; release URLs and checksums are filled by the release process.
+- Do not embed private binaries, credentials, or private release hosts in tracked files.
+- Keep tools/LICENSE.txt and tools/VERIFICATION.txt only when a package includes redistributable binaries or public feed evidence.
- You can also choose to download from internal urls, see the next
- section, but ignore whether you have distribution rights or not, it
- doesn't apply. Under no circumstances should download from the
- internet, it is completely unreliable. See
- https://docs.chocolatey.org/en-us/community-repository/community-packages-disclaimer
- to understand the limitations of a publicly available repository.
-
- Community Repository?
- Have Distribution Rights?
- If you are the software vendor OR the software EXPLICITLY allows
- redistribution and the total nupkg size will be under 200MB, you
- have the option to embed the binaries directly into the package to
- provide the most reliable install experience. Put the binaries
- directly into the tools folder, use `$fileLocation` (`$file`/
- `$file64`) and `Install-ChocolateyInstallPackage`/
- `Get-ChocolateyUnzip` in tools\chocolateyInstall.ps1. Additionally,
- fill out the LICENSE and VERIFICATION file (see 3 below and those
- files for specifics).
-
- NOTE: You can choose to download binaries at runtime, but be sure
- the download location will remain stable. See the next section.
-
- Do Not Have Distribution Rights?
- - Note: Packages built this way cannot be 100% reliable, but it's a
- constraint of publicly available packages and there is little
- that can be done to change that. See
- https://docs.chocolatey.org/en-us/community-repository/community-packages-disclaimer
- to better understand the limitations of a publicly available
- repository.
- Download Location is Publicly Available?
- You will need to download the runtime files from their official
- location at runtime. Use `$url`/`$url64` and
- `Install-ChocolateyPackage`/`Install-ChocolateyZipPackage` in
- tools\chocolateyInstall.ps1.
- Download Location is Not Publicly Available?
- Stop here, you can't push this to the community repository. You
- can ask the vendor for permission to embed, then include a PDF of
- that signed permission directly in the package. Otherwise you
- will need to seek alternate locations to non-publicly host the
- package.
- Download Location Is Same For All Versions?
- You still need to point to those urls, but you may wish to set up
- something like Automatic Updater (AU) so that when a new version
- of the software becomes available, the new package version
- automatically gets pushed up to the community repository. See
- https://docs.chocolatey.org/en-us/create/automatic-packages#automatic-updater-au
-
-2. Determine Package Type:
-
-- Installer Package - contains an installer (everything in template is
- geared towards this type of package)
-- Zip Package - downloads or embeds and unpacks archives, may unpack
- and run an installer using `Install-ChocolateyInstallPackage` as a
- secondary step.
-- Portable Package - Contains runtime binaries (or unpacks them as a
- zip package) - cannot require administrative permissions to install
- or use
-- Config Package - sets config like files, registry keys, etc
-- Extension Package - Packages that add PowerShell functions to
- Chocolatey - https://docs.chocolatey.org/en-us/features/extensions
-- Template Package - Packages that add templates like this for `choco
- new -t=name` - https://docs.chocolatey.org/en-us/guides/create/create-custom-package-templates
-- Other - there are other types of packages as well, these are the main
- package types seen in the wild
-
-3. Fill out the package contents:
-
-- tools\chocolateyBeforeModify.ps1 - remove if you have no processes
- or services to shut down before upgrade/uninstall
-- tools\LICENSE.txt / tools\VERIFICATION.txt - Remove if you are not
- embedding binaries. Keep and fill out if you are embedding binaries
- in the package AND pushing to the community repository, even if you
- are the author of software. The file becomes easier to fill out
- (does not require changes each version) if you are the software
- vendor. If you are building packages for internal use (organization,
- etc), you don't need these files as you are not subject to
- distribution rights internally.
-- tools\chocolateyUninstall.ps1 - remove if autouninstaller can
- automatically uninstall and you have nothing additional to do during
- uninstall
-- Readme.txt - delete this file once you have read over and used
- anything you've needed from here
-- nuspec - fill this out, then clean out all the comments (you may wish
- to leave the headers for the package vs software metadata)
-- tools\chocolateyInstall.ps1 - instructions in next section.
-
-4. ChocolateyInstall.ps1:
-
-- For embedded binaries - use `$fileLocation` (`$file`/`$file64`) and
- `Install-ChocolateyInstallPackage`/ `Get-ChocolateyUnzip`.
-- Downloading binaries at runtime - use `$url`/`$url64` and
- `Install-ChocolateyPackage` / `Install-ChocolateyZipPackage`.
-- Other needs (creating files, setting registry keys), use regular
- PowerShell to do so or see if there is a function already defined:
- https://docs.chocolatey.org/en-us/create/functions
-- There may also be functions available in extension packages, see
- https://community.chocolatey.org/packages?q=id%3A.extension for examples and
- availability.
-- Clean out the comments and sections you are not using.
-
-5. Test the package to ensure install/uninstall work appropriately.
- There is a test environment you can use for this -
- https://github.com/chocolatey/chocolatey-test-environment
-
-6. Learn more about Chocolatey packaging - go through the workshop at
- https://github.com/chocolatey/chocolatey-workshop
- You will learn about
- - General packaging
- - Customizing package behavior at runtime (package parameters)
- - Extension packages
- - Custom packaging templates
- - Setting up an internal Chocolatey.Server repository
- - Adding and using internal repositories
- - Reporting
- - Advanced packaging techniques when installers are not friendly to
- automation
-
-7. Delete this file.
+Before publishing:
+1. Decide whether the package is internal-only or community feed.
+2. Fill package metadata, license, verification, release notes, and checksums from release artifacts.
+3. Test install, upgrade, and uninstall in a disposable Windows/Chocolatey environment.
+4. Remove or rename this status file only after the template is release-ready.
diff --git a/apps/runner/pubspec.lock b/apps/runner/pubspec.lock
new file mode 100644
index 0000000..a713c1c
--- /dev/null
+++ b/apps/runner/pubspec.lock
@@ -0,0 +1,725 @@
+# Generated by pub
+# See https://dart.dev/tools/pub/glossary#lockfile
+packages:
+ _fe_analyzer_shared:
+ dependency: transitive
+ description:
+ name: _fe_analyzer_shared
+ sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "67.0.0"
+ analyzer:
+ dependency: transitive
+ description:
+ name: analyzer
+ sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.4.1"
+ archive:
+ dependency: "direct main"
+ description:
+ name: archive
+ sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.6.1"
+ args:
+ dependency: transitive
+ description:
+ name: args
+ sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.7.0"
+ asn1lib:
+ dependency: transitive
+ description:
+ name: asn1lib
+ sha256: "9a8f69025044eb466b9b60ef3bc3ac99b4dc6c158ae9c56d25eeccf5bc56d024"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.6.5"
+ async:
+ dependency: transitive
+ description:
+ name: async
+ sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.13.1"
+ basics:
+ dependency: transitive
+ description:
+ name: basics
+ sha256: "41ff8aded84ae174d1df5cce0bcac3ab9070caac9f7da35fd2cc638dfee6163f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.10.0"
+ boolean_selector:
+ dependency: transitive
+ description:
+ name: boolean_selector
+ sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.2"
+ build:
+ dependency: transitive
+ description:
+ name: build
+ sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.1"
+ build_config:
+ dependency: transitive
+ description:
+ name: build_config
+ sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.2"
+ build_daemon:
+ dependency: transitive
+ description:
+ name: build_daemon
+ sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.1"
+ build_resolvers:
+ dependency: transitive
+ description:
+ name: build_resolvers
+ sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.2"
+ build_runner:
+ dependency: "direct dev"
+ description:
+ name: build_runner
+ sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.13"
+ build_runner_core:
+ dependency: transitive
+ description:
+ name: build_runner_core
+ sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.3.2"
+ built_collection:
+ dependency: transitive
+ description:
+ name: built_collection
+ sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.1.1"
+ built_value:
+ dependency: transitive
+ description:
+ name: built_value
+ sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56"
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.12.6"
+ characters:
+ dependency: transitive
+ description:
+ name: characters
+ sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.1"
+ charcode:
+ dependency: transitive
+ description:
+ name: charcode
+ sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.0"
+ checked_yaml:
+ dependency: transitive
+ description:
+ name: checked_yaml
+ sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.4"
+ cli_config:
+ dependency: transitive
+ description:
+ name: cli_config
+ sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.0"
+ clock:
+ dependency: transitive
+ description:
+ name: clock
+ sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.2"
+ code_builder:
+ dependency: transitive
+ description:
+ name: code_builder
+ sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.11.1"
+ collection:
+ dependency: transitive
+ description:
+ name: collection
+ sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.19.1"
+ color:
+ dependency: "direct main"
+ description:
+ name: color
+ sha256: ddcdf1b3badd7008233f5acffaf20ca9f5dc2cd0172b75f68f24526a5f5725cb
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.0"
+ convert:
+ dependency: transitive
+ description:
+ name: convert
+ sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.2"
+ coverage:
+ dependency: transitive
+ description:
+ name: coverage
+ sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.15.0"
+ cron:
+ dependency: "direct main"
+ description:
+ name: cron
+ sha256: "2af3de2cabcc81346c00ff9db06296cdaf37ad17bd6f97fb63777a9ddefcacf3"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.6.2"
+ crypto:
+ dependency: transitive
+ description:
+ name: crypto
+ sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.7"
+ dart_framework:
+ dependency: "direct main"
+ description:
+ path: "."
+ ref: master
+ resolved-ref: ecf7a9414d351370ae0ab0e0706f77f798bb2fae
+ url: "https://git.toki-labs.com/toki/dart-app-core.git"
+ source: git
+ version: "1.0.0"
+ dart_style:
+ dependency: transitive
+ description:
+ name: dart_style
+ sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.6"
+ encrypt:
+ dependency: transitive
+ description:
+ name: encrypt
+ sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2"
+ url: "https://pub.dev"
+ source: hosted
+ version: "5.0.3"
+ file:
+ dependency: transitive
+ description:
+ name: file
+ sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.1.4"
+ file_hasher:
+ dependency: "direct main"
+ description:
+ name: file_hasher
+ sha256: "1fcb11fac52637c081d58daeee717aa6aa463b302759f4c20f8b053168858973"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.0+0"
+ fixnum:
+ dependency: "direct main"
+ description:
+ name: fixnum
+ sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
+ frontend_server_client:
+ dependency: transitive
+ description:
+ name: frontend_server_client
+ sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.0"
+ ftpconnect:
+ dependency: "direct main"
+ description:
+ name: ftpconnect
+ sha256: a9ebac24a50b17dc9a1101fff85c3729fd8c16ec41346b0fa6e549616e23b2f6
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.10"
+ glob:
+ dependency: transitive
+ description:
+ name: glob
+ sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.3"
+ graphs:
+ dependency: transitive
+ description:
+ name: graphs
+ sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.2"
+ http:
+ dependency: "direct main"
+ description:
+ name: http
+ sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.6.0"
+ http_multi_server:
+ dependency: transitive
+ description:
+ name: http_multi_server
+ sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.2.2"
+ http_parser:
+ dependency: transitive
+ description:
+ name: http_parser
+ sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.1.2"
+ intl:
+ dependency: transitive
+ description:
+ name: intl
+ sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.20.2"
+ io:
+ dependency: transitive
+ description:
+ name: io
+ sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.5"
+ js:
+ dependency: transitive
+ description:
+ name: js
+ sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.2"
+ json_annotation:
+ dependency: "direct main"
+ description:
+ name: json_annotation
+ sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.9.0"
+ json_serializable:
+ dependency: "direct dev"
+ description:
+ name: json_serializable
+ sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.8.0"
+ lints:
+ dependency: "direct dev"
+ description:
+ name: lints
+ sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.1.0"
+ logging:
+ dependency: transitive
+ description:
+ name: logging
+ sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.0"
+ matcher:
+ dependency: transitive
+ description:
+ name: matcher
+ sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.12.17"
+ meta:
+ dependency: transitive
+ description:
+ name: meta
+ sha256: c82594181e3312f3d0695fc95aaaf7758d75b8d4ae2bbecf223b9fd5109a059d
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.18.3"
+ mime:
+ dependency: transitive
+ description:
+ name: mime
+ sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.0"
+ node_preamble:
+ dependency: transitive
+ description:
+ name: node_preamble
+ sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.2"
+ package_config:
+ dependency: transitive
+ description:
+ name: package_config
+ sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.0"
+ path:
+ dependency: "direct main"
+ description:
+ name: path
+ sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.9.1"
+ petitparser:
+ dependency: transitive
+ description:
+ name: petitparser
+ sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675"
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.0.2"
+ pointycastle:
+ dependency: transitive
+ description:
+ name: pointycastle
+ sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.9.1"
+ pool:
+ dependency: transitive
+ description:
+ name: pool
+ sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.5.2"
+ proto_socket:
+ dependency: "direct main"
+ description:
+ path: "../../../proto-socket/dart"
+ relative: true
+ source: path
+ version: "1.0.5"
+ protobuf:
+ dependency: "direct main"
+ description:
+ name: protobuf
+ sha256: "75ec242d22e950bdcc79ee38dd520ce4ee0bc491d7fadc4ea47694604d22bf06"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.0.0"
+ pub_semver:
+ dependency: transitive
+ description:
+ name: pub_semver
+ sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.0"
+ pubspec_parse:
+ dependency: transitive
+ description:
+ name: pubspec_parse
+ sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.5.0"
+ resource_importer:
+ dependency: "direct main"
+ description:
+ name: resource_importer
+ sha256: "90c9a1aee014b03262cff2a6163d4451e3f06d7e6eaf59cab18167f2a3d8defc"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.0"
+ shelf:
+ dependency: transitive
+ description:
+ name: shelf
+ sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.2"
+ shelf_packages_handler:
+ dependency: transitive
+ description:
+ name: shelf_packages_handler
+ sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.2"
+ shelf_static:
+ dependency: transitive
+ description:
+ name: shelf_static
+ sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.3"
+ shelf_web_socket:
+ dependency: transitive
+ description:
+ name: shelf_web_socket
+ sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
+ source_gen:
+ dependency: transitive
+ description:
+ name: source_gen
+ sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.5.0"
+ source_helper:
+ dependency: transitive
+ description:
+ name: source_helper
+ sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.5"
+ source_map_stack_trace:
+ dependency: transitive
+ description:
+ name: source_map_stack_trace
+ sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.2"
+ source_maps:
+ dependency: transitive
+ description:
+ name: source_maps
+ sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.10.13"
+ source_span:
+ dependency: transitive
+ description:
+ name: source_span
+ sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.10.2"
+ stack_trace:
+ dependency: transitive
+ description:
+ name: stack_trace
+ sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.12.1"
+ stream_channel:
+ dependency: transitive
+ description:
+ name: stream_channel
+ sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
+ stream_transform:
+ dependency: transitive
+ description:
+ name: stream_transform
+ sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.1"
+ string_scanner:
+ dependency: transitive
+ description:
+ name: string_scanner
+ sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.1"
+ term_glyph:
+ dependency: transitive
+ description:
+ name: term_glyph
+ sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.2"
+ test:
+ dependency: "direct dev"
+ description:
+ name: test
+ sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.26.3"
+ test_api:
+ dependency: transitive
+ description:
+ name: test_api
+ sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.7.7"
+ test_core:
+ dependency: transitive
+ description:
+ name: test_core
+ sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.6.12"
+ timing:
+ dependency: transitive
+ description:
+ name: timing
+ sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.2"
+ typed_data:
+ dependency: transitive
+ description:
+ name: typed_data
+ sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.4.0"
+ vm_service:
+ dependency: transitive
+ description:
+ name: vm_service
+ sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
+ url: "https://pub.dev"
+ source: hosted
+ version: "15.2.0"
+ watcher:
+ dependency: transitive
+ description:
+ name: watcher
+ sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ web:
+ dependency: transitive
+ description:
+ name: web
+ sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.1"
+ web_socket:
+ dependency: transitive
+ description:
+ name: web_socket
+ sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.1"
+ web_socket_channel:
+ dependency: transitive
+ description:
+ name: web_socket_channel
+ sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.3"
+ webkit_inspection_protocol:
+ dependency: transitive
+ description:
+ name: webkit_inspection_protocol
+ sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.1"
+ xml:
+ dependency: "direct main"
+ description:
+ name: xml
+ sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.6.1"
+ xxh3:
+ dependency: transitive
+ description:
+ name: xxh3
+ sha256: "399a0438f5d426785723c99da6b16e136f4953fb1e9db0bf270bd41dd4619916"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.0"
+ yaml:
+ dependency: "direct main"
+ description:
+ name: yaml
+ sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.1.3"
+sdks:
+ dart: ">=3.8.0 <4.0.0"
diff --git a/apps/runner/pubspec.yaml b/apps/runner/pubspec.yaml
index f222c58..71cfd78 100644
--- a/apps/runner/pubspec.yaml
+++ b/apps/runner/pubspec.yaml
@@ -1,5 +1,5 @@
name: oto
-description: A sample command-line application.
+description: Dart CLI runner for OTO CI/CD pipeline automation.
version: 1.0.0
publish_to: none
repository: https://git.toki-labs.com/toki/oto.git