@agentage/cli 0.1.19 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -199
- package/dist/cli.js +21 -244
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts +3 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +78 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/daemon-cmd.d.ts +3 -0
- package/dist/commands/daemon-cmd.d.ts.map +1 -0
- package/dist/commands/daemon-cmd.js +26 -0
- package/dist/commands/daemon-cmd.js.map +1 -0
- package/dist/commands/login.d.ts +2 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +68 -57
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts +2 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +22 -21
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +45 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/machines.d.ts +3 -0
- package/dist/commands/machines.d.ts.map +1 -0
- package/dist/commands/machines.js +56 -0
- package/dist/commands/machines.js.map +1 -0
- package/dist/commands/run.d.ts +2 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +166 -22
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/runs.d.ts +3 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +73 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +44 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/daemon/config.d.ts +32 -0
- package/dist/daemon/config.d.ts.map +1 -0
- package/dist/daemon/config.js +64 -0
- package/dist/daemon/config.js.map +1 -0
- package/dist/daemon/daemon.d.ts +8 -0
- package/dist/daemon/daemon.d.ts.map +1 -0
- package/dist/daemon/daemon.js +106 -0
- package/dist/daemon/daemon.js.map +1 -0
- package/dist/daemon/logger.d.ts +10 -0
- package/dist/daemon/logger.d.ts.map +1 -0
- package/dist/daemon/logger.js +41 -0
- package/dist/daemon/logger.js.map +1 -0
- package/dist/daemon/routes.d.ts +7 -0
- package/dist/daemon/routes.d.ts.map +1 -0
- package/dist/daemon/routes.js +189 -0
- package/dist/daemon/routes.js.map +1 -0
- package/dist/daemon/run-manager.d.ts +13 -0
- package/dist/daemon/run-manager.d.ts.map +1 -0
- package/dist/daemon/run-manager.js +119 -0
- package/dist/daemon/run-manager.js.map +1 -0
- package/dist/daemon/server.d.ts +11 -0
- package/dist/daemon/server.d.ts.map +1 -0
- package/dist/daemon/server.js +59 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/websocket.d.ts +4 -0
- package/dist/daemon/websocket.d.ts.map +1 -0
- package/dist/daemon/websocket.js +88 -0
- package/dist/daemon/websocket.js.map +1 -0
- package/dist/daemon-entry.d.ts +2 -0
- package/dist/daemon-entry.d.ts.map +1 -0
- package/dist/daemon-entry.js +50 -0
- package/dist/daemon-entry.js.map +1 -0
- package/dist/discovery/code-factory.d.ts +3 -0
- package/dist/discovery/code-factory.d.ts.map +1 -0
- package/dist/discovery/code-factory.js +32 -0
- package/dist/discovery/code-factory.js.map +1 -0
- package/dist/discovery/markdown-factory.d.ts +3 -0
- package/dist/discovery/markdown-factory.d.ts.map +1 -0
- package/dist/discovery/markdown-factory.js +63 -0
- package/dist/discovery/markdown-factory.js.map +1 -0
- package/dist/discovery/scanner.d.ts +3 -0
- package/dist/discovery/scanner.d.ts.map +1 -0
- package/dist/discovery/scanner.js +50 -0
- package/dist/discovery/scanner.js.map +1 -0
- package/dist/hub/auth-callback.d.ts +4 -0
- package/dist/hub/auth-callback.d.ts.map +1 -0
- package/dist/hub/auth-callback.js +75 -0
- package/dist/hub/auth-callback.js.map +1 -0
- package/dist/hub/auth.d.ts +21 -0
- package/dist/hub/auth.d.ts.map +1 -0
- package/dist/hub/auth.js +26 -0
- package/dist/hub/auth.js.map +1 -0
- package/dist/hub/hub-client.d.ts +33 -0
- package/dist/hub/hub-client.d.ts.map +1 -0
- package/dist/hub/hub-client.js +64 -0
- package/dist/hub/hub-client.js.map +1 -0
- package/dist/hub/hub-sync.d.ts +9 -0
- package/dist/hub/hub-sync.d.ts.map +1 -0
- package/dist/hub/hub-sync.js +150 -0
- package/dist/hub/hub-sync.js.map +1 -0
- package/dist/hub/hub-ws.d.ts +7 -0
- package/dist/hub/hub-ws.d.ts.map +1 -0
- package/dist/hub/hub-ws.js +105 -0
- package/dist/hub/hub-ws.js.map +1 -0
- package/dist/hub/reconnection.d.ts +13 -0
- package/dist/hub/reconnection.d.ts.map +1 -0
- package/dist/hub/reconnection.js +39 -0
- package/dist/hub/reconnection.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -8
- package/dist/index.js.map +1 -1
- package/dist/utils/daemon-client.d.ts +5 -0
- package/dist/utils/daemon-client.d.ts.map +1 -0
- package/dist/utils/daemon-client.js +44 -0
- package/dist/utils/daemon-client.js.map +1 -0
- package/dist/utils/ensure-daemon.d.ts +2 -0
- package/dist/utils/ensure-daemon.d.ts.map +1 -0
- package/dist/utils/ensure-daemon.js +7 -0
- package/dist/utils/ensure-daemon.js.map +1 -0
- package/dist/utils/render.d.ts +3 -0
- package/dist/utils/render.d.ts.map +1 -0
- package/dist/utils/render.js +84 -0
- package/dist/utils/render.js.map +1 -0
- package/dist/utils/version.d.ts +1 -9
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +4 -32
- package/dist/utils/version.js.map +1 -1
- package/package.json +47 -54
- package/.github/copilot-instructions.md +0 -126
- package/.github/dependabot.yml +0 -41
- package/.github/workflows/ci.yml +0 -50
- package/.github/workflows/publish.yml +0 -170
- package/dist/cli.test.d.ts +0 -2
- package/dist/cli.test.d.ts.map +0 -1
- package/dist/cli.test.js +0 -67
- package/dist/cli.test.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -39
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/init.test.d.ts +0 -2
- package/dist/commands/init.test.d.ts.map +0 -1
- package/dist/commands/init.test.js +0 -79
- package/dist/commands/init.test.js.map +0 -1
- package/dist/commands/install.d.ts +0 -8
- package/dist/commands/install.d.ts.map +0 -1
- package/dist/commands/install.js +0 -90
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/install.test.d.ts +0 -2
- package/dist/commands/install.test.d.ts.map +0 -1
- package/dist/commands/install.test.js +0 -172
- package/dist/commands/install.test.js.map +0 -1
- package/dist/commands/list.d.ts +0 -2
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -145
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/list.test.d.ts +0 -2
- package/dist/commands/list.test.d.ts.map +0 -1
- package/dist/commands/list.test.js +0 -120
- package/dist/commands/list.test.js.map +0 -1
- package/dist/commands/login.test.d.ts +0 -2
- package/dist/commands/login.test.d.ts.map +0 -1
- package/dist/commands/login.test.js +0 -157
- package/dist/commands/login.test.js.map +0 -1
- package/dist/commands/logout.test.d.ts +0 -2
- package/dist/commands/logout.test.d.ts.map +0 -1
- package/dist/commands/logout.test.js +0 -49
- package/dist/commands/logout.test.js.map +0 -1
- package/dist/commands/publish.d.ts +0 -10
- package/dist/commands/publish.d.ts.map +0 -1
- package/dist/commands/publish.js +0 -138
- package/dist/commands/publish.js.map +0 -1
- package/dist/commands/publish.test.d.ts +0 -2
- package/dist/commands/publish.test.d.ts.map +0 -1
- package/dist/commands/publish.test.js +0 -307
- package/dist/commands/publish.test.js.map +0 -1
- package/dist/commands/run.test.d.ts +0 -2
- package/dist/commands/run.test.d.ts.map +0 -1
- package/dist/commands/run.test.js +0 -73
- package/dist/commands/run.test.js.map +0 -1
- package/dist/commands/search.d.ts +0 -8
- package/dist/commands/search.d.ts.map +0 -1
- package/dist/commands/search.js +0 -41
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/search.test.d.ts +0 -2
- package/dist/commands/search.test.d.ts.map +0 -1
- package/dist/commands/search.test.js +0 -138
- package/dist/commands/search.test.js.map +0 -1
- package/dist/commands/update.d.ts +0 -8
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -28
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/update.test.d.ts +0 -2
- package/dist/commands/update.test.d.ts.map +0 -1
- package/dist/commands/update.test.js +0 -134
- package/dist/commands/update.test.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.d.ts.map +0 -1
- package/dist/commands/whoami.js +0 -55
- package/dist/commands/whoami.js.map +0 -1
- package/dist/commands/whoami.test.d.ts +0 -2
- package/dist/commands/whoami.test.d.ts.map +0 -1
- package/dist/commands/whoami.test.js +0 -119
- package/dist/commands/whoami.test.js.map +0 -1
- package/dist/index.test.d.ts +0 -2
- package/dist/index.test.d.ts.map +0 -1
- package/dist/index.test.js +0 -17
- package/dist/index.test.js.map +0 -1
- package/dist/schemas/agent.schema.d.ts +0 -22
- package/dist/schemas/agent.schema.d.ts.map +0 -1
- package/dist/schemas/agent.schema.js +0 -9
- package/dist/schemas/agent.schema.js.map +0 -1
- package/dist/schemas/agent.schema.test.d.ts +0 -2
- package/dist/schemas/agent.schema.test.d.ts.map +0 -1
- package/dist/schemas/agent.schema.test.js +0 -80
- package/dist/schemas/agent.schema.test.js.map +0 -1
- package/dist/services/auth.service.d.ts +0 -10
- package/dist/services/auth.service.d.ts.map +0 -1
- package/dist/services/auth.service.js +0 -99
- package/dist/services/auth.service.js.map +0 -1
- package/dist/services/auth.service.test.d.ts +0 -2
- package/dist/services/auth.service.test.d.ts.map +0 -1
- package/dist/services/auth.service.test.js +0 -218
- package/dist/services/auth.service.test.js.map +0 -1
- package/dist/services/registry.service.d.ts +0 -13
- package/dist/services/registry.service.d.ts.map +0 -1
- package/dist/services/registry.service.js +0 -74
- package/dist/services/registry.service.js.map +0 -1
- package/dist/services/registry.service.test.d.ts +0 -2
- package/dist/services/registry.service.test.d.ts.map +0 -1
- package/dist/services/registry.service.test.js +0 -222
- package/dist/services/registry.service.test.js.map +0 -1
- package/dist/types/config.types.d.ts +0 -177
- package/dist/types/config.types.d.ts.map +0 -1
- package/dist/types/config.types.js +0 -22
- package/dist/types/config.types.js.map +0 -1
- package/dist/types/lockfile.types.d.ts +0 -1
- package/dist/types/lockfile.types.d.ts.map +0 -1
- package/dist/types/lockfile.types.js +0 -2
- package/dist/types/lockfile.types.js.map +0 -1
- package/dist/types/registry.types.d.ts +0 -65
- package/dist/types/registry.types.d.ts.map +0 -1
- package/dist/types/registry.types.js +0 -2
- package/dist/types/registry.types.js.map +0 -1
- package/dist/utils/agent-parser.d.ts +0 -26
- package/dist/utils/agent-parser.d.ts.map +0 -1
- package/dist/utils/agent-parser.js +0 -45
- package/dist/utils/agent-parser.js.map +0 -1
- package/dist/utils/agent-parser.test.d.ts +0 -2
- package/dist/utils/agent-parser.test.d.ts.map +0 -1
- package/dist/utils/agent-parser.test.js +0 -102
- package/dist/utils/agent-parser.test.js.map +0 -1
- package/dist/utils/config.d.ts +0 -21
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -99
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/config.test.d.ts +0 -2
- package/dist/utils/config.test.d.ts.map +0 -1
- package/dist/utils/config.test.js +0 -214
- package/dist/utils/config.test.js.map +0 -1
- package/dist/utils/lockfile.d.ts +0 -1
- package/dist/utils/lockfile.d.ts.map +0 -1
- package/dist/utils/lockfile.js +0 -2
- package/dist/utils/lockfile.js.map +0 -1
- package/dist/utils/lockfile.test.d.ts +0 -1
- package/dist/utils/lockfile.test.d.ts.map +0 -1
- package/dist/utils/lockfile.test.js +0 -7
- package/dist/utils/lockfile.test.js.map +0 -1
- package/dist/utils/version.test.d.ts +0 -2
- package/dist/utils/version.test.d.ts.map +0 -1
- package/dist/utils/version.test.js +0 -30
- package/dist/utils/version.test.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,69 +1,62 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentage/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "CLI
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Agentage CLI and daemon — control plane for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"
|
|
9
|
-
|
|
8
|
+
"agentage": "./dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=22.0.0",
|
|
15
|
+
"npm": ">=10.0.0"
|
|
10
16
|
},
|
|
11
17
|
"scripts": {
|
|
12
|
-
"
|
|
13
|
-
"build": "tsc",
|
|
18
|
+
"build": "tsc -p tsconfig.build.json",
|
|
14
19
|
"type-check": "tsc --noEmit",
|
|
15
|
-
"lint": "eslint src
|
|
16
|
-
"lint:fix": "eslint src --
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"test
|
|
20
|
-
"
|
|
21
|
-
"
|
|
20
|
+
"lint": "eslint src",
|
|
21
|
+
"lint:fix": "eslint src --fix",
|
|
22
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
23
|
+
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
24
|
+
"test": "vitest run",
|
|
25
|
+
"test:watch": "vitest",
|
|
26
|
+
"test:coverage": "vitest run --coverage",
|
|
27
|
+
"clean": "rm -rf dist *.tsbuildinfo coverage",
|
|
28
|
+
"verify": "npm run type-check && npm run lint && npm run format:check && npm run test && npm run build",
|
|
22
29
|
"prepublishOnly": "npm run verify"
|
|
23
30
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@agentage/core": "^0.2.0",
|
|
33
|
+
"@agentage/platform": "^0.2.0",
|
|
34
|
+
"@supabase/supabase-js": "2.99.3",
|
|
35
|
+
"chalk": "latest",
|
|
36
|
+
"commander": "latest",
|
|
37
|
+
"express": "latest",
|
|
38
|
+
"gray-matter": "latest",
|
|
39
|
+
"jiti": "latest",
|
|
40
|
+
"open": "latest",
|
|
41
|
+
"ws": "latest"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/express": "latest",
|
|
45
|
+
"@types/node": "latest",
|
|
46
|
+
"@types/ws": "latest",
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "latest",
|
|
48
|
+
"@typescript-eslint/parser": "latest",
|
|
49
|
+
"@vitest/coverage-v8": "latest",
|
|
50
|
+
"eslint": "latest",
|
|
51
|
+
"eslint-config-prettier": "latest",
|
|
52
|
+
"eslint-plugin-prettier": "latest",
|
|
53
|
+
"prettier": "latest",
|
|
54
|
+
"typescript": "latest",
|
|
55
|
+
"vitest": "latest"
|
|
56
|
+
},
|
|
33
57
|
"repository": {
|
|
34
58
|
"type": "git",
|
|
35
59
|
"url": "https://github.com/agentage/cli.git"
|
|
36
60
|
},
|
|
37
|
-
"
|
|
38
|
-
"url": "https://github.com/agentage/cli/issues"
|
|
39
|
-
},
|
|
40
|
-
"homepage": "https://github.com/agentage/cli#readme",
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=20.0.0",
|
|
43
|
-
"npm": ">=10.0.0"
|
|
44
|
-
},
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"chalk": "^5.6.2",
|
|
47
|
-
"commander": "^14.0.2",
|
|
48
|
-
"gray-matter": "^4.0.3",
|
|
49
|
-
"inquirer": "^13.0.1",
|
|
50
|
-
"js-yaml": "^4.1.0",
|
|
51
|
-
"node-machine-id": "1.1.12",
|
|
52
|
-
"open": "^11.0.0",
|
|
53
|
-
"yaml": "^2.8.1",
|
|
54
|
-
"zod": "3.25.76"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@types/inquirer": "^9.0.9",
|
|
58
|
-
"@types/jest": "^30.0.0",
|
|
59
|
-
"@types/js-yaml": "^4.0.9",
|
|
60
|
-
"@types/node": "^22.8.6",
|
|
61
|
-
"@typescript-eslint/eslint-plugin": "^8.46.3",
|
|
62
|
-
"@typescript-eslint/parser": "^8.46.3",
|
|
63
|
-
"eslint": "^9.39.1",
|
|
64
|
-
"jest": "^30.2.0",
|
|
65
|
-
"ts-jest": "^29.4.5",
|
|
66
|
-
"tsx": "^4.20.6",
|
|
67
|
-
"typescript": "^5.9.3"
|
|
68
|
-
}
|
|
61
|
+
"license": "MIT"
|
|
69
62
|
}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# AgentKit CLI - Development Instructions
|
|
2
|
-
|
|
3
|
-
## **Project Overview**
|
|
4
|
-
|
|
5
|
-
- CLI tool for creating and running AI agents locally
|
|
6
|
-
- TypeScript-based command-line interface
|
|
7
|
-
- Commands: init, install, list, login, logout, publish, run, search, update, whoami
|
|
8
|
-
- Published as `@agentage/cli` package
|
|
9
|
-
|
|
10
|
-
## **Project Agreements**
|
|
11
|
-
|
|
12
|
-
- Default branch: `master`
|
|
13
|
-
- Repository: `agentage/cli`
|
|
14
|
-
- Branch names: `feature/*`, `bugfix/*`, `hotfix/*`, `setup-*`
|
|
15
|
-
- Commits: `feat:`, `fix:`, `chore:` (max 72 chars)
|
|
16
|
-
- Verifications: `npm run verify` (type-check + lint + build + test)
|
|
17
|
-
|
|
18
|
-
## **Publishing**
|
|
19
|
-
|
|
20
|
-
- Published to npm as `@agentage/cli`
|
|
21
|
-
- Auto-publish on push to `master` when `package.json` version is bumped.
|
|
22
|
-
|
|
23
|
-
## **Release Strategy**
|
|
24
|
-
|
|
25
|
-
- 🎯 **MINIMAL FIRST**: Keep commands simple and focused
|
|
26
|
-
- 🚫 **No Over-Engineering**: Single responsibility per command
|
|
27
|
-
- ⚡ **Essential Only**: Core CLI functionality
|
|
28
|
-
|
|
29
|
-
## **Rules**
|
|
30
|
-
|
|
31
|
-
- 📊 Use icons/tables for structured output
|
|
32
|
-
- 📁 NO extra docs unless explicitly asked
|
|
33
|
-
- 🐙 GitHub: owner `agentage`, repo `cli`
|
|
34
|
-
- ⚡ Prefer function calls over terminal commands
|
|
35
|
-
- 📂 Source code in `src/` directory
|
|
36
|
-
|
|
37
|
-
## **Coding Standards**
|
|
38
|
-
|
|
39
|
-
### TypeScript
|
|
40
|
-
|
|
41
|
-
- 🚫 No `any` type - explicit types always
|
|
42
|
-
- 📤 Named exports only (no default exports)
|
|
43
|
-
- 📏 Files <300 lines, commands <200 lines
|
|
44
|
-
- 🔄 Functional: arrow functions, async/await, destructuring
|
|
45
|
-
- 🏗️ Interfaces over classes
|
|
46
|
-
- ✅ ESM modules (`type: "module"`)
|
|
47
|
-
|
|
48
|
-
### Naming
|
|
49
|
-
|
|
50
|
-
- **Interfaces**: `AgentConfig`, `RegistryAgent`, `LockfileEntry`
|
|
51
|
-
- **Types**: `CommandOptions`, `ServiceConfig`
|
|
52
|
-
- **Files**: `command.ts`, `service.ts`, `*.types.ts`, `*.test.ts`
|
|
53
|
-
|
|
54
|
-
## **Tech Stack**
|
|
55
|
-
|
|
56
|
-
- **Language**: TypeScript 5.3+ (strict mode)
|
|
57
|
-
- **Module**: ESNext with ESM
|
|
58
|
-
- **Testing**: Jest 30+ with ts-jest
|
|
59
|
-
- **Linting**: ESLint 9+ (flat config)
|
|
60
|
-
- **Formatting**: Prettier
|
|
61
|
-
- **Package Manager**: npm (workspaces)
|
|
62
|
-
|
|
63
|
-
## **Node Requirements**
|
|
64
|
-
|
|
65
|
-
- Node.js >= 20.0.0
|
|
66
|
-
- npm >= 10.0.0
|
|
67
|
-
|
|
68
|
-
## **CLI Patterns**
|
|
69
|
-
|
|
70
|
-
**Command Structure**:
|
|
71
|
-
|
|
72
|
-
```typescript
|
|
73
|
-
import { Command } from "commander";
|
|
74
|
-
|
|
75
|
-
export const myCommand = new Command("name")
|
|
76
|
-
.description("Command description")
|
|
77
|
-
.option("-o, --option <value>", "Option description")
|
|
78
|
-
.action(async (options) => {
|
|
79
|
-
// Implementation
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**Service Pattern**:
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
export const myService = {
|
|
87
|
-
async doSomething(): Promise<Result> {
|
|
88
|
-
// Implementation
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## **Workspace Structure**
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
src/
|
|
97
|
-
cli.ts # Main CLI entry point
|
|
98
|
-
index.ts # Package exports
|
|
99
|
-
commands/ # CLI commands (init, run, install, etc.)
|
|
100
|
-
services/ # Business logic (auth, registry)
|
|
101
|
-
schemas/ # Zod validation schemas
|
|
102
|
-
types/ # TypeScript type definitions
|
|
103
|
-
utils/ # Utility functions
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## **Scripts**
|
|
107
|
-
|
|
108
|
-
All packages support:
|
|
109
|
-
|
|
110
|
-
- `npm run build` - Build TypeScript
|
|
111
|
-
- `npm run type-check` - TypeScript validation
|
|
112
|
-
- `npm run lint` - ESLint check
|
|
113
|
-
- `npm run lint:fix` - Auto-fix linting
|
|
114
|
-
- `npm run test` - Run Jest tests
|
|
115
|
-
- `npm run test:watch` - Watch mode
|
|
116
|
-
- `npm run test:coverage` - Coverage report
|
|
117
|
-
- `npm run verify` - All checks
|
|
118
|
-
- `npm run clean` - Clean build artifacts
|
|
119
|
-
|
|
120
|
-
## **Quality Gates**
|
|
121
|
-
|
|
122
|
-
- ✅ Type check must pass
|
|
123
|
-
- ✅ Linting must pass (no warnings)
|
|
124
|
-
- ✅ All tests must pass
|
|
125
|
-
- ✅ Coverage >= 70% (branches, functions, lines, statements)
|
|
126
|
-
- ✅ Build must succeed
|
package/.github/dependabot.yml
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
updates:
|
|
3
|
-
# Enable version updates for npm
|
|
4
|
-
- package-ecosystem: "npm"
|
|
5
|
-
directory: "/"
|
|
6
|
-
schedule:
|
|
7
|
-
interval: "weekly"
|
|
8
|
-
day: "monday"
|
|
9
|
-
open-pull-requests-limit: 10
|
|
10
|
-
groups:
|
|
11
|
-
typescript:
|
|
12
|
-
patterns:
|
|
13
|
-
- "typescript"
|
|
14
|
-
- "@typescript-eslint/*"
|
|
15
|
-
- "ts-jest"
|
|
16
|
-
- "tsx"
|
|
17
|
-
testing:
|
|
18
|
-
patterns:
|
|
19
|
-
- "jest"
|
|
20
|
-
- "@jest/*"
|
|
21
|
-
- "@types/jest"
|
|
22
|
-
linting:
|
|
23
|
-
patterns:
|
|
24
|
-
- "eslint"
|
|
25
|
-
- "eslint-*"
|
|
26
|
-
all-patch:
|
|
27
|
-
update-types:
|
|
28
|
-
- "patch"
|
|
29
|
-
labels:
|
|
30
|
-
- "dependencies"
|
|
31
|
-
- "automated"
|
|
32
|
-
|
|
33
|
-
# GitHub Actions
|
|
34
|
-
- package-ecosystem: "github-actions"
|
|
35
|
-
directory: "/"
|
|
36
|
-
schedule:
|
|
37
|
-
interval: "weekly"
|
|
38
|
-
day: "monday"
|
|
39
|
-
labels:
|
|
40
|
-
- "dependencies"
|
|
41
|
-
- "github-actions"
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main, master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main, master]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
build-and-test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
strategy:
|
|
14
|
-
matrix:
|
|
15
|
-
node-version: [20.x, 22.x]
|
|
16
|
-
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v6
|
|
19
|
-
|
|
20
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
-
uses: actions/setup-node@v4
|
|
22
|
-
with:
|
|
23
|
-
node-version: ${{ matrix.node-version }}
|
|
24
|
-
cache: 'npm'
|
|
25
|
-
|
|
26
|
-
- name: Install dependencies
|
|
27
|
-
run: npm ci
|
|
28
|
-
|
|
29
|
-
- name: Type check
|
|
30
|
-
run: npm run type-check
|
|
31
|
-
|
|
32
|
-
- name: Lint
|
|
33
|
-
run: npm run lint
|
|
34
|
-
|
|
35
|
-
- name: Build
|
|
36
|
-
run: npm run build
|
|
37
|
-
|
|
38
|
-
- name: Test
|
|
39
|
-
run: npm test
|
|
40
|
-
|
|
41
|
-
- name: Test coverage
|
|
42
|
-
run: npm run test:coverage
|
|
43
|
-
|
|
44
|
-
- name: Upload coverage reports
|
|
45
|
-
uses: codecov/codecov-action@v5
|
|
46
|
-
if: matrix.node-version == '20.x'
|
|
47
|
-
with:
|
|
48
|
-
token: ${{ secrets.CODECOV_TOKEN }}
|
|
49
|
-
file: ./coverage/lcov.info
|
|
50
|
-
fail_ci_if_error: false
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
name: Publish Package
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master, main]
|
|
6
|
-
paths:
|
|
7
|
-
- "package.json"
|
|
8
|
-
workflow_dispatch:
|
|
9
|
-
|
|
10
|
-
permissions:
|
|
11
|
-
contents: write
|
|
12
|
-
id-token: write
|
|
13
|
-
|
|
14
|
-
env:
|
|
15
|
-
NODE_VERSION: "20"
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
detect-changes:
|
|
19
|
-
name: 🔍 Detect Version Changes
|
|
20
|
-
runs-on: ubuntu-latest
|
|
21
|
-
outputs:
|
|
22
|
-
should-publish: ${{ steps.detect.outputs.should-publish }}
|
|
23
|
-
name: ${{ steps.detect.outputs.name }}
|
|
24
|
-
version: ${{ steps.detect.outputs.version }}
|
|
25
|
-
|
|
26
|
-
steps:
|
|
27
|
-
- name: 📥 Checkout code
|
|
28
|
-
uses: actions/checkout@v6
|
|
29
|
-
|
|
30
|
-
- name: 🔧 Setup Node.js
|
|
31
|
-
uses: actions/setup-node@v6
|
|
32
|
-
with:
|
|
33
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
34
|
-
cache: "npm"
|
|
35
|
-
|
|
36
|
-
- name: 📦 Install dependencies
|
|
37
|
-
run: npm ci
|
|
38
|
-
|
|
39
|
-
- name: 🔍 Detect version changes
|
|
40
|
-
id: detect
|
|
41
|
-
run: |
|
|
42
|
-
name=$(node -p "require('./package.json').name")
|
|
43
|
-
version=$(node -p "require('./package.json').version")
|
|
44
|
-
private=$(node -p "require('./package.json').private || false")
|
|
45
|
-
|
|
46
|
-
echo "name=${name}" >> $GITHUB_OUTPUT
|
|
47
|
-
echo "version=${version}" >> $GITHUB_OUTPUT
|
|
48
|
-
|
|
49
|
-
# Skip if private
|
|
50
|
-
if [ "$private" = "true" ]; then
|
|
51
|
-
echo "should-publish=false" >> $GITHUB_OUTPUT
|
|
52
|
-
echo "ℹ️ Package is private, skipping publish"
|
|
53
|
-
exit 0
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
echo "📦 Checking ${name}@${version}..."
|
|
57
|
-
|
|
58
|
-
# Check if this version exists on npm
|
|
59
|
-
if npm view "${name}@${version}" version 2>/dev/null; then
|
|
60
|
-
echo "should-publish=false" >> $GITHUB_OUTPUT
|
|
61
|
-
echo "⏭️ Version ${version} already published for ${name}"
|
|
62
|
-
else
|
|
63
|
-
echo "should-publish=true" >> $GITHUB_OUTPUT
|
|
64
|
-
echo "✨ New version detected: ${name}@${version}"
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
verify:
|
|
68
|
-
name: ✅ Verify Package
|
|
69
|
-
needs: [detect-changes]
|
|
70
|
-
if: needs.detect-changes.outputs.should-publish == 'true'
|
|
71
|
-
runs-on: ubuntu-latest
|
|
72
|
-
|
|
73
|
-
steps:
|
|
74
|
-
- name: 📥 Checkout code
|
|
75
|
-
uses: actions/checkout@v6
|
|
76
|
-
|
|
77
|
-
- name: 🔧 Setup Node.js
|
|
78
|
-
uses: actions/setup-node@v6
|
|
79
|
-
with:
|
|
80
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
81
|
-
cache: "npm"
|
|
82
|
-
|
|
83
|
-
- name: 📦 Install dependencies
|
|
84
|
-
run: npm ci
|
|
85
|
-
|
|
86
|
-
- name: 🏗️ Build package
|
|
87
|
-
run: npm run build
|
|
88
|
-
|
|
89
|
-
- name: 🧪 Run tests
|
|
90
|
-
run: npm test
|
|
91
|
-
|
|
92
|
-
- name: 🔍 Run linting
|
|
93
|
-
run: npm run lint
|
|
94
|
-
|
|
95
|
-
- name: ✅ Verification passed
|
|
96
|
-
run: |
|
|
97
|
-
echo "✅ ${{ needs.detect-changes.outputs.name }}@${{ needs.detect-changes.outputs.version }} verified successfully" >> $GITHUB_STEP_SUMMARY
|
|
98
|
-
|
|
99
|
-
publish:
|
|
100
|
-
name: 📤 Publish Package
|
|
101
|
-
needs: [detect-changes, verify]
|
|
102
|
-
if: needs.detect-changes.outputs.should-publish == 'true' && needs.verify.result == 'success'
|
|
103
|
-
runs-on: ubuntu-latest
|
|
104
|
-
|
|
105
|
-
steps:
|
|
106
|
-
- name: 📥 Checkout code
|
|
107
|
-
uses: actions/checkout@v6
|
|
108
|
-
|
|
109
|
-
- name: 🔧 Setup Node.js
|
|
110
|
-
uses: actions/setup-node@v6
|
|
111
|
-
with:
|
|
112
|
-
node-version: ${{ env.NODE_VERSION }}
|
|
113
|
-
cache: "npm"
|
|
114
|
-
registry-url: "https://registry.npmjs.org"
|
|
115
|
-
|
|
116
|
-
- name: 📦 Install dependencies
|
|
117
|
-
run: npm ci
|
|
118
|
-
|
|
119
|
-
- name: 🏗️ Build package
|
|
120
|
-
run: npm run build
|
|
121
|
-
|
|
122
|
-
- name: 📤 Publish to npm
|
|
123
|
-
env:
|
|
124
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
125
|
-
run: |
|
|
126
|
-
echo "📤 Publishing ${{ needs.detect-changes.outputs.name }}@${{ needs.detect-changes.outputs.version }}"
|
|
127
|
-
npm publish --access public --provenance
|
|
128
|
-
|
|
129
|
-
- name: 🏷️ Create git tag
|
|
130
|
-
run: |
|
|
131
|
-
git config --global user.name "github-actions[bot]"
|
|
132
|
-
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
133
|
-
|
|
134
|
-
TAG_NAME="v${{ needs.detect-changes.outputs.version }}"
|
|
135
|
-
|
|
136
|
-
git tag -a "${TAG_NAME}" -m "Release ${{ needs.detect-changes.outputs.name }}@${{ needs.detect-changes.outputs.version }}"
|
|
137
|
-
git push origin "${TAG_NAME}"
|
|
138
|
-
|
|
139
|
-
- name: ✅ Published successfully
|
|
140
|
-
run: |
|
|
141
|
-
echo "🎉 Successfully published ${{ needs.detect-changes.outputs.name }}@${{ needs.detect-changes.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
142
|
-
echo "📦 Package URL: https://www.npmjs.com/package/${{ needs.detect-changes.outputs.name }}/v/${{ needs.detect-changes.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
143
|
-
|
|
144
|
-
summary:
|
|
145
|
-
name: 📋 Publish Summary
|
|
146
|
-
needs: [detect-changes, verify, publish]
|
|
147
|
-
if: always()
|
|
148
|
-
runs-on: ubuntu-latest
|
|
149
|
-
|
|
150
|
-
steps:
|
|
151
|
-
- name: 📊 Create summary
|
|
152
|
-
run: |
|
|
153
|
-
echo "## 📦 Package Publishing Summary" >> $GITHUB_STEP_SUMMARY
|
|
154
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
155
|
-
|
|
156
|
-
if [ "${{ needs.detect-changes.outputs.should-publish }}" != "true" ]; then
|
|
157
|
-
echo "ℹ️ **No new version to publish**" >> $GITHUB_STEP_SUMMARY
|
|
158
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
159
|
-
echo "Version ${{ needs.detect-changes.outputs.version }} is already published or package is private." >> $GITHUB_STEP_SUMMARY
|
|
160
|
-
elif [ "${{ needs.verify.result }}" != "success" ]; then
|
|
161
|
-
echo "❌ **Verification failed - package not published**" >> $GITHUB_STEP_SUMMARY
|
|
162
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
163
|
-
echo "Please fix verification errors and try again." >> $GITHUB_STEP_SUMMARY
|
|
164
|
-
elif [ "${{ needs.publish.result }}" == "success" ]; then
|
|
165
|
-
echo "✅ **Package published successfully!**" >> $GITHUB_STEP_SUMMARY
|
|
166
|
-
echo "" >> $GITHUB_STEP_SUMMARY
|
|
167
|
-
echo "- **${{ needs.detect-changes.outputs.name }}** version ${{ needs.detect-changes.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
168
|
-
else
|
|
169
|
-
echo "⚠️ **Package failed to publish**" >> $GITHUB_STEP_SUMMARY
|
|
170
|
-
fi
|
package/dist/cli.test.d.ts
DELETED
package/dist/cli.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.test.d.ts","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":""}
|
package/dist/cli.test.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
|
-
import { existsSync, mkdirSync, rmSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
const CLI_PATH = join(__dirname, 'cli.ts');
|
|
5
|
-
describe('CLI Commands', () => {
|
|
6
|
-
const testDir = 'test-cli-workspace';
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
if (existsSync(testDir)) {
|
|
9
|
-
rmSync(testDir, { recursive: true });
|
|
10
|
-
}
|
|
11
|
-
mkdirSync(testDir);
|
|
12
|
-
process.chdir(testDir);
|
|
13
|
-
});
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
process.chdir('..');
|
|
16
|
-
if (existsSync(testDir)) {
|
|
17
|
-
rmSync(testDir, { recursive: true });
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
test('CLI shows version', () => {
|
|
21
|
-
const output = execSync(`tsx ${CLI_PATH} --version`, {
|
|
22
|
-
encoding: 'utf-8',
|
|
23
|
-
});
|
|
24
|
-
expect(output.trim()).toMatch(/^\d+\.\d+\.\d+$/);
|
|
25
|
-
});
|
|
26
|
-
test('CLI shows help', () => {
|
|
27
|
-
const output = execSync(`tsx ${CLI_PATH} --help`, {
|
|
28
|
-
encoding: 'utf-8',
|
|
29
|
-
});
|
|
30
|
-
expect(output).toContain('AgentKit CLI');
|
|
31
|
-
expect(output).toContain('init');
|
|
32
|
-
expect(output).toContain('run');
|
|
33
|
-
expect(output).toContain('list');
|
|
34
|
-
expect(output).toContain('update');
|
|
35
|
-
});
|
|
36
|
-
test('init command creates agent folder and config', () => {
|
|
37
|
-
const output = execSync(`tsx ${CLI_PATH} init test-agent`, {
|
|
38
|
-
encoding: 'utf-8',
|
|
39
|
-
});
|
|
40
|
-
const expectedAgentPath = join('agents', 'test-agent.agent.md');
|
|
41
|
-
const expectedConfigPath = 'agent.json';
|
|
42
|
-
expect(output).toContain('✅ Created');
|
|
43
|
-
expect(output).toContain('test-agent.agent.md');
|
|
44
|
-
expect(output).toContain('agent.json');
|
|
45
|
-
expect(existsSync(expectedAgentPath)).toBe(true);
|
|
46
|
-
expect(existsSync(expectedConfigPath)).toBe(true);
|
|
47
|
-
});
|
|
48
|
-
test('run command requires agent file', () => {
|
|
49
|
-
try {
|
|
50
|
-
execSync(`tsx ${CLI_PATH} run my-agent "hello"`, {
|
|
51
|
-
encoding: 'utf-8',
|
|
52
|
-
});
|
|
53
|
-
fail('Should have thrown an error');
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
const err = error;
|
|
57
|
-
expect(err.stderr || err.stdout || err.message).toContain('Failed');
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
test('list command runs successfully', () => {
|
|
61
|
-
const output = execSync(`tsx ${CLI_PATH} list`, {
|
|
62
|
-
encoding: 'utf-8',
|
|
63
|
-
});
|
|
64
|
-
expect(output.includes('No agents found') || output.includes('Available Agents')).toBe(true);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
//# sourceMappingURL=cli.test.js.map
|
package/dist/cli.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../src/cli.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD,eAAO,MAAM,WAAW,GACtB,OAAO,MAAM,EACb,UAAU,WAAW,KACpB,OAAO,CAAC,IAAI,CAmCd,CAAC"}
|
package/dist/commands/init.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { mkdir, writeFile } from 'fs/promises';
|
|
2
|
-
import { homedir } from 'os';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
const sampleAgentTemplate = `---
|
|
5
|
-
name: {{name}}
|
|
6
|
-
description: An AI assistant agent
|
|
7
|
-
argument-hint: Describe what you want help with
|
|
8
|
-
tools: []
|
|
9
|
-
handoffs: []
|
|
10
|
-
---
|
|
11
|
-
You are a helpful AI assistant.
|
|
12
|
-
|
|
13
|
-
Respond clearly and concisely to user requests.
|
|
14
|
-
`;
|
|
15
|
-
const getGlobalDir = () => join(homedir(), '.agentage');
|
|
16
|
-
export const initCommand = async (name, options) => {
|
|
17
|
-
const agentName = name || 'my-agent';
|
|
18
|
-
const isGlobal = options?.global ?? false;
|
|
19
|
-
const baseDir = isGlobal ? getGlobalDir() : '.';
|
|
20
|
-
const agentsDir = join(baseDir, 'agents');
|
|
21
|
-
const agentFilePath = join(agentsDir, `${agentName}.agent.md`);
|
|
22
|
-
const configFilePath = join(baseDir, 'agent.json');
|
|
23
|
-
const agentContent = sampleAgentTemplate.replace(/{{name}}/g, agentName);
|
|
24
|
-
const agentConfig = {
|
|
25
|
-
paths: ['agents/'],
|
|
26
|
-
};
|
|
27
|
-
try {
|
|
28
|
-
await mkdir(agentsDir, { recursive: true });
|
|
29
|
-
await writeFile(agentFilePath, agentContent, 'utf-8');
|
|
30
|
-
console.log(`✅ Created ${agentFilePath}`);
|
|
31
|
-
await writeFile(configFilePath, JSON.stringify(agentConfig, null, 2), 'utf-8');
|
|
32
|
-
console.log(`✅ Created ${configFilePath}`);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
console.error(`❌ Failed: ${error.message}`);
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,mBAAmB,GAAG;;;;;;;;;;CAU3B,CAAC;AAaF,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAa,EACb,OAAqB,EACN,EAAE;IACjB,MAAM,SAAS,GAAG,IAAI,IAAI,UAAU,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IAG1C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEzE,MAAM,WAAW,GAAgB;QAC/B,KAAK,EAAE,CAAC,SAAS,CAAC;KACnB,CAAC;IAEF,IAAI,CAAC;QAEH,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAG5C,MAAM,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QAG1C,MAAM,SAAS,CACb,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EACpC,OAAO,CACR,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,aAAc,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.test.d.ts","sourceRoot":"","sources":["../../src/commands/init.test.ts"],"names":[],"mappings":""}
|