@elie-laloum/outpost 8.0.0 → 9.0.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/CHANGELOG.md +28 -0
- package/README.md +94 -36
- package/SECURITY.md +4 -2
- package/dist/adapters/agents/agent-descriptor.types.d.ts +56 -0
- package/dist/adapters/agents/agent-descriptor.types.js +2 -0
- package/dist/adapters/agents/agent-descriptor.types.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-adapter.d.ts +3 -0
- package/dist/adapters/agents/antigravity/antigravity-adapter.js +48 -0
- package/dist/adapters/agents/antigravity/antigravity-adapter.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-authentication.d.ts +2 -0
- package/dist/adapters/agents/{antigravity-authentication.js → antigravity/antigravity-authentication.js} +5 -5
- package/dist/adapters/agents/antigravity/antigravity-authentication.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-descriptor.d.ts +37 -0
- package/dist/adapters/agents/antigravity/antigravity-descriptor.js +38 -0
- package/dist/adapters/agents/antigravity/antigravity-descriptor.js.map +1 -0
- package/dist/adapters/agents/{antigravity-diagnostics.d.ts → antigravity/antigravity-diagnostics.d.ts} +1 -1
- package/dist/adapters/agents/{antigravity-diagnostics.js → antigravity/antigravity-diagnostics.js} +1 -1
- package/dist/adapters/agents/antigravity/antigravity-diagnostics.js.map +1 -0
- package/dist/adapters/agents/{antigravity-events.d.ts → antigravity/antigravity-events.d.ts} +1 -1
- package/dist/adapters/agents/{antigravity-events.js → antigravity/antigravity-events.js} +3 -3
- package/dist/adapters/agents/antigravity/antigravity-events.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-install.constants.js.map +1 -0
- package/dist/{providers → adapters/agents/antigravity}/antigravity-install.js +1 -1
- package/dist/adapters/agents/antigravity/antigravity-install.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-install.types.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-mcp.d.ts +3 -0
- package/dist/adapters/agents/antigravity/antigravity-mcp.js +27 -0
- package/dist/adapters/agents/antigravity/antigravity-mcp.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-protocol.constants.d.ts +2 -0
- package/dist/adapters/agents/antigravity/antigravity-protocol.constants.js +56 -0
- package/dist/adapters/agents/antigravity/antigravity-protocol.constants.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity-request.d.ts +5 -0
- package/dist/adapters/agents/{antigravity-request.js → antigravity/antigravity-request.js} +2 -2
- package/dist/adapters/agents/antigravity/antigravity-request.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity.constants.d.ts +14 -0
- package/dist/adapters/agents/antigravity/antigravity.constants.js +31 -0
- package/dist/adapters/agents/antigravity/antigravity.constants.js.map +1 -0
- package/dist/adapters/agents/antigravity/antigravity.types.d.ts +9 -0
- package/dist/adapters/agents/antigravity/antigravity.types.js.map +1 -0
- package/dist/adapters/agents/authentication.constants.d.ts +0 -20
- package/dist/adapters/agents/authentication.constants.js +0 -9
- package/dist/adapters/agents/authentication.constants.js.map +1 -1
- package/dist/adapters/agents/catalog.d.ts +160 -0
- package/dist/adapters/agents/catalog.js +30 -0
- package/dist/adapters/agents/catalog.js.map +1 -0
- package/dist/adapters/agents/catalog.types.d.ts +8 -0
- package/dist/adapters/agents/catalog.types.js +2 -0
- package/dist/adapters/agents/catalog.types.js.map +1 -0
- package/dist/adapters/agents/claude/claude-adapter.d.ts +3 -0
- package/dist/adapters/agents/claude/claude-adapter.js +63 -0
- package/dist/adapters/agents/claude/claude-adapter.js.map +1 -0
- package/dist/adapters/agents/claude/claude-authentication.d.ts +2 -0
- package/dist/adapters/agents/{claude-authentication.js → claude/claude-authentication.js} +6 -9
- package/dist/adapters/agents/claude/claude-authentication.js.map +1 -0
- package/dist/adapters/agents/claude/claude-conversations.d.ts +5 -0
- package/dist/adapters/agents/claude/claude-conversations.js +22 -0
- package/dist/adapters/agents/claude/claude-conversations.js.map +1 -0
- package/dist/adapters/agents/claude/claude-descriptor.d.ts +36 -0
- package/dist/adapters/agents/claude/claude-descriptor.js +41 -0
- package/dist/adapters/agents/claude/claude-descriptor.js.map +1 -0
- package/dist/adapters/agents/claude/claude-diagnostics.d.ts +1 -0
- package/dist/adapters/agents/{claude-diagnostics.js → claude/claude-diagnostics.js} +2 -2
- package/dist/adapters/agents/claude/claude-diagnostics.js.map +1 -0
- package/dist/adapters/agents/{claude-events.d.ts → claude/claude-events.d.ts} +1 -1
- package/dist/adapters/agents/{claude-events.js → claude/claude-events.js} +5 -5
- package/dist/adapters/agents/claude/claude-events.js.map +1 -0
- package/dist/adapters/agents/claude/claude-input.d.ts +5 -0
- package/dist/adapters/agents/claude/claude-input.js +21 -0
- package/dist/adapters/agents/claude/claude-input.js.map +1 -0
- package/dist/adapters/agents/claude/claude-mcp.d.ts +4 -0
- package/dist/adapters/agents/claude/claude-mcp.js +44 -0
- package/dist/adapters/agents/claude/claude-mcp.js.map +1 -0
- package/dist/adapters/agents/claude/claude-protocol.constants.d.ts +2 -0
- package/dist/adapters/agents/claude/claude-protocol.constants.js +35 -0
- package/dist/adapters/agents/claude/claude-protocol.constants.js.map +1 -0
- package/dist/adapters/agents/claude/claude-request.d.ts +4 -0
- package/dist/adapters/agents/{claude-request.js → claude/claude-request.js} +11 -3
- package/dist/adapters/agents/claude/claude-request.js.map +1 -0
- package/dist/adapters/agents/claude/claude.constants.d.ts +26 -0
- package/dist/adapters/agents/claude/claude.constants.js +42 -0
- package/dist/adapters/agents/claude/claude.constants.js.map +1 -0
- package/dist/adapters/agents/cli-diagnostics.constants.d.ts +0 -10
- package/dist/adapters/agents/cli-diagnostics.constants.js +0 -10
- package/dist/adapters/agents/cli-diagnostics.constants.js.map +1 -1
- package/dist/adapters/agents/codex/codex-adapter.d.ts +3 -0
- package/dist/adapters/agents/codex/codex-adapter.js +48 -0
- package/dist/adapters/agents/codex/codex-adapter.js.map +1 -0
- package/dist/adapters/agents/codex/codex-app-events.d.ts +4 -0
- package/dist/adapters/agents/codex/codex-app-events.js +105 -0
- package/dist/adapters/agents/codex/codex-app-events.js.map +1 -0
- package/dist/adapters/agents/codex/codex-app-session.d.ts +6 -0
- package/dist/adapters/agents/codex/codex-app-session.js +136 -0
- package/dist/adapters/agents/codex/codex-app-session.js.map +1 -0
- package/dist/adapters/agents/codex/codex-app.constants.d.ts +17 -0
- package/dist/adapters/agents/codex/codex-app.constants.js +18 -0
- package/dist/adapters/agents/codex/codex-app.constants.js.map +1 -0
- package/dist/adapters/agents/codex/codex-authentication.d.ts +3 -0
- package/dist/adapters/agents/{codex-authentication.js → codex/codex-authentication.js} +7 -7
- package/dist/adapters/agents/codex/codex-authentication.js.map +1 -0
- package/dist/adapters/agents/codex/codex-conversations.d.ts +5 -0
- package/dist/adapters/agents/codex/codex-conversations.js +21 -0
- package/dist/adapters/agents/codex/codex-conversations.js.map +1 -0
- package/dist/adapters/agents/codex/codex-descriptor.d.ts +31 -0
- package/dist/adapters/agents/codex/codex-descriptor.js +32 -0
- package/dist/adapters/agents/codex/codex-descriptor.js.map +1 -0
- package/dist/adapters/agents/codex/codex-diagnostics.d.ts +1 -0
- package/dist/adapters/agents/{codex-diagnostics.js → codex/codex-diagnostics.js} +2 -2
- package/dist/adapters/agents/codex/codex-diagnostics.js.map +1 -0
- package/dist/adapters/agents/codex/codex-events.d.ts +2 -0
- package/dist/adapters/agents/{codex-events.js → codex/codex-events.js} +18 -5
- package/dist/adapters/agents/codex/codex-events.js.map +1 -0
- package/dist/adapters/agents/codex/codex-mcp.d.ts +4 -0
- package/dist/adapters/agents/codex/codex-mcp.js +72 -0
- package/dist/adapters/agents/codex/codex-mcp.js.map +1 -0
- package/dist/adapters/agents/codex/codex-protocol.constants.d.ts +2 -0
- package/dist/adapters/agents/codex/codex-protocol.constants.js +32 -0
- package/dist/adapters/agents/codex/codex-protocol.constants.js.map +1 -0
- package/dist/adapters/agents/{codex-provider.d.ts → codex/codex-provider.d.ts} +1 -1
- package/dist/adapters/agents/{codex-provider.js → codex/codex-provider.js} +1 -1
- package/dist/adapters/agents/codex/codex-provider.js.map +1 -0
- package/dist/adapters/agents/codex/codex-request.d.ts +4 -0
- package/dist/adapters/agents/{codex-request.js → codex/codex-request.js} +11 -2
- package/dist/adapters/agents/codex/codex-request.js.map +1 -0
- package/dist/adapters/agents/codex/codex.constants.d.ts +22 -0
- package/dist/adapters/agents/codex/codex.constants.js +38 -0
- package/dist/adapters/agents/codex/codex.constants.js.map +1 -0
- package/dist/adapters/agents/conversation-settings.d.ts +5 -0
- package/dist/adapters/agents/conversation-settings.js +13 -0
- package/dist/adapters/agents/conversation-settings.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-adapter.d.ts +3 -0
- package/dist/adapters/agents/copilot/copilot-adapter.js +53 -0
- package/dist/adapters/agents/copilot/copilot-adapter.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-authentication.d.ts +2 -0
- package/dist/adapters/agents/{copilot-authentication.js → copilot/copilot-authentication.js} +6 -6
- package/dist/adapters/agents/copilot/copilot-authentication.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-conversations.d.ts +5 -0
- package/dist/adapters/agents/copilot/copilot-conversations.js +32 -0
- package/dist/adapters/agents/copilot/copilot-conversations.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-descriptor.d.ts +36 -0
- package/dist/adapters/agents/copilot/copilot-descriptor.js +35 -0
- package/dist/adapters/agents/copilot/copilot-descriptor.js.map +1 -0
- package/dist/adapters/agents/{copilot-diagnostics.d.ts → copilot/copilot-diagnostics.d.ts} +1 -1
- package/dist/adapters/agents/{copilot-diagnostics.js → copilot/copilot-diagnostics.js} +1 -1
- package/dist/adapters/agents/copilot/copilot-diagnostics.js.map +1 -0
- package/dist/adapters/agents/{copilot-events.d.ts → copilot/copilot-events.d.ts} +1 -1
- package/dist/adapters/agents/{copilot-events.js → copilot/copilot-events.js} +4 -4
- package/dist/adapters/agents/copilot/copilot-events.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-mcp.d.ts +2 -0
- package/dist/adapters/agents/copilot/copilot-mcp.js +30 -0
- package/dist/adapters/agents/copilot/copilot-mcp.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-protocol.constants.d.ts +2 -0
- package/dist/adapters/agents/copilot/copilot-protocol.constants.js +56 -0
- package/dist/adapters/agents/copilot/copilot-protocol.constants.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot-request.d.ts +5 -0
- package/dist/adapters/agents/{copilot-request.js → copilot/copilot-request.js} +4 -3
- package/dist/adapters/agents/copilot/copilot-request.js.map +1 -0
- package/dist/adapters/agents/{copilot-usage.d.ts → copilot/copilot-usage.d.ts} +1 -1
- package/dist/adapters/agents/{copilot-usage.js → copilot/copilot-usage.js} +3 -3
- package/dist/adapters/agents/copilot/copilot-usage.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot.constants.d.ts +11 -0
- package/dist/adapters/agents/copilot/copilot.constants.js +29 -0
- package/dist/adapters/agents/copilot/copilot.constants.js.map +1 -0
- package/dist/adapters/agents/copilot/copilot.types.d.ts +10 -0
- package/dist/adapters/agents/copilot/copilot.types.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-adapter.d.ts +3 -0
- package/dist/adapters/agents/kimi/kimi-adapter.js +59 -0
- package/dist/adapters/agents/kimi/kimi-adapter.js.map +1 -0
- package/dist/adapters/agents/{kimi-authentication.d.ts → kimi/kimi-authentication.d.ts} +1 -1
- package/dist/adapters/agents/{kimi-authentication.js → kimi/kimi-authentication.js} +6 -7
- package/dist/adapters/agents/kimi/kimi-authentication.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-conversations.d.ts +5 -0
- package/dist/adapters/agents/kimi/kimi-conversations.js +49 -0
- package/dist/adapters/agents/kimi/kimi-conversations.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-descriptor.d.ts +30 -0
- package/dist/adapters/agents/kimi/kimi-descriptor.js +31 -0
- package/dist/adapters/agents/kimi/kimi-descriptor.js.map +1 -0
- package/dist/adapters/agents/{kimi-diagnostics.d.ts → kimi/kimi-diagnostics.d.ts} +1 -1
- package/dist/adapters/agents/{kimi-diagnostics.js → kimi/kimi-diagnostics.js} +1 -1
- package/dist/adapters/agents/kimi/kimi-diagnostics.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-events.d.ts +2 -0
- package/dist/adapters/agents/{kimi-events.js → kimi/kimi-events.js} +3 -3
- package/dist/adapters/agents/kimi/kimi-events.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-fork.d.ts +2 -0
- package/dist/adapters/agents/{kimi-fork.js → kimi/kimi-fork.js} +3 -3
- package/dist/adapters/agents/kimi/kimi-fork.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-mcp.d.ts +6 -0
- package/dist/adapters/agents/kimi/kimi-mcp.js +65 -0
- package/dist/adapters/agents/kimi/kimi-mcp.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-protocol.constants.d.ts +2 -0
- package/dist/adapters/agents/kimi/kimi-protocol.constants.js +50 -0
- package/dist/adapters/agents/kimi/kimi-protocol.constants.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-request.d.ts +5 -0
- package/dist/adapters/agents/{kimi-request.js → kimi/kimi-request.js} +3 -3
- package/dist/adapters/agents/kimi/kimi-request.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi-usage.d.ts +2 -0
- package/dist/adapters/agents/{kimi-usage.js → kimi/kimi-usage.js} +2 -2
- package/dist/adapters/agents/kimi/kimi-usage.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi.constants.d.ts +28 -0
- package/dist/adapters/agents/kimi/kimi.constants.js +51 -0
- package/dist/adapters/agents/kimi/kimi.constants.js.map +1 -0
- package/dist/adapters/agents/kimi/kimi.types.d.ts +11 -0
- package/dist/adapters/agents/kimi/kimi.types.js.map +1 -0
- package/dist/adapters/agents/mcp-configuration.d.ts +12 -0
- package/dist/adapters/agents/mcp-configuration.js +57 -0
- package/dist/adapters/agents/mcp-configuration.js.map +1 -0
- package/dist/adapters/agents/mcp-support.types.d.ts +7 -0
- package/dist/adapters/agents/mcp-support.types.js +2 -0
- package/dist/adapters/agents/mcp-support.types.js.map +1 -0
- package/dist/adapters/agents/model-support.constants.d.ts +0 -7
- package/dist/adapters/agents/model-support.constants.js +0 -26
- package/dist/adapters/agents/model-support.constants.js.map +1 -1
- package/dist/adapters/agents/model-support.d.ts +2 -1
- package/dist/adapters/agents/model-support.js +12 -1
- package/dist/adapters/agents/model-support.js.map +1 -1
- package/dist/adapters/agents/protocol-fixtures.types.d.ts +0 -1
- package/dist/adapters/agents/protocol-fixtures.types.js.map +1 -1
- package/dist/adapters/agents/settings.types.d.ts +12 -0
- package/dist/adapters/agents/settings.types.js.map +1 -1
- package/dist/adapters/agents/text-matcher.d.ts +1 -0
- package/dist/adapters/agents/text-matcher.js +5 -0
- package/dist/adapters/agents/text-matcher.js.map +1 -0
- package/dist/adapters/agents/unavailable.constants.d.ts +3 -0
- package/dist/adapters/agents/unavailable.constants.js +13 -0
- package/dist/adapters/agents/unavailable.constants.js.map +1 -0
- package/dist/adapters/models/anthropic-model-provider.d.ts +1 -1
- package/dist/adapters/models/anthropic-model-provider.js +1 -1
- package/dist/adapters/models/anthropic-model-provider.js.map +1 -1
- package/dist/adapters/models/http-provider.js +5 -2
- package/dist/adapters/models/http-provider.js.map +1 -1
- package/dist/adapters/models/model.constants.d.ts +3 -0
- package/dist/adapters/models/model.constants.js +9 -0
- package/dist/adapters/models/model.constants.js.map +1 -1
- package/dist/adapters/models/openai-model-provider.d.ts +1 -1
- package/dist/adapters/models/openai-model-provider.js +1 -1
- package/dist/adapters/models/openai-model-provider.js.map +1 -1
- package/dist/adapters/models/stream-events.js +7 -2
- package/dist/adapters/models/stream-events.js.map +1 -1
- package/dist/adapters/tools/edit-tools.d.ts +1 -1
- package/dist/adapters/tools/edit-tools.js +1 -1
- package/dist/adapters/tools/edit-tools.js.map +1 -1
- package/dist/adapters/tools/file-tools.d.ts +1 -1
- package/dist/adapters/tools/file-tools.js +1 -1
- package/dist/adapters/tools/file-tools.js.map +1 -1
- package/dist/adapters/tools/git-tools.d.ts +1 -1
- package/dist/adapters/tools/git-tools.js +1 -1
- package/dist/adapters/tools/git-tools.js.map +1 -1
- package/dist/adapters/tools/mcp-connection.d.ts +2 -0
- package/dist/adapters/tools/mcp-connection.js +93 -0
- package/dist/adapters/tools/mcp-connection.js.map +1 -0
- package/dist/adapters/tools/mcp-content.d.ts +4 -0
- package/dist/adapters/tools/mcp-content.js +24 -0
- package/dist/adapters/tools/mcp-content.js.map +1 -0
- package/dist/adapters/tools/mcp-launcher.constants.d.ts +1 -0
- package/dist/adapters/tools/mcp-launcher.constants.js +210 -0
- package/dist/adapters/tools/mcp-launcher.constants.js.map +1 -0
- package/dist/adapters/tools/mcp-process.d.ts +4 -0
- package/dist/adapters/tools/mcp-process.js +65 -0
- package/dist/adapters/tools/mcp-process.js.map +1 -0
- package/dist/adapters/tools/mcp-resources.d.ts +5 -0
- package/dist/adapters/tools/mcp-resources.js +157 -0
- package/dist/adapters/tools/mcp-resources.js.map +1 -0
- package/dist/adapters/tools/mcp-tools.d.ts +6 -0
- package/dist/adapters/tools/mcp-tools.js +98 -0
- package/dist/adapters/tools/mcp-tools.js.map +1 -0
- package/dist/adapters/tools/mcp.constants.d.ts +22 -0
- package/dist/adapters/tools/mcp.constants.js +24 -0
- package/dist/adapters/tools/mcp.constants.js.map +1 -0
- package/dist/adapters/tools/mcp.d.ts +4 -0
- package/dist/adapters/tools/mcp.js +88 -0
- package/dist/adapters/tools/mcp.js.map +1 -0
- package/dist/adapters/tools/mcp.types.d.ts +55 -0
- package/dist/adapters/tools/mcp.types.js +2 -0
- package/dist/adapters/tools/mcp.types.js.map +1 -0
- package/dist/adapters/tools/search-tools.d.ts +1 -1
- package/dist/adapters/tools/search-tools.js +1 -1
- package/dist/adapters/tools/search-tools.js.map +1 -1
- package/dist/adapters/tools/shell-tools.d.ts +1 -1
- package/dist/adapters/tools/shell-tools.js +1 -1
- package/dist/adapters/tools/shell-tools.js.map +1 -1
- package/dist/adapters/triggers/github-webhook.d.ts +4 -0
- package/dist/adapters/triggers/github-webhook.js +41 -0
- package/dist/adapters/triggers/github-webhook.js.map +1 -0
- package/dist/adapters/triggers/gitlab-webhook.d.ts +4 -0
- package/dist/adapters/triggers/gitlab-webhook.js +48 -0
- package/dist/adapters/triggers/gitlab-webhook.js.map +1 -0
- package/dist/adapters/triggers/slack-request.d.ts +4 -0
- package/dist/adapters/triggers/slack-request.js +55 -0
- package/dist/adapters/triggers/slack-request.js.map +1 -0
- package/dist/adapters/triggers/standard-webhook.d.ts +6 -0
- package/dist/adapters/triggers/standard-webhook.js +50 -0
- package/dist/adapters/triggers/standard-webhook.js.map +1 -0
- package/dist/adapters/triggers/trigger-body.d.ts +5 -0
- package/dist/adapters/triggers/trigger-body.js +16 -0
- package/dist/adapters/triggers/trigger-body.js.map +1 -0
- package/dist/adapters/triggers/trigger-events.d.ts +6 -0
- package/dist/adapters/triggers/trigger-events.js +91 -0
- package/dist/adapters/triggers/trigger-events.js.map +1 -0
- package/dist/adapters/triggers/triggers.types.d.ts +47 -0
- package/dist/adapters/triggers/triggers.types.js +2 -0
- package/dist/adapters/triggers/triggers.types.js.map +1 -0
- package/dist/application/agent-bootstrap.js +16 -19
- package/dist/application/agent-bootstrap.js.map +1 -1
- package/dist/application/agent-bootstrap.types.d.ts +2 -11
- package/dist/application/agent-bootstrap.types.js.map +1 -1
- package/dist/application/agent-configuration.d.ts +4 -0
- package/dist/application/agent-configuration.js +50 -0
- package/dist/application/agent-configuration.js.map +1 -0
- package/dist/application/agent-failure.d.ts +11 -0
- package/dist/application/agent-failure.js +48 -0
- package/dist/application/agent-failure.js.map +1 -0
- package/dist/application/agent-fallback.d.ts +5 -0
- package/dist/application/agent-fallback.js +90 -0
- package/dist/application/agent-fallback.js.map +1 -0
- package/dist/application/agent-fallback.types.d.ts +9 -0
- package/dist/application/agent-fallback.types.js +2 -0
- package/dist/application/agent-fallback.types.js.map +1 -0
- package/dist/application/agent-output.js +9 -1
- package/dist/application/agent-output.js.map +1 -1
- package/dist/application/agent-storage.js +5 -10
- package/dist/application/agent-storage.js.map +1 -1
- package/dist/application/agent-turn.js +35 -19
- package/dist/application/agent-turn.js.map +1 -1
- package/dist/application/artifact-tasks.d.ts +1 -1
- package/dist/application/artifact-tasks.js +3 -3
- package/dist/application/artifact-tasks.js.map +1 -1
- package/dist/application/cli-steering.d.ts +6 -0
- package/dist/application/cli-steering.js +107 -0
- package/dist/application/cli-steering.js.map +1 -0
- package/dist/application/cli-steering.types.d.ts +15 -0
- package/dist/application/cli-steering.types.js +2 -0
- package/dist/application/cli-steering.types.js.map +1 -0
- package/dist/application/configuration-installer.constants.d.ts +1 -0
- package/dist/application/configuration-installer.constants.js +37 -0
- package/dist/application/configuration-installer.constants.js.map +1 -0
- package/dist/application/conversation-stores.d.ts +13 -0
- package/dist/application/conversation-stores.js +15 -0
- package/dist/application/conversation-stores.js.map +1 -0
- package/dist/application/custom-turn.js +11 -4
- package/dist/application/custom-turn.js.map +1 -1
- package/dist/application/dispatch-observation.js +5 -1
- package/dist/application/dispatch-observation.js.map +1 -1
- package/dist/application/dispatch-validation.js +10 -1
- package/dist/application/dispatch-validation.js.map +1 -1
- package/dist/application/dispatch.d.ts +2 -4
- package/dist/application/dispatch.js +20 -5
- package/dist/application/dispatch.js.map +1 -1
- package/dist/application/doctor-agent.constants.d.ts +2 -2
- package/dist/application/doctor-agent.constants.js +11 -45
- package/dist/application/doctor-agent.constants.js.map +1 -1
- package/dist/application/doctor-protocol.js +1 -2
- package/dist/application/doctor-protocol.js.map +1 -1
- package/dist/application/doctor.types.d.ts +4 -1
- package/dist/application/doctor.types.js.map +1 -1
- package/dist/application/execution.constants.d.ts +2 -0
- package/dist/application/execution.constants.js +2 -0
- package/dist/application/execution.constants.js.map +1 -1
- package/dist/application/execution.js +13 -5
- package/dist/application/execution.js.map +1 -1
- package/dist/application/execution.types.d.ts +9 -2
- package/dist/application/execution.types.js.map +1 -1
- package/dist/application/harness-loop.js +20 -5
- package/dist/application/harness-loop.js.map +1 -1
- package/dist/application/harness-mcp.d.ts +4 -0
- package/dist/application/harness-mcp.js +16 -0
- package/dist/application/harness-mcp.js.map +1 -0
- package/dist/application/harness-steering.d.ts +4 -0
- package/dist/application/harness-steering.js +16 -0
- package/dist/application/harness-steering.js.map +1 -0
- package/dist/application/harness-subagent.js +9 -4
- package/dist/application/harness-subagent.js.map +1 -1
- package/dist/application/harness.types.d.ts +12 -0
- package/dist/application/harness.types.js.map +1 -1
- package/dist/application/interactive-task-protocol.js +2 -2
- package/dist/application/interactive-task-protocol.js.map +1 -1
- package/dist/application/interactive-task.d.ts +1 -1
- package/dist/application/interactive-task.js +3 -3
- package/dist/application/interactive-task.js.map +1 -1
- package/dist/application/outpost.types.d.ts +8 -2
- package/dist/application/outpost.types.js.map +1 -1
- package/dist/application/queued-task.d.ts +1 -1
- package/dist/application/queued-task.js +3 -3
- package/dist/application/queued-task.js.map +1 -1
- package/dist/application/quota-resume.d.ts +1 -1
- package/dist/application/quota-resume.js +6 -2
- package/dist/application/quota-resume.js.map +1 -1
- package/dist/application/replay-turn.js +37 -17
- package/dist/application/replay-turn.js.map +1 -1
- package/dist/application/sandbox-agents.js +8 -6
- package/dist/application/sandbox-agents.js.map +1 -1
- package/dist/application/sandbox-attach.js +6 -6
- package/dist/application/sandbox-attach.js.map +1 -1
- package/dist/application/sandbox-dispatch.js +84 -42
- package/dist/application/sandbox-dispatch.js.map +1 -1
- package/dist/application/sandbox-provision.js +6 -4
- package/dist/application/sandbox-provision.js.map +1 -1
- package/dist/application/sandbox-session.types.d.ts +20 -0
- package/dist/application/sandbox-session.types.js.map +1 -1
- package/dist/application/sandbox.js +3 -2
- package/dist/application/sandbox.js.map +1 -1
- package/dist/application/schedules.constants.d.ts +3 -0
- package/dist/application/schedules.constants.js +4 -0
- package/dist/application/schedules.constants.js.map +1 -0
- package/dist/application/schedules.d.ts +5 -0
- package/dist/application/schedules.js +80 -0
- package/dist/application/schedules.js.map +1 -0
- package/dist/application/schedules.types.d.ts +30 -0
- package/dist/application/schedules.types.js +2 -0
- package/dist/application/schedules.types.js.map +1 -0
- package/dist/application/speculation.types.d.ts +2 -2
- package/dist/application/speculation.types.js.map +1 -1
- package/dist/application/steering-scope.d.ts +7 -0
- package/dist/application/steering-scope.js +33 -0
- package/dist/application/steering-scope.js.map +1 -0
- package/dist/application/steering-turns.d.ts +4 -0
- package/dist/application/steering-turns.js +47 -0
- package/dist/application/steering-turns.js.map +1 -0
- package/dist/application/steering-turns.types.d.ts +7 -0
- package/dist/application/steering-turns.types.js +2 -0
- package/dist/application/steering-turns.types.js.map +1 -0
- package/dist/application/stop-reason.js +3 -0
- package/dist/application/stop-reason.js.map +1 -1
- package/dist/application/tasks.d.ts +3 -3
- package/dist/application/tasks.js +8 -8
- package/dist/application/tasks.js.map +1 -1
- package/dist/application/tasks.types.d.ts +2 -2
- package/dist/application/tasks.types.js.map +1 -1
- package/dist/application/tool-execution.js +1 -0
- package/dist/application/tool-execution.js.map +1 -1
- package/dist/application/workflow-job.d.ts +4 -0
- package/dist/application/workflow-job.js +83 -0
- package/dist/application/workflow-job.js.map +1 -0
- package/dist/application/workflow-job.types.d.ts +21 -0
- package/dist/application/workflow-job.types.js +2 -0
- package/dist/application/workflow-job.types.js.map +1 -0
- package/dist/cli/image-recipe.d.ts +4 -0
- package/dist/cli/image-recipe.js +28 -0
- package/dist/cli/image-recipe.js.map +1 -0
- package/dist/cli/init-authentication.d.ts +2 -1
- package/dist/cli/init-authentication.js +2 -4
- package/dist/cli/init-authentication.js.map +1 -1
- package/dist/cli/init-command.js +4 -3
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/main.constants.d.ts +2 -59
- package/dist/cli/main.constants.js +3 -75
- package/dist/cli/main.constants.js.map +1 -1
- package/dist/cli/main.js +0 -0
- package/dist/cli/scaffold-validation.js +7 -13
- package/dist/cli/scaffold-validation.js.map +1 -1
- package/dist/cli/scaffold.constants.js +3 -7
- package/dist/cli/scaffold.constants.js.map +1 -1
- package/dist/cli/scaffold.types.d.ts +4 -8
- package/dist/cli/scaffold.types.js.map +1 -1
- package/dist/cli/starters.js +13 -5
- package/dist/cli/starters.js.map +1 -1
- package/dist/domain/agent.d.ts +3 -3
- package/dist/domain/agent.js +2 -2
- package/dist/domain/agent.js.map +1 -1
- package/dist/domain/agent.types.d.ts +53 -2
- package/dist/domain/agent.types.js.map +1 -1
- package/dist/domain/artifact.d.ts +2 -4
- package/dist/domain/artifact.js +38 -40
- package/dist/domain/artifact.js.map +1 -1
- package/dist/domain/command.types.d.ts +2 -0
- package/dist/domain/command.types.js.map +1 -1
- package/dist/domain/conversation.d.ts +3 -0
- package/dist/domain/conversation.js +18 -0
- package/dist/domain/conversation.js.map +1 -0
- package/dist/domain/conversation.types.d.ts +9 -0
- package/dist/domain/conversation.types.js.map +1 -1
- package/dist/domain/cron.constants.d.ts +10 -0
- package/dist/domain/cron.constants.js +47 -0
- package/dist/domain/cron.constants.js.map +1 -0
- package/dist/domain/cron.d.ts +2 -0
- package/dist/domain/cron.js +169 -0
- package/dist/domain/cron.js.map +1 -0
- package/dist/domain/cron.types.d.ts +27 -0
- package/dist/domain/cron.types.js +2 -0
- package/dist/domain/cron.types.js.map +1 -0
- package/dist/domain/errors.constants.d.ts +1 -0
- package/dist/domain/errors.constants.js +2 -0
- package/dist/domain/errors.constants.js.map +1 -0
- package/dist/domain/errors.d.ts +2 -0
- package/dist/domain/errors.js +13 -0
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/errors.types.d.ts +1 -1
- package/dist/domain/errors.types.js.map +1 -1
- package/dist/domain/fallback-agent.constants.d.ts +3 -0
- package/dist/domain/fallback-agent.constants.js +10 -0
- package/dist/domain/fallback-agent.constants.js.map +1 -0
- package/dist/domain/fallback-agent.d.ts +7 -0
- package/dist/domain/fallback-agent.js +46 -0
- package/dist/domain/fallback-agent.js.map +1 -0
- package/dist/domain/fallback-agent.types.d.ts +37 -0
- package/dist/domain/fallback-agent.types.js +2 -0
- package/dist/domain/fallback-agent.types.js.map +1 -0
- package/dist/domain/harness.constants.js +1 -0
- package/dist/domain/harness.constants.js.map +1 -1
- package/dist/domain/harness.d.ts +1 -1
- package/dist/domain/harness.js +15 -9
- package/dist/domain/harness.js.map +1 -1
- package/dist/domain/harness.types.d.ts +7 -0
- package/dist/domain/harness.types.js.map +1 -1
- package/dist/domain/mcp-prompt.d.ts +3 -0
- package/dist/domain/mcp-prompt.js +21 -0
- package/dist/domain/mcp-prompt.js.map +1 -0
- package/dist/domain/mcp-prompt.types.d.ts +5 -0
- package/dist/domain/mcp-prompt.types.js +2 -0
- package/dist/domain/mcp-prompt.types.js.map +1 -0
- package/dist/domain/mcp-server.constants.d.ts +11 -0
- package/dist/domain/mcp-server.constants.js +37 -0
- package/dist/domain/mcp-server.constants.js.map +1 -0
- package/dist/domain/mcp-server.d.ts +7 -0
- package/dist/domain/mcp-server.js +186 -0
- package/dist/domain/mcp-server.js.map +1 -0
- package/dist/domain/mcp-server.types.d.ts +29 -0
- package/dist/domain/mcp-server.types.js +2 -0
- package/dist/domain/mcp-server.types.js.map +1 -0
- package/dist/domain/ports.d.ts +2 -2
- package/dist/domain/ports.js.map +1 -1
- package/dist/domain/quota.js +14 -21
- package/dist/domain/quota.js.map +1 -1
- package/dist/domain/replay.constants.js +2 -0
- package/dist/domain/replay.constants.js.map +1 -1
- package/dist/domain/replay.d.ts +1 -1
- package/dist/domain/replay.js +82 -5
- package/dist/domain/replay.js.map +1 -1
- package/dist/domain/replay.types.d.ts +20 -1
- package/dist/domain/replay.types.js.map +1 -1
- package/dist/domain/response.d.ts +2 -4
- package/dist/domain/response.js +7 -5
- package/dist/domain/response.js.map +1 -1
- package/dist/domain/sandbox.types.d.ts +2 -0
- package/dist/domain/sandbox.types.js.map +1 -1
- package/dist/domain/steering.d.ts +10 -0
- package/dist/domain/steering.js +88 -0
- package/dist/domain/steering.js.map +1 -0
- package/dist/domain/steering.types.d.ts +42 -0
- package/dist/domain/steering.types.js +2 -0
- package/dist/domain/steering.types.js.map +1 -0
- package/dist/domain/subagent.js +2 -2
- package/dist/domain/subagent.js.map +1 -1
- package/dist/domain/trigger-job.constants.d.ts +2 -0
- package/dist/domain/trigger-job.constants.js +3 -0
- package/dist/domain/trigger-job.constants.js.map +1 -0
- package/dist/domain/trigger-job.d.ts +5 -0
- package/dist/domain/trigger-job.js +22 -0
- package/dist/domain/trigger-job.js.map +1 -0
- package/dist/domain/trigger-job.types.d.ts +14 -0
- package/dist/domain/trigger-job.types.js +2 -0
- package/dist/domain/trigger-job.types.js.map +1 -0
- package/dist/domain/trigger.constants.d.ts +5 -0
- package/dist/domain/trigger.constants.js +6 -0
- package/dist/domain/trigger.constants.js.map +1 -0
- package/dist/domain/trigger.d.ts +8 -0
- package/dist/domain/trigger.js +32 -0
- package/dist/domain/trigger.js.map +1 -0
- package/dist/domain/trigger.types.d.ts +35 -0
- package/dist/domain/trigger.types.js +2 -0
- package/dist/domain/trigger.types.js.map +1 -0
- package/dist/domain/unavailable.d.ts +3 -0
- package/dist/domain/unavailable.js +9 -0
- package/dist/domain/unavailable.js.map +1 -0
- package/dist/domain/unavailable.types.d.ts +4 -0
- package/dist/domain/unavailable.types.js +2 -0
- package/dist/domain/unavailable.types.js.map +1 -0
- package/dist/domain/workflow/canonical-json.d.ts +3 -0
- package/dist/domain/workflow/canonical-json.js +13 -0
- package/dist/domain/workflow/canonical-json.js.map +1 -0
- package/dist/domain/workflow/gates.d.ts +2 -2
- package/dist/domain/workflow/gates.js +4 -4
- package/dist/domain/workflow/gates.js.map +1 -1
- package/dist/domain/workflow/loop-task.d.ts +1 -1
- package/dist/domain/workflow/loop-task.js +5 -5
- package/dist/domain/workflow/loop-task.js.map +1 -1
- package/dist/domain/workflow/task-cache-entry.js +1 -11
- package/dist/domain/workflow/task-cache-entry.js.map +1 -1
- package/dist/domain/workflow/task.d.ts +1 -1
- package/dist/domain/workflow/task.js +1 -1
- package/dist/domain/workflow/task.js.map +1 -1
- package/dist/domain/workflow.d.ts +2 -2
- package/dist/domain/workflow.js +2 -2
- package/dist/domain/workflow.js.map +1 -1
- package/dist/index.d.ts +66 -35
- package/dist/index.js +49 -32
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/conversations/harness-store.d.ts +1 -1
- package/dist/infrastructure/conversations/harness-store.js +2 -1
- package/dist/infrastructure/conversations/harness-store.js.map +1 -1
- package/dist/infrastructure/conversations/layout.types.d.ts +6 -1
- package/dist/infrastructure/conversations/layout.types.js.map +1 -1
- package/dist/infrastructure/conversations/session-bundle.constants.js +36 -62
- package/dist/infrastructure/conversations/session-bundle.constants.js.map +1 -1
- package/dist/infrastructure/conversations/session-bundle.d.ts +8 -5
- package/dist/infrastructure/conversations/session-bundle.js +64 -7
- package/dist/infrastructure/conversations/session-bundle.js.map +1 -1
- package/dist/infrastructure/conversations/session-bundle.types.d.ts +48 -1
- package/dist/infrastructure/conversations/session-bundle.types.js.map +1 -1
- package/dist/infrastructure/conversations/transcript-store.d.ts +4 -0
- package/dist/infrastructure/conversations/transcript-store.js +134 -0
- package/dist/infrastructure/conversations/transcript-store.js.map +1 -0
- package/dist/infrastructure/conversations.d.ts +6 -29
- package/dist/infrastructure/conversations.js +5 -37
- package/dist/infrastructure/conversations.js.map +1 -1
- package/dist/infrastructure/conversations.types.d.ts +2 -2
- package/dist/infrastructure/conversations.types.js.map +1 -1
- package/dist/infrastructure/custom-reporter.d.ts +1 -1
- package/dist/infrastructure/custom-reporter.js +1 -1
- package/dist/infrastructure/custom-reporter.js.map +1 -1
- package/dist/infrastructure/git/lock.constants.d.ts +4 -0
- package/dist/infrastructure/git/lock.constants.js +5 -0
- package/dist/infrastructure/git/lock.constants.js.map +1 -0
- package/dist/infrastructure/git/lock.js +19 -2
- package/dist/infrastructure/git/lock.js.map +1 -1
- package/dist/infrastructure/inspection-file.d.ts +4 -0
- package/dist/infrastructure/inspection-file.js +9 -2
- package/dist/infrastructure/inspection-file.js.map +1 -1
- package/dist/infrastructure/journal.js +2 -2
- package/dist/infrastructure/journal.js.map +1 -1
- package/dist/infrastructure/local-transport.d.ts +1 -1
- package/dist/infrastructure/local-transport.js +33 -7
- package/dist/infrastructure/local-transport.js.map +1 -1
- package/dist/infrastructure/opentelemetry.d.ts +1 -1
- package/dist/infrastructure/opentelemetry.js +1 -1
- package/dist/infrastructure/opentelemetry.js.map +1 -1
- package/dist/infrastructure/process.js +19 -5
- package/dist/infrastructure/process.js.map +1 -1
- package/dist/infrastructure/reporter.d.ts +1 -1
- package/dist/infrastructure/reporter.js +12 -1
- package/dist/infrastructure/reporter.js.map +1 -1
- package/dist/infrastructure/repository-transport.js +2 -2
- package/dist/infrastructure/repository-transport.js.map +1 -1
- package/dist/infrastructure/s3-transport.d.ts +1 -1
- package/dist/infrastructure/s3-transport.js +1 -1
- package/dist/infrastructure/s3-transport.js.map +1 -1
- package/dist/infrastructure/task-queue-bullmq.d.ts +1 -1
- package/dist/infrastructure/task-queue-bullmq.js +1 -1
- package/dist/infrastructure/task-queue-bullmq.js.map +1 -1
- package/dist/infrastructure/task-queue-http.d.ts +1 -1
- package/dist/infrastructure/task-queue-http.js +1 -1
- package/dist/infrastructure/task-queue-http.js.map +1 -1
- package/dist/infrastructure/task-queue.d.ts +1 -1
- package/dist/infrastructure/task-queue.js +1 -1
- package/dist/infrastructure/task-queue.js.map +1 -1
- package/dist/infrastructure/transport-artifact-store.d.ts +1 -1
- package/dist/infrastructure/transport-artifact-store.js +1 -1
- package/dist/infrastructure/transport-artifact-store.js.map +1 -1
- package/dist/infrastructure/transport-checkpoint.d.ts +1 -1
- package/dist/infrastructure/transport-checkpoint.js +1 -1
- package/dist/infrastructure/transport-checkpoint.js.map +1 -1
- package/dist/infrastructure/transport-conversations.d.ts +2 -2
- package/dist/infrastructure/transport-conversations.js +11 -15
- package/dist/infrastructure/transport-conversations.js.map +1 -1
- package/dist/infrastructure/transport-task-cache.d.ts +1 -1
- package/dist/infrastructure/transport-task-cache.js +1 -1
- package/dist/infrastructure/transport-task-cache.js.map +1 -1
- package/dist/infrastructure/transport.constants.d.ts +2 -0
- package/dist/infrastructure/transport.constants.js +2 -0
- package/dist/infrastructure/transport.constants.js.map +1 -1
- package/dist/infrastructure/trigger-server.constants.d.ts +2 -0
- package/dist/infrastructure/trigger-server.constants.js +3 -0
- package/dist/infrastructure/trigger-server.constants.js.map +1 -0
- package/dist/infrastructure/trigger-server.d.ts +3 -0
- package/dist/infrastructure/trigger-server.js +153 -0
- package/dist/infrastructure/trigger-server.js.map +1 -0
- package/dist/infrastructure/trigger-server.types.d.ts +30 -0
- package/dist/infrastructure/trigger-server.types.js +2 -0
- package/dist/infrastructure/trigger-server.types.js.map +1 -0
- package/dist/infrastructure/webhook-signature.d.ts +8 -0
- package/dist/infrastructure/webhook-signature.js +43 -0
- package/dist/infrastructure/webhook-signature.js.map +1 -0
- package/dist/infrastructure/workflow-decision-signature.d.ts +1 -1
- package/dist/infrastructure/workflow-decision-signature.js +1 -1
- package/dist/infrastructure/workflow-decision-signature.js.map +1 -1
- package/dist/providers/agents.d.ts +8 -8
- package/dist/providers/agents.js +5 -5
- package/dist/providers/agents.js.map +1 -1
- package/dist/providers/cloud-input.constants.d.ts +2 -0
- package/dist/providers/cloud-input.constants.js +24 -0
- package/dist/providers/cloud-input.constants.js.map +1 -0
- package/dist/providers/cloud-input.d.ts +8 -0
- package/dist/providers/cloud-input.js +42 -0
- package/dist/providers/cloud-input.js.map +1 -0
- package/dist/providers/cloud-input.types.d.ts +4 -0
- package/dist/providers/cloud-input.types.js +2 -0
- package/dist/providers/cloud-input.types.js.map +1 -0
- package/dist/providers/container.js +1 -0
- package/dist/providers/container.js.map +1 -1
- package/dist/providers/daytona-command.js +31 -13
- package/dist/providers/daytona-command.js.map +1 -1
- package/dist/providers/daytona.d.ts +1 -1
- package/dist/providers/daytona.js +2 -2
- package/dist/providers/daytona.js.map +1 -1
- package/dist/providers/docker.d.ts +1 -1
- package/dist/providers/docker.js +1 -1
- package/dist/providers/docker.js.map +1 -1
- package/dist/providers/factories.d.ts +2 -2
- package/dist/providers/factories.js +2 -2
- package/dist/providers/factories.js.map +1 -1
- package/dist/providers/firecracker.d.ts +1 -1
- package/dist/providers/firecracker.js +2 -1
- package/dist/providers/firecracker.js.map +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/local.js +2 -1
- package/dist/providers/local.js.map +1 -1
- package/dist/providers/podman.d.ts +1 -1
- package/dist/providers/podman.js +1 -1
- package/dist/providers/podman.js.map +1 -1
- package/dist/providers/vercel-command.js +51 -14
- package/dist/providers/vercel-command.js.map +1 -1
- package/dist/providers/vercel.d.ts +1 -1
- package/dist/providers/vercel.js +2 -2
- package/dist/providers/vercel.js.map +1 -1
- package/dist/providers/versions.constants.d.ts +1 -7
- package/dist/providers/versions.constants.js +2 -7
- package/dist/providers/versions.constants.js.map +1 -1
- package/package.json +17 -16
- package/dist/adapters/agents/antigravity-adapter.d.ts +0 -3
- package/dist/adapters/agents/antigravity-adapter.js +0 -44
- package/dist/adapters/agents/antigravity-adapter.js.map +0 -1
- package/dist/adapters/agents/antigravity-authentication.d.ts +0 -2
- package/dist/adapters/agents/antigravity-authentication.js.map +0 -1
- package/dist/adapters/agents/antigravity-diagnostics.js.map +0 -1
- package/dist/adapters/agents/antigravity-events.js.map +0 -1
- package/dist/adapters/agents/antigravity-request.d.ts +0 -5
- package/dist/adapters/agents/antigravity-request.js.map +0 -1
- package/dist/adapters/agents/antigravity.constants.d.ts +0 -3
- package/dist/adapters/agents/antigravity.constants.js +0 -4
- package/dist/adapters/agents/antigravity.constants.js.map +0 -1
- package/dist/adapters/agents/antigravity.types.d.ts +0 -7
- package/dist/adapters/agents/antigravity.types.js.map +0 -1
- package/dist/adapters/agents/claude-adapter.d.ts +0 -3
- package/dist/adapters/agents/claude-adapter.js +0 -48
- package/dist/adapters/agents/claude-adapter.js.map +0 -1
- package/dist/adapters/agents/claude-authentication.d.ts +0 -2
- package/dist/adapters/agents/claude-authentication.js.map +0 -1
- package/dist/adapters/agents/claude-diagnostics.d.ts +0 -1
- package/dist/adapters/agents/claude-diagnostics.js.map +0 -1
- package/dist/adapters/agents/claude-events.js.map +0 -1
- package/dist/adapters/agents/claude-request.d.ts +0 -4
- package/dist/adapters/agents/claude-request.js.map +0 -1
- package/dist/adapters/agents/codex-adapter.d.ts +0 -3
- package/dist/adapters/agents/codex-adapter.js +0 -37
- package/dist/adapters/agents/codex-adapter.js.map +0 -1
- package/dist/adapters/agents/codex-authentication.d.ts +0 -3
- package/dist/adapters/agents/codex-authentication.js.map +0 -1
- package/dist/adapters/agents/codex-diagnostics.d.ts +0 -1
- package/dist/adapters/agents/codex-diagnostics.js.map +0 -1
- package/dist/adapters/agents/codex-events.d.ts +0 -2
- package/dist/adapters/agents/codex-events.js.map +0 -1
- package/dist/adapters/agents/codex-provider.js.map +0 -1
- package/dist/adapters/agents/codex-request.d.ts +0 -4
- package/dist/adapters/agents/codex-request.js.map +0 -1
- package/dist/adapters/agents/copilot-adapter.d.ts +0 -3
- package/dist/adapters/agents/copilot-adapter.js +0 -48
- package/dist/adapters/agents/copilot-adapter.js.map +0 -1
- package/dist/adapters/agents/copilot-authentication.d.ts +0 -2
- package/dist/adapters/agents/copilot-authentication.js.map +0 -1
- package/dist/adapters/agents/copilot-diagnostics.js.map +0 -1
- package/dist/adapters/agents/copilot-events.js.map +0 -1
- package/dist/adapters/agents/copilot-request.d.ts +0 -5
- package/dist/adapters/agents/copilot-request.js.map +0 -1
- package/dist/adapters/agents/copilot-usage.js.map +0 -1
- package/dist/adapters/agents/copilot.types.d.ts +0 -6
- package/dist/adapters/agents/copilot.types.js.map +0 -1
- package/dist/adapters/agents/kimi-adapter.d.ts +0 -3
- package/dist/adapters/agents/kimi-adapter.js +0 -54
- package/dist/adapters/agents/kimi-adapter.js.map +0 -1
- package/dist/adapters/agents/kimi-authentication.js.map +0 -1
- package/dist/adapters/agents/kimi-diagnostics.js.map +0 -1
- package/dist/adapters/agents/kimi-events.d.ts +0 -2
- package/dist/adapters/agents/kimi-events.js.map +0 -1
- package/dist/adapters/agents/kimi-fork.d.ts +0 -2
- package/dist/adapters/agents/kimi-fork.js.map +0 -1
- package/dist/adapters/agents/kimi-request.d.ts +0 -5
- package/dist/adapters/agents/kimi-request.js.map +0 -1
- package/dist/adapters/agents/kimi-usage.d.ts +0 -2
- package/dist/adapters/agents/kimi-usage.js.map +0 -1
- package/dist/adapters/agents/kimi.constants.d.ts +0 -13
- package/dist/adapters/agents/kimi.constants.js +0 -14
- package/dist/adapters/agents/kimi.constants.js.map +0 -1
- package/dist/adapters/agents/kimi.types.d.ts +0 -7
- package/dist/adapters/agents/kimi.types.js.map +0 -1
- package/dist/adapters/agents/protocol-fixtures.constants.d.ts +0 -2
- package/dist/adapters/agents/protocol-fixtures.constants.js +0 -227
- package/dist/adapters/agents/protocol-fixtures.constants.js.map +0 -1
- package/dist/adapters/agents/quota.constants.d.ts +0 -7
- package/dist/adapters/agents/quota.constants.js +0 -31
- package/dist/adapters/agents/quota.constants.js.map +0 -1
- package/dist/adapters/agents/quota.d.ts +0 -1
- package/dist/adapters/agents/quota.js +0 -4
- package/dist/adapters/agents/quota.js.map +0 -1
- package/dist/application/agent-bootstrap.constants.d.ts +0 -2
- package/dist/application/agent-bootstrap.constants.js +0 -30
- package/dist/application/agent-bootstrap.constants.js.map +0 -1
- package/dist/application/agent-quota.d.ts +0 -7
- package/dist/application/agent-quota.js +0 -33
- package/dist/application/agent-quota.js.map +0 -1
- package/dist/domain/quota.constants.d.ts +0 -1
- package/dist/domain/quota.constants.js +0 -2
- package/dist/domain/quota.constants.js.map +0 -1
- package/dist/infrastructure/conversations/capture.d.ts +0 -4
- package/dist/infrastructure/conversations/capture.js +0 -87
- package/dist/infrastructure/conversations/capture.js.map +0 -1
- package/dist/infrastructure/conversations/capture.types.d.ts +0 -5
- package/dist/infrastructure/conversations/capture.types.js +0 -2
- package/dist/infrastructure/conversations/capture.types.js.map +0 -1
- package/dist/infrastructure/conversations/claude-layout.d.ts +0 -2
- package/dist/infrastructure/conversations/claude-layout.js +0 -18
- package/dist/infrastructure/conversations/claude-layout.js.map +0 -1
- package/dist/infrastructure/conversations/codex-layout.d.ts +0 -2
- package/dist/infrastructure/conversations/codex-layout.js +0 -17
- package/dist/infrastructure/conversations/codex-layout.js.map +0 -1
- package/dist/infrastructure/conversations/layout.d.ts +0 -3
- package/dist/infrastructure/conversations/layout.js +0 -9
- package/dist/infrastructure/conversations/layout.js.map +0 -1
- package/dist/infrastructure/conversations/locate.d.ts +0 -2
- package/dist/infrastructure/conversations/locate.js +0 -24
- package/dist/infrastructure/conversations/locate.js.map +0 -1
- package/dist/infrastructure/conversations/native-store.d.ts +0 -3
- package/dist/infrastructure/conversations/native-store.js +0 -27
- package/dist/infrastructure/conversations/native-store.js.map +0 -1
- package/dist/infrastructure/conversations/paths.d.ts +0 -4
- package/dist/infrastructure/conversations/paths.js +0 -11
- package/dist/infrastructure/conversations/paths.js.map +0 -1
- package/dist/infrastructure/conversations/restore.d.ts +0 -3
- package/dist/infrastructure/conversations/restore.js +0 -42
- package/dist/infrastructure/conversations/restore.js.map +0 -1
- package/dist/providers/antigravity-install.constants.js.map +0 -1
- package/dist/providers/antigravity-install.js.map +0 -1
- package/dist/providers/antigravity-install.types.js.map +0 -1
- /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.constants.d.ts +0 -0
- /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.constants.js +0 -0
- /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.d.ts +0 -0
- /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.types.d.ts +0 -0
- /package/dist/{providers → adapters/agents/antigravity}/antigravity-install.types.js +0 -0
- /package/dist/adapters/agents/{antigravity.types.js → antigravity/antigravity.types.js} +0 -0
- /package/dist/adapters/agents/{copilot.types.js → copilot/copilot.types.js} +0 -0
- /package/dist/adapters/agents/{kimi.types.js → kimi/kimi.types.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.0.1
|
|
4
|
+
|
|
5
|
+
- Rewrite the English and French Guide by reader task: twelve chapters in reading order, six complete use-case recipes, and pages drawn with feature cells, reading paths, flows and file trees. Moved Guide URLs redirect to their new pages.
|
|
6
|
+
- Rewrite the Reference: each family overview picks between its entry points with decision and outcome tables, and every symbol and field description was checked against the source and corrected where it was wrong, vague or outdated. Each symbol links to its own Guide page.
|
|
7
|
+
- List the values of 35 type aliases such as `FaultCode`, `TaskStatus` and `SteeringMode`, keep placeholders such as `<name>` visible, and print types from other modules without `import("…")` qualifiers. Documentation sync now rejects descriptions that no page uses.
|
|
8
|
+
- Mark the speculation API experimental in the Reference, as the 9.0.0 notes stated. Add numbered runnable examples under `examples/`. Public library contracts are unchanged.
|
|
9
|
+
|
|
10
|
+
## 9.0.0
|
|
11
|
+
|
|
12
|
+
This major release renames public factories and declarations and removes the previous names, changes conversation and reporter contracts, and extends public event, fault and stop-reason unions. Replace previous names with their `create*`/`define*` equivalents, pass a store instead of a format name to `createTransportConversations()`, use each agent's native store instead of the format-keyed `conversations` helpers, and update exhaustive handling of `AgentEvent` (`fallback`, `steer`), `FaultCode` (`steering`) and stop reasons (`steered`). Firecracker is no longer experimental; speculation remains experimental. Live validation campaigns listed in the roadmap remain outstanding.
|
|
13
|
+
|
|
14
|
+
- Promote the Firecracker provider out of experimental: `createFirecrackerSandboxProvider()` and `FirecrackerOptions` no longer carry the experimental warning and icon. Host preparation, networking and the root supervisor of the jailer mode remain the operator's responsibility; control-plane resource accounting and adversarial validation remain open.
|
|
15
|
+
- Redraw the documentation navigation bar on the page grid: the logo cell lines up with the sidebar, search fills the centre, GitLab, the GitHub mirror and npm are linked beside the current version, and a single link switches between English and French. Narrow screens move the source links into the sidebar and menu footer.
|
|
16
|
+
- Give each built-in CLI agent its own `src/adapters/agents/<agent>/` folder and a descriptor in one agent catalog: its label, executable, pinned version, harness export, installer, image environment, doctor diagnostics, protocol fixtures and `outpost init` authentication choices. `agentVersions`, `DoctorAgent`, remote bootstrap, `outpost doctor`, the `outpost init` prompts and validation, the generated `run.ts`, the image recipe and the agent image lock check now derive from it, and a test checks every descriptor against the public exports and the image lock. Generated projects, images and bootstrap commands are unchanged. `agentVersions` entries are now typed as `string`, and Antigravity model errors use the `Antigravity` label.
|
|
17
|
+
- Open native conversation formats to any CLI harness. `createTranscriptConversations(layout)` builds a native store for CLIs that keep one JSONL transcript per conversation, and `createSessionBundleConversations(profile)` for CLIs that keep each session as a directory, with self-contained `validate`, `bucket` and `relocate` hooks that run inside the sandbox. `createClaudeConversations()`, `createCodexConversations()`, `createCopilotConversations()` and `createKimiConversations()` return the built-in stores, which implement the new `NativeConversationStore` contract with `directory()` and `destination()`. Built-in presets now set `storage` to their native store by default, and `AgentAdapter.conversations` is removed. Breaking: `createTransportConversations()` takes a base store instead of a format name, and the format-keyed helpers `conversations.native`, `locate`, `capture`, `restore`, `directory`, `destination` and `claudePath` are removed; use each agent's native store. `ConversationFormat` is now `string` and `StoredConversationFormat` is removed. Persisted format names, transport keys and bundle contents are unchanged.
|
|
18
|
+
- Rebuild the documentation layout: Guide, Reference and Project pages share one header, a sidebar for the current space and breadcrumbs, and every section places its code, contract or entries beside its prose. Reference pages list parameters and properties as rows beside a pinned signature, `/reference/` becomes a map of sections and families instead of redirecting to the first symbol, and the changelog and roadmap keep each heading beside its entries.
|
|
19
|
+
- Replace the documentation home with a landing page in English and French: the tagline with the install command and Get started, a code window with `run.ts`, `brief.md` and an example workflow, the agents and sandboxes with their conversation support, and a workflow walkthrough that highlights the code of each step. Its snippets are typechecked with the guide examples, and the documentation brand now shows the Outpost logo and links to this page.
|
|
20
|
+
- Name constructors `create*` and declarations `define*`. Functions that build runtime objects become `createAgent`, `createFallbackAgent`, `createReplayAgent`, `createHarness`, `createClaudeHarness`, `createCodexHarness`, `createAntigravityHarness`, `createCopilotHarness`, `createKimiHarness`, `createHarnessFileTools`, `createHarnessEditTools`, `createHarnessSearchTools`, `createHarnessGitTools`, `createHarnessShellTools`, `createDockerSandboxProvider`, `createPodmanSandboxProvider`, `createLocalSandboxProvider`, `createVercelSandboxProvider`, `createDaytonaSandboxProvider`, `createFirecrackerSandboxProvider`, `createMountedSandboxProvider`, `createRemoteSandboxProvider`, `createLocalTransport`, `createS3Transport`, `createArtifactStore`, `createWorkflowCheckpointStore`, `createTaskCacheStore`, `createTransportConversations`, `createHarnessConversations`, `createSqliteTaskQueue`, `createHttpTaskQueue`, `createBullMQTaskQueue`, `createOpenAIModelProvider`, `createAnthropicModelProvider`, `createEd25519DecisionVerifier` and `createOpenTelemetryObserver`. Workflow declarations become `defineWorkflow`, `defineTask`, `defineAgentTask`, `defineIsolatedTask`, `defineCommandTask`, `defineApprovalTask`, `definePauseTask`, `defineArtifactTask`, `defineQueuedTask`, `defineInteractiveAgentTask` and `defineLoopTask`; `response.text`/`response.json` become `defineTextResponse`/`defineJsonResponse`, and `artifact.json`/`artifact.binary` become `defineJsonArtifact`/`defineBinaryArtifact`. Breaking: the previous names, including the provider, OpenTelemetry, S3 and BullMQ subpath names and the `response` and `artifact` objects, are no longer exported; old reference URLs redirect to the new pages. Breaking: `createReporter()` now creates the terminal reporter formerly named `reporter()`, and the handler-based reporter becomes `createCustomReporter(handlers, options)`. Generated starters use the new names.
|
|
21
|
+
- Add triggers that start workflows through a queue. `createCronSchedule()` evaluates five-field cron expressions and macros in an IANA time zone, skipping times removed by daylight saving and firing repeated ones once; `runSchedules()` publishes one job per slot, keyed `schedule:<name>:<slot>` so replicas and restarts converge, and catches up only the latest slot within `maxLateMs`. `serveTriggers()` receives webhooks verified by `createGithubWebhook()`, `createGitlabWebhook()` (signing token, or an opt-in plain-text token), `createSlackSource()` (slash commands and interactions) and `createStandardWebhook()`, with rotating secrets and body limits, and publishes the job chosen by each route as `trigger:<path>:<delivery>`, so redeliveries add nothing. `labelAdded()` and `commandIssued()` read common payloads. `defineWorkflowJob()` runs each job's workflow under its `runId` checkpoint, with a version that includes an input digest, and reports status, pending gates and that version. Outpost does not call GitHub, GitLab or Slack APIs, gate approvals from these services are not provided, and tests use locally computed signatures.
|
|
22
|
+
- Add `createFallbackAgent([...agents], { on })`: an ordered list of agents or models that hands a dispatch to the next candidate when the current one fails with a listed `quota` or `unavailable` fault. Candidates run in the same sandbox and workspace from the original brief, are prepared only when tried, and keep captured conversations; `DispatchResult.fallback` and the new `fallback` agent event record the handover, and usage includes failed candidates. Continuations and `attach()` require a single agent. When every candidate hits a limit, the quota error reports the earliest reset known for all of them, `onQuota` pauses the task and the resumed attempt reruns the brief from the first candidate. `DispatchOptions.agent`, `SandboxOptions.agent` and `SpeculativeCandidate.agent` accept the new `DispatchAgent` union and `AgentEvent` gains `fallback`; update exhaustive consumers.
|
|
23
|
+
- Replay fallback handovers: a recorded turn followed by a `fallback` event is parsed as handed over, exposed through `ReplayTurn.handover` with its recorded usage, and `createReplayAgent` continues with the next candidate's turn in the same call. The replayed result reproduces the selected text, all commits and the combined usage, without `result.fallback`.
|
|
24
|
+
- Add `unavailableFault()` and `AgentAdapter.unavailable`. Terminal overloads, 5xx responses and connection failures from Claude Code, Codex, Copilot, Kimi and Antigravity, HTTP 408/5xx/529 and transport failures from model providers, and overloaded or server stream errors now set `details.unavailable` while keeping their `process` or `provider` code. Retry notices are ignored and quota classification keeps precedence. Classification relies on recorded protocol formats, not live outage campaigns.
|
|
25
|
+
- Add `createSteering()` and `DispatchOptions.steering` to send instructions to an agent while its dispatch runs. `send()` resolves with `{ mode }` once the agent receives the text. The built-in harness adds it to the next model request, or to the active built-in subagent; `send(text, { subagent })` addresses a subagent run id from its `subagent` event, or the main loop with `null`. Claude Code reads it from `--input-format stream-json` stdin. Codex runs as `codex app-server` for steered dispatches and receives it with `turn/steer`. Copilot, Kimi and Antigravity are stopped once their conversation is known and resumed with the instruction. Instructions sent after the agent answered resume the conversation in a new turn; undeliverable ones reject with the new `steering` fault code. Every built-in provider accepts live command input: local, Docker and Podman pipe stdin, Firecracker forwards it through SSH, and Vercel and Daytona feed framed chunks appended to a sandbox file. Replays reproduce steered runs turn by turn through `ReplayAgent.pendingSteering()` and `ReplayTurn.resumedBy`/`interrupted`. New `steer` agent event, `stopped` reason `steered`, `Turn.interrupted`, `AgentAdapter.liveInput` with `AgentLiveSession`, `AgentInput.liveInput`, `Command.input` and `SandboxLease.liveInput`. Update exhaustive handling of `AgentEvent`, `FaultCode` and stop reasons. Claude injection was checked live on the host, Daytona and Vercel; the Codex app-server handshake and failure handling were checked against Codex 0.155 without a live `turn/steer` run; Copilot, Kimi and Antigravity interruption is covered by simulated CLIs and a real Docker sandbox.
|
|
26
|
+
- Add `conversations` to `createClaudeHarness()`, `createCodexHarness()`, `createCopilotHarness()` and `createKimiHarness()` to capture, resume and fork sessions through any `ConversationStore`, such as `createTransportConversations()`, without the repository's local `.outpost` captures. `ConversationStore` gains an optional `format`, declared by the built-in stores: presets and `createHarness()` reject a store whose format differs from their own when they are created, and Claude and Codex reject `conversations` with `saveConversations: false`. `createAntigravityHarness()` rejects the option. Archived conversations are neither encrypted nor authenticated; live Kimi and Copilot runs through a Transport store were not performed.
|
|
27
|
+
- Fix sporadic `Inspection file changed` failures when the local transport read an object that a concurrent writer replaced, for example while parallel tasks listed resource activity. On Windows, a write that replaces an object a concurrent reader holds open now retries briefly instead of failing with `EPERM`, and a lock released by another writer no longer fails with `EPERM` while Windows finishes deleting its file.
|
|
28
|
+
- Add MCP servers with `mcpServers` on every CLI harness and on `createHarness()`. A server is a stdio `command` or a Streamable HTTP `url`; secrets are passed by name through `variables` or `bearerTokenVariable` and never written into arguments or files, and a missing declared variable fails before the agent starts. Claude Code, Codex and Copilot receive the servers as per-run arguments; Kimi and Antigravity merge them into their home configuration file, keeping other entries, including your own home with the local provider. The built-in harness starts the servers inside the sandbox for each turn, through a Node.js launcher and an in-sandbox HTTP bridge, and exposes their tools as `mcp__<server>__<tool>`; it requires a lease with `SandboxLease.liveInput`, which every built-in provider sets. `AgentAdapter.configuration` plans CLI configuration files, and Codex MCP tool events now use server-qualified names. The CLIs' use of the generated configuration has only been checked live for Copilot stdio servers.
|
|
29
|
+
- Extend MCP servers. `tools: { include, exclude }` filters a server's tools and `startupTimeoutMs` bounds its startup, using each CLI's native setting; an option a CLI cannot apply fails when the agent is composed. `oauth: "login"` copies the MCP OAuth login that Claude Code, Codex or Kimi stored on the host into the sandbox home, and `oauth: { clientIdVariable, clientSecretVariable, scopes }` lets the built-in harness request OAuth client credentials tokens from inside the sandbox. The built-in harness adds `mcp_list_resources`, `mcp_read_resource`, `mcp_list_prompts` and `mcp_get_prompt` for servers that offer resources or prompts, and `defineMcpPrompt()` renders a server prompt into the instructions; response repairs now start MCP servers too. `AgentConfiguration` gains `host` files, `ConfigurationFile.section` becomes optional and `HarnessInstructionContext` gains `mcp`. OAuth copies and client credentials were tested against local fixtures only.
|
|
30
|
+
|
|
3
31
|
## 8.0.0
|
|
4
32
|
|
|
5
33
|
This major release adds required workflow result fields, extends public status, event, fault and speculation unions, and reclassifies model-provider rate limits. Result producers and test doubles must provide `WorkflowResult.inputRequests`; update exhaustive handling of `TaskStatus`, `WorkflowResult.status`, `WorkflowEvent.type`, `FaultCode`, `ObservationEvent`, `Agent`, `StorageCategoryName` and speculation statuses, and handlers that matched `provider` for HTTP 429. Existing entry points remain available. Live limit campaigns and authenticated model campaigns for these additions remain outstanding.
|
package/README.md
CHANGED
|
@@ -1,70 +1,128 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://elie-laloum.github.io/outpost/">
|
|
3
|
+
<img src="docs/src/assets/outpost-logo.png" alt="Outpost" width="180">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
7
|
+
<h1 align="center">Outpost</h1>
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
<p align="center"><strong>Coding agents. Isolated workspaces. Workflows in TypeScript.</strong></p>
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://github.com/elie-laloum/outpost/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/elie-laloum/outpost/ci.yml?branch=main&label=tests" alt="Tests: CI status on main"></a>
|
|
13
|
+
<a href="https://github.com/elie-laloum/outpost/blob/main/package.json"><img src="https://img.shields.io/badge/coverage%20gate-%E2%89%A580%25-586475" alt="Coverage gate: at least 80% lines, branches and functions"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/@elie-laloum/outpost"><img src="https://img.shields.io/npm/v/%40elie-laloum%2Foutpost" alt="npm version"></a>
|
|
15
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-586475" alt="License: MIT"></a>
|
|
16
|
+
</p>
|
|
8
17
|
|
|
9
|
-
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="#quickstart">Quickstart</a> ·
|
|
20
|
+
<a href="https://elie-laloum.github.io/outpost/">Documentation</a> ·
|
|
21
|
+
<a href="https://elie-laloum.github.io/outpost/reference/">API reference</a> ·
|
|
22
|
+
<a href="https://elie-laloum.github.io/outpost/fr/">Français</a>
|
|
23
|
+
</p>
|
|
10
24
|
|
|
11
|
-
|
|
25
|
+
Outpost is a TypeScript library and CLI for running coding agents in sandboxes and composing their work. Give an agent a task, choose its execution environment, and collect its answer, commits and usage. Start with one request; add parallel tasks, verification loops and human decisions as your workflow grows.
|
|
12
26
|
|
|
13
|
-
|
|
27
|
+
## Why Outpost?
|
|
14
28
|
|
|
15
|
-
|
|
29
|
+
- **Choose your agent and sandbox independently.** Run Claude Code, Codex, Antigravity, GitHub Copilot CLI or Kimi Code with Docker, Podman, Vercel or Daytona.
|
|
30
|
+
- **Keep Git work explicit.** Give tasks their own worktrees, retain branches for review, or opt into local integration. Compose work across repositories with declared dependencies.
|
|
31
|
+
- **Write workflows as code.** Connect typed tasks, validate structured responses, enforce budgets and pause for human input or approval.
|
|
32
|
+
- **Continue work across runs.** Capture supported agent conversations, resume checkpointed workflows and recover interrupted work with explicit replay controls.
|
|
33
|
+
- **Build your own agent loop.** Use the built-in harness with OpenAI or Anthropic model providers, sandbox tools and bounded subagents.
|
|
34
|
+
|
|
35
|
+
## Quickstart
|
|
36
|
+
|
|
37
|
+
You need **Node.js 24+**, **Git**, a repository with at least one commit, and **Docker** running. This example uses Codex with account authentication: prepare its host login using the [setup guide](https://elie-laloum.github.io/outpost/guide/setup/) before running a task. [Authentication](https://elie-laloum.github.io/outpost/guide/authentication/) covers other agents and API-key billing.
|
|
38
|
+
|
|
39
|
+
Create a workflow directory and point it at your checkout:
|
|
16
40
|
|
|
17
41
|
```sh
|
|
18
|
-
mkdir
|
|
19
|
-
cd
|
|
20
|
-
npx @elie-laloum/outpost init --yes --repository /
|
|
42
|
+
mkdir my-workflow
|
|
43
|
+
cd my-workflow
|
|
44
|
+
npx @elie-laloum/outpost init --yes --repository /absolute/path/to/repository --image outpost:dev --install
|
|
21
45
|
```
|
|
22
46
|
|
|
23
|
-
|
|
47
|
+
This installs the workflow dependencies, generates `run.ts`, `brief.md` and configuration files, and builds the Docker image. The first build downloads the agent CLIs. Use `--no-build` if the image already exists. Existing package manifests are preserved; explicit CommonJS projects get `run.mts`.
|
|
48
|
+
|
|
49
|
+
Run your first task:
|
|
24
50
|
|
|
25
51
|
```sh
|
|
26
|
-
node run.ts "
|
|
52
|
+
node run.ts "Describe this repository and suggest one small improvement. Do not edit files."
|
|
27
53
|
```
|
|
28
54
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Outpost never reads a system keychain. See [authentication](https://elie-laloum.github.io/outpost/guide/access-credentials/) for every agent's account and API-key forms before dispatching.
|
|
55
|
+
The generated script prints the branch, collected commits and conversation reference. It uses **local branch integration**: when you later ask the agent to change and commit code, those commits are integrated into the target checkout. Use a named branch, as below, to keep changes separate for review. See [branch strategies](https://elie-laloum.github.io/outpost/guide/repository-and-branch/).
|
|
32
56
|
|
|
33
57
|
## Use the library
|
|
34
58
|
|
|
35
|
-
|
|
59
|
+
The workflow is ordinary TypeScript. After the setup above, save this as `task.mts` next to the generated script, replace the repository path, and run `node task.mts`:
|
|
36
60
|
|
|
37
61
|
```ts
|
|
38
|
-
import {
|
|
62
|
+
import {
|
|
63
|
+
createAgent,
|
|
64
|
+
createCodexHarness,
|
|
65
|
+
dispatch,
|
|
66
|
+
} from "@elie-laloum/outpost";
|
|
67
|
+
import { createDockerSandboxProvider } from "@elie-laloum/outpost/providers/docker";
|
|
39
68
|
|
|
40
69
|
const result = await dispatch({
|
|
41
|
-
repository: "/
|
|
42
|
-
agent:
|
|
43
|
-
|
|
44
|
-
|
|
70
|
+
repository: "/absolute/path/to/repository",
|
|
71
|
+
agent: createAgent({
|
|
72
|
+
harness: createCodexHarness({ authentication: "account" }),
|
|
73
|
+
}),
|
|
74
|
+
sandboxProvider: createDockerSandboxProvider({ image: "outpost:dev" }),
|
|
75
|
+
branch: { mode: "named", name: "outpost/fix-tests" },
|
|
76
|
+
brief: {
|
|
77
|
+
text: "Fix the failing tests, run them to verify and commit the change.",
|
|
78
|
+
},
|
|
45
79
|
});
|
|
80
|
+
|
|
81
|
+
console.log(result.text);
|
|
46
82
|
console.log(result.branch, result.commits);
|
|
83
|
+
console.log(result.usage);
|
|
47
84
|
```
|
|
48
85
|
|
|
49
|
-
`
|
|
86
|
+
`dispatch()` closes the sandbox it allocates; the named branch remains for review. Use a fresh branch name for each independent task. The agent’s answer is not an enforced test result: add explicit verification when checks must gate integration.
|
|
87
|
+
|
|
88
|
+
## Choose your building blocks
|
|
50
89
|
|
|
51
|
-
|
|
90
|
+
| You want to… | Start here |
|
|
91
|
+
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
92
|
+
| Choose an agent, model and credentials | [Agent configuration](https://elie-laloum.github.io/outpost/guide/choose-an-agent/) |
|
|
93
|
+
| Run locally in containers or in the cloud | [Execution backends](https://elie-laloum.github.io/outpost/guide/choose-a-sandbox/) |
|
|
94
|
+
| Reuse a sandbox across commands and agent turns | [Sandbox sessions](https://elie-laloum.github.io/outpost/guide/sandbox-sessions/) |
|
|
95
|
+
| Connect tasks and run independent work in parallel | [Task dependencies](https://elie-laloum.github.io/outpost/guide/task-dependencies/) |
|
|
96
|
+
| Coordinate changes across repositories | [Multi-repository workflows](https://elie-laloum.github.io/outpost/guide/multiple-repositories/) |
|
|
97
|
+
| Return data your application can validate | [Validated output](https://elie-laloum.github.io/outpost/guide/typed-responses/) |
|
|
98
|
+
| Build an agent with your own tools and instructions | [Custom harness](https://elie-laloum.github.io/outpost/guide/harness/) |
|
|
99
|
+
| Resume or recover interrupted work | [Failure recovery](https://elie-laloum.github.io/outpost/guide/recovery/) |
|
|
52
100
|
|
|
53
|
-
|
|
101
|
+
The [Guide](https://elie-laloum.github.io/outpost/guide/introduction/) explains behavior with focused examples. The [Reference](https://elie-laloum.github.io/outpost/reference/) documents exact contracts. Both are available in English and French.
|
|
54
102
|
|
|
55
|
-
##
|
|
103
|
+
## Boundaries worth knowing
|
|
104
|
+
|
|
105
|
+
Account login and API-key authentication are explicit choices with different billing. Outpost never reads a system keychain. Credentials are made available to the chosen agent in its execution environment.
|
|
106
|
+
|
|
107
|
+
Conversation support varies: Claude Code, Codex and Kimi support capture, resume and fork; Copilot supports capture and resume; Antigravity resumes only in its existing sandbox.
|
|
108
|
+
|
|
109
|
+
Docker and Podman mount the selected workspace and Git metadata by default. These mounts are not an adversarial security boundary. Cloud providers receive repository data and declared credentials; explicit local execution runs on the host without isolation. Read [SECURITY.md](SECURITY.md) before choosing an environment for untrusted code.
|
|
110
|
+
|
|
111
|
+
Speculation remains experimental. See the [roadmap](https://elie-laloum.github.io/outpost/project/roadmap/) for validation limits and planned work, and the [changelog](CHANGELOG.md) for version history and migration notes.
|
|
112
|
+
|
|
113
|
+
## Development and contributions
|
|
114
|
+
|
|
115
|
+
Bug reports, reproducible cases and focused contributions are welcome through [GitHub issues](https://github.com/elie-laloum/outpost/issues). Read [AGENTS.md](AGENTS.md) for architecture, conventions and the checks required for your change.
|
|
56
116
|
|
|
57
117
|
```sh
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
npm ci --prefix docs
|
|
63
|
-
npm run docs:sync
|
|
64
|
-
npm run docs:build
|
|
65
|
-
npm run docs:test
|
|
118
|
+
bun install --frozen-lockfile
|
|
119
|
+
bun run check
|
|
120
|
+
bun run coverage
|
|
121
|
+
bun run test:package
|
|
66
122
|
```
|
|
67
123
|
|
|
68
|
-
|
|
124
|
+
CI checks Windows, macOS and Linux, plus real Docker/Podman execution and Redis queue behavior. The coverage gate requires **at least 80% lines, branches and functions**; the badge shows that configured minimum, not a measured coverage percentage. Coverage reports are uploaded as CI artifacts. Routine tests do not require paid model calls.
|
|
125
|
+
|
|
126
|
+
[GitLab](https://gitlab.elielaloum.com/elielaloum/outpost) is the canonical repository. [GitHub](https://github.com/elie-laloum/outpost) is the public mirror and runs CI, package releases and documentation deployment. The documentation site deploys after eligible stable releases.
|
|
69
127
|
|
|
70
|
-
|
|
128
|
+
Created by **Elie Laloum**. Released under the [MIT license](LICENSE).
|
package/SECURITY.md
CHANGED
|
@@ -12,7 +12,9 @@ Remote providers upload repository history and inputs to the selected cloud acco
|
|
|
12
12
|
|
|
13
13
|
Prompt command expansion only recognizes commands present in the original prompt file. Substitution cannot introduce new expansion fragments. Values substituted inside an original shell command still have shell semantics and must be trusted or quoted by the prompt author.
|
|
14
14
|
|
|
15
|
-
Agent authentication is explicit. `account` reads only the selected CLI's own session file (or the file or profile named by `account.file`) on the host, refuses links, directories and files above 1 MiB, and never reads a system keychain. Isolated providers receive a copy in the private sandbox home through stdin, with 0700 directories and 0600 files; `
|
|
15
|
+
Agent authentication is explicit. `account` reads only the selected CLI's own session file (or the file or profile named by `account.file`) on the host, refuses links, directories and files above 1 MiB, and never reads a system keychain. Isolated providers receive a copy in the private sandbox home through stdin, with 0700 directories and 0600 files; `createLocalSandboxProvider()` receives credential variables only and no host file is written. A sandbox copy can refresh and rotate a subscription refresh token, invalidating the host login; use a dedicated profile through `account.file` when that matters. Agents can read every credential they receive, so give them only the access their task requires. Generated images and remote bootstrap install pinned CLI versions. Antigravity archives use versioned Google URLs and SHA-512 digests recorded in Outpost; installation rejects mismatches before extraction. Generated images and Outpost's Antigravity requests and diagnostics disable automatic updates. Bootstrap reuses an existing executable without replacing or verifying its bytes; `outpost doctor --agent antigravity` compares its reported version with `agentVersions.antigravity`. A checksum verifies the selected archive's integrity, not the safety of its code.
|
|
16
|
+
|
|
17
|
+
MCP servers are programs or endpoints you choose; they receive the variables you name and act with the agent's authority. Outpost writes MCP configuration with variable references only, never secret values. Kimi and Antigravity configuration is merged into the agent home file, which is the user's own home with `createLocalSandboxProvider()`. Built-in harness servers and their HTTP bridge run inside the sandbox, so egress policies apply to them; CLI agents contact HTTP servers themselves from the sandbox. `oauth: "login"` copies the selected MCP OAuth tokens of Claude Code, Codex or Kimi from the host into the private sandbox home; a refresh there can rotate the refresh token and invalidate the host login. OAuth client secrets for the built-in harness stay in the sandbox environment.
|
|
16
18
|
|
|
17
19
|
Conversation transcripts, logs, bundles and patches may contain secrets. Runtime files are ignored by Git and sensitive files are created with restrictive permissions where supported. Keep API keys in environment variables or ignored `.env` files. Never embed tokens in tracked configuration, remote URLs or examples.
|
|
18
20
|
|
|
@@ -20,7 +22,7 @@ Report vulnerabilities privately using the repository's security reporting chann
|
|
|
20
22
|
|
|
21
23
|
Explicit storage transports can send artifacts, journals, transcripts, recovery payloads and operational metadata to the configured object store. The caller owns the S3 client and credentials; they are not forwarded to agents. Use a dedicated private bucket prefix and access policy. Object revisions fence cooperating writers but do not authenticate artifact producers or operators. Stop an abandoned runner independently before releasing its checkpoint ownership; a remote PID is not proof of inactivity.
|
|
22
24
|
|
|
23
|
-
The optional Firecracker jailer mode requires a trusted root supervisor and root-owned boot assets, executables, SSH trust files, jail base and cgroup v2 parent. Outpost does not elevate privileges. The VMM drops to the explicitly selected non-root UID/GID, uses the jailer's mount namespace and receives CPU, memory, swap and process limits. The supervisor remains privileged and outside the VMM cgroup; its workflow code, configuration, dependencies and transfer destinations must be trusted. Guest file downloads currently buffer individual files in the supervisor, so the VMM memory limit is not a total host-resource budget. Kernel work outside that cgroup is likewise not charged to its CPU quota. Operators own TAP setup, network filtering, parent resources and crash recovery.
|
|
25
|
+
The optional Firecracker jailer mode requires a trusted root supervisor and root-owned boot assets, executables, SSH trust files, jail base and cgroup v2 parent. Outpost does not elevate privileges. The VMM drops to the explicitly selected non-root UID/GID, uses the jailer's mount namespace and receives CPU, memory, swap and process limits. The supervisor remains privileged and outside the VMM cgroup; its workflow code, configuration, dependencies and transfer destinations must be trusted. Guest file downloads currently buffer individual files in the supervisor, so the VMM memory limit is not a total host-resource budget. Kernel work outside that cgroup is likewise not charged to its CPU quota. Operators own TAP setup, network filtering, parent resources and crash recovery. Control-plane resource accounting and adversarial validation of this mode remain open.
|
|
24
26
|
|
|
25
27
|
Egress policies restrict sandbox outbound connections, not host model-provider calls, image downloads or cloud control-plane traffic. Vercel domain rules inspect TLS SNI rather than encrypted HTTP Host headers; allowed CIDRs grant independent IP access and denied CIDRs take precedence. A domain allowlist is not a general defense against exfiltration through allowed services or shared infrastructure. Mounted host sockets can expose separate network capabilities. Outpost copies network configuration at provider composition.
|
|
26
28
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AgentAuthentication, CliHarness } from "../../domain/agent.types.ts";
|
|
2
|
+
import type { Variables } from "../../domain/command.types.ts";
|
|
3
|
+
import type { NativeConversationStore } from "../../domain/conversation.types.ts";
|
|
4
|
+
import type { AgentCliDiagnostic } from "./cli-diagnostics.types.ts";
|
|
5
|
+
import type { AgentProtocolFixture } from "./protocol-fixtures.types.ts";
|
|
6
|
+
export interface AuthenticationChoice {
|
|
7
|
+
readonly value: "account" | "account-token" | "usage";
|
|
8
|
+
readonly label: string;
|
|
9
|
+
readonly instructions: string;
|
|
10
|
+
readonly variable?: string;
|
|
11
|
+
}
|
|
12
|
+
export type AgentInstaller = {
|
|
13
|
+
readonly kind: "npm";
|
|
14
|
+
readonly package: string;
|
|
15
|
+
readonly allowScripts?: boolean;
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "script";
|
|
18
|
+
/** Home-relative path where remote bootstrap installs the executable. */
|
|
19
|
+
readonly installed: string;
|
|
20
|
+
script(target: string): string;
|
|
21
|
+
};
|
|
22
|
+
export interface AgentPresetSettings {
|
|
23
|
+
readonly authentication?: AgentAuthentication;
|
|
24
|
+
readonly modelProvider?: {
|
|
25
|
+
readonly baseUrl: string;
|
|
26
|
+
readonly apiKeyEnvironment?: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface AgentImage {
|
|
30
|
+
/** Comment written above the image environment variables. */
|
|
31
|
+
readonly note?: string;
|
|
32
|
+
readonly variables?: Variables;
|
|
33
|
+
}
|
|
34
|
+
export interface AgentDoctor {
|
|
35
|
+
readonly variables?: Variables;
|
|
36
|
+
diagnostics(): readonly AgentCliDiagnostic[];
|
|
37
|
+
}
|
|
38
|
+
export interface AgentDescriptor {
|
|
39
|
+
/** Identifier used by --agent, doctor, bootstrap and native storage. */
|
|
40
|
+
readonly name: string;
|
|
41
|
+
readonly label: string;
|
|
42
|
+
readonly executable: string;
|
|
43
|
+
readonly version: string;
|
|
44
|
+
/** Public export that generated workflows import to build the harness. */
|
|
45
|
+
readonly harnessExport: string;
|
|
46
|
+
harness(settings?: AgentPresetSettings): CliHarness;
|
|
47
|
+
readonly install: AgentInstaller;
|
|
48
|
+
readonly image?: AgentImage;
|
|
49
|
+
readonly doctor: AgentDoctor;
|
|
50
|
+
readonly protocol: readonly AgentProtocolFixture[];
|
|
51
|
+
readonly authentication: readonly AuthenticationChoice[];
|
|
52
|
+
/** Native store for portable conversations; absent when the CLI has none. */
|
|
53
|
+
conversations?(): NativeConversationStore;
|
|
54
|
+
/** Accepts a custom Responses-compatible model provider during init. */
|
|
55
|
+
readonly customModelProvider?: boolean;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-descriptor.types.js","sourceRoot":"","sources":["../../../src/adapters/agents/agent-descriptor.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AgentAuthentication,\n CliHarness,\n} from \"../../domain/agent.types.ts\";\nimport type { Variables } from \"../../domain/command.types.ts\";\nimport type { NativeConversationStore } from \"../../domain/conversation.types.ts\";\nimport type { AgentCliDiagnostic } from \"./cli-diagnostics.types.ts\";\nimport type { AgentProtocolFixture } from \"./protocol-fixtures.types.ts\";\n\nexport interface AuthenticationChoice {\n readonly value: \"account\" | \"account-token\" | \"usage\";\n readonly label: string;\n readonly instructions: string;\n readonly variable?: string;\n}\n\nexport type AgentInstaller =\n | {\n readonly kind: \"npm\";\n readonly package: string;\n readonly allowScripts?: boolean;\n }\n | {\n readonly kind: \"script\";\n /** Home-relative path where remote bootstrap installs the executable. */\n readonly installed: string;\n script(target: string): string;\n };\n\nexport interface AgentPresetSettings {\n readonly authentication?: AgentAuthentication;\n readonly modelProvider?: {\n readonly baseUrl: string;\n readonly apiKeyEnvironment?: string;\n };\n}\n\nexport interface AgentImage {\n /** Comment written above the image environment variables. */\n readonly note?: string;\n readonly variables?: Variables;\n}\n\nexport interface AgentDoctor {\n readonly variables?: Variables;\n diagnostics(): readonly AgentCliDiagnostic[];\n}\n\nexport interface AgentDescriptor {\n /** Identifier used by --agent, doctor, bootstrap and native storage. */\n readonly name: string;\n readonly label: string;\n readonly executable: string;\n readonly version: string;\n /** Public export that generated workflows import to build the harness. */\n readonly harnessExport: string;\n harness(settings?: AgentPresetSettings): CliHarness;\n readonly install: AgentInstaller;\n readonly image?: AgentImage;\n readonly doctor: AgentDoctor;\n readonly protocol: readonly AgentProtocolFixture[];\n readonly authentication: readonly AuthenticationChoice[];\n /** Native store for portable conversations; absent when the CLI has none. */\n conversations?(): NativeConversationStore;\n /** Accepts a custom Responses-compatible model provider during init. */\n readonly customModelProvider?: boolean;\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { mcpConfigurationPlanner, supportMcpServers, } from "../mcp-configuration.js";
|
|
2
|
+
import { antigravityMcpFile } from "./antigravity-mcp.js";
|
|
3
|
+
import { textMatcher } from "../text-matcher.js";
|
|
4
|
+
import { transientNoticePatterns } from "../unavailable.constants.js";
|
|
5
|
+
import { invariant } from "../../../domain/errors.js";
|
|
6
|
+
import { antigravityCredentials } from "./antigravity-authentication.js";
|
|
7
|
+
import { antigravityVariables, antigravityLabel, antigravityMcpSupport, antigravityModelSupport, antigravityQuotaPatterns, antigravityUnavailablePatterns, } from "./antigravity.constants.js";
|
|
8
|
+
import { antigravityEvents } from "./antigravity-events.js";
|
|
9
|
+
import { antigravityRequest } from "./antigravity-request.js";
|
|
10
|
+
import { credentialPlanner } from "../authentication.js";
|
|
11
|
+
import { configuredSettings, harnessSettings, supportModel, } from "../model-support.js";
|
|
12
|
+
function bindAntigravity(settings) {
|
|
13
|
+
supportModel(antigravityModelSupport, settings.model);
|
|
14
|
+
supportMcpServers(antigravityMcpSupport, settings.mcpServers);
|
|
15
|
+
const credentials = credentialPlanner(antigravityLabel, antigravityCredentials, settings.authentication, settings.model);
|
|
16
|
+
const configuration = mcpConfigurationPlanner(antigravityLabel, settings.mcpServers, antigravityMcpFile);
|
|
17
|
+
return Object.freeze({
|
|
18
|
+
name: "antigravity",
|
|
19
|
+
...(credentials ? { credentials } : {}),
|
|
20
|
+
...(configuration ? { configuration } : {}),
|
|
21
|
+
bootstrap: "antigravity",
|
|
22
|
+
resumable: true,
|
|
23
|
+
forkable: false,
|
|
24
|
+
capture: false,
|
|
25
|
+
requiresFinishedEvent: true,
|
|
26
|
+
variables: Object.freeze({
|
|
27
|
+
...antigravityVariables,
|
|
28
|
+
...settings.variables,
|
|
29
|
+
}),
|
|
30
|
+
request: (input) => antigravityRequest(settings, input),
|
|
31
|
+
events: antigravityEvents,
|
|
32
|
+
quota: textMatcher(antigravityQuotaPatterns),
|
|
33
|
+
unavailable: textMatcher(antigravityUnavailablePatterns, transientNoticePatterns),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export function createAntigravityHarness(settings = {}) {
|
|
37
|
+
harnessSettings(settings);
|
|
38
|
+
invariant(!("conversations" in settings) || settings.conversations === undefined, "Antigravity has no portable conversation capture; conversations cannot be stored");
|
|
39
|
+
const configured = configuredSettings(settings);
|
|
40
|
+
return Object.freeze({
|
|
41
|
+
kind: "cli",
|
|
42
|
+
bind: (model) => bindAntigravity({
|
|
43
|
+
...configured,
|
|
44
|
+
...(model === undefined ? {} : { model }),
|
|
45
|
+
}),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=antigravity-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-adapter.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAG7B,SAAS,eAAe,CAAC,QAAoC;IAC3D,YAAY,CAAC,uBAAuB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,iBAAiB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,iBAAiB,CACnC,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,KAAK,CACf,CAAC;IACF,MAAM,aAAa,GAAG,uBAAuB,CAC3C,gBAAgB,EAChB,QAAQ,CAAC,UAAU,EACnB,kBAAkB,CACnB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,aAAa;QACnB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,qBAAqB,EAAE,IAAI;QAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,GAAG,oBAAoB;YACvB,GAAG,QAAQ,CAAC,SAAS;SACtB,CAAC;QACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC;QACvD,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC;QAC5C,WAAW,EAAE,WAAW,CACtB,8BAA8B,EAC9B,uBAAuB,CACxB;KACqB,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAAgC,EAAE;IAElC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1B,SAAS,CACP,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EACtE,kFAAkF,CACnF,CAAC;IACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,CAAC,KAAkB,EAAE,EAAE,CAC3B,eAAe,CAAC;YACd,GAAG,UAAU;YACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAC;KACL,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n mcpConfigurationPlanner,\n supportMcpServers,\n} from \"../mcp-configuration.ts\";\nimport { antigravityMcpFile } from \"./antigravity-mcp.ts\";\nimport { textMatcher } from \"../text-matcher.ts\";\nimport { transientNoticePatterns } from \"../unavailable.constants.ts\";\nimport type { AgentAdapter, CliHarness } from \"../../../domain/agent.types.ts\";\nimport { invariant } from \"../../../domain/errors.ts\";\nimport type { AgentModel } from \"../../../domain/model.types.ts\";\nimport { antigravityCredentials } from \"./antigravity-authentication.ts\";\nimport {\n antigravityVariables,\n antigravityLabel,\n antigravityMcpSupport,\n antigravityModelSupport,\n antigravityQuotaPatterns,\n antigravityUnavailablePatterns,\n} from \"./antigravity.constants.ts\";\nimport { antigravityEvents } from \"./antigravity-events.ts\";\nimport { antigravityRequest } from \"./antigravity-request.ts\";\nimport type { AntigravitySettings } from \"./antigravity.types.ts\";\nimport { credentialPlanner } from \"../authentication.ts\";\nimport {\n configuredSettings,\n harnessSettings,\n supportModel,\n} from \"../model-support.ts\";\nimport type { Bound } from \"../settings.types.ts\";\n\nfunction bindAntigravity(settings: Bound<AntigravitySettings>): AgentAdapter {\n supportModel(antigravityModelSupport, settings.model);\n supportMcpServers(antigravityMcpSupport, settings.mcpServers);\n const credentials = credentialPlanner(\n antigravityLabel,\n antigravityCredentials,\n settings.authentication,\n settings.model,\n );\n const configuration = mcpConfigurationPlanner(\n antigravityLabel,\n settings.mcpServers,\n antigravityMcpFile,\n );\n return Object.freeze({\n name: \"antigravity\",\n ...(credentials ? { credentials } : {}),\n ...(configuration ? { configuration } : {}),\n bootstrap: \"antigravity\",\n resumable: true,\n forkable: false,\n capture: false,\n requiresFinishedEvent: true,\n variables: Object.freeze({\n ...antigravityVariables,\n ...settings.variables,\n }),\n request: (input) => antigravityRequest(settings, input),\n events: antigravityEvents,\n quota: textMatcher(antigravityQuotaPatterns),\n unavailable: textMatcher(\n antigravityUnavailablePatterns,\n transientNoticePatterns,\n ),\n } satisfies AgentAdapter);\n}\n\nexport function createAntigravityHarness(\n settings: AntigravitySettings = {},\n): CliHarness {\n harnessSettings(settings);\n invariant(\n !(\"conversations\" in settings) || settings.conversations === undefined,\n \"Antigravity has no portable conversation capture; conversations cannot be stored\",\n );\n const configured = configuredSettings(settings);\n return Object.freeze({\n kind: \"cli\",\n bind: (model?: AgentModel) =>\n bindAntigravity({\n ...configured,\n ...(model === undefined ? {} : { model }),\n }),\n });\n}\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { hostFile, variableCredential } from "
|
|
1
|
+
import { antigravityCredentialVariables, antigravitySettingsFile, } from "./antigravity.constants.js";
|
|
2
|
+
import { hostFile, variableCredential } from "../authentication.js";
|
|
3
3
|
const file = hostFile({
|
|
4
4
|
source: { path: "~/.gemini/antigravity-cli/antigravity-oauth-token" },
|
|
5
5
|
destination: { file: ".gemini/antigravity-cli/antigravity-oauth-token" },
|
|
6
6
|
login: "agy and sign in with your Google account",
|
|
7
|
-
alternative: `"usage" with ${
|
|
7
|
+
alternative: `"usage" with ${antigravityCredentialVariables.usage}`,
|
|
8
8
|
});
|
|
9
9
|
const key = variableCredential({
|
|
10
|
-
variable:
|
|
10
|
+
variable: antigravityCredentialVariables.usage,
|
|
11
11
|
expose: () => ({
|
|
12
12
|
files: [
|
|
13
13
|
{
|
|
14
14
|
path: ".gemini/antigravity-cli/settings.json",
|
|
15
|
-
content:
|
|
15
|
+
content: antigravitySettingsFile,
|
|
16
16
|
},
|
|
17
17
|
],
|
|
18
18
|
}),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-authentication.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,IAAI,GAAG,QAAQ,CAAC;IACpB,MAAM,EAAE,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACrE,WAAW,EAAE,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACxE,KAAK,EAAE,0CAA0C;IACjD,WAAW,EAAE,gBAAgB,8BAA8B,CAAC,KAAK,EAAE;CACpE,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,8BAA8B,CAAC,KAAK;IAC9C,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,uCAAuC;gBAC7C,OAAO,EAAE,uBAAuB;aACjC;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAuB,MAAM,CAAC,MAAM,CAAC;IACtE,OAAO,EAAE,IAAI,CAAC,MAAM;IACpB,cAAc,EAAE,IAAI,CAAC,IAAI;IACzB,KAAK,EAAE,GAAG,CAAC,MAAM;IACjB,WAAW,EAAE,GAAG,CAAC,GAAG;IACpB,gBAAgB,EAAE,GAAG,CAAC,QAAQ;CAC/B,CAAC,CAAC","sourcesContent":["import {\n antigravityCredentialVariables,\n antigravitySettingsFile,\n} from \"./antigravity.constants.ts\";\nimport { hostFile, variableCredential } from \"../authentication.ts\";\nimport type { CredentialStrategy } from \"../authentication.types.ts\";\n\nconst file = hostFile({\n source: { path: \"~/.gemini/antigravity-cli/antigravity-oauth-token\" },\n destination: { file: \".gemini/antigravity-cli/antigravity-oauth-token\" },\n login: \"agy and sign in with your Google account\",\n alternative: `\"usage\" with ${antigravityCredentialVariables.usage}`,\n});\n\nconst key = variableCredential({\n variable: antigravityCredentialVariables.usage,\n expose: () => ({\n files: [\n {\n path: \".gemini/antigravity-cli/settings.json\",\n content: antigravitySettingsFile,\n },\n ],\n }),\n});\n\nexport const antigravityCredentials: CredentialStrategy = Object.freeze({\n account: file.preset,\n \"account.file\": file.file,\n usage: key.preset,\n \"usage.key\": key.key,\n \"usage.variable\": key.variable,\n});\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createAntigravityHarness } from "./antigravity-adapter.ts";
|
|
2
|
+
import { antigravityDiagnostics } from "./antigravity-diagnostics.ts";
|
|
3
|
+
export declare const antigravityAgent: {
|
|
4
|
+
readonly name: "antigravity";
|
|
5
|
+
readonly label: "Antigravity";
|
|
6
|
+
readonly executable: "agy";
|
|
7
|
+
readonly version: "1.2.12";
|
|
8
|
+
readonly harnessExport: "createAntigravityHarness";
|
|
9
|
+
readonly harness: typeof createAntigravityHarness;
|
|
10
|
+
readonly install: {
|
|
11
|
+
readonly kind: "script";
|
|
12
|
+
readonly installed: ".local/bin/agy";
|
|
13
|
+
readonly script: (target: string) => string;
|
|
14
|
+
};
|
|
15
|
+
readonly image: {
|
|
16
|
+
readonly variables: Readonly<{
|
|
17
|
+
AGY_CLI_DISABLE_AUTO_UPDATE: "true";
|
|
18
|
+
}>;
|
|
19
|
+
};
|
|
20
|
+
readonly doctor: {
|
|
21
|
+
readonly variables: Readonly<{
|
|
22
|
+
AGY_CLI_DISABLE_AUTO_UPDATE: "true";
|
|
23
|
+
}>;
|
|
24
|
+
readonly diagnostics: typeof antigravityDiagnostics;
|
|
25
|
+
};
|
|
26
|
+
readonly protocol: readonly import("../protocol-fixtures.types.ts").AgentProtocolFixture[];
|
|
27
|
+
readonly authentication: readonly [{
|
|
28
|
+
readonly value: "account";
|
|
29
|
+
readonly label: "Google account login (agy)";
|
|
30
|
+
readonly instructions: "Run agy on the host and sign in with your Google account. Isolated sandboxes receive a private copy of the Antigravity OAuth token.";
|
|
31
|
+
}, {
|
|
32
|
+
readonly value: "usage";
|
|
33
|
+
readonly label: "Gemini API key (API billing)";
|
|
34
|
+
readonly variable: "GEMINI_API_KEY";
|
|
35
|
+
readonly instructions: "Set GEMINI_API_KEY in the workflow .env or parent environment. Gemini API usage is billed separately from Google AI plans.";
|
|
36
|
+
}];
|
|
37
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createAntigravityHarness } from "./antigravity-adapter.js";
|
|
2
|
+
import { antigravityCredentialVariables, antigravityLabel, antigravityVariables, } from "./antigravity.constants.js";
|
|
3
|
+
import { antigravityDiagnostics } from "./antigravity-diagnostics.js";
|
|
4
|
+
import { antigravityInstall } from "./antigravity-install.js";
|
|
5
|
+
import { antigravityProtocolFixtures } from "./antigravity-protocol.constants.js";
|
|
6
|
+
export const antigravityAgent = {
|
|
7
|
+
name: "antigravity",
|
|
8
|
+
label: antigravityLabel,
|
|
9
|
+
executable: "agy",
|
|
10
|
+
version: "1.2.12",
|
|
11
|
+
harnessExport: "createAntigravityHarness",
|
|
12
|
+
harness: createAntigravityHarness,
|
|
13
|
+
install: {
|
|
14
|
+
kind: "script",
|
|
15
|
+
installed: ".local/bin/agy",
|
|
16
|
+
script: (target) => antigravityInstall(target),
|
|
17
|
+
},
|
|
18
|
+
image: { variables: antigravityVariables },
|
|
19
|
+
doctor: {
|
|
20
|
+
variables: antigravityVariables,
|
|
21
|
+
diagnostics: antigravityDiagnostics,
|
|
22
|
+
},
|
|
23
|
+
protocol: antigravityProtocolFixtures,
|
|
24
|
+
authentication: [
|
|
25
|
+
{
|
|
26
|
+
value: "account",
|
|
27
|
+
label: "Google account login (agy)",
|
|
28
|
+
instructions: "Run agy on the host and sign in with your Google account. Isolated sandboxes receive a private copy of the Antigravity OAuth token.",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
value: "usage",
|
|
32
|
+
label: "Gemini API key (API billing)",
|
|
33
|
+
variable: antigravityCredentialVariables.usage,
|
|
34
|
+
instructions: `Set ${antigravityCredentialVariables.usage} in the workflow .env or parent environment. Gemini API usage is billed separately from Google AI plans.`,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=antigravity-descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-descriptor.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-descriptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,8BAA8B,EAC9B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,gBAAgB;IACvB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,QAAQ;IACjB,aAAa,EAAE,0BAA0B;IACzC,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC;KACvD;IACD,KAAK,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;IAC1C,MAAM,EAAE;QACN,SAAS,EAAE,oBAAoB;QAC/B,WAAW,EAAE,sBAAsB;KACpC;IACD,QAAQ,EAAE,2BAA2B;IACrC,cAAc,EAAE;QACd;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,4BAA4B;YACnC,YAAY,EACV,qIAAqI;SACxI;QACD;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,8BAA8B;YACrC,QAAQ,EAAE,8BAA8B,CAAC,KAAK;YAC9C,YAAY,EAAE,OAAO,8BAA8B,CAAC,KAAK,0GAA0G;SACpK;KACF;CACiC,CAAC","sourcesContent":["import type { AgentDescriptor } from \"../agent-descriptor.types.ts\";\nimport { createAntigravityHarness } from \"./antigravity-adapter.ts\";\nimport {\n antigravityCredentialVariables,\n antigravityLabel,\n antigravityVariables,\n} from \"./antigravity.constants.ts\";\nimport { antigravityDiagnostics } from \"./antigravity-diagnostics.ts\";\nimport { antigravityInstall } from \"./antigravity-install.ts\";\nimport { antigravityProtocolFixtures } from \"./antigravity-protocol.constants.ts\";\n\nexport const antigravityAgent = {\n name: \"antigravity\",\n label: antigravityLabel,\n executable: \"agy\",\n version: \"1.2.12\",\n harnessExport: \"createAntigravityHarness\",\n harness: createAntigravityHarness,\n install: {\n kind: \"script\",\n installed: \".local/bin/agy\",\n script: (target: string) => antigravityInstall(target),\n },\n image: { variables: antigravityVariables },\n doctor: {\n variables: antigravityVariables,\n diagnostics: antigravityDiagnostics,\n },\n protocol: antigravityProtocolFixtures,\n authentication: [\n {\n value: \"account\",\n label: \"Google account login (agy)\",\n instructions:\n \"Run agy on the host and sign in with your Google account. Isolated sandboxes receive a private copy of the Antigravity OAuth token.\",\n },\n {\n value: \"usage\",\n label: \"Gemini API key (API billing)\",\n variable: antigravityCredentialVariables.usage,\n instructions: `Set ${antigravityCredentialVariables.usage} in the workflow .env or parent environment. Gemini API usage is billed separately from Google AI plans.`,\n },\n ],\n} as const satisfies AgentDescriptor;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function antigravityDiagnostics(): readonly import("
|
|
1
|
+
export declare function antigravityDiagnostics(): readonly import("../cli-diagnostics.types.ts").AgentCliDiagnostic[];
|
package/dist/adapters/agents/{antigravity-diagnostics.js → antigravity/antigravity-diagnostics.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { antigravityRequest } from "./antigravity-request.js";
|
|
2
|
-
import { helpDiagnostics } from "
|
|
2
|
+
import { helpDiagnostics } from "../cli-diagnostics.js";
|
|
3
3
|
export function antigravityDiagnostics() {
|
|
4
4
|
return helpDiagnostics((input) => antigravityRequest({}, input), "Usage of agy:", true);
|
|
5
5
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-diagnostics.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,sBAAsB;IACpC,OAAO,eAAe,CACpB,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,EACxC,eAAe,EACf,IAAI,CACL,CAAC;AACJ,CAAC","sourcesContent":["import { antigravityRequest } from \"./antigravity-request.ts\";\nimport { helpDiagnostics } from \"../cli-diagnostics.ts\";\n\nexport function antigravityDiagnostics() {\n return helpDiagnostics(\n (input) => antigravityRequest({}, input),\n \"Usage of agy:\",\n true,\n );\n}\n"]}
|
package/dist/adapters/agents/{antigravity-events.d.ts → antigravity/antigravity-events.d.ts}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { AgentEvent } from "
|
|
1
|
+
import type { AgentEvent } from "../../../domain/agent.types.ts";
|
|
2
2
|
export declare function antigravityEvents(line: string): AgentEvent[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { toolResult } from "
|
|
2
|
-
import { decodeLine } from "
|
|
3
|
-
import { asRecord, numberOrZero } from "
|
|
1
|
+
import { toolResult } from "../tool-result.js";
|
|
2
|
+
import { decodeLine } from "../event-decoder.js";
|
|
3
|
+
import { asRecord, numberOrZero } from "../protocol.js";
|
|
4
4
|
const steps = {
|
|
5
5
|
agent_response: (step) => typeof step.text_delta === "string" && step.text_delta
|
|
6
6
|
? [{ kind: "text", text: step.text_delta }]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-events.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGxD,MAAM,KAAK,GAAkB;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CACvB,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU;QACpD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,CAAC,CAAC,EAAE;IACR,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClD,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACnC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAChE,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM;YACnC,OAAO;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;aACvE,CAAC;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC;QAC/D,IAAI,MAAM;YACR,OAAO,UAAU,CACf,MAAM,EACN,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAC1B,IAAI,CAAC,KAAK,KAAK,OAAO,CACvB,CAAC;QACJ,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,MAAsB,EAAE,QAAgB;IACvD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjD,OAAO,wCAAwC,CAAC;IAClD,OAAO,0CAA0C,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,MAAM,CAAC,KAAqB;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;QACpD,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;oBACvC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAC7C,MAAM,EACJ,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;wBACjC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC;iBACtC;aACF;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE;QAChD,OAAO;YACL,GAAG,MAAM;YACT,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,UAAU,EAAE;SACrB,CAAC;IACJ,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,UAAU,CACf,IAAI,EACJ;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;YACvC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YACvD,CAAC,CAAC,EAAE;QACR,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;gBAClC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM;KACP,EACD,OAAO,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { toolResult } from \"../tool-result.ts\";\nimport type { AgentEvent } from \"../../../domain/agent.types.ts\";\nimport { decodeLine } from \"../event-decoder.ts\";\nimport { asRecord, numberOrZero } from \"../protocol.ts\";\nimport type { EventDecoders, ProtocolRecord } from \"../protocol.types.ts\";\n\nconst steps: EventDecoders = {\n agent_response: (step) =>\n typeof step.text_delta === \"string\" && step.text_delta\n ? [{ kind: \"text\", text: step.text_delta }]\n : [],\n tool: (step) => {\n if (typeof step.tool_name !== \"string\") return [];\n const callId =\n typeof step.step_index === \"number\" &&\n Number.isSafeInteger(step.step_index)\n ? `${String(step.conversation_id ?? \"turn\")}:${step.step_index}`\n : undefined;\n const info = asRecord(step.tool_info);\n if (step.state === \"ACTIVE\" && callId)\n return [\n { kind: \"tool\", name: step.tool_name, input: info.parameters, callId },\n ];\n if (step.state !== \"DONE\" && step.state !== \"ERROR\") return [];\n if (callId)\n return toolResult(\n callId,\n step.tool_name,\n info.result ?? info.output,\n step.state === \"ERROR\",\n );\n return [{ kind: \"tool\", name: step.tool_name, input: info.parameters }];\n },\n};\n\nfunction failure(result: ProtocolRecord, response: string): string {\n if (typeof result.error === \"string\" && result.error) return result.error;\n if (result.status === \"SUCCESS\" && !response.trim())\n return \"Antigravity returned an empty response\";\n return `Antigravity ended the turn with status ${String(result.status ?? \"unknown\")}`;\n}\n\nfunction result(event: ProtocolRecord): AgentEvent[] {\n const result = asRecord(event.result);\n const usage = asRecord(result.usage);\n const response = typeof result.response === \"string\" ? result.response : \"\";\n const events: AgentEvent[] = Object.keys(usage).length\n ? [\n {\n kind: \"usage\",\n tokens: {\n input: numberOrZero(usage.input_tokens),\n cached: numberOrZero(usage.cache_read_tokens),\n output:\n numberOrZero(usage.output_tokens) +\n numberOrZero(usage.thinking_tokens),\n },\n },\n ]\n : [];\n if (result.status === \"SUCCESS\" && response.trim())\n return [\n ...events,\n { kind: \"result\", text: response },\n { kind: \"finished\" },\n ];\n return [...events, { kind: \"failure\", message: failure(result, response) }];\n}\n\nexport function antigravityEvents(line: string): AgentEvent[] {\n return decodeLine(\n line,\n {\n init: (event) =>\n typeof event.conversation_id === \"string\"\n ? [{ kind: \"conversation\", id: event.conversation_id }]\n : [],\n step_update: (event) => {\n const step = asRecord(event.step_update);\n const decode =\n typeof step.step_type === \"string\" &&\n Object.hasOwn(steps, step.step_type)\n ? steps[step.step_type]\n : undefined;\n return decode?.(step) ?? [];\n },\n result,\n },\n \"event\",\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-install.constants.js","sourceRoot":"","sources":["../../../../src/adapters/agents/antigravity/antigravity-install.constants.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAC9B,MAAM,CAAC,MAAM,CAAC;IACZ,WAAW,EAAE;QACX,GAAG,EAAE,0HAA0H;QAC/H,MAAM,EACJ,kIAAkI;KACrI;IACD,WAAW,EAAE;QACX,GAAG,EAAE,4HAA4H;QACjI,MAAM,EACJ,kIAAkI;KACrI;IACD,gBAAgB,EAAE;QAChB,GAAG,EAAE,oIAAoI;QACzI,MAAM,EACJ,kIAAkI;KACrI;IACD,gBAAgB,EAAE;QAChB,GAAG,EAAE,sIAAsI;QAC3I,MAAM,EACJ,kIAAkI;KACrI;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,yHAAyH;QAC9H,MAAM,EACJ,kIAAkI;KACrI;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,2HAA2H;QAChI,MAAM,EACJ,kIAAkI;KACrI;CACF,CAAC,CAAC","sourcesContent":["import type { AntigravityRelease } from \"./antigravity-install.types.ts\";\n\n// URLs and SHA-512 digests captured from Google's platform manifests for CLI 1.2.12.\nexport const antigravityReleases: Readonly<Record<string, AntigravityRelease>> =\n Object.freeze({\n linux_amd64: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/linux-x64/cli_linux_x64.tar.gz\",\n sha512:\n \"d5f0fe7433cb7c43ea878c07627a4fdb82d218f3bef5e6436266f5d9fdd2df145523453b9be0c4250391a64a007f5f42f7faff797bc2b2d502e7efb4874e383a\",\n },\n linux_arm64: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/linux-arm/cli_linux_arm64.tar.gz\",\n sha512:\n \"e2f10960197efbf2455edb1284ae686821e244908367f507bcb6a0d0f616e945d3eec5cdf29b41bbcd7f630826d0e9e233f457184d1696fa91e81d6a7ed440c9\",\n },\n linux_amd64_musl: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/linux-x64-musl/cli_linux_x64_musl.tar.gz\",\n sha512:\n \"830f4de12f9b79ec0a1ab4ce4b791d77d779517293c5a457990d351df3efde5ced750d2102ff59559c195b885bbc0f84404fdcf3d475315761d0fffe9217292f\",\n },\n linux_arm64_musl: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/linux-arm-musl/cli_linux_arm64_musl.tar.gz\",\n sha512:\n \"5035f56c8f6c4d672ecaf1b45edddb43617205b36a8787bac12bdc6042992d89ec6afcada9fa1174696ff3f78c1b7155c68e97e3c2bdd59b8bb13bc60a0f87e5\",\n },\n darwin_amd64: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/darwin-x64/cli_mac_x64.tar.gz\",\n sha512:\n \"07e56833460bc8999ea44f7fc4cff795e0304a08a05e5e296d6096ac8e1ef15c95aee6b692803734bb7f488e416c8bc80be640dfa7089d927fe79dbefdb56d21\",\n },\n darwin_arm64: {\n url: \"https://storage.googleapis.com/antigravity-public/antigravity-cli/1.2.12-5784551402897408/darwin-arm/cli_mac_arm64.tar.gz\",\n sha512:\n \"92bcd4d1976b570d6f053a1b5716e2f2962c22ca3cf7657a3fcb66b05b0f5523fa2d6f1899f157c09b66abda2c2f81938101ad7cd31845e1eda8f277addc2b8e\",\n },\n });\n"]}
|