@stigmer/cli 3.0.8
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/LICENSE +190 -0
- package/README.md +42 -0
- package/auth/auth0.d.ts +19 -0
- package/auth/auth0.d.ts.map +1 -0
- package/auth/auth0.js +39 -0
- package/auth/auth0.js.map +1 -0
- package/auth/callback-server.d.ts +18 -0
- package/auth/callback-server.d.ts.map +1 -0
- package/auth/callback-server.js +77 -0
- package/auth/callback-server.js.map +1 -0
- package/auth/index.d.ts +5 -0
- package/auth/index.d.ts.map +1 -0
- package/auth/index.js +6 -0
- package/auth/index.js.map +1 -0
- package/auth/login.d.ts +2 -0
- package/auth/login.d.ts.map +1 -0
- package/auth/login.js +56 -0
- package/auth/login.js.map +1 -0
- package/auth/pages.d.ts +7 -0
- package/auth/pages.d.ts.map +1 -0
- package/auth/pages.js +21 -0
- package/auth/pages.js.map +1 -0
- package/auth/pkce.d.ts +7 -0
- package/auth/pkce.d.ts.map +1 -0
- package/auth/pkce.js +22 -0
- package/auth/pkce.js.map +1 -0
- package/auth/token.d.ts +33 -0
- package/auth/token.d.ts.map +1 -0
- package/auth/token.js +111 -0
- package/auth/token.js.map +1 -0
- package/backend.d.ts +5 -0
- package/backend.d.ts.map +1 -0
- package/backend.js +14 -0
- package/backend.js.map +1 -0
- package/cli/stigmer.d.ts +3 -0
- package/cli/stigmer.d.ts.map +1 -0
- package/cli/stigmer.js +14 -0
- package/cli/stigmer.js.map +1 -0
- package/client/client.d.ts +25 -0
- package/client/client.d.ts.map +1 -0
- package/client/client.js +55 -0
- package/client/client.js.map +1 -0
- package/client/index.d.ts +2 -0
- package/client/index.d.ts.map +1 -0
- package/client/index.js +3 -0
- package/client/index.js.map +1 -0
- package/commands/agent-exec-flags.d.ts +30 -0
- package/commands/agent-exec-flags.d.ts.map +1 -0
- package/commands/agent-exec-flags.js +52 -0
- package/commands/agent-exec-flags.js.map +1 -0
- package/commands/apikey/duration.d.ts +2 -0
- package/commands/apikey/duration.d.ts.map +1 -0
- package/commands/apikey/duration.js +30 -0
- package/commands/apikey/duration.js.map +1 -0
- package/commands/apikey/index.d.ts +3 -0
- package/commands/apikey/index.d.ts.map +1 -0
- package/commands/apikey/index.js +118 -0
- package/commands/apikey/index.js.map +1 -0
- package/commands/apply.d.ts +3 -0
- package/commands/apply.d.ts.map +1 -0
- package/commands/apply.js +155 -0
- package/commands/apply.js.map +1 -0
- package/commands/auth/index.d.ts +3 -0
- package/commands/auth/index.d.ts.map +1 -0
- package/commands/auth/index.js +76 -0
- package/commands/auth/index.js.map +1 -0
- package/commands/completion.d.ts +3 -0
- package/commands/completion.d.ts.map +1 -0
- package/commands/completion.js +82 -0
- package/commands/completion.js.map +1 -0
- package/commands/config/backend.d.ts +3 -0
- package/commands/config/backend.d.ts.map +1 -0
- package/commands/config/backend.js +49 -0
- package/commands/config/backend.js.map +1 -0
- package/commands/config/context.d.ts +3 -0
- package/commands/config/context.d.ts.map +1 -0
- package/commands/config/context.js +23 -0
- package/commands/config/context.js.map +1 -0
- package/commands/config/index.d.ts +3 -0
- package/commands/config/index.d.ts.map +1 -0
- package/commands/config/index.js +13 -0
- package/commands/config/index.js.map +1 -0
- package/commands/config/kv.d.ts +3 -0
- package/commands/config/kv.d.ts.map +1 -0
- package/commands/config/kv.js +39 -0
- package/commands/config/kv.js.map +1 -0
- package/commands/connect.d.ts +3 -0
- package/commands/connect.d.ts.map +1 -0
- package/commands/connect.js +56 -0
- package/commands/connect.js.map +1 -0
- package/commands/delete.d.ts +3 -0
- package/commands/delete.d.ts.map +1 -0
- package/commands/delete.js +41 -0
- package/commands/delete.js.map +1 -0
- package/commands/diff.d.ts +3 -0
- package/commands/diff.d.ts.map +1 -0
- package/commands/diff.js +87 -0
- package/commands/diff.js.map +1 -0
- package/commands/down.d.ts +3 -0
- package/commands/down.d.ts.map +1 -0
- package/commands/down.js +23 -0
- package/commands/down.js.map +1 -0
- package/commands/download.d.ts +3 -0
- package/commands/download.d.ts.map +1 -0
- package/commands/download.js +46 -0
- package/commands/download.js.map +1 -0
- package/commands/draft.d.ts +3 -0
- package/commands/draft.d.ts.map +1 -0
- package/commands/draft.js +97 -0
- package/commands/draft.js.map +1 -0
- package/commands/execution/approve.d.ts +3 -0
- package/commands/execution/approve.d.ts.map +1 -0
- package/commands/execution/approve.js +60 -0
- package/commands/execution/approve.js.map +1 -0
- package/commands/execution/control.d.ts +3 -0
- package/commands/execution/control.d.ts.map +1 -0
- package/commands/execution/control.js +57 -0
- package/commands/execution/control.js.map +1 -0
- package/commands/execution/index.d.ts +3 -0
- package/commands/execution/index.d.ts.map +1 -0
- package/commands/execution/index.js +21 -0
- package/commands/execution/index.js.map +1 -0
- package/commands/execution/logs.d.ts +3 -0
- package/commands/execution/logs.d.ts.map +1 -0
- package/commands/execution/logs.js +34 -0
- package/commands/execution/logs.js.map +1 -0
- package/commands/execution/trace.d.ts +3 -0
- package/commands/execution/trace.d.ts.map +1 -0
- package/commands/execution/trace.js +24 -0
- package/commands/execution/trace.js.map +1 -0
- package/commands/get.d.ts +3 -0
- package/commands/get.d.ts.map +1 -0
- package/commands/get.js +81 -0
- package/commands/get.js.map +1 -0
- package/commands/internal-daemon.d.ts +3 -0
- package/commands/internal-daemon.d.ts.map +1 -0
- package/commands/internal-daemon.js +22 -0
- package/commands/internal-daemon.js.map +1 -0
- package/commands/list.d.ts +3 -0
- package/commands/list.d.ts.map +1 -0
- package/commands/list.js +117 -0
- package/commands/list.js.map +1 -0
- package/commands/logs.d.ts +3 -0
- package/commands/logs.d.ts.map +1 -0
- package/commands/logs.js +59 -0
- package/commands/logs.js.map +1 -0
- package/commands/mcp-server.d.ts +22 -0
- package/commands/mcp-server.d.ts.map +1 -0
- package/commands/mcp-server.js +104 -0
- package/commands/mcp-server.js.map +1 -0
- package/commands/push.d.ts +3 -0
- package/commands/push.d.ts.map +1 -0
- package/commands/push.js +150 -0
- package/commands/push.js.map +1 -0
- package/commands/reset.d.ts +3 -0
- package/commands/reset.d.ts.map +1 -0
- package/commands/reset.js +45 -0
- package/commands/reset.js.map +1 -0
- package/commands/resume.d.ts +3 -0
- package/commands/resume.d.ts.map +1 -0
- package/commands/resume.js +87 -0
- package/commands/resume.js.map +1 -0
- package/commands/run.d.ts +3 -0
- package/commands/run.d.ts.map +1 -0
- package/commands/run.js +193 -0
- package/commands/run.js.map +1 -0
- package/commands/search.d.ts +3 -0
- package/commands/search.d.ts.map +1 -0
- package/commands/search.js +73 -0
- package/commands/search.js.map +1 -0
- package/commands/seedpack.d.ts +3 -0
- package/commands/seedpack.d.ts.map +1 -0
- package/commands/seedpack.js +76 -0
- package/commands/seedpack.js.map +1 -0
- package/commands/setup.d.ts +3 -0
- package/commands/setup.d.ts.map +1 -0
- package/commands/setup.js +57 -0
- package/commands/setup.js.map +1 -0
- package/commands/shared.d.ts +15 -0
- package/commands/shared.d.ts.map +1 -0
- package/commands/shared.js +34 -0
- package/commands/shared.js.map +1 -0
- package/commands/status.d.ts +3 -0
- package/commands/status.d.ts.map +1 -0
- package/commands/status.js +18 -0
- package/commands/status.js.map +1 -0
- package/commands/tag.d.ts +3 -0
- package/commands/tag.d.ts.map +1 -0
- package/commands/tag.js +24 -0
- package/commands/tag.js.map +1 -0
- package/commands/up.d.ts +3 -0
- package/commands/up.d.ts.map +1 -0
- package/commands/up.js +39 -0
- package/commands/up.js.map +1 -0
- package/commands/usage.d.ts +3 -0
- package/commands/usage.d.ts.map +1 -0
- package/commands/usage.js +56 -0
- package/commands/usage.js.map +1 -0
- package/commands/validate.d.ts +3 -0
- package/commands/validate.d.ts.map +1 -0
- package/commands/validate.js +64 -0
- package/commands/validate.js.map +1 -0
- package/commands/version.d.ts +3 -0
- package/commands/version.d.ts.map +1 -0
- package/commands/version.js +11 -0
- package/commands/version.js.map +1 -0
- package/config/config.d.ts +39 -0
- package/config/config.d.ts.map +1 -0
- package/config/config.js +85 -0
- package/config/config.js.map +1 -0
- package/config/index.d.ts +5 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +6 -0
- package/config/index.js.map +1 -0
- package/config/keys.d.ts +6 -0
- package/config/keys.d.ts.map +1 -0
- package/config/keys.js +53 -0
- package/config/keys.js.map +1 -0
- package/config/paths.d.ts +10 -0
- package/config/paths.d.ts.map +1 -0
- package/config/paths.js +21 -0
- package/config/paths.js.map +1 -0
- package/config/resolve.d.ts +33 -0
- package/config/resolve.d.ts.map +1 -0
- package/config/resolve.js +77 -0
- package/config/resolve.js.map +1 -0
- package/errors/classify.d.ts +17 -0
- package/errors/classify.d.ts.map +1 -0
- package/errors/classify.js +158 -0
- package/errors/classify.js.map +1 -0
- package/errors/cli-exit-error.d.ts +6 -0
- package/errors/cli-exit-error.d.ts.map +1 -0
- package/errors/cli-exit-error.js +15 -0
- package/errors/cli-exit-error.js.map +1 -0
- package/errors/exit-codes.d.ts +10 -0
- package/errors/exit-codes.d.ts.map +1 -0
- package/errors/exit-codes.js +12 -0
- package/errors/exit-codes.js.map +1 -0
- package/errors/handle.d.ts +14 -0
- package/errors/handle.d.ts.map +1 -0
- package/errors/handle.js +46 -0
- package/errors/handle.js.map +1 -0
- package/errors/index.d.ts +6 -0
- package/errors/index.d.ts.map +1 -0
- package/errors/index.js +7 -0
- package/errors/index.js.map +1 -0
- package/errors/usage-error.d.ts +5 -0
- package/errors/usage-error.d.ts.map +1 -0
- package/errors/usage-error.js +13 -0
- package/errors/usage-error.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.d.ts.map +1 -0
- package/index.js +8 -0
- package/index.js.map +1 -0
- package/local/artifact.d.ts +38 -0
- package/local/artifact.d.ts.map +1 -0
- package/local/artifact.js +133 -0
- package/local/artifact.js.map +1 -0
- package/local/constants.d.ts +36 -0
- package/local/constants.d.ts.map +1 -0
- package/local/constants.js +44 -0
- package/local/constants.js.map +1 -0
- package/local/daemon/components.d.ts +20 -0
- package/local/daemon/components.d.ts.map +1 -0
- package/local/daemon/components.js +105 -0
- package/local/daemon/components.js.map +1 -0
- package/local/daemon/env.d.ts +55 -0
- package/local/daemon/env.d.ts.map +1 -0
- package/local/daemon/env.js +82 -0
- package/local/daemon/env.js.map +1 -0
- package/local/daemon/host.d.ts +7 -0
- package/local/daemon/host.d.ts.map +1 -0
- package/local/daemon/host.js +74 -0
- package/local/daemon/host.js.map +1 -0
- package/local/daemon/index.d.ts +8 -0
- package/local/daemon/index.d.ts.map +1 -0
- package/local/daemon/index.js +8 -0
- package/local/daemon/index.js.map +1 -0
- package/local/daemon/launch.d.ts +11 -0
- package/local/daemon/launch.d.ts.map +1 -0
- package/local/daemon/launch.js +219 -0
- package/local/daemon/launch.js.map +1 -0
- package/local/daemon/process.d.ts +28 -0
- package/local/daemon/process.d.ts.map +1 -0
- package/local/daemon/process.js +149 -0
- package/local/daemon/process.js.map +1 -0
- package/local/daemon/supervisor.d.ts +56 -0
- package/local/daemon/supervisor.d.ts.map +1 -0
- package/local/daemon/supervisor.js +211 -0
- package/local/daemon/supervisor.js.map +1 -0
- package/local/daemon/types.d.ts +63 -0
- package/local/daemon/types.d.ts.map +1 -0
- package/local/daemon/types.js +9 -0
- package/local/daemon/types.js.map +1 -0
- package/local/llm-config.d.ts +30 -0
- package/local/llm-config.d.ts.map +1 -0
- package/local/llm-config.js +93 -0
- package/local/llm-config.js.map +1 -0
- package/local/logs/tail.d.ts +19 -0
- package/local/logs/tail.d.ts.map +1 -0
- package/local/logs/tail.js +86 -0
- package/local/logs/tail.js.map +1 -0
- package/local/logs/view.d.ts +20 -0
- package/local/logs/view.d.ts.map +1 -0
- package/local/logs/view.js +50 -0
- package/local/logs/view.js.map +1 -0
- package/local/net/tcp.d.ts +23 -0
- package/local/net/tcp.d.ts.map +1 -0
- package/local/net/tcp.js +47 -0
- package/local/net/tcp.js.map +1 -0
- package/local/paths.d.ts +26 -0
- package/local/paths.d.ts.map +1 -0
- package/local/paths.js +57 -0
- package/local/paths.js.map +1 -0
- package/local/reset.d.ts +14 -0
- package/local/reset.d.ts.map +1 -0
- package/local/reset.js +57 -0
- package/local/reset.js.map +1 -0
- package/local/runtime/index.d.ts +5 -0
- package/local/runtime/index.d.ts.map +1 -0
- package/local/runtime/index.js +6 -0
- package/local/runtime/index.js.map +1 -0
- package/local/runtime/node.d.ts +8 -0
- package/local/runtime/node.d.ts.map +1 -0
- package/local/runtime/node.js +59 -0
- package/local/runtime/node.js.map +1 -0
- package/local/runtime/runner.d.ts +40 -0
- package/local/runtime/runner.d.ts.map +1 -0
- package/local/runtime/runner.js +154 -0
- package/local/runtime/runner.js.map +1 -0
- package/local/runtime/server.d.ts +39 -0
- package/local/runtime/server.d.ts.map +1 -0
- package/local/runtime/server.js +141 -0
- package/local/runtime/server.js.map +1 -0
- package/local/runtime/which.d.ts +3 -0
- package/local/runtime/which.d.ts.map +1 -0
- package/local/runtime/which.js +30 -0
- package/local/runtime/which.js.map +1 -0
- package/local/seedpack/apply.d.ts +43 -0
- package/local/seedpack/apply.d.ts.map +1 -0
- package/local/seedpack/apply.js +94 -0
- package/local/seedpack/apply.js.map +1 -0
- package/local/seedpack/content.d.ts +56 -0
- package/local/seedpack/content.d.ts.map +1 -0
- package/local/seedpack/content.js +201 -0
- package/local/seedpack/content.js.map +1 -0
- package/local/setup/prompt.d.ts +8 -0
- package/local/setup/prompt.d.ts.map +1 -0
- package/local/setup/prompt.js +63 -0
- package/local/setup/prompt.js.map +1 -0
- package/local/setup/wizard.d.ts +22 -0
- package/local/setup/wizard.d.ts.map +1 -0
- package/local/setup/wizard.js +65 -0
- package/local/setup/wizard.js.map +1 -0
- package/local/state/health-state.d.ts +26 -0
- package/local/state/health-state.d.ts.map +1 -0
- package/local/state/health-state.js +34 -0
- package/local/state/health-state.js.map +1 -0
- package/local/state/index.d.ts +7 -0
- package/local/state/index.d.ts.map +1 -0
- package/local/state/index.js +8 -0
- package/local/state/index.js.map +1 -0
- package/local/state/lock.d.ts +12 -0
- package/local/state/lock.d.ts.map +1 -0
- package/local/state/lock.js +70 -0
- package/local/state/lock.js.map +1 -0
- package/local/state/log-rotation.d.ts +17 -0
- package/local/state/log-rotation.d.ts.map +1 -0
- package/local/state/log-rotation.js +101 -0
- package/local/state/log-rotation.js.map +1 -0
- package/local/state/pidfile.d.ts +11 -0
- package/local/state/pidfile.d.ts.map +1 -0
- package/local/state/pidfile.js +35 -0
- package/local/state/pidfile.js.map +1 -0
- package/local/state/proc.d.ts +16 -0
- package/local/state/proc.d.ts.map +1 -0
- package/local/state/proc.js +69 -0
- package/local/state/proc.js.map +1 -0
- package/local/state/startup-config.d.ts +23 -0
- package/local/state/startup-config.d.ts.map +1 -0
- package/local/state/startup-config.js +33 -0
- package/local/state/startup-config.js.map +1 -0
- package/local/status.d.ts +9 -0
- package/local/status.d.ts.map +1 -0
- package/local/status.js +168 -0
- package/local/status.js.map +1 -0
- package/local/temporal/download.d.ts +20 -0
- package/local/temporal/download.d.ts.map +1 -0
- package/local/temporal/download.js +36 -0
- package/local/temporal/download.js.map +1 -0
- package/local/temporal/index.d.ts +5 -0
- package/local/temporal/index.d.ts.map +1 -0
- package/local/temporal/index.js +6 -0
- package/local/temporal/index.js.map +1 -0
- package/local/temporal/inspect.d.ts +8 -0
- package/local/temporal/inspect.d.ts.map +1 -0
- package/local/temporal/inspect.js +33 -0
- package/local/temporal/inspect.js.map +1 -0
- package/local/temporal/manager.d.ts +50 -0
- package/local/temporal/manager.d.ts.map +1 -0
- package/local/temporal/manager.js +208 -0
- package/local/temporal/manager.js.map +1 -0
- package/local/temporal/supervisor.d.ts +34 -0
- package/local/temporal/supervisor.d.ts.map +1 -0
- package/local/temporal/supervisor.js +83 -0
- package/local/temporal/supervisor.js.map +1 -0
- package/local/webconsole/index.d.ts +4 -0
- package/local/webconsole/index.d.ts.map +1 -0
- package/local/webconsole/index.js +13 -0
- package/local/webconsole/index.js.map +1 -0
- package/logger.d.ts +13 -0
- package/logger.d.ts.map +1 -0
- package/logger.js +35 -0
- package/logger.js.map +1 -0
- package/output/command-result.d.ts +47 -0
- package/output/command-result.d.ts.map +1 -0
- package/output/command-result.js +134 -0
- package/output/command-result.js.map +1 -0
- package/output/confirm.d.ts +22 -0
- package/output/confirm.d.ts.map +1 -0
- package/output/confirm.js +42 -0
- package/output/confirm.js.map +1 -0
- package/output/format.d.ts +22 -0
- package/output/format.d.ts.map +1 -0
- package/output/format.js +72 -0
- package/output/format.js.map +1 -0
- package/output/index.d.ts +7 -0
- package/output/index.d.ts.map +1 -0
- package/output/index.js +8 -0
- package/output/index.js.map +1 -0
- package/output/ndjson.d.ts +24 -0
- package/output/ndjson.d.ts.map +1 -0
- package/output/ndjson.js +38 -0
- package/output/ndjson.js.map +1 -0
- package/output/proto.d.ts +12 -0
- package/output/proto.d.ts.map +1 -0
- package/output/proto.js +34 -0
- package/output/proto.js.map +1 -0
- package/output/style.d.ts +19 -0
- package/output/style.d.ts.map +1 -0
- package/output/style.js +44 -0
- package/output/style.js.map +1 -0
- package/output/table.d.ts +5 -0
- package/output/table.d.ts.map +1 -0
- package/output/table.js +43 -0
- package/output/table.js.map +1 -0
- package/package.json +49 -0
- package/program.d.ts +3 -0
- package/program.d.ts.map +1 -0
- package/program.js +95 -0
- package/program.js.map +1 -0
- package/registry/aliases.d.ts +18 -0
- package/registry/aliases.d.ts.map +1 -0
- package/registry/aliases.js +85 -0
- package/registry/aliases.js.map +1 -0
- package/registry/index.d.ts +6 -0
- package/registry/index.d.ts.map +1 -0
- package/registry/index.js +7 -0
- package/registry/index.js.map +1 -0
- package/registry/metadata.d.ts +12 -0
- package/registry/metadata.d.ts.map +1 -0
- package/registry/metadata.js +49 -0
- package/registry/metadata.js.map +1 -0
- package/registry/registry.d.ts +39 -0
- package/registry/registry.d.ts.map +1 -0
- package/registry/registry.js +59 -0
- package/registry/registry.js.map +1 -0
- package/registry/verb-support.d.ts +5 -0
- package/registry/verb-support.d.ts.map +1 -0
- package/registry/verb-support.js +48 -0
- package/registry/verb-support.js.map +1 -0
- package/registry/verbs.d.ts +16 -0
- package/registry/verbs.d.ts.map +1 -0
- package/registry/verbs.js +36 -0
- package/registry/verbs.js.map +1 -0
- package/resources/apply/apply.d.ts +55 -0
- package/resources/apply/apply.d.ts.map +1 -0
- package/resources/apply/apply.js +163 -0
- package/resources/apply/apply.js.map +1 -0
- package/resources/apply/declarative.d.ts +106 -0
- package/resources/apply/declarative.d.ts.map +1 -0
- package/resources/apply/declarative.js +378 -0
- package/resources/apply/declarative.js.map +1 -0
- package/resources/apply/discovery.d.ts +7 -0
- package/resources/apply/discovery.d.ts.map +1 -0
- package/resources/apply/discovery.js +47 -0
- package/resources/apply/discovery.js.map +1 -0
- package/resources/apply/handlers.d.ts +15 -0
- package/resources/apply/handlers.d.ts.map +1 -0
- package/resources/apply/handlers.js +126 -0
- package/resources/apply/handlers.js.map +1 -0
- package/resources/apply/synth/project-track.d.ts +21 -0
- package/resources/apply/synth/project-track.d.ts.map +1 -0
- package/resources/apply/synth/project-track.js +102 -0
- package/resources/apply/synth/project-track.js.map +1 -0
- package/resources/apply/synth/reader.d.ts +18 -0
- package/resources/apply/synth/reader.d.ts.map +1 -0
- package/resources/apply/synth/reader.js +55 -0
- package/resources/apply/synth/reader.js.map +1 -0
- package/resources/apply/synth/runtime.d.ts +8 -0
- package/resources/apply/synth/runtime.d.ts.map +1 -0
- package/resources/apply/synth/runtime.js +32 -0
- package/resources/apply/synth/runtime.js.map +1 -0
- package/resources/apply/synth/synthesize.d.ts +43 -0
- package/resources/apply/synth/synthesize.d.ts.map +1 -0
- package/resources/apply/synth/synthesize.js +115 -0
- package/resources/apply/synth/synthesize.js.map +1 -0
- package/resources/connect/connect.d.ts +24 -0
- package/resources/connect/connect.d.ts.map +1 -0
- package/resources/connect/connect.js +71 -0
- package/resources/connect/connect.js.map +1 -0
- package/resources/connect/discover.d.ts +5 -0
- package/resources/connect/discover.d.ts.map +1 -0
- package/resources/connect/discover.js +100 -0
- package/resources/connect/discover.js.map +1 -0
- package/resources/connect/display.d.ts +5 -0
- package/resources/connect/display.d.ts.map +1 -0
- package/resources/connect/display.js +58 -0
- package/resources/connect/display.js.map +1 -0
- package/resources/connect/oauth.d.ts +45 -0
- package/resources/connect/oauth.d.ts.map +1 -0
- package/resources/connect/oauth.js +152 -0
- package/resources/connect/oauth.js.map +1 -0
- package/resources/delete.d.ts +18 -0
- package/resources/delete.d.ts.map +1 -0
- package/resources/delete.js +180 -0
- package/resources/delete.js.map +1 -0
- package/resources/diff.d.ts +16 -0
- package/resources/diff.d.ts.map +1 -0
- package/resources/diff.js +158 -0
- package/resources/diff.js.map +1 -0
- package/resources/documents.d.ts +16 -0
- package/resources/documents.d.ts.map +1 -0
- package/resources/documents.js +89 -0
- package/resources/documents.js.map +1 -0
- package/resources/download.d.ts +16 -0
- package/resources/download.d.ts.map +1 -0
- package/resources/download.js +107 -0
- package/resources/download.js.map +1 -0
- package/resources/execution-approve.d.ts +26 -0
- package/resources/execution-approve.d.ts.map +1 -0
- package/resources/execution-approve.js +69 -0
- package/resources/execution-approve.js.map +1 -0
- package/resources/execution-control.d.ts +16 -0
- package/resources/execution-control.d.ts.map +1 -0
- package/resources/execution-control.js +57 -0
- package/resources/execution-control.js.map +1 -0
- package/resources/execution-format.d.ts +12 -0
- package/resources/execution-format.d.ts.map +1 -0
- package/resources/execution-format.js +56 -0
- package/resources/execution-format.js.map +1 -0
- package/resources/execution-logs.d.ts +16 -0
- package/resources/execution-logs.d.ts.map +1 -0
- package/resources/execution-logs.js +132 -0
- package/resources/execution-logs.js.map +1 -0
- package/resources/execution-trace.d.ts +10 -0
- package/resources/execution-trace.d.ts.map +1 -0
- package/resources/execution-trace.js +125 -0
- package/resources/execution-trace.js.map +1 -0
- package/resources/execution.d.ts +59 -0
- package/resources/execution.d.ts.map +1 -0
- package/resources/execution.js +192 -0
- package/resources/execution.js.map +1 -0
- package/resources/get-bindings.d.ts +12 -0
- package/resources/get-bindings.d.ts.map +1 -0
- package/resources/get-bindings.js +40 -0
- package/resources/get-bindings.js.map +1 -0
- package/resources/get.d.ts +6 -0
- package/resources/get.d.ts.map +1 -0
- package/resources/get.js +31 -0
- package/resources/get.js.map +1 -0
- package/resources/git.d.ts +15 -0
- package/resources/git.d.ts.map +1 -0
- package/resources/git.js +69 -0
- package/resources/git.js.map +1 -0
- package/resources/ignore/defaults.d.ts +2 -0
- package/resources/ignore/defaults.d.ts.map +1 -0
- package/resources/ignore/defaults.js +140 -0
- package/resources/ignore/defaults.js.map +1 -0
- package/resources/ignore/index.d.ts +5 -0
- package/resources/ignore/index.d.ts.map +1 -0
- package/resources/ignore/index.js +6 -0
- package/resources/ignore/index.js.map +1 -0
- package/resources/ignore/match.d.ts +3 -0
- package/resources/ignore/match.d.ts.map +1 -0
- package/resources/ignore/match.js +166 -0
- package/resources/ignore/match.js.map +1 -0
- package/resources/ignore/matcher.d.ts +44 -0
- package/resources/ignore/matcher.d.ts.map +1 -0
- package/resources/ignore/matcher.js +125 -0
- package/resources/ignore/matcher.js.map +1 -0
- package/resources/ignore/pattern.d.ts +13 -0
- package/resources/ignore/pattern.d.ts.map +1 -0
- package/resources/ignore/pattern.js +118 -0
- package/resources/ignore/pattern.js.map +1 -0
- package/resources/list.d.ts +7 -0
- package/resources/list.d.ts.map +1 -0
- package/resources/list.js +82 -0
- package/resources/list.js.map +1 -0
- package/resources/mcp/runtime-env.d.ts +23 -0
- package/resources/mcp/runtime-env.d.ts.map +1 -0
- package/resources/mcp/runtime-env.js +68 -0
- package/resources/mcp/runtime-env.js.map +1 -0
- package/resources/picker/ink.d.ts +35 -0
- package/resources/picker/ink.d.ts.map +1 -0
- package/resources/picker/ink.js +45 -0
- package/resources/picker/ink.js.map +1 -0
- package/resources/picker/tty.d.ts +19 -0
- package/resources/picker/tty.d.ts.map +1 -0
- package/resources/picker/tty.js +21 -0
- package/resources/picker/tty.js.map +1 -0
- package/resources/reference.d.ts +32 -0
- package/resources/reference.d.ts.map +1 -0
- package/resources/reference.js +128 -0
- package/resources/reference.js.map +1 -0
- package/resources/render.d.ts +28 -0
- package/resources/render.d.ts.map +1 -0
- package/resources/render.js +87 -0
- package/resources/render.js.map +1 -0
- package/resources/run/agent-exec.d.ts +15 -0
- package/resources/run/agent-exec.d.ts.map +1 -0
- package/resources/run/agent-exec.js +81 -0
- package/resources/run/agent-exec.js.map +1 -0
- package/resources/run/attachments.d.ts +24 -0
- package/resources/run/attachments.d.ts.map +1 -0
- package/resources/run/attachments.js +209 -0
- package/resources/run/attachments.js.map +1 -0
- package/resources/run/create.d.ts +56 -0
- package/resources/run/create.d.ts.map +1 -0
- package/resources/run/create.js +105 -0
- package/resources/run/create.js.map +1 -0
- package/resources/run/env.d.ts +18 -0
- package/resources/run/env.d.ts.map +1 -0
- package/resources/run/env.js +147 -0
- package/resources/run/env.js.map +1 -0
- package/resources/run/epilogue.d.ts +9 -0
- package/resources/run/epilogue.d.ts.map +1 -0
- package/resources/run/epilogue.js +144 -0
- package/resources/run/epilogue.js.map +1 -0
- package/resources/run/header.d.ts +23 -0
- package/resources/run/header.d.ts.map +1 -0
- package/resources/run/header.js +51 -0
- package/resources/run/header.js.map +1 -0
- package/resources/run/prepare.d.ts +60 -0
- package/resources/run/prepare.d.ts.map +1 -0
- package/resources/run/prepare.js +78 -0
- package/resources/run/prepare.js.map +1 -0
- package/resources/run/resolve.d.ts +8 -0
- package/resources/run/resolve.d.ts.map +1 -0
- package/resources/run/resolve.js +28 -0
- package/resources/run/resolve.js.map +1 -0
- package/resources/run/resume.d.ts +13 -0
- package/resources/run/resume.d.ts.map +1 -0
- package/resources/run/resume.js +94 -0
- package/resources/run/resume.js.map +1 -0
- package/resources/run/stream.d.ts +24 -0
- package/resources/run/stream.d.ts.map +1 -0
- package/resources/run/stream.js +80 -0
- package/resources/run/stream.js.map +1 -0
- package/resources/run/workflow-stream.d.ts +25 -0
- package/resources/run/workflow-stream.d.ts.map +1 -0
- package/resources/run/workflow-stream.js +152 -0
- package/resources/run/workflow-stream.js.map +1 -0
- package/resources/run/workspace.d.ts +17 -0
- package/resources/run/workspace.d.ts.map +1 -0
- package/resources/run/workspace.js +147 -0
- package/resources/run/workspace.js.map +1 -0
- package/resources/search.d.ts +22 -0
- package/resources/search.d.ts.map +1 -0
- package/resources/search.js +23 -0
- package/resources/search.js.map +1 -0
- package/resources/session.d.ts +19 -0
- package/resources/session.d.ts.map +1 -0
- package/resources/session.js +51 -0
- package/resources/session.js.map +1 -0
- package/resources/skill.d.ts +84 -0
- package/resources/skill.d.ts.map +1 -0
- package/resources/skill.js +342 -0
- package/resources/skill.js.map +1 -0
- package/resources/stream/approval-detect.d.ts +38 -0
- package/resources/stream/approval-detect.d.ts.map +1 -0
- package/resources/stream/approval-detect.js +93 -0
- package/resources/stream/approval-detect.js.map +1 -0
- package/resources/stream/convert.d.ts +38 -0
- package/resources/stream/convert.d.ts.map +1 -0
- package/resources/stream/convert.js +178 -0
- package/resources/stream/convert.js.map +1 -0
- package/resources/stream/diff.d.ts +29 -0
- package/resources/stream/diff.d.ts.map +1 -0
- package/resources/stream/diff.js +214 -0
- package/resources/stream/diff.js.map +1 -0
- package/resources/stream/events.d.ts +137 -0
- package/resources/stream/events.d.ts.map +1 -0
- package/resources/stream/events.js +15 -0
- package/resources/stream/events.js.map +1 -0
- package/resources/stream/headless.d.ts +38 -0
- package/resources/stream/headless.d.ts.map +1 -0
- package/resources/stream/headless.js +75 -0
- package/resources/stream/headless.js.map +1 -0
- package/resources/stream/ink.d.ts +22 -0
- package/resources/stream/ink.d.ts.map +1 -0
- package/resources/stream/ink.js +24 -0
- package/resources/stream/ink.js.map +1 -0
- package/resources/stream/render-ndjson.d.ts +25 -0
- package/resources/stream/render-ndjson.d.ts.map +1 -0
- package/resources/stream/render-ndjson.js +156 -0
- package/resources/stream/render-ndjson.js.map +1 -0
- package/resources/stream/render-plaintext.d.ts +18 -0
- package/resources/stream/render-plaintext.d.ts.map +1 -0
- package/resources/stream/render-plaintext.js +71 -0
- package/resources/stream/render-plaintext.js.map +1 -0
- package/resources/stream/snapshot.d.ts +8 -0
- package/resources/stream/snapshot.d.ts.map +1 -0
- package/resources/stream/snapshot.js +163 -0
- package/resources/stream/snapshot.js.map +1 -0
- package/resources/stream/subagent.d.ts +12 -0
- package/resources/stream/subagent.d.ts.map +1 -0
- package/resources/stream/subagent.js +76 -0
- package/resources/stream/subagent.js.map +1 -0
- package/resources/stream/submit.d.ts +20 -0
- package/resources/stream/submit.d.ts.map +1 -0
- package/resources/stream/submit.js +125 -0
- package/resources/stream/submit.js.map +1 -0
- package/resources/stream/todo.d.ts +11 -0
- package/resources/stream/todo.d.ts.map +1 -0
- package/resources/stream/todo.js +44 -0
- package/resources/stream/todo.js.map +1 -0
- package/resources/stream/tool-state.d.ts +31 -0
- package/resources/stream/tool-state.d.ts.map +1 -0
- package/resources/stream/tool-state.js +126 -0
- package/resources/stream/tool-state.js.map +1 -0
- package/resources/stream/tty.d.ts +8 -0
- package/resources/stream/tty.d.ts.map +1 -0
- package/resources/stream/tty.js +15 -0
- package/resources/stream/tty.js.map +1 -0
- package/resources/stream/workflow-event-view.d.ts +21 -0
- package/resources/stream/workflow-event-view.d.ts.map +1 -0
- package/resources/stream/workflow-event-view.js +88 -0
- package/resources/stream/workflow-event-view.js.map +1 -0
- package/resources/stream/workflow-render-ndjson.d.ts +5 -0
- package/resources/stream/workflow-render-ndjson.d.ts.map +1 -0
- package/resources/stream/workflow-render-ndjson.js +54 -0
- package/resources/stream/workflow-render-ndjson.js.map +1 -0
- package/resources/stream/workflow-render-plaintext.d.ts +8 -0
- package/resources/stream/workflow-render-plaintext.d.ts.map +1 -0
- package/resources/stream/workflow-render-plaintext.js +34 -0
- package/resources/stream/workflow-render-plaintext.js.map +1 -0
- package/resources/tag.d.ts +4 -0
- package/resources/tag.d.ts.map +1 -0
- package/resources/tag.js +36 -0
- package/resources/tag.js.map +1 -0
- package/resources/usage.d.ts +14 -0
- package/resources/usage.d.ts.map +1 -0
- package/resources/usage.js +251 -0
- package/resources/usage.js.map +1 -0
- package/resources/validate.d.ts +6 -0
- package/resources/validate.d.ts.map +1 -0
- package/resources/validate.js +28 -0
- package/resources/validate.js.map +1 -0
- package/resources/version.d.ts +6 -0
- package/resources/version.d.ts.map +1 -0
- package/resources/version.js +75 -0
- package/resources/version.js.map +1 -0
- package/runtime.d.ts +5 -0
- package/runtime.d.ts.map +1 -0
- package/runtime.js +19 -0
- package/runtime.js.map +1 -0
- package/src/auth/auth0.ts +43 -0
- package/src/auth/callback-server.ts +104 -0
- package/src/auth/index.ts +6 -0
- package/src/auth/login.ts +61 -0
- package/src/auth/pages.ts +31 -0
- package/src/auth/pkce.test.ts +37 -0
- package/src/auth/pkce.ts +26 -0
- package/src/auth/token.test.ts +95 -0
- package/src/auth/token.ts +135 -0
- package/src/backend.ts +15 -0
- package/src/cli/stigmer.ts +16 -0
- package/src/client/client.test.ts +46 -0
- package/src/client/client.ts +84 -0
- package/src/client/index.ts +3 -0
- package/src/commands/agent-exec-flags.ts +75 -0
- package/src/commands/apikey/duration.test.ts +23 -0
- package/src/commands/apikey/duration.ts +35 -0
- package/src/commands/apikey/index.ts +133 -0
- package/src/commands/apply.ts +213 -0
- package/src/commands/auth/index.ts +87 -0
- package/src/commands/completion.ts +96 -0
- package/src/commands/config/backend.ts +58 -0
- package/src/commands/config/context.ts +26 -0
- package/src/commands/config/index.ts +18 -0
- package/src/commands/config/kv.ts +44 -0
- package/src/commands/connect.ts +75 -0
- package/src/commands/delete.ts +56 -0
- package/src/commands/diff.ts +97 -0
- package/src/commands/down.ts +27 -0
- package/src/commands/download.ts +68 -0
- package/src/commands/draft.ts +128 -0
- package/src/commands/execution/approve.ts +76 -0
- package/src/commands/execution/control.ts +79 -0
- package/src/commands/execution/index.ts +24 -0
- package/src/commands/execution/logs.ts +47 -0
- package/src/commands/execution/trace.ts +32 -0
- package/src/commands/get.ts +99 -0
- package/src/commands/internal-daemon.ts +25 -0
- package/src/commands/list.ts +138 -0
- package/src/commands/logs.ts +73 -0
- package/src/commands/mcp-server.test.ts +65 -0
- package/src/commands/mcp-server.ts +124 -0
- package/src/commands/push.ts +205 -0
- package/src/commands/reset.ts +57 -0
- package/src/commands/resume.ts +121 -0
- package/src/commands/run.ts +276 -0
- package/src/commands/search.ts +90 -0
- package/src/commands/seedpack.ts +94 -0
- package/src/commands/setup.ts +71 -0
- package/src/commands/shared.ts +41 -0
- package/src/commands/status.ts +20 -0
- package/src/commands/tag.ts +31 -0
- package/src/commands/up.ts +51 -0
- package/src/commands/usage.ts +74 -0
- package/src/commands/validate.test.ts +79 -0
- package/src/commands/validate.ts +73 -0
- package/src/commands/version.ts +13 -0
- package/src/config/config.test.ts +76 -0
- package/src/config/config.ts +127 -0
- package/src/config/index.ts +22 -0
- package/src/config/keys.test.ts +38 -0
- package/src/config/keys.ts +64 -0
- package/src/config/paths.ts +25 -0
- package/src/config/resolve.test.ts +103 -0
- package/src/config/resolve.ts +80 -0
- package/src/errors/classify.ts +199 -0
- package/src/errors/cli-exit-error.ts +16 -0
- package/src/errors/clierr.test.ts +172 -0
- package/src/errors/exit-codes.ts +14 -0
- package/src/errors/handle.ts +53 -0
- package/src/errors/index.ts +7 -0
- package/src/errors/usage-error.ts +14 -0
- package/src/index.ts +8 -0
- package/src/local/artifact.test.ts +28 -0
- package/src/local/artifact.ts +166 -0
- package/src/local/constants.ts +52 -0
- package/src/local/daemon/components.test.ts +80 -0
- package/src/local/daemon/components.ts +113 -0
- package/src/local/daemon/daemon.integration.test.ts +183 -0
- package/src/local/daemon/env.test.ts +51 -0
- package/src/local/daemon/env.ts +118 -0
- package/src/local/daemon/host.ts +79 -0
- package/src/local/daemon/index.ts +18 -0
- package/src/local/daemon/launch.ts +260 -0
- package/src/local/daemon/process.ts +183 -0
- package/src/local/daemon/supervisor.test.ts +260 -0
- package/src/local/daemon/supervisor.ts +249 -0
- package/src/local/daemon/types.ts +76 -0
- package/src/local/llm-config.test.ts +80 -0
- package/src/local/llm-config.ts +107 -0
- package/src/local/logs/tail.test.ts +70 -0
- package/src/local/logs/tail.ts +100 -0
- package/src/local/logs/view.test.ts +46 -0
- package/src/local/logs/view.ts +65 -0
- package/src/local/net/tcp.ts +65 -0
- package/src/local/paths.ts +67 -0
- package/src/local/reset.test.ts +53 -0
- package/src/local/reset.ts +90 -0
- package/src/local/runtime/index.ts +18 -0
- package/src/local/runtime/node.ts +67 -0
- package/src/local/runtime/runner.ts +186 -0
- package/src/local/runtime/runtime.test.ts +155 -0
- package/src/local/runtime/server.test.ts +152 -0
- package/src/local/runtime/server.ts +172 -0
- package/src/local/runtime/which.ts +30 -0
- package/src/local/seedpack/apply.test.ts +166 -0
- package/src/local/seedpack/apply.ts +139 -0
- package/src/local/seedpack/content.test.ts +148 -0
- package/src/local/seedpack/content.ts +223 -0
- package/src/local/setup/prompt.ts +70 -0
- package/src/local/setup/wizard.test.ts +42 -0
- package/src/local/setup/wizard.ts +78 -0
- package/src/local/state/health-state.ts +55 -0
- package/src/local/state/index.ts +8 -0
- package/src/local/state/lock.ts +77 -0
- package/src/local/state/log-rotation.ts +112 -0
- package/src/local/state/pidfile.ts +37 -0
- package/src/local/state/proc.ts +66 -0
- package/src/local/state/startup-config.ts +51 -0
- package/src/local/state/state.test.ts +166 -0
- package/src/local/status.test.ts +88 -0
- package/src/local/status.ts +186 -0
- package/src/local/temporal/download.test.ts +64 -0
- package/src/local/temporal/download.ts +54 -0
- package/src/local/temporal/index.ts +6 -0
- package/src/local/temporal/inspect.ts +32 -0
- package/src/local/temporal/manager.test.ts +31 -0
- package/src/local/temporal/manager.ts +247 -0
- package/src/local/temporal/supervisor.test.ts +77 -0
- package/src/local/temporal/supervisor.ts +97 -0
- package/src/local/webconsole/index.ts +13 -0
- package/src/logger.ts +39 -0
- package/src/output/command-result.test.ts +64 -0
- package/src/output/command-result.ts +185 -0
- package/src/output/confirm.test.ts +43 -0
- package/src/output/confirm.ts +53 -0
- package/src/output/format.test.ts +65 -0
- package/src/output/format.ts +101 -0
- package/src/output/index.ts +30 -0
- package/src/output/ndjson.ts +55 -0
- package/src/output/proto.test.ts +72 -0
- package/src/output/proto.ts +55 -0
- package/src/output/style.ts +57 -0
- package/src/output/table.test.ts +37 -0
- package/src/output/table.ts +52 -0
- package/src/program.test.ts +64 -0
- package/src/program.ts +100 -0
- package/src/registry/aliases.test.ts +99 -0
- package/src/registry/aliases.ts +93 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/metadata.ts +60 -0
- package/src/registry/registry.test.ts +80 -0
- package/src/registry/registry.ts +101 -0
- package/src/registry/verb-support.ts +50 -0
- package/src/registry/verbs.ts +43 -0
- package/src/resources/apply/apply.integration.test.ts +207 -0
- package/src/resources/apply/apply.ts +202 -0
- package/src/resources/apply/declarative.integration.test.ts +126 -0
- package/src/resources/apply/declarative.test.ts +132 -0
- package/src/resources/apply/declarative.ts +474 -0
- package/src/resources/apply/discovery.ts +60 -0
- package/src/resources/apply/handlers.ts +145 -0
- package/src/resources/apply/synth/capstone.integration.test.ts +134 -0
- package/src/resources/apply/synth/project-track.integration.test.ts +194 -0
- package/src/resources/apply/synth/project-track.ts +126 -0
- package/src/resources/apply/synth/reader.test.ts +90 -0
- package/src/resources/apply/synth/reader.ts +68 -0
- package/src/resources/apply/synth/runtime.test.ts +29 -0
- package/src/resources/apply/synth/runtime.ts +39 -0
- package/src/resources/apply/synth/synthesize.test.ts +109 -0
- package/src/resources/apply/synth/synthesize.ts +161 -0
- package/src/resources/connect/__fixtures__/stdio-crash.mjs +6 -0
- package/src/resources/connect/__fixtures__/stdio-server.mjs +43 -0
- package/src/resources/connect/connect.integration.test.ts +185 -0
- package/src/resources/connect/connect.ts +107 -0
- package/src/resources/connect/discover.test.ts +45 -0
- package/src/resources/connect/discover.ts +125 -0
- package/src/resources/connect/display.ts +68 -0
- package/src/resources/connect/oauth.test.ts +155 -0
- package/src/resources/connect/oauth.ts +191 -0
- package/src/resources/delete.ts +239 -0
- package/src/resources/diff.integration.test.ts +103 -0
- package/src/resources/diff.test.ts +34 -0
- package/src/resources/diff.ts +187 -0
- package/src/resources/documents.test.ts +67 -0
- package/src/resources/documents.ts +102 -0
- package/src/resources/download.ts +151 -0
- package/src/resources/execution-approve.test.ts +50 -0
- package/src/resources/execution-approve.ts +94 -0
- package/src/resources/execution-control.ts +78 -0
- package/src/resources/execution-format.test.ts +48 -0
- package/src/resources/execution-format.ts +54 -0
- package/src/resources/execution-logs.ts +176 -0
- package/src/resources/execution-trace.ts +159 -0
- package/src/resources/execution.integration.test.ts +285 -0
- package/src/resources/execution.test.ts +138 -0
- package/src/resources/execution.ts +229 -0
- package/src/resources/get-bindings.ts +61 -0
- package/src/resources/get.ts +41 -0
- package/src/resources/git.ts +71 -0
- package/src/resources/ignore/defaults.ts +155 -0
- package/src/resources/ignore/ignore.test.ts +139 -0
- package/src/resources/ignore/index.ts +17 -0
- package/src/resources/ignore/match.ts +158 -0
- package/src/resources/ignore/matcher.ts +158 -0
- package/src/resources/ignore/pattern.ts +131 -0
- package/src/resources/list.ts +97 -0
- package/src/resources/mcp/runtime-env.test.ts +68 -0
- package/src/resources/mcp/runtime-env.ts +79 -0
- package/src/resources/mutate-verbs.integration.test.ts +233 -0
- package/src/resources/picker/ink.tsx +114 -0
- package/src/resources/picker/tty.test.ts +37 -0
- package/src/resources/picker/tty.ts +30 -0
- package/src/resources/push-download.integration.test.ts +175 -0
- package/src/resources/read-completion.integration.test.ts +156 -0
- package/src/resources/read-verbs.integration.test.ts +164 -0
- package/src/resources/reference.test.ts +107 -0
- package/src/resources/reference.ts +140 -0
- package/src/resources/render.ts +118 -0
- package/src/resources/run/agent-exec.ts +107 -0
- package/src/resources/run/attachments.test.ts +113 -0
- package/src/resources/run/attachments.ts +261 -0
- package/src/resources/run/create.test.ts +119 -0
- package/src/resources/run/create.ts +165 -0
- package/src/resources/run/env.test.ts +131 -0
- package/src/resources/run/env.ts +167 -0
- package/src/resources/run/epilogue.ts +166 -0
- package/src/resources/run/header.test.ts +61 -0
- package/src/resources/run/header.ts +62 -0
- package/src/resources/run/prepare.test.ts +92 -0
- package/src/resources/run/prepare.ts +139 -0
- package/src/resources/run/resolve.ts +32 -0
- package/src/resources/run/resume.ts +119 -0
- package/src/resources/run/stream.ts +108 -0
- package/src/resources/run/workflow-stream.integration.test.ts +157 -0
- package/src/resources/run/workflow-stream.ts +203 -0
- package/src/resources/run/workspace.test.ts +93 -0
- package/src/resources/run/workspace.ts +171 -0
- package/src/resources/search.ts +53 -0
- package/src/resources/session.test.ts +48 -0
- package/src/resources/session.ts +66 -0
- package/src/resources/skill.test.ts +227 -0
- package/src/resources/skill.ts +451 -0
- package/src/resources/stream/approval-detect.ts +118 -0
- package/src/resources/stream/convert.ts +210 -0
- package/src/resources/stream/diff.test.ts +316 -0
- package/src/resources/stream/diff.ts +254 -0
- package/src/resources/stream/events.ts +193 -0
- package/src/resources/stream/headless.test.ts +119 -0
- package/src/resources/stream/headless.ts +112 -0
- package/src/resources/stream/ink.tsx +56 -0
- package/src/resources/stream/lazy-import.test.ts +63 -0
- package/src/resources/stream/render-ndjson.test.ts +116 -0
- package/src/resources/stream/render-ndjson.ts +176 -0
- package/src/resources/stream/render-plaintext.test.ts +68 -0
- package/src/resources/stream/render-plaintext.ts +86 -0
- package/src/resources/stream/snapshot.test.ts +97 -0
- package/src/resources/stream/snapshot.ts +191 -0
- package/src/resources/stream/subagent.ts +104 -0
- package/src/resources/stream/submit.test.ts +77 -0
- package/src/resources/stream/submit.ts +137 -0
- package/src/resources/stream/todo.ts +53 -0
- package/src/resources/stream/tool-state.ts +142 -0
- package/src/resources/stream/tty.ts +14 -0
- package/src/resources/stream/workflow-event-view.test.ts +116 -0
- package/src/resources/stream/workflow-event-view.ts +111 -0
- package/src/resources/stream/workflow-render-ndjson.ts +61 -0
- package/src/resources/stream/workflow-render-plaintext.ts +43 -0
- package/src/resources/stream/workflow-render.test.ts +81 -0
- package/src/resources/tag.ts +50 -0
- package/src/resources/usage.test.ts +94 -0
- package/src/resources/usage.ts +301 -0
- package/src/resources/validate.test.ts +54 -0
- package/src/resources/validate.ts +31 -0
- package/src/resources/version.ts +105 -0
- package/src/runtime.ts +23 -0
- package/src/types/marked-terminal.d.ts +31 -0
- package/src/version.ts +46 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +45 -0
- package/version.js.map +1 -0
package/commands/push.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// `stigmer push <type> [path]` — package and upload an artifact to the registry.
|
|
2
|
+
// Only skills are pushable today. Two source modes: a local directory (default,
|
|
3
|
+
// git provenance auto-detected) or a remote repo via --git-url (cloned to a
|
|
4
|
+
// temp dir, then pushed). Heavy modules are lazy-imported so `--help` stays fast.
|
|
5
|
+
import { mkdtempSync, rmSync } from "node:fs";
|
|
6
|
+
import { tmpdir } from "node:os";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
|
|
9
|
+
import { UsageError } from "../errors/index.js";
|
|
10
|
+
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
11
|
+
import { defaultRegistry, Verb } from "../registry/index.js";
|
|
12
|
+
import { globalOrg } from "./shared.js";
|
|
13
|
+
const collect = (value, previous) => [...previous, value];
|
|
14
|
+
export function registerPush(program) {
|
|
15
|
+
program
|
|
16
|
+
.command("push <type> [path]")
|
|
17
|
+
.description("push an artifact to the registry (supported types: skill)")
|
|
18
|
+
.option("--tag <tag>", "version tag for the artifact", "latest")
|
|
19
|
+
.option("-m, --message <message>", "version message describing what changed")
|
|
20
|
+
.option("--dry-run", "validate without pushing")
|
|
21
|
+
.option("--git-url <url>", "push from a remote git repository URL")
|
|
22
|
+
.option("--git-ref <ref>", "git reference (tag, branch, or commit SHA) for remote push")
|
|
23
|
+
.option("--subdir <dir>", "subdirectory within the git repository containing the artifact")
|
|
24
|
+
.option("--ignore <pattern>", "additional pattern to ignore (repeatable)", collect, [])
|
|
25
|
+
.option("--include <pattern>", "pattern to force-include (repeatable)", collect, [])
|
|
26
|
+
.option("--no-gitignore", "don't respect .gitignore patterns")
|
|
27
|
+
.option("--verbose", "show detailed output including ignore decisions")
|
|
28
|
+
.action((type, path, options, command) => runPush(type, path, options, command));
|
|
29
|
+
}
|
|
30
|
+
async function runPush(type, path, options, command) {
|
|
31
|
+
const info = defaultRegistry().getByAlias(type);
|
|
32
|
+
if (info === undefined) {
|
|
33
|
+
throw new UsageError(`unknown resource type: ${type}\n\nAvailable types: skill`);
|
|
34
|
+
}
|
|
35
|
+
if (!info.supportedVerbs.has(Verb.Push)) {
|
|
36
|
+
throw new UsageError(`${info.displayName} does not support 'push'`);
|
|
37
|
+
}
|
|
38
|
+
if (info.kind !== ApiResourceKind.skill) {
|
|
39
|
+
throw new UsageError(`push not implemented for ${info.displayName}`);
|
|
40
|
+
}
|
|
41
|
+
const [{ connectBackend }, skill] = await Promise.all([import("../backend.js"), import("../resources/skill.js")]);
|
|
42
|
+
const client = connectBackend();
|
|
43
|
+
ensureAuthenticated(client.config);
|
|
44
|
+
const org = resolveOrganization(client.config, globalOrg(command));
|
|
45
|
+
const ignoreOptions = {
|
|
46
|
+
respectGitignore: options.gitignore !== false,
|
|
47
|
+
extraIgnore: options.ignore ?? [],
|
|
48
|
+
extraInclude: options.include ?? [],
|
|
49
|
+
};
|
|
50
|
+
const decisionSink = options.verbose === true ? (line) => process.stderr.write(`${line}\n`) : undefined;
|
|
51
|
+
const tag = options.tag ?? "latest";
|
|
52
|
+
const message = options.message ?? "";
|
|
53
|
+
if (options.gitUrl !== undefined && options.gitUrl !== "") {
|
|
54
|
+
await pushRemote(client.stigmer, skill, { org, tag, message, ignoreOptions, decisionSink, options });
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const directory = path !== undefined && path !== "" ? path : process.cwd();
|
|
58
|
+
if (!skill.hasSkillFile(directory)) {
|
|
59
|
+
throw new UsageError(`SKILL.md not found in ${directory}\n\nA skill directory must contain a SKILL.md file defining the skill interface`);
|
|
60
|
+
}
|
|
61
|
+
// Validate metadata early so dry-run and real pushes fail the same way.
|
|
62
|
+
skill.parseSkillMetadata(directory);
|
|
63
|
+
if (options.dryRun === true) {
|
|
64
|
+
process.stdout.write(renderDryRun(directory, skill.analyzeDryRun(directory, ignoreOptions), skill));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const result = await skill.pushSkill(client.stigmer, directory, org, tag, message, ignoreOptions, decisionSink);
|
|
68
|
+
process.stdout.write(renderResult(result, skill));
|
|
69
|
+
}
|
|
70
|
+
async function pushRemote(client, skill, ctx) {
|
|
71
|
+
const gitUrl = ctx.options.gitUrl ?? "";
|
|
72
|
+
const gitRef = ctx.options.gitRef ?? "";
|
|
73
|
+
const subdir = ctx.options.subdir ?? "";
|
|
74
|
+
if (ctx.options.dryRun === true) {
|
|
75
|
+
process.stdout.write(renderRemoteDryRun(gitUrl, gitRef, subdir, ctx));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const { cloneRepository } = await import("../resources/git.js");
|
|
79
|
+
const tempDir = mkdtempSync(join(tmpdir(), "stigmer-skill-"));
|
|
80
|
+
try {
|
|
81
|
+
cloneRepository(gitUrl, gitRef, tempDir);
|
|
82
|
+
const skillDir = subdir !== "" ? join(tempDir, subdir) : tempDir;
|
|
83
|
+
if (!skill.hasSkillFile(skillDir)) {
|
|
84
|
+
throw new UsageError(`SKILL.md not found in ${subdir !== "" ? subdir : "repository root"}\n\n` +
|
|
85
|
+
"The skill directory must contain a SKILL.md file with YAML frontmatter");
|
|
86
|
+
}
|
|
87
|
+
const result = await skill.pushSkillFromClone(client, skillDir, { gitUrl, gitRef, subdir, org: ctx.org, tag: ctx.tag, message: ctx.message, options: ctx.ignoreOptions }, ctx.decisionSink);
|
|
88
|
+
process.stdout.write(renderResult(result, skill));
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function renderResult(result, skill) {
|
|
95
|
+
const status = result.isNewResource ? "new resource" : result.versionChanged ? "new version" : "unchanged";
|
|
96
|
+
const lines = [
|
|
97
|
+
"",
|
|
98
|
+
`Pushed skill '${result.skillName}'`,
|
|
99
|
+
` ID: ${result.id}`,
|
|
100
|
+
` Slug: ${result.slug}`,
|
|
101
|
+
` Tag: ${result.tag}`,
|
|
102
|
+
` Version: ${skill.shortHash(result.versionHash)}`,
|
|
103
|
+
` Size: ${skill.formatBytes(result.artifactSize)}`,
|
|
104
|
+
` Status: ${status}`,
|
|
105
|
+
];
|
|
106
|
+
if (result.message !== "")
|
|
107
|
+
lines.push(` Message: ${result.message}`);
|
|
108
|
+
lines.push("");
|
|
109
|
+
return `${lines.join("\n")}\n`;
|
|
110
|
+
}
|
|
111
|
+
function renderDryRun(directory, analysis, skill) {
|
|
112
|
+
const { stats } = analysis;
|
|
113
|
+
const lines = [
|
|
114
|
+
"",
|
|
115
|
+
`Dry run - analyzing skill directory: ${directory}`,
|
|
116
|
+
"",
|
|
117
|
+
"Pattern sources:",
|
|
118
|
+
...analysis.patternSources.map((s) => ` - ${s}`),
|
|
119
|
+
"",
|
|
120
|
+
`Files to include: ${stats.filesIncluded} (${skill.formatBytes(stats.totalSize)})`,
|
|
121
|
+
`Files ignored: ${stats.filesIgnored}`,
|
|
122
|
+
`Directories skipped: ${stats.dirsSkipped}`,
|
|
123
|
+
];
|
|
124
|
+
if (analysis.sampleIncluded.length > 0) {
|
|
125
|
+
lines.push("", "Sample included:", ...analysis.sampleIncluded.map((f) => ` + ${f}`));
|
|
126
|
+
}
|
|
127
|
+
if (analysis.sampleIgnored.length > 0) {
|
|
128
|
+
lines.push("", "Sample ignored:", ...analysis.sampleIgnored.map((f) => ` - ${f}`));
|
|
129
|
+
}
|
|
130
|
+
lines.push("", "Run without --dry-run to push the skill artifact.", "");
|
|
131
|
+
return `${lines.join("\n")}\n`;
|
|
132
|
+
}
|
|
133
|
+
function renderRemoteDryRun(gitUrl, gitRef, subdir, ctx) {
|
|
134
|
+
const lines = ["", "Dry run mode - would push skill from remote git repository:", "", "Git Source:", ` URL: ${gitUrl}`];
|
|
135
|
+
if (gitRef !== "")
|
|
136
|
+
lines.push(` Ref: ${gitRef}`);
|
|
137
|
+
if (subdir !== "")
|
|
138
|
+
lines.push(` Subdir: ${subdir}`);
|
|
139
|
+
lines.push(` Tag: ${ctx.tag}`, "", "Ignore Configuration:");
|
|
140
|
+
lines.push(` Gitignore: ${ctx.ignoreOptions.respectGitignore ? "enabled" : "disabled"}`);
|
|
141
|
+
lines.push(" Security defaults: enabled");
|
|
142
|
+
lines.push(" Stigmerignore: will load if present");
|
|
143
|
+
if (ctx.ignoreOptions.extraIgnore.length > 0)
|
|
144
|
+
lines.push(` Extra ignore: ${ctx.ignoreOptions.extraIgnore.join(", ")}`);
|
|
145
|
+
if (ctx.ignoreOptions.extraInclude.length > 0)
|
|
146
|
+
lines.push(` Force include: ${ctx.ignoreOptions.extraInclude.join(", ")}`);
|
|
147
|
+
lines.push("", "Note: Full analysis requires cloning the repository.", "Run without --dry-run to push the skill artifact.", "");
|
|
148
|
+
return `${lines.join("\n")}\n`;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQpD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// `stigmer reset` — stop the stack and wipe all persistent local state, then
|
|
2
|
+
// (unless config was removed) restart fresh. Destructive, so it confirms first
|
|
3
|
+
// unless `--force` is given. Configuration is preserved unless --include-config.
|
|
4
|
+
import { homedir } from "node:os";
|
|
5
|
+
import { CommandResult, renderResult } from "../output/index.js";
|
|
6
|
+
import { addResultFlags, resultFormat } from "./shared.js";
|
|
7
|
+
export function registerReset(program) {
|
|
8
|
+
const reset = program
|
|
9
|
+
.command("reset")
|
|
10
|
+
.description("stop the stack and remove all local state, then restart fresh")
|
|
11
|
+
.option("--force", "skip the confirmation prompt")
|
|
12
|
+
.option("--include-config", "also remove configuration (API keys, preferences)")
|
|
13
|
+
.action((options) => runReset(options));
|
|
14
|
+
addResultFlags(reset);
|
|
15
|
+
}
|
|
16
|
+
async function runReset(options) {
|
|
17
|
+
const { reset } = await import("../local/reset.js");
|
|
18
|
+
const { up } = await import("../local/daemon/launch.js");
|
|
19
|
+
const { confirm } = await import("../local/setup/prompt.js");
|
|
20
|
+
const { configDir } = await import("../local/paths.js");
|
|
21
|
+
if (options.force !== true) {
|
|
22
|
+
const scope = options.includeConfig === true ? " INCLUDING configuration (config.yaml)" : " (configuration preserved)";
|
|
23
|
+
const ok = await confirm(`This will remove all runtime data in ${configDir(homedir())}${scope}.\nContinue?`);
|
|
24
|
+
if (!ok) {
|
|
25
|
+
renderResult(CommandResult.warning("Reset cancelled"), resultFormat(options));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const outcome = await reset({ includeConfig: options.includeConfig === true });
|
|
30
|
+
const result = CommandResult.success("Reset complete");
|
|
31
|
+
const removed = result.addSection("Removed");
|
|
32
|
+
if (outcome.servicesStopped)
|
|
33
|
+
removed.item("services stopped");
|
|
34
|
+
for (const path of outcome.removedPaths)
|
|
35
|
+
removed.item(path);
|
|
36
|
+
if (options.includeConfig === true) {
|
|
37
|
+
result.hint("Run 'stigmer up' to reconfigure and start fresh");
|
|
38
|
+
renderResult(result, resultFormat(options));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
renderResult(result, resultFormat(options));
|
|
42
|
+
process.stderr.write("\nRestarting Stigmer local stack…\n");
|
|
43
|
+
await up({}, homedir());
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AAGjF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAoB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;SACjD,MAAM,CAAC,kBAAkB,EAAE,mDAAmD,CAAC;SAC/E,MAAM,CAAC,CAAC,OAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,cAAc,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,OAAmB;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,4BAA4B,CAAC;QACvH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,wCAAwC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;QAC7G,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,eAAe;QAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUrD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// `stigmer resume [session-id-or-text]` — re-open an existing session. Thin
|
|
2
|
+
// handler: classify the argument (Go's executeResumeSmart), then delegate to the
|
|
3
|
+
// resume orchestrator. Resource IDs that aren't sessions are redirected to `run`;
|
|
4
|
+
// text/0-arg would open the session picker (a separate, not-yet-wired task).
|
|
5
|
+
import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
|
|
6
|
+
import { UsageError } from "../errors/index.js";
|
|
7
|
+
import { interactiveBrowseEnabled } from "../resources/picker/tty.js";
|
|
8
|
+
import { globalOrg } from "./shared.js";
|
|
9
|
+
export function registerResume(program) {
|
|
10
|
+
program
|
|
11
|
+
.command("resume [reference]")
|
|
12
|
+
.description("resume an existing session by ID")
|
|
13
|
+
.option("-v, --verbose", "show all execution events")
|
|
14
|
+
.option("--mode <mode>", 'follow-up interaction mode: "agent" (default) or "plan" (read-only)')
|
|
15
|
+
.option("--json", "stream events as newline-delimited JSON")
|
|
16
|
+
.action((reference, options, command) => runResume(reference, options, command));
|
|
17
|
+
}
|
|
18
|
+
async function runResume(reference, options, command) {
|
|
19
|
+
const { validateMode } = await import("../resources/run/prepare.js");
|
|
20
|
+
// Call through a plain signature: TS forbids assertion functions reached via a
|
|
21
|
+
// destructured dynamic-import binding (TS2775); we only need the throw-on-invalid
|
|
22
|
+
// side effect here, not the narrowing.
|
|
23
|
+
validateMode(options.mode ?? "");
|
|
24
|
+
const { connectBackend } = await import("../backend.js");
|
|
25
|
+
const client = connectBackend();
|
|
26
|
+
ensureAuthenticated(client.config);
|
|
27
|
+
const org = resolveOrganization(client.config, globalOrg(command));
|
|
28
|
+
if (org === "") {
|
|
29
|
+
throw new UsageError("organization not set\n\nSet it with:\n stigmer config context set --org <org>\n stigmer resume --org <org> ...");
|
|
30
|
+
}
|
|
31
|
+
const outputMode = options.json === true ? "json" : "inline";
|
|
32
|
+
const mode = (options.mode ?? "");
|
|
33
|
+
if (reference === undefined) {
|
|
34
|
+
if (interactiveBrowseEnabled(outputMode)) {
|
|
35
|
+
await browseAndResumeSession("", client, org, mode, outputMode);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
throw browseUnavailableError();
|
|
39
|
+
}
|
|
40
|
+
const { isSessionId, isAgentId, isWorkflowId, hasResourceIdPrefix, validateResourceId } = await import("../resources/reference.js");
|
|
41
|
+
// Agent/workflow IDs belong to `run`.
|
|
42
|
+
if (isAgentId(reference) || isWorkflowId(reference)) {
|
|
43
|
+
throw new UsageError(`Resource IDs like "${reference}" are not sessions\n\nTo run a resource:\n stigmer run ${reference}`);
|
|
44
|
+
}
|
|
45
|
+
if (isSessionId(reference)) {
|
|
46
|
+
if (validateResourceId(reference) !== null) {
|
|
47
|
+
throw new UsageError(`Incomplete session ID: ${reference}\n\nProvide the full session ID (e.g. ses_01abc123xyz456789012345678)`);
|
|
48
|
+
}
|
|
49
|
+
const { openSession } = await import("../resources/run/resume.js");
|
|
50
|
+
await openSession({ client, sessionId: reference, org, mode, outputMode });
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// Any other resource-ID prefix is not a session.
|
|
54
|
+
if (hasResourceIdPrefix(reference)) {
|
|
55
|
+
throw new UsageError(`Resource IDs like "${reference}" are not sessions\n\n` +
|
|
56
|
+
"To resume a session, provide a session ID (ses_…) or search text:\n" +
|
|
57
|
+
" stigmer resume <session-id>");
|
|
58
|
+
}
|
|
59
|
+
// Bare text → interactive session picker (pre-filtered by the text) on a TTY;
|
|
60
|
+
// otherwise actionable guidance.
|
|
61
|
+
if (interactiveBrowseEnabled(outputMode)) {
|
|
62
|
+
await browseAndResumeSession(reference, client, org, mode, outputMode);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
throw browseUnavailableError(reference);
|
|
66
|
+
}
|
|
67
|
+
// Mount the session picker; on selection, re-open the chosen session through the
|
|
68
|
+
// existing resume orchestrator. Cancel (Esc/Ctrl+C → undefined) returns cleanly
|
|
69
|
+
// so the command exits 0. Loaded lazily to honor the DD-001 boundary.
|
|
70
|
+
async function browseAndResumeSession(initialQuery, client, org, mode, outputMode) {
|
|
71
|
+
const { pickSession } = await import("../resources/picker/ink.js");
|
|
72
|
+
const selected = await pickSession({ client: client.stigmer, initialQuery });
|
|
73
|
+
if (selected === undefined)
|
|
74
|
+
return;
|
|
75
|
+
const sessionId = selected.metadata?.id ?? "";
|
|
76
|
+
if (sessionId === "")
|
|
77
|
+
return;
|
|
78
|
+
const { openSession } = await import("../resources/run/resume.js");
|
|
79
|
+
await openSession({ client, sessionId, org, mode, outputMode });
|
|
80
|
+
}
|
|
81
|
+
function browseUnavailableError(query) {
|
|
82
|
+
const head = query === undefined || query === ""
|
|
83
|
+
? "Interactive session browsing requires an interactive terminal"
|
|
84
|
+
: `Searching sessions for "${query}" requires an interactive terminal`;
|
|
85
|
+
return new UsageError(`${head}\n\nSpecify a full session ID:\n stigmer resume <session-id>`);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=resume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/commands/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUlD"}
|
package/commands/run.js
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// `stigmer run [agent-ref | <type> <reference>]` — execute an agent (or create a
|
|
2
|
+
// workflow execution) and stream it. Thin handler: parse flags, resolve the
|
|
3
|
+
// reference (smart 0/1/2-arg dispatch mirroring Go's run.go + run_picker.go),
|
|
4
|
+
// then delegate to the shared run stack. Heavy modules (backend client, Ink,
|
|
5
|
+
// the differ) load lazily inside the action so `--help` stays fast (DD-001).
|
|
6
|
+
import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
|
|
7
|
+
import { UsageError } from "../errors/index.js";
|
|
8
|
+
import { interactiveBrowseEnabled } from "../resources/picker/tty.js";
|
|
9
|
+
import { addAgentExecFlags } from "./agent-exec-flags.js";
|
|
10
|
+
import { globalOrg } from "./shared.js";
|
|
11
|
+
export function registerRun(program) {
|
|
12
|
+
const run = program
|
|
13
|
+
.command("run [type] [reference]")
|
|
14
|
+
.description("execute an agent or workflow by reference");
|
|
15
|
+
addAgentExecFlags(run)
|
|
16
|
+
.option("--json", "stream events as newline-delimited JSON")
|
|
17
|
+
.option("--download <dir>", "download artifacts to directory when complete")
|
|
18
|
+
.action((type, reference, options, command) => runRun(type, reference, options, command));
|
|
19
|
+
}
|
|
20
|
+
async function runRun(type, reference, options, command) {
|
|
21
|
+
const { connectBackend } = await import("../backend.js");
|
|
22
|
+
const client = connectBackend();
|
|
23
|
+
ensureAuthenticated(client.config);
|
|
24
|
+
const org = resolveOrganization(client.config, globalOrg(command));
|
|
25
|
+
if (org === "") {
|
|
26
|
+
throw new UsageError("organization not set\n\n" +
|
|
27
|
+
"Set it with one of:\n" +
|
|
28
|
+
" stigmer config context set --org <org>\n" +
|
|
29
|
+
" stigmer run --org <org> ...");
|
|
30
|
+
}
|
|
31
|
+
const outputMode = options.json === true ? "json" : "inline";
|
|
32
|
+
// 0 args → interactive agent picker on a TTY; otherwise actionable guidance.
|
|
33
|
+
if (type === undefined) {
|
|
34
|
+
if (interactiveBrowseEnabled(outputMode)) {
|
|
35
|
+
await browseAndRunAgent("", options, org, outputMode, client);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
throw browseUnavailableError("");
|
|
39
|
+
}
|
|
40
|
+
// 1 arg → smart resolution; 2 args → explicit "<type> <reference>".
|
|
41
|
+
if (reference === undefined) {
|
|
42
|
+
await runSmart(type, options, org, outputMode, client);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
await runExplicit(type, reference, options, org, outputMode, client);
|
|
46
|
+
}
|
|
47
|
+
// stigmer run <value>: classify the single argument and dispatch (Go's
|
|
48
|
+
// executeRunSmart). Session IDs belong to `resume`; complete agent IDs resolve
|
|
49
|
+
// directly; other resource IDs require the explicit two-arg form; bare text is
|
|
50
|
+
// resolved as an agent slug.
|
|
51
|
+
async function runSmart(value, options, org, outputMode, client) {
|
|
52
|
+
const { isSessionId, hasResourceIdPrefix, isAgentId, validateResourceId } = await import("../resources/reference.js");
|
|
53
|
+
if (isSessionId(value)) {
|
|
54
|
+
throw new UsageError(`Session IDs are handled by the resume command\n\nTo resume a session:\n stigmer resume ${value}`);
|
|
55
|
+
}
|
|
56
|
+
if (hasResourceIdPrefix(value)) {
|
|
57
|
+
if (isAgentId(value)) {
|
|
58
|
+
if (validateResourceId(value) !== null) {
|
|
59
|
+
throw new UsageError(`Incomplete agent ID: ${value}\n\nProvide the full agent ID (e.g. agt_01abc123xyz456789012345678)`);
|
|
60
|
+
}
|
|
61
|
+
await runAgent(value, options, org, outputMode, client);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
throw new UsageError(`Cannot run resource ID "${value}" directly with the short form\n\nUse the explicit form:\n stigmer run <type> <id>`);
|
|
65
|
+
}
|
|
66
|
+
// Bare text: try to resolve as an agent reference; on failure, fall back to
|
|
67
|
+
// the interactive picker (pre-filled with the typed text) on a TTY, otherwise
|
|
68
|
+
// guide the user.
|
|
69
|
+
const { resolveAgentRef } = await import("../resources/run/resolve.js");
|
|
70
|
+
let agent;
|
|
71
|
+
try {
|
|
72
|
+
agent = await resolveAgentRef(client.stigmer, value, org);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
if (interactiveBrowseEnabled(outputMode)) {
|
|
76
|
+
await browseAndRunAgent(value, options, org, outputMode, client);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
throw browseUnavailableError(value);
|
|
80
|
+
}
|
|
81
|
+
await runResolvedAgent(agent, options, org, outputMode, client);
|
|
82
|
+
}
|
|
83
|
+
// stigmer run <type> <reference>: explicit form (Go's executeRun + routeRun).
|
|
84
|
+
async function runExplicit(type, reference, options, org, outputMode, client) {
|
|
85
|
+
const { defaultRegistry, Verb } = await import("../registry/index.js");
|
|
86
|
+
const { ApiResourceKind } = await import("@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb");
|
|
87
|
+
const info = defaultRegistry().getByAlias(type);
|
|
88
|
+
if (info === undefined) {
|
|
89
|
+
throw new UsageError(`unknown resource type: ${type}\n\nAvailable types: agent, workflow`);
|
|
90
|
+
}
|
|
91
|
+
if (!info.supportedVerbs.has(Verb.Run)) {
|
|
92
|
+
throw new UsageError(`${info.displayName} does not support 'run'`);
|
|
93
|
+
}
|
|
94
|
+
if (info.kind === ApiResourceKind.workflow) {
|
|
95
|
+
await runWorkflow(reference, options, org, outputMode, client);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const { resolveAgentRef } = await import("../resources/run/resolve.js");
|
|
99
|
+
const agent = await resolveAgentRef(client.stigmer, reference, org);
|
|
100
|
+
await runResolvedAgent(agent, options, org, outputMode, client);
|
|
101
|
+
}
|
|
102
|
+
// Resolve a complete agent ID, then run.
|
|
103
|
+
async function runAgent(agentId, options, org, outputMode, client) {
|
|
104
|
+
const { resolveAgentRef } = await import("../resources/run/resolve.js");
|
|
105
|
+
const agent = await resolveAgentRef(client.stigmer, agentId, org);
|
|
106
|
+
await runResolvedAgent(agent, options, org, outputMode, client);
|
|
107
|
+
}
|
|
108
|
+
async function runResolvedAgent(agent, options, org, outputMode, client) {
|
|
109
|
+
const { prepareAgentExec } = await import("../resources/run/prepare.js");
|
|
110
|
+
const { executeResolvedAgent } = await import("../resources/run/agent-exec.js");
|
|
111
|
+
const { toAgentExecFlags } = await import("./agent-exec-flags.js");
|
|
112
|
+
const prepared = await prepareAgentExec(toAgentExecFlags(options), client.stigmer, org, stderrProgress());
|
|
113
|
+
await executeResolvedAgent({
|
|
114
|
+
agent,
|
|
115
|
+
prepared,
|
|
116
|
+
org,
|
|
117
|
+
downloadDir: options.download ?? "",
|
|
118
|
+
outputMode,
|
|
119
|
+
client,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
// Workflow path: create the execution, then either detach (print IDs + return,
|
|
123
|
+
// Go parity) or stream it live over the canonical event stream. Mirrors Go's
|
|
124
|
+
// routeRun workflow branch's guards. `--json` now produces a real NDJSON event
|
|
125
|
+
// stream (fix for D-WF-1: Go silently ignored run workflow --json).
|
|
126
|
+
async function runWorkflow(reference, options, org, outputMode, client) {
|
|
127
|
+
if (options.workspace.length > 0) {
|
|
128
|
+
throw new UsageError("--workspace is not supported for workflows (workspace is an agent-level concept)");
|
|
129
|
+
}
|
|
130
|
+
const [{ resolveWorkflowRef }, { createWorkflowExecution }, { loadAndMergeEnv }, { parseApprovalAction }] = await Promise.all([
|
|
131
|
+
import("../resources/run/resolve.js"),
|
|
132
|
+
import("../resources/run/create.js"),
|
|
133
|
+
import("../resources/run/env.js"),
|
|
134
|
+
import("../resources/run/prepare.js"),
|
|
135
|
+
]);
|
|
136
|
+
const workflow = await resolveWorkflowRef(client.stigmer, reference, org);
|
|
137
|
+
const runtimeEnv = loadAndMergeEnv({
|
|
138
|
+
envFlags: options.env,
|
|
139
|
+
secretFlags: options.secret,
|
|
140
|
+
envFiles: options.envFile,
|
|
141
|
+
secretFiles: options.secretFile,
|
|
142
|
+
});
|
|
143
|
+
if (runtimeEnv.STIGMER_ORG_ID === undefined && org !== "") {
|
|
144
|
+
runtimeEnv.STIGMER_ORG_ID = { value: org, isSecret: false };
|
|
145
|
+
}
|
|
146
|
+
const execution = await createWorkflowExecution(client.controller.bind(client), {
|
|
147
|
+
workflowId: workflow.metadata?.id ?? "",
|
|
148
|
+
orgId: org,
|
|
149
|
+
message: options.message ?? "",
|
|
150
|
+
runtimeEnv,
|
|
151
|
+
});
|
|
152
|
+
const id = execution.metadata?.id ?? "";
|
|
153
|
+
if (options.detach === true) {
|
|
154
|
+
process.stdout.write(`Workflow execution created: ${id}\n`);
|
|
155
|
+
process.stdout.write(`Track it with: stigmer execution logs ${id} --follow\n`);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const { ApprovalAction } = await import("@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb");
|
|
159
|
+
const { streamWorkflowExecution } = await import("../resources/run/workflow-stream.js");
|
|
160
|
+
await streamWorkflowExecution({
|
|
161
|
+
client: client.stigmer,
|
|
162
|
+
executionId: id,
|
|
163
|
+
outputMode,
|
|
164
|
+
defaultAction: options.autoApprove === true ? ApprovalAction.APPROVE_ALL : parseApprovalAction(options.approveDefault ?? ""),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
function stderrProgress() {
|
|
168
|
+
if (process.stderr.isTTY !== true)
|
|
169
|
+
return () => { };
|
|
170
|
+
return (line) => void process.stderr.write(`${line}\n`);
|
|
171
|
+
}
|
|
172
|
+
// Mount the agent picker; on selection, run the chosen agent through the
|
|
173
|
+
// existing resolved-agent stack. Cancel (Esc/Ctrl+C → undefined) returns
|
|
174
|
+
// cleanly so the command exits 0. Loaded lazily to honor the DD-001 boundary.
|
|
175
|
+
async function browseAndRunAgent(initialQuery, options, org, outputMode, client) {
|
|
176
|
+
const { pickAgent } = await import("../resources/picker/ink.js");
|
|
177
|
+
const selected = await pickAgent({ client: client.stigmer, org, initialQuery });
|
|
178
|
+
if (selected === undefined)
|
|
179
|
+
return;
|
|
180
|
+
await runAgent(selected.id, options, org, outputMode, client);
|
|
181
|
+
}
|
|
182
|
+
// Off a TTY (pipes, CI, --json), the interactive picker can't run, so 0-arg and
|
|
183
|
+
// unresolved references produce actionable guidance instead of a browse UI.
|
|
184
|
+
function browseUnavailableError(query) {
|
|
185
|
+
const head = query === ""
|
|
186
|
+
? "Interactive agent browsing requires an interactive terminal"
|
|
187
|
+
: `No agent found for "${query}"`;
|
|
188
|
+
return new UsageError(`${head}\n\n` +
|
|
189
|
+
"Specify a full agent reference:\n" +
|
|
190
|
+
" stigmer run <org/slug>\n" +
|
|
191
|
+
" stigmer run <agent-id>");
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAWrD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// `stigmer search <type> <query>` — relevance-ranked text search over agents and
|
|
2
|
+
// workflows. Thin handler: validate type/verb/flags, delegate to the resource
|
|
3
|
+
// layer, then append the pagination footer for human output.
|
|
4
|
+
import { ensureAuthenticated } from "../config/index.js";
|
|
5
|
+
import { UsageError } from "../errors/index.js";
|
|
6
|
+
import { defaultRegistry, Verb } from "../registry/index.js";
|
|
7
|
+
import { addReadFlags, globalOrg, readFormat } from "./shared.js";
|
|
8
|
+
const DEFAULT_PAGE = 1;
|
|
9
|
+
const DEFAULT_PAGE_SIZE = 20;
|
|
10
|
+
const MAX_PAGE_SIZE = 100;
|
|
11
|
+
export function registerSearch(program) {
|
|
12
|
+
const search = program
|
|
13
|
+
.command("search <type> <query>")
|
|
14
|
+
.description("search resources by text query (supported types: agent, workflow)")
|
|
15
|
+
.option("--exclude-public", "exclude public/platform resources")
|
|
16
|
+
.option("--page <n>", "page number (1-indexed)", String(DEFAULT_PAGE))
|
|
17
|
+
.option("--page-size <n>", "results per page (max 100)", String(DEFAULT_PAGE_SIZE))
|
|
18
|
+
.action((type, query, options, command) => runSearch(type, query, options, command));
|
|
19
|
+
addReadFlags(search);
|
|
20
|
+
}
|
|
21
|
+
async function runSearch(type, query, options, command) {
|
|
22
|
+
const info = defaultRegistry().getByAlias(type);
|
|
23
|
+
if (info === undefined) {
|
|
24
|
+
throw new UsageError(`unknown resource type: ${type}\n\nAvailable types: agent, workflow`);
|
|
25
|
+
}
|
|
26
|
+
if (!info.supportedVerbs.has(Verb.Search)) {
|
|
27
|
+
throw new UsageError(`${info.displayName} does not support 'search'`);
|
|
28
|
+
}
|
|
29
|
+
if (query.trim() === "") {
|
|
30
|
+
throw new UsageError("search query is required");
|
|
31
|
+
}
|
|
32
|
+
const page = parsePositive(options.page, DEFAULT_PAGE, "--page");
|
|
33
|
+
const pageSize = parsePositive(options.pageSize, DEFAULT_PAGE_SIZE, "--page-size");
|
|
34
|
+
if (pageSize > MAX_PAGE_SIZE) {
|
|
35
|
+
throw new UsageError(`--page-size cannot exceed ${MAX_PAGE_SIZE}`);
|
|
36
|
+
}
|
|
37
|
+
const [{ connectBackend }, { searchResources }] = await Promise.all([
|
|
38
|
+
import("../backend.js"),
|
|
39
|
+
import("../resources/search.js"),
|
|
40
|
+
]);
|
|
41
|
+
const client = connectBackend();
|
|
42
|
+
ensureAuthenticated(client.config);
|
|
43
|
+
// Search defaults to all accessible orgs; only an explicit --org scopes it
|
|
44
|
+
// (mirrors the Go CLI, which leaves the org empty unless overridden).
|
|
45
|
+
const org = globalOrg(command) ?? "";
|
|
46
|
+
const format = readFormat(options);
|
|
47
|
+
const outcome = await searchResources(client.stigmer, info.kind, query, {
|
|
48
|
+
org,
|
|
49
|
+
excludePublic: options.excludePublic === true,
|
|
50
|
+
page,
|
|
51
|
+
pageSize,
|
|
52
|
+
}, format);
|
|
53
|
+
process.stdout.write(outcome.rendered);
|
|
54
|
+
// Pagination footer is human-only: appending it to json/yaml would corrupt
|
|
55
|
+
// the machine-readable payload (a latent wart in the Go CLI we don't copy).
|
|
56
|
+
if (format !== "json" && format !== "yaml" && outcome.totalPages > 1) {
|
|
57
|
+
process.stdout.write(`\nPage ${outcome.page} of ${outcome.totalPages} (total: ${outcome.totalCount})\n`);
|
|
58
|
+
if (outcome.page < outcome.totalPages) {
|
|
59
|
+
process.stdout.write(`Use --page ${outcome.page + 1} to see more results\n`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function parsePositive(raw, fallback, flag) {
|
|
64
|
+
if (raw === undefined || raw === "")
|
|
65
|
+
return fallback;
|
|
66
|
+
if (!/^\d+$/.test(raw))
|
|
67
|
+
throw new UsageError(`invalid ${flag} value "${raw}"`);
|
|
68
|
+
const value = Number.parseInt(raw, 10);
|
|
69
|
+
if (value < 1)
|
|
70
|
+
throw new UsageError(`${flag} must be at least 1`);
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=search.js.map
|