poe-code 0.1.26 → 1.0.1-beta.1
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 +110 -29
- package/dist/bin/poe-claude.js +16 -0
- package/dist/bin/poe-codex.js +16 -0
- package/dist/bin/poe-kimi-cli.js +16 -0
- package/dist/bin/poe-opencode.js +16 -0
- package/dist/cli/binary-aliases.d.ts +7 -0
- package/dist/cli/binary-aliases.js +26 -0
- package/dist/cli/binary-aliases.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +4 -0
- package/dist/cli/bootstrap.js +78 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/command-runner.d.ts +1 -1
- package/dist/cli/command-runner.js +16 -2
- package/dist/cli/command-runner.js.map +1 -1
- package/dist/cli/commands/configure-payload.d.ts +15 -0
- package/dist/cli/commands/configure-payload.js +31 -0
- package/dist/cli/commands/configure-payload.js.map +1 -0
- package/dist/cli/commands/configure.d.ts +4 -3
- package/dist/cli/commands/configure.js +102 -101
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/ensure-isolated-config.d.ts +12 -0
- package/dist/cli/commands/ensure-isolated-config.js +53 -0
- package/dist/cli/commands/ensure-isolated-config.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +9 -0
- package/dist/cli/commands/generate.js +323 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/install.d.ts +4 -0
- package/dist/cli/commands/install.js +40 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/login.js +62 -8
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/{root.d.ts → mcp.d.ts} +1 -1
- package/dist/cli/commands/mcp.js +168 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +16 -11
- package/dist/cli/commands/shared.js +45 -24
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/cli/commands/spawn.d.ts +14 -4
- package/dist/cli/commands/spawn.js +92 -77
- package/dist/cli/commands/spawn.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -4
- package/dist/cli/commands/test.js +111 -16
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/unconfigure.d.ts +7 -0
- package/dist/cli/commands/unconfigure.js +116 -0
- package/dist/cli/commands/unconfigure.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.js +31 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/commands/wrap.d.ts +3 -0
- package/dist/cli/commands/wrap.js +61 -0
- package/dist/cli/commands/wrap.js.map +1 -0
- package/dist/cli/constants.d.ts +23 -9
- package/dist/cli/constants.js +42 -9
- package/dist/cli/constants.js.map +1 -1
- package/dist/cli/container.d.ts +4 -10
- package/dist/cli/container.js +18 -22
- package/dist/cli/container.js.map +1 -1
- package/dist/cli/context.d.ts +9 -13
- package/dist/cli/context.js +45 -152
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/environment.d.ts +2 -0
- package/dist/cli/environment.js +80 -0
- package/dist/cli/environment.js.map +1 -1
- package/dist/cli/error-logger.d.ts +18 -2
- package/dist/cli/error-logger.js +25 -7
- package/dist/cli/error-logger.js.map +1 -1
- package/dist/cli/errors.d.ts +14 -10
- package/dist/cli/errors.js +25 -12
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/exit-signals.d.ts +4 -0
- package/dist/cli/exit-signals.js +8 -0
- package/dist/cli/exit-signals.js.map +1 -0
- package/dist/cli/http.d.ts +1 -0
- package/dist/cli/isolated-env-runner.d.ts +10 -0
- package/dist/cli/isolated-env-runner.js +46 -0
- package/dist/cli/isolated-env-runner.js.map +1 -0
- package/dist/cli/isolated-env.d.ts +22 -0
- package/dist/cli/isolated-env.js +176 -0
- package/dist/cli/isolated-env.js.map +1 -0
- package/dist/cli/logger.d.ts +11 -1
- package/dist/cli/logger.js +101 -16
- package/dist/cli/logger.js.map +1 -1
- package/dist/cli/mcp-output-format.d.ts +2 -0
- package/dist/cli/mcp-output-format.js +22 -0
- package/dist/cli/mcp-output-format.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +21 -0
- package/dist/cli/mcp-server.js +286 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/options.d.ts +18 -3
- package/dist/cli/options.js +39 -12
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/poe-code-command-runner.d.ts +6 -0
- package/dist/cli/poe-code-command-runner.js +57 -0
- package/dist/cli/poe-code-command-runner.js.map +1 -0
- package/dist/cli/program.js +134 -23
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/prompt-runner.d.ts +10 -0
- package/dist/cli/prompt-runner.js +79 -0
- package/dist/cli/prompt-runner.js.map +1 -0
- package/dist/cli/prompts.d.ts +23 -7
- package/dist/cli/prompts.js +17 -33
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/service-registry.d.ts +86 -21
- package/dist/cli/service-registry.js +60 -12
- package/dist/cli/service-registry.js.map +1 -1
- package/dist/cli/ui/service-menu.d.ts +7 -0
- package/dist/cli/ui/service-menu.js +43 -0
- package/dist/cli/ui/service-menu.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +7 -74
- package/dist/index.js.map +1 -1
- package/dist/providers/claude-code.d.ts +13 -0
- package/dist/providers/claude-code.js +136 -0
- package/dist/providers/claude-code.js.map +1 -0
- package/dist/providers/codex.d.ts +17 -0
- package/dist/providers/codex.js +144 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/create-provider.d.ts +29 -0
- package/dist/providers/create-provider.js +63 -0
- package/dist/providers/create-provider.js.map +1 -0
- package/dist/providers/index.d.ts +2 -2
- package/dist/providers/index.js +5 -10
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/kimi.d.ts +4 -0
- package/dist/providers/kimi.js +123 -0
- package/dist/providers/kimi.js.map +1 -0
- package/dist/providers/opencode.d.ts +3 -0
- package/dist/providers/opencode.js +119 -0
- package/dist/providers/opencode.js.map +1 -0
- package/dist/providers/spawn-options.d.ts +12 -0
- package/dist/providers/spawn-options.js +2 -0
- package/dist/providers/spawn-options.js.map +1 -0
- package/dist/sdk/container.d.ts +18 -0
- package/dist/sdk/container.js +127 -0
- package/dist/sdk/container.js.map +1 -0
- package/dist/sdk/credentials.d.ts +9 -0
- package/dist/sdk/credentials.js +35 -0
- package/dist/sdk/credentials.js.map +1 -0
- package/dist/sdk/generate.d.ts +5 -0
- package/dist/sdk/generate.js +97 -0
- package/dist/sdk/generate.js.map +1 -0
- package/dist/sdk/spawn-core.d.ts +23 -0
- package/dist/sdk/spawn-core.js +105 -0
- package/dist/sdk/spawn-core.js.map +1 -0
- package/dist/sdk/spawn.d.ts +23 -0
- package/dist/sdk/spawn.js +41 -0
- package/dist/sdk/spawn.js.map +1 -0
- package/dist/sdk/types.d.ts +38 -0
- package/dist/sdk/types.js +2 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/services/client-instance.d.ts +12 -0
- package/dist/services/client-instance.js +36 -0
- package/dist/services/client-instance.js.map +1 -0
- package/dist/services/credentials.d.ts +13 -0
- package/dist/services/credentials.js +132 -14
- package/dist/services/credentials.js.map +1 -1
- package/dist/services/llm-client.d.ts +22 -0
- package/dist/services/llm-client.js +138 -0
- package/dist/services/llm-client.js.map +1 -0
- package/dist/services/media-download.d.ts +17 -0
- package/dist/services/media-download.js +42 -0
- package/dist/services/media-download.js.map +1 -0
- package/dist/services/model-strategy.d.ts +2 -2
- package/dist/services/model-strategy.js +36 -31
- package/dist/services/model-strategy.js.map +1 -1
- package/dist/services/mutation-events.d.ts +4 -0
- package/dist/services/mutation-events.js +53 -0
- package/dist/services/mutation-events.js.map +1 -0
- package/dist/services/service-install.d.ts +5 -4
- package/dist/services/service-install.js +36 -13
- package/dist/services/service-install.js.map +1 -1
- package/dist/services/version.d.ts +11 -0
- package/dist/services/version.js +28 -0
- package/dist/services/version.js.map +1 -0
- package/dist/templates/codex/config.toml.hbs +3 -3
- package/dist/tools/label-generator.d.ts +11 -0
- package/dist/tools/label-generator.js +78 -0
- package/dist/tools/label-generator.js.map +1 -0
- package/dist/utils/command-checks.d.ts +45 -0
- package/dist/utils/command-checks.js +120 -0
- package/dist/utils/command-checks.js.map +1 -0
- package/dist/utils/dry-run.d.ts +1 -0
- package/dist/utils/dry-run.js +116 -7
- package/dist/utils/dry-run.js.map +1 -1
- package/dist/utils/execution-context.d.ts +40 -0
- package/dist/utils/execution-context.js +128 -0
- package/dist/utils/execution-context.js.map +1 -0
- package/dist/utils/json.js +3 -0
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/templates.d.ts +1 -0
- package/dist/utils/templates.js +3 -4
- package/dist/utils/templates.js.map +1 -1
- package/package.json +54 -46
- package/dist/cli/api-client.d.ts +0 -14
- package/dist/cli/api-client.js +0 -140
- package/dist/cli/api-client.js.map +0 -1
- package/dist/cli/chat.d.ts +0 -32
- package/dist/cli/chat.js +0 -2
- package/dist/cli/chat.js.map +0 -1
- package/dist/cli/commands/agent.d.ts +0 -18
- package/dist/cli/commands/agent.js +0 -84
- package/dist/cli/commands/agent.js.map +0 -1
- package/dist/cli/commands/configure-agents.d.ts +0 -3
- package/dist/cli/commands/configure-agents.js +0 -72
- package/dist/cli/commands/configure-agents.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -8
- package/dist/cli/commands/init.js +0 -45
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/interactive.d.ts +0 -3
- package/dist/cli/commands/interactive.js +0 -17
- package/dist/cli/commands/interactive.js.map +0 -1
- package/dist/cli/commands/logout.d.ts +0 -3
- package/dist/cli/commands/logout.js +0 -31
- package/dist/cli/commands/logout.js.map +0 -1
- package/dist/cli/commands/prerequisites.d.ts +0 -3
- package/dist/cli/commands/prerequisites.js +0 -23
- package/dist/cli/commands/prerequisites.js.map +0 -1
- package/dist/cli/commands/query.d.ts +0 -7
- package/dist/cli/commands/query.js +0 -46
- package/dist/cli/commands/query.js.map +0 -1
- package/dist/cli/commands/remove.d.ts +0 -6
- package/dist/cli/commands/remove.js +0 -80
- package/dist/cli/commands/remove.js.map +0 -1
- package/dist/cli/commands/root.js +0 -7
- package/dist/cli/commands/root.js.map +0 -1
- package/dist/cli/commands/spawn-worktree.d.ts +0 -6
- package/dist/cli/commands/spawn-worktree.js +0 -91
- package/dist/cli/commands/spawn-worktree.js.map +0 -1
- package/dist/cli/file-mentions.d.ts +0 -13
- package/dist/cli/file-mentions.js +0 -87
- package/dist/cli/file-mentions.js.map +0 -1
- package/dist/cli/file-picker-state.d.ts +0 -14
- package/dist/cli/file-picker-state.js +0 -23
- package/dist/cli/file-picker-state.js.map +0 -1
- package/dist/cli/interactive-command-runner.d.ts +0 -11
- package/dist/cli/interactive-command-runner.js +0 -142
- package/dist/cli/interactive-command-runner.js.map +0 -1
- package/dist/cli/interactive-launcher.d.ts +0 -2
- package/dist/cli/interactive-launcher.js +0 -404
- package/dist/cli/interactive-launcher.js.map +0 -1
- package/dist/cli/interactive-tasks.d.ts +0 -7
- package/dist/cli/interactive-tasks.js +0 -199
- package/dist/cli/interactive-tasks.js.map +0 -1
- package/dist/cli/interactive.d.ts +0 -19
- package/dist/cli/interactive.js +0 -479
- package/dist/cli/interactive.js.map +0 -1
- package/dist/cli/markdown-renderer.d.ts +0 -27
- package/dist/cli/markdown-renderer.js +0 -178
- package/dist/cli/markdown-renderer.js.map +0 -1
- package/dist/cli/markdown-renderer.test.d.ts +0 -1
- package/dist/cli/markdown-renderer.test.js +0 -105
- package/dist/cli/markdown-renderer.test.js.map +0 -1
- package/dist/cli/telemetry.d.ts +0 -15
- package/dist/cli/telemetry.js +0 -45
- package/dist/cli/telemetry.js.map +0 -1
- package/dist/commands/init.d.ts +0 -9
- package/dist/commands/init.js +0 -43
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/publish-placeholder.d.ts +0 -8
- package/dist/commands/publish-placeholder.js +0 -50
- package/dist/commands/publish-placeholder.js.map +0 -1
- package/dist/commands/spawn-worktree.d.ts +0 -25
- package/dist/commands/spawn-worktree.js +0 -139
- package/dist/commands/spawn-worktree.js.map +0 -1
- package/dist/providers/claude-code-adapter.d.ts +0 -20
- package/dist/providers/claude-code-adapter.js +0 -48
- package/dist/providers/claude-code-adapter.js.map +0 -1
- package/dist/providers/codex-adapter.d.ts +0 -19
- package/dist/providers/codex-adapter.js +0 -49
- package/dist/providers/codex-adapter.js.map +0 -1
- package/dist/providers/opencode-adapter.d.ts +0 -18
- package/dist/providers/opencode-adapter.js +0 -45
- package/dist/providers/opencode-adapter.js.map +0 -1
- package/dist/providers/roo-code-adapter.d.ts +0 -19
- package/dist/providers/roo-code-adapter.js +0 -70
- package/dist/providers/roo-code-adapter.js.map +0 -1
- package/dist/services/agent-config-manager.d.ts +0 -32
- package/dist/services/agent-config-manager.js +0 -130
- package/dist/services/agent-config-manager.js.map +0 -1
- package/dist/services/agent-registry.d.ts +0 -27
- package/dist/services/agent-registry.js +0 -89
- package/dist/services/agent-registry.js.map +0 -1
- package/dist/services/agent-session.d.ts +0 -24
- package/dist/services/agent-session.js +0 -107
- package/dist/services/agent-session.js.map +0 -1
- package/dist/services/agent-task-registry.d.ts +0 -131
- package/dist/services/agent-task-registry.js +0 -491
- package/dist/services/agent-task-registry.js.map +0 -1
- package/dist/services/chat.d.ts +0 -94
- package/dist/services/chat.js +0 -241
- package/dist/services/chat.js.map +0 -1
- package/dist/services/claude-code.d.ts +0 -28
- package/dist/services/claude-code.js +0 -155
- package/dist/services/claude-code.js.map +0 -1
- package/dist/services/codex.d.ts +0 -27
- package/dist/services/codex.js +0 -231
- package/dist/services/codex.js.map +0 -1
- package/dist/services/mcp-client.d.ts +0 -38
- package/dist/services/mcp-client.js +0 -170
- package/dist/services/mcp-client.js.map +0 -1
- package/dist/services/mcp-manager.d.ts +0 -28
- package/dist/services/mcp-manager.js +0 -157
- package/dist/services/mcp-manager.js.map +0 -1
- package/dist/services/opencode.d.ts +0 -25
- package/dist/services/opencode.js +0 -161
- package/dist/services/opencode.js.map +0 -1
- package/dist/services/poe-code.d.ts +0 -7
- package/dist/services/poe-code.js +0 -5
- package/dist/services/poe-code.js.map +0 -1
- package/dist/services/roo-code.d.ts +0 -22
- package/dist/services/roo-code.js +0 -134
- package/dist/services/roo-code.js.map +0 -1
- package/dist/services/service-manifest.d.ts +0 -122
- package/dist/services/service-manifest.js +0 -368
- package/dist/services/service-manifest.js.map +0 -1
- package/dist/services/task-logger.d.ts +0 -24
- package/dist/services/task-logger.js +0 -73
- package/dist/services/task-logger.js.map +0 -1
- package/dist/services/task-runner.d.ts +0 -19
- package/dist/services/task-runner.js +0 -157
- package/dist/services/task-runner.js.map +0 -1
- package/dist/services/tools.d.ts +0 -76
- package/dist/services/tools.js +0 -870
- package/dist/services/tools.js.map +0 -1
- package/dist/templates/claude-code/anthropic_key.sh.hbs +0 -2
- package/dist/utils/e2e-flags.d.ts +0 -1
- package/dist/utils/e2e-flags.js +0 -9
- package/dist/utils/e2e-flags.js.map +0 -1
- package/dist/utils/prerequisites.d.ts +0 -41
- package/dist/utils/prerequisites.js +0 -92
- package/dist/utils/prerequisites.js.map +0 -1
- package/dist/utils/toml.d.ts +0 -8
- package/dist/utils/toml.js +0 -30
- package/dist/utils/toml.js.map +0 -1
- package/dist/utils/worktree.d.ts +0 -40
- package/dist/utils/worktree.js +0 -179
- package/dist/utils/worktree.js.map +0 -1
- package/shared/conversation-layout.cjs +0 -11
- package/shared/conversation-layout.d.ts +0 -7
- package/shared/conversation-layout.js +0 -11
- package/shared/package.json +0 -13
package/package.json
CHANGED
|
@@ -1,84 +1,92 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "poe-code",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "1.0.1-beta.1",
|
|
4
4
|
"description": "CLI tool to configure Poe API for developer workflows.",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"workspaces": [
|
|
7
|
+
"packages/*"
|
|
8
|
+
],
|
|
6
9
|
"scripts": {
|
|
7
|
-
"build": "
|
|
10
|
+
"build": "turbo run build && tsc -p tsconfig.build.json && node scripts/copy-templates.mjs && node scripts/generate-bin-wrappers.mjs",
|
|
11
|
+
"predev": "turbo run build --filter=@poe-code/agent-mcp-config --filter=@poe-code/tiny-mcp-server --output-logs=none --log-prefix=none --verbosity=0 > /dev/null 2>&1",
|
|
8
12
|
"dev": "tsx src/index.ts",
|
|
9
13
|
"start": "node dist/index.js",
|
|
10
|
-
"test": "
|
|
11
|
-
"
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"check:semver": "node -e \"const semver=require('semver'); const pkg=require('./package.json'); if(!semver.valid(pkg.version)){console.error('Invalid semver version in package.json:', pkg.version); process.exit(1);}\"",
|
|
12
16
|
"lint": "npm run lint:eslint && npm run lint:types && npm run lint:workflows",
|
|
13
17
|
"lint:workflows": "(command -v actionlint > /dev/null || bash scripts/setup-actionlint.sh) && (command -v actionlint > /dev/null && actionlint || ./actionlint)",
|
|
14
18
|
"lint:eslint": "eslint . --ext ts",
|
|
15
|
-
"lint:types": "tsc -p tsconfig.build.json --noEmit
|
|
19
|
+
"lint:types": "tsc -p tsconfig.build.json --noEmit",
|
|
20
|
+
"labels:generate": "tsx scripts/generate-labels.ts",
|
|
21
|
+
"screenshot": "tsx scripts/screenshot.ts",
|
|
22
|
+
"screenshot-poe-code": "tsx scripts/screenshot.ts --poe-code",
|
|
23
|
+
"generate:design-docs": "turbo run generate:docs --filter=@poe-code/design-system",
|
|
16
24
|
"format": "prettier --check .",
|
|
17
25
|
"format:write": "prettier --write .",
|
|
18
|
-
"watch": "tsx watch
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
26
|
+
"watch:diff": "tsx local_scripts/watch-diff.ts",
|
|
27
|
+
"test:integration": "vitest run tests/integration/",
|
|
28
|
+
"test:record": "POE_SNAPSHOT_MODE=record npm run test:integration",
|
|
29
|
+
"test-generate": "tsx scripts/test-generate.ts",
|
|
30
|
+
"snapshots": "tsx scripts/snapshots.ts",
|
|
31
|
+
"snapshots:list": "npm run snapshots -- list",
|
|
32
|
+
"snapshots:refresh": "npm run snapshots -- refresh",
|
|
33
|
+
"snapshots:delete": "npm run snapshots -- delete",
|
|
34
|
+
"snapshots:list:stale": "npm run snapshots -- list --stale",
|
|
35
|
+
"snapshots:delete:stale": "npm run snapshots -- delete --stale",
|
|
36
|
+
"e2e": "vitest run --config e2e/vitest.config.ts",
|
|
37
|
+
"e2e:verbose": "E2E_VERBOSE=1 vitest run --config e2e/vitest.config.ts --reporter=verbose",
|
|
38
|
+
"e2e:cleanup": "tsx packages/e2e-docker-test-runner/scripts/cleanup.ts",
|
|
39
|
+
"e2e:logs": "tsx packages/e2e-docker-test-runner/scripts/logs.ts",
|
|
40
|
+
"e2e:logs:rotate": "tsx packages/e2e-docker-test-runner/scripts/logs.ts --rotate",
|
|
41
|
+
"e2e:cache:clear": "rm -rf ~/.cache/poe-e2e",
|
|
42
|
+
"prepare": "husky"
|
|
24
43
|
},
|
|
25
44
|
"bin": {
|
|
26
|
-
"poe-code": "dist/index.js"
|
|
45
|
+
"poe-code": "dist/index.js",
|
|
46
|
+
"poe-code-configure": "dist/index.js",
|
|
47
|
+
"poe-claude": "dist/bin/poe-claude.js",
|
|
48
|
+
"poe-codex": "dist/bin/poe-codex.js",
|
|
49
|
+
"poe-opencode": "dist/bin/poe-opencode.js"
|
|
27
50
|
},
|
|
28
51
|
"files": [
|
|
29
|
-
"dist"
|
|
30
|
-
"shared"
|
|
52
|
+
"dist"
|
|
31
53
|
],
|
|
32
54
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
55
|
+
"node": ">=16"
|
|
34
56
|
},
|
|
57
|
+
"packageManager": "npm@10.9.2",
|
|
35
58
|
"dependencies": {
|
|
36
|
-
"@
|
|
37
|
-
"@poe/
|
|
59
|
+
"@poe-code/config-mutations": "*",
|
|
60
|
+
"@poe-code/design-system": "*",
|
|
61
|
+
"@poe-code/tiny-mcp-server": "*",
|
|
38
62
|
"chalk": "^5.3.0",
|
|
39
63
|
"commander": "^11.1.0",
|
|
40
|
-
"diff": "
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"ink-select-input": "^6.2.0",
|
|
44
|
-
"ink-text-input": "^6.0.0",
|
|
45
|
-
"lit": "^3.3.1",
|
|
46
|
-
"prompts": "^2.4.2",
|
|
47
|
-
"react": "^19.2.0",
|
|
48
|
-
"simple-git": "^3.25.0"
|
|
64
|
+
"diff": ">=8.0.3",
|
|
65
|
+
"mustache": "^4.2.0",
|
|
66
|
+
"semver": "^7.7.3"
|
|
49
67
|
},
|
|
50
68
|
"devDependencies": {
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
69
|
+
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
70
|
+
"@poe-code/e2e-docker-test-runner": "*",
|
|
71
|
+
"@poe-code/freeze-cli": "*",
|
|
72
|
+
"@types/mustache": "^4.2.6",
|
|
53
73
|
"@types/node": "^20.12.7",
|
|
54
|
-
"@types/
|
|
55
|
-
"@types/react": "^19.2.2",
|
|
74
|
+
"@types/semver": "^7.7.1",
|
|
56
75
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
57
76
|
"@typescript-eslint/parser": "^8.46.2",
|
|
58
|
-
"@vscode/test-electron": "^2.5.2",
|
|
59
|
-
"autoprefixer": "^10.4.20",
|
|
60
|
-
"css-loader": "^7.1.2",
|
|
61
77
|
"eslint": "^9.38.0",
|
|
62
78
|
"eslint-config-prettier": "^9.1.0",
|
|
63
|
-
"
|
|
64
|
-
"ink-testing-library": "^4.0.0",
|
|
65
|
-
"jsdom": "^27.0.1",
|
|
79
|
+
"husky": "^9.1.7",
|
|
66
80
|
"memfs": "^4.7.3",
|
|
67
|
-
"mini-css-extract-plugin": "^2.9.1",
|
|
68
|
-
"postcss-loader": "^8.1.1",
|
|
69
81
|
"prettier": "^3.3.3",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"tsx": "^4.7.1",
|
|
82
|
+
"tsx": ">=4.21.0",
|
|
83
|
+
"turbo": "^2.5.0",
|
|
73
84
|
"typescript": "^5.4.5",
|
|
74
85
|
"typescript-eslint": "^8.46.2",
|
|
75
|
-
"vitest": "
|
|
76
|
-
"webpack": "^5.96.1",
|
|
77
|
-
"webpack-cli": "^5.1.4",
|
|
78
|
-
"yaml": "^2.6.0"
|
|
86
|
+
"vitest": ">=4.0.17"
|
|
79
87
|
},
|
|
80
88
|
"repository": {
|
|
81
89
|
"type": "git",
|
|
82
|
-
"url": "https://github.com/poe-platform/poe-code.git"
|
|
90
|
+
"url": "git+https://github.com/poe-platform/poe-code.git"
|
|
83
91
|
}
|
|
84
92
|
}
|
package/dist/cli/api-client.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { HttpClient } from "./http.js";
|
|
2
|
-
export interface VerifyApiKeyOptions {
|
|
3
|
-
apiKey: string;
|
|
4
|
-
}
|
|
5
|
-
export interface QueryOptions {
|
|
6
|
-
apiKey: string;
|
|
7
|
-
model: string;
|
|
8
|
-
prompt: string;
|
|
9
|
-
}
|
|
10
|
-
export interface PoeApiClient {
|
|
11
|
-
verify(options: VerifyApiKeyOptions): Promise<void>;
|
|
12
|
-
query(options: QueryOptions): Promise<string>;
|
|
13
|
-
}
|
|
14
|
-
export declare function createPoeApiClient(client: HttpClient): PoeApiClient;
|
package/dist/cli/api-client.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { ApiError } from "./errors.js";
|
|
2
|
-
const POE_API_ENDPOINT = "https://api.poe.com/v1/chat/completions";
|
|
3
|
-
export function createPoeApiClient(client) {
|
|
4
|
-
const verify = async (options) => {
|
|
5
|
-
const requestBody = {
|
|
6
|
-
model: "EchoBot",
|
|
7
|
-
messages: [{ role: "user", content: "Ping" }]
|
|
8
|
-
};
|
|
9
|
-
let response;
|
|
10
|
-
let responseBody;
|
|
11
|
-
try {
|
|
12
|
-
response = await client(POE_API_ENDPOINT, {
|
|
13
|
-
method: "POST",
|
|
14
|
-
headers: {
|
|
15
|
-
"Content-Type": "application/json",
|
|
16
|
-
Authorization: `Bearer ${options.apiKey}`
|
|
17
|
-
},
|
|
18
|
-
body: JSON.stringify(requestBody)
|
|
19
|
-
});
|
|
20
|
-
responseBody = await response.json();
|
|
21
|
-
if (!response.ok) {
|
|
22
|
-
throw new ApiError("Poe API test failed", {
|
|
23
|
-
httpStatus: response.status,
|
|
24
|
-
endpoint: POE_API_ENDPOINT,
|
|
25
|
-
context: {
|
|
26
|
-
operation: "verify API key",
|
|
27
|
-
requestBody,
|
|
28
|
-
responseBody
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
const echoed = extractMessageContent(responseBody);
|
|
33
|
-
if (echoed !== "Ping") {
|
|
34
|
-
throw new ApiError("Poe API test failed: unexpected response payload", {
|
|
35
|
-
httpStatus: response.status,
|
|
36
|
-
endpoint: POE_API_ENDPOINT,
|
|
37
|
-
context: {
|
|
38
|
-
operation: "verify API key",
|
|
39
|
-
expected: "Ping",
|
|
40
|
-
received: echoed,
|
|
41
|
-
responseBody
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
if (error instanceof ApiError) {
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
// Network or other errors
|
|
51
|
-
throw new ApiError(`Failed to connect to Poe API: ${String(error)}`, {
|
|
52
|
-
endpoint: POE_API_ENDPOINT,
|
|
53
|
-
context: {
|
|
54
|
-
operation: "verify API key",
|
|
55
|
-
requestBody,
|
|
56
|
-
originalError: String(error)
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
const query = async (options) => {
|
|
62
|
-
const requestBody = {
|
|
63
|
-
model: options.model,
|
|
64
|
-
messages: [{ role: "user", content: options.prompt }]
|
|
65
|
-
};
|
|
66
|
-
let response;
|
|
67
|
-
let responseBody;
|
|
68
|
-
try {
|
|
69
|
-
response = await client(POE_API_ENDPOINT, {
|
|
70
|
-
method: "POST",
|
|
71
|
-
headers: {
|
|
72
|
-
"Content-Type": "application/json",
|
|
73
|
-
Authorization: `Bearer ${options.apiKey}`
|
|
74
|
-
},
|
|
75
|
-
body: JSON.stringify(requestBody)
|
|
76
|
-
});
|
|
77
|
-
responseBody = await response.json();
|
|
78
|
-
if (!response.ok) {
|
|
79
|
-
throw new ApiError("Poe API query failed", {
|
|
80
|
-
httpStatus: response.status,
|
|
81
|
-
endpoint: POE_API_ENDPOINT,
|
|
82
|
-
context: {
|
|
83
|
-
operation: "query",
|
|
84
|
-
model: options.model,
|
|
85
|
-
requestBody,
|
|
86
|
-
responseBody
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
const content = extractMessageContent(responseBody);
|
|
91
|
-
if (!content) {
|
|
92
|
-
throw new ApiError("Poe API query failed: missing response content", {
|
|
93
|
-
httpStatus: response.status,
|
|
94
|
-
endpoint: POE_API_ENDPOINT,
|
|
95
|
-
context: {
|
|
96
|
-
operation: "query",
|
|
97
|
-
model: options.model,
|
|
98
|
-
responseBody
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
return content;
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
if (error instanceof ApiError) {
|
|
106
|
-
throw error;
|
|
107
|
-
}
|
|
108
|
-
// Network or other errors
|
|
109
|
-
throw new ApiError(`Failed to connect to Poe API: ${String(error)}`, {
|
|
110
|
-
endpoint: POE_API_ENDPOINT,
|
|
111
|
-
context: {
|
|
112
|
-
operation: "query",
|
|
113
|
-
model: options.model,
|
|
114
|
-
requestBody,
|
|
115
|
-
originalError: String(error)
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
return { verify, query };
|
|
121
|
-
}
|
|
122
|
-
function extractMessageContent(payload) {
|
|
123
|
-
if (!isPoeResponse(payload)) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
const [first] = payload.choices;
|
|
127
|
-
if (!first || typeof first !== "object") {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
const content = first.message?.content;
|
|
131
|
-
return typeof content === "string" ? content : null;
|
|
132
|
-
}
|
|
133
|
-
function isPoeResponse(value) {
|
|
134
|
-
if (typeof value !== "object" || value === null) {
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
const candidate = value;
|
|
138
|
-
return Array.isArray(candidate.choices) && candidate.choices.length > 0;
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=api-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/cli/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/chat.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { FileSystem } from "../utils/file-system.js";
|
|
2
|
-
import type { AgentTask } from "../services/agent-task-registry.js";
|
|
3
|
-
import type { LoggerFn } from "./types.js";
|
|
4
|
-
export interface AgentToolCallEvent {
|
|
5
|
-
toolName: string;
|
|
6
|
-
args: Record<string, unknown>;
|
|
7
|
-
result?: string;
|
|
8
|
-
error?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface AgentSession {
|
|
11
|
-
getModel?(): string;
|
|
12
|
-
setToolCallCallback?(callback: (event: AgentToolCallEvent) => void): void;
|
|
13
|
-
sendMessage(prompt: string, options?: {
|
|
14
|
-
signal?: AbortSignal;
|
|
15
|
-
onChunk?: (chunk: string) => void;
|
|
16
|
-
}): Promise<{
|
|
17
|
-
content: string;
|
|
18
|
-
}>;
|
|
19
|
-
waitForAllTasks?(): Promise<void>;
|
|
20
|
-
drainCompletedTasks?(): AgentTask[];
|
|
21
|
-
dispose?(): Promise<void> | void;
|
|
22
|
-
}
|
|
23
|
-
export interface ChatServiceFactoryOptions {
|
|
24
|
-
apiKey: string;
|
|
25
|
-
model: string;
|
|
26
|
-
cwd: string;
|
|
27
|
-
homeDir: string;
|
|
28
|
-
fs: FileSystem;
|
|
29
|
-
logger: LoggerFn;
|
|
30
|
-
awaitTasksOnDispose?: boolean;
|
|
31
|
-
}
|
|
32
|
-
export type ChatServiceFactory = (options: ChatServiceFactoryOptions) => Promise<AgentSession> | AgentSession;
|
package/dist/cli/chat.js
DELETED
package/dist/cli/chat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Command } from "commander";
|
|
2
|
-
import type { AgentToolCallEvent } from "../chat.js";
|
|
3
|
-
import type { ScopedLogger } from "../logger.js";
|
|
4
|
-
import type { CliContainer } from "../container.js";
|
|
5
|
-
export interface AgentCommandOptions {
|
|
6
|
-
apiKey?: string;
|
|
7
|
-
model?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function registerAgentCommand(program: Command, container: CliContainer): void;
|
|
10
|
-
export interface AgentConversationOptions {
|
|
11
|
-
container: CliContainer;
|
|
12
|
-
logger: ScopedLogger;
|
|
13
|
-
text: string;
|
|
14
|
-
model: string;
|
|
15
|
-
apiKey: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function runAgentConversation(options: AgentConversationOptions): Promise<string>;
|
|
18
|
-
export declare function logToolCallEvent(event: AgentToolCallEvent, logger: ScopedLogger): void;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { resolveCommandFlags } from "./shared.js";
|
|
2
|
-
import { DEFAULT_QUERY_MODEL } from "../constants.js";
|
|
3
|
-
export function registerAgentCommand(program, container) {
|
|
4
|
-
program
|
|
5
|
-
.command("agent")
|
|
6
|
-
.description("Run a single Poe agent prompt with local tooling support.")
|
|
7
|
-
.argument("<text>", "Prompt text to send to the agent")
|
|
8
|
-
.option("--model <model>", "Model identifier", DEFAULT_QUERY_MODEL)
|
|
9
|
-
.option("--api-key <key>", "Poe API key")
|
|
10
|
-
.action(async (text, options) => {
|
|
11
|
-
const flags = resolveCommandFlags(program);
|
|
12
|
-
const logger = container.loggerFactory.create({
|
|
13
|
-
dryRun: flags.dryRun,
|
|
14
|
-
verbose: flags.verbose,
|
|
15
|
-
scope: "agent"
|
|
16
|
-
});
|
|
17
|
-
const model = options.model ?? DEFAULT_QUERY_MODEL;
|
|
18
|
-
if (flags.dryRun) {
|
|
19
|
-
logger.dryRun(`would run agent with model "${model}" and prompt "${text}".`);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const apiKey = await container.options.resolveApiKey({
|
|
23
|
-
value: options.apiKey,
|
|
24
|
-
dryRun: flags.dryRun
|
|
25
|
-
});
|
|
26
|
-
const message = await runAgentConversation({
|
|
27
|
-
container,
|
|
28
|
-
logger,
|
|
29
|
-
text,
|
|
30
|
-
model,
|
|
31
|
-
apiKey
|
|
32
|
-
});
|
|
33
|
-
logger.info(message);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
export async function runAgentConversation(options) {
|
|
37
|
-
const session = await options.container.chatServiceFactory({
|
|
38
|
-
apiKey: options.apiKey,
|
|
39
|
-
model: options.model,
|
|
40
|
-
cwd: options.container.env.cwd,
|
|
41
|
-
homeDir: options.container.env.homeDir,
|
|
42
|
-
fs: options.container.fs,
|
|
43
|
-
logger: (message) => options.logger.info(message),
|
|
44
|
-
awaitTasksOnDispose: true
|
|
45
|
-
});
|
|
46
|
-
try {
|
|
47
|
-
if ("setToolCallCallback" in session && session.setToolCallCallback) {
|
|
48
|
-
session.setToolCallCallback((event) => logToolCallEvent(event, options.logger));
|
|
49
|
-
}
|
|
50
|
-
const response = await session.sendMessage(options.text);
|
|
51
|
-
if ("waitForAllTasks" in session && typeof session.waitForAllTasks === "function") {
|
|
52
|
-
await session.waitForAllTasks();
|
|
53
|
-
}
|
|
54
|
-
if ("drainCompletedTasks" in session && typeof session.drainCompletedTasks === "function") {
|
|
55
|
-
const completed = session.drainCompletedTasks();
|
|
56
|
-
for (const task of completed) {
|
|
57
|
-
const summary = task.result ?? task.error ?? "Task finished.";
|
|
58
|
-
options.logger.info(`Task ${task.id} finished (${task.toolName}): ${summary}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const activeModel = "getModel" in session && session.getModel
|
|
62
|
-
? session.getModel()
|
|
63
|
-
: options.model;
|
|
64
|
-
return `Agent response (${activeModel}): ${response.content}`;
|
|
65
|
-
}
|
|
66
|
-
finally {
|
|
67
|
-
if ("dispose" in session && session.dispose) {
|
|
68
|
-
await session.dispose();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export function logToolCallEvent(event, logger) {
|
|
73
|
-
const serializedArgs = JSON.stringify(event.args);
|
|
74
|
-
if (event.error) {
|
|
75
|
-
logger.error(`Tool ${event.toolName} failed: ${event.error}`);
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
if (event.result) {
|
|
79
|
-
logger.info(`Tool ${event.toolName} result: ${event.result}`);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
logger.verbose(`Tool ${event.toolName} invoked with args ${serializedArgs}`);
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { resolveCommandFlags } from "./shared.js";
|
|
2
|
-
import { AgentConfigManager } from "../../services/agent-config-manager.js";
|
|
3
|
-
import { createDefaultAgentRegistry } from "../../services/agent-registry.js";
|
|
4
|
-
export function registerConfigureAgentsCommand(configureCommand, container) {
|
|
5
|
-
configureCommand
|
|
6
|
-
.command("agents")
|
|
7
|
-
.description("Enable or disable agents for the worktree tool.")
|
|
8
|
-
.action(async function () {
|
|
9
|
-
const flags = resolveCommandFlags(this);
|
|
10
|
-
const logger = container.loggerFactory.create({
|
|
11
|
-
scope: "configure:agents",
|
|
12
|
-
dryRun: flags.dryRun,
|
|
13
|
-
verbose: flags.verbose
|
|
14
|
-
});
|
|
15
|
-
const registry = createDefaultAgentRegistry();
|
|
16
|
-
const manager = new AgentConfigManager({
|
|
17
|
-
fs: container.fs,
|
|
18
|
-
homeDir: container.env.homeDir,
|
|
19
|
-
registry
|
|
20
|
-
});
|
|
21
|
-
await manager.loadConfig();
|
|
22
|
-
const enabledEntries = await manager.getEnabledAgents();
|
|
23
|
-
const enabledSet = new Set(enabledEntries.map((entry) => entry.id));
|
|
24
|
-
const detectionResults = await Promise.all(registry.list().map(async (adapter) => {
|
|
25
|
-
if (!adapter.detect) {
|
|
26
|
-
logger.info(`${adapter.id}: available`);
|
|
27
|
-
return { adapter, installed: true };
|
|
28
|
-
}
|
|
29
|
-
try {
|
|
30
|
-
const installed = await adapter.detect({
|
|
31
|
-
runCommand: container.commandRunner
|
|
32
|
-
});
|
|
33
|
-
logger.info(`${adapter.id}: ${installed ? "available" : "not detected"}`);
|
|
34
|
-
return { adapter, installed };
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
38
|
-
logger.info(`${adapter.id}: not detected (${message})`);
|
|
39
|
-
return { adapter, installed: false };
|
|
40
|
-
}
|
|
41
|
-
}));
|
|
42
|
-
const promptResponse = await container.prompts({
|
|
43
|
-
name: "agents",
|
|
44
|
-
type: "multiselect",
|
|
45
|
-
message: "Select agents to enable",
|
|
46
|
-
choices: detectionResults.map(({ adapter, installed }) => ({
|
|
47
|
-
title: installed
|
|
48
|
-
? `${adapter.label} (${adapter.id})`
|
|
49
|
-
: `${adapter.label} (${adapter.id}) [not detected]`,
|
|
50
|
-
value: adapter.id,
|
|
51
|
-
selected: enabledSet.has(adapter.id)
|
|
52
|
-
}))
|
|
53
|
-
});
|
|
54
|
-
const selectedValue = promptResponse?.agents;
|
|
55
|
-
const selectedIds = Array.isArray(selectedValue)
|
|
56
|
-
? selectedValue.map((id) => String(id))
|
|
57
|
-
: [];
|
|
58
|
-
if (flags.dryRun) {
|
|
59
|
-
logger.dryRun(`would enable agents: ${selectedIds.length > 0 ? selectedIds.join(", ") : "<none>"}`);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const selectedSet = new Set(selectedIds);
|
|
63
|
-
for (const adapter of registry.list()) {
|
|
64
|
-
await manager.updateAgent({
|
|
65
|
-
id: adapter.id,
|
|
66
|
-
enabled: selectedSet.has(adapter.id)
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
logger.info("Updated agent configuration.");
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=configure-agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configure-agents.js","sourceRoot":"","sources":["../../../src/cli/commands/configure-agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Command } from "commander";
|
|
2
|
-
import type { CliContainer } from "../container.js";
|
|
3
|
-
export interface InitCommandOptions {
|
|
4
|
-
projectName?: string;
|
|
5
|
-
apiKey?: string;
|
|
6
|
-
model?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function registerInitCommand(program: Command, container: CliContainer): void;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { initProject } from "../../commands/init.js";
|
|
2
|
-
import { createExecutionResources, resolveCommandFlags } from "./shared.js";
|
|
3
|
-
import { DEFAULT_MODEL } from "../constants.js";
|
|
4
|
-
export function registerInitCommand(program, container) {
|
|
5
|
-
program
|
|
6
|
-
.command("init")
|
|
7
|
-
.description("Initialize a Python project preconfigured for Poe API.")
|
|
8
|
-
.option("--project-name <name>", "Project directory name")
|
|
9
|
-
.option("--api-key <key>", "Poe API key")
|
|
10
|
-
.option("--model <model>", "Model identifier")
|
|
11
|
-
.action(async (options) => {
|
|
12
|
-
const flags = resolveCommandFlags(program);
|
|
13
|
-
const resources = createExecutionResources(container, flags, "init");
|
|
14
|
-
const projectName = options.projectName ?? (await promptForProjectName(container));
|
|
15
|
-
const apiKey = await container.options.resolveApiKey({
|
|
16
|
-
value: options.apiKey,
|
|
17
|
-
dryRun: flags.dryRun
|
|
18
|
-
});
|
|
19
|
-
const model = await container.options.resolveModel(options.model, DEFAULT_MODEL);
|
|
20
|
-
await initProject({
|
|
21
|
-
fs: resources.context.fs,
|
|
22
|
-
cwd: container.env.cwd,
|
|
23
|
-
projectName,
|
|
24
|
-
apiKey,
|
|
25
|
-
model
|
|
26
|
-
});
|
|
27
|
-
resources.context.complete({
|
|
28
|
-
success: `Initialized project "${projectName}".`,
|
|
29
|
-
dry: `Dry run: would initialize project "${projectName}".`
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
async function promptForProjectName(container) {
|
|
34
|
-
const response = await container.prompts({
|
|
35
|
-
type: "text",
|
|
36
|
-
name: "projectName",
|
|
37
|
-
message: "Project name"
|
|
38
|
-
});
|
|
39
|
-
const value = response.projectName;
|
|
40
|
-
if (!value || typeof value !== "string") {
|
|
41
|
-
throw new Error("Project name is required.");
|
|
42
|
-
}
|
|
43
|
-
return value;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,MAAM,CACP,CAAC;QAEF,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;YACnD,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,CAChD,OAAO,CAAC,KAAK,EACb,aAAa,CACd,CAAC;QAEF,MAAM,WAAW,CAAC;YAChB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;YACxB,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;YACtB,WAAW;YACX,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,wBAAwB,WAAW,IAAI;YAChD,GAAG,EAAE,sCAAsC,WAAW,IAAI;SAC3D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,SAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function registerInteractiveCommand(program, container) {
|
|
2
|
-
program
|
|
3
|
-
.command("interactive")
|
|
4
|
-
.alias("i")
|
|
5
|
-
.description("Launch interactive mode with a visual CLI interface.")
|
|
6
|
-
.action(async () => {
|
|
7
|
-
const logger = container.loggerFactory.create({
|
|
8
|
-
dryRun: false,
|
|
9
|
-
verbose: true,
|
|
10
|
-
scope: "interactive"
|
|
11
|
-
});
|
|
12
|
-
logger.info("Launching interactive mode...");
|
|
13
|
-
const { launchInteractiveMode } = await import("../interactive-launcher.js");
|
|
14
|
-
await launchInteractiveMode(container.dependencies);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=interactive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/cli/commands/interactive.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CACxC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC5C,4BAA4B,CAC7B,CAAC;QACF,MAAM,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC"}
|