@inneranimalmedia/agentsam-sdk 2.6.9 → 2.6.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/TRADEMARKS.md +22 -0
- package/apps/README.md +3 -0
- package/apps/cad-creator/LICENSE +21 -0
- package/apps/cad-creator/README.md +4 -1
- package/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/LICENSE +21 -0
- package/apps/client-cms-editor/README.md +3 -0
- package/apps/client-cms-editor/backend/package.json +3 -3
- package/apps/client-cms-editor/frontend/package.json +4 -4
- package/apps/client-cms-editor/package-lock.json +43 -43
- package/apps/client-cms-editor/package.json +3 -3
- package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +1 -1
- package/apps/client-cms-editor/reference/harvest/README.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +1 -1
- package/apps/client-cms-editor/shared/cms/package.json +2 -2
- package/docs/MINI.md +4 -2
- package/docs/REPO_FILE_MAP.txt +0 -1
- package/docs/SOURCE_ARCHITECTURE.md +1 -1
- package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +140 -0
- package/docs/architecture/HOOKS-MODELS-SELF-HOSTING-PLAN.md +199 -0
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
- package/docs/engineering/go-portability/01-product-project-deployment-authority.md +69 -0
- package/docs/engineering/provider-internal-renames/01-lane-initialization.md +20 -0
- package/docs/engineering/provider-internal-renames/01a-runtime-environment-contract.md +115 -0
- package/docs/engineering/provider-internal-renames/02-cfoa.md +57 -0
- package/docs/engineering/provider-internal-renames/03-gclioa.md +32 -0
- package/docs/engineering/provider-internal-renames/04-goaude.md +50 -0
- package/docs/engineering/provider-internal-renames/05-gdrv.md +33 -0
- package/docs/engineering/provider-internal-renames/06-verification.md +103 -0
- package/docs/engineering/provider-internal-renames/README.md +77 -0
- package/docs/engineering/provider-internal-renames/runtime-environment-contract.json +220 -0
- package/docs/engineering/test-diagnostics/go-cli-test-hang-20261003.md +49 -0
- package/docs/engineering/test-diagnostics/go-skip-deploy-docker-fix.md +90 -0
- package/docs/knowledge-service-verification.md +3 -3
- package/docs/plans/AGENTSAM-SUSPEND-QUEUE-KNOWLEDGE-RDP-2026-10-03.md +870 -0
- package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +9 -9
- package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +11 -11
- package/docs/plans/RECONCILIATION-2026-09-19.md +6 -6
- package/docs/plans/SAM_WORK_PROTOCOL.md +667 -0
- package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +2 -2
- package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +3 -3
- package/examples/hyperspace-demo/index.html +16 -0
- package/examples/hyperspace-demo/package.json +21 -0
- package/examples/hyperspace-demo/src/main.tsx +277 -0
- package/examples/hyperspace-demo/tsconfig.json +9 -0
- package/examples/hyperspace-demo/vite.config.ts +24 -0
- package/migrations/d1/0020_agentsam_receipt_catalog.sql +35 -0
- package/migrations/runtime/0005_agentsam_hooks.sql +87 -0
- package/migrations/runtime/0006_agent_run_suspend_activity.sql +53 -0
- package/migrations/runtime/0007_queue_control.sql +40 -0
- package/migrations/runtime/0008_agent_run_dependencies.sql +24 -0
- package/migrations/runtime/0008_analytics_legacy_bootstrap.sql +43 -0
- package/migrations/runtime/0009_analytics_authority.sql +108 -0
- package/package.json +45 -14
- package/packages/agentsam-brand/README.md +3 -0
- package/packages/agentsam-brand/package.json +2 -2
- package/packages/agentsam-brand/src/core/v2/compile.js +1 -1
- package/packages/agentsam-brand/src/core/v2/schema.js +1 -1
- package/packages/agentsam-contracts/dist/adapter.d.ts +22 -0
- package/packages/agentsam-contracts/dist/adapter.js +0 -0
- package/packages/agentsam-contracts/dist/agent.d.ts +66 -0
- package/packages/agentsam-contracts/dist/agent.js +15 -0
- package/packages/agentsam-contracts/dist/artifacts.d.ts +70 -0
- package/packages/agentsam-contracts/dist/artifacts.js +0 -0
- package/packages/agentsam-contracts/dist/authority.d.ts +21 -0
- package/packages/agentsam-contracts/dist/authority.js +0 -0
- package/packages/agentsam-contracts/dist/context.d.ts +14 -0
- package/packages/agentsam-contracts/dist/context.js +0 -0
- package/packages/agentsam-contracts/dist/errors.d.ts +121 -0
- package/packages/agentsam-contracts/dist/errors.js +5 -0
- package/packages/agentsam-contracts/dist/events.d.ts +53 -0
- package/packages/agentsam-contracts/dist/events.js +0 -0
- package/packages/agentsam-contracts/dist/execution.d.ts +38 -0
- package/packages/agentsam-contracts/dist/execution.js +0 -0
- package/packages/agentsam-contracts/dist/hooks.d.ts +31 -0
- package/packages/agentsam-contracts/dist/hooks.js +0 -0
- package/packages/agentsam-contracts/dist/identity.d.ts +15 -0
- package/packages/agentsam-contracts/dist/identity.js +0 -0
- package/packages/agentsam-contracts/dist/index.d.ts +16 -0
- package/packages/agentsam-contracts/dist/index.js +164 -0
- package/packages/agentsam-contracts/dist/models.d.ts +9 -0
- package/packages/agentsam-contracts/dist/models.js +0 -0
- package/packages/agentsam-contracts/dist/providers.d.ts +27 -0
- package/packages/agentsam-contracts/dist/providers.js +0 -0
- package/packages/agentsam-contracts/dist/repository.d.ts +56 -0
- package/packages/agentsam-contracts/dist/repository.js +15 -0
- package/packages/agentsam-contracts/dist/run.d.ts +113 -0
- package/packages/agentsam-contracts/dist/run.js +132 -0
- package/packages/agentsam-contracts/dist/tools.d.ts +82 -0
- package/packages/agentsam-contracts/dist/tools.js +0 -0
- package/packages/agentsam-contracts/dist/widgets.d.ts +38 -0
- package/packages/agentsam-contracts/dist/widgets.js +0 -0
- package/packages/agentsam-contracts/package.json +9 -1
- package/packages/agentsam-contracts/scripts/build.mjs +1 -1
- package/packages/agentsam-contracts/src/agent.ts +78 -3
- package/packages/agentsam-contracts/src/errors.ts +19 -10
- package/packages/agentsam-contracts/src/index.ts +2 -0
- package/packages/agentsam-contracts/src/run.ts +320 -0
- package/packages/agentsam-contracts/src/widgets.ts +58 -0
- package/packages/agentsam-contracts/test/contracts.test.mjs +1 -1
- package/packages/agentsam-contracts/test/run-contract.test.mjs +94 -0
- package/packages/agentsam-errors/package.json +11 -3
- package/packages/agentsam-errors/protocol/agentsam.error.v2.schema.json +821 -0
- package/packages/agentsam-errors/protocol/error-catalog.json +3512 -0
- package/packages/agentsam-errors/src/envelope.js +63 -11
- package/packages/agentsam-errors/src/error.js +6 -0
- package/packages/agentsam-errors/src/fingerprint.js +9 -1
- package/packages/agentsam-errors/src/normalize.js +51 -6
- package/packages/agentsam-errors/src/recovery.js +9 -35
- package/packages/agentsam-errors/src/transport.js +6 -1
- package/packages/agentsam-errors/src/vocabulary.js +515 -126
- package/packages/agentsam-errors/test/catalog-v2.test.mjs +106 -0
- package/packages/agentsam-errors/types/index.d.ts +157 -0
- package/packages/agentsam-goap/README.md +3 -0
- package/packages/agentsam-goap/package.json +2 -2
- package/packages/agentsam-hooks/README.md +206 -0
- package/packages/agentsam-hooks/bin/agentsam-hooks.mjs +64 -0
- package/packages/agentsam-hooks/bindings/go/command.go +55 -0
- package/packages/agentsam-hooks/bindings/go/errors_generated.go +402 -0
- package/packages/agentsam-hooks/bindings/go/go.mod +3 -0
- package/packages/agentsam-hooks/bindings/go/hooks.go +285 -0
- package/packages/agentsam-hooks/bindings/go/hooks_test.go +48 -0
- package/packages/agentsam-hooks/bindings/rust/Cargo.toml +11 -0
- package/packages/agentsam-hooks/bindings/rust/src/errors_generated.rs +396 -0
- package/packages/agentsam-hooks/bindings/rust/src/lib.rs +397 -0
- package/packages/agentsam-hooks/package.json +69 -0
- package/packages/agentsam-hooks/schema/manifest.json +54 -0
- package/packages/agentsam-hooks/scripts/clean-protocol.mjs +17 -0
- package/packages/agentsam-hooks/scripts/sync-protocol.mjs +27 -0
- package/packages/agentsam-hooks/src/adapters/agents.js +108 -0
- package/packages/agentsam-hooks/src/adapters/callback.js +4 -0
- package/packages/agentsam-hooks/src/adapters/capability.js +122 -0
- package/packages/agentsam-hooks/src/adapters/command.js +104 -0
- package/packages/agentsam-hooks/src/adapters/composite.js +31 -0
- package/packages/agentsam-hooks/src/adapters/http.js +58 -0
- package/packages/agentsam-hooks/src/adapters/lsp.js +116 -0
- package/packages/agentsam-hooks/src/adapters/mcp.js +76 -0
- package/packages/agentsam-hooks/src/adapters/provider.js +129 -0
- package/packages/agentsam-hooks/src/config.js +143 -0
- package/packages/agentsam-hooks/src/contracts.js +284 -0
- package/packages/agentsam-hooks/src/errors-generated.js +2732 -0
- package/packages/agentsam-hooks/src/index.d.ts +209 -0
- package/packages/agentsam-hooks/src/index.js +14 -0
- package/packages/agentsam-hooks/src/policy.js +34 -0
- package/packages/agentsam-hooks/src/runtime.js +312 -0
- package/packages/agentsam-hooks/src/store.js +264 -0
- package/packages/agentsam-hooks/test/adapters.test.mjs +216 -0
- package/packages/agentsam-hooks/test/runtime.test.mjs +258 -0
- package/packages/agentsam-knowledge/package.json +1 -1
- package/packages/agentsam-knowledge/src/backends/index.js +1 -1
- package/packages/agentsam-merch/README.md +62 -0
- package/packages/agentsam-merch/bin/agentsam-merch.mjs +16 -0
- package/packages/agentsam-merch/package.json +65 -0
- package/packages/agentsam-merch/profiles/completeful/dtg-back-large.json +42 -0
- package/packages/agentsam-merch/profiles/completeful/laser-engraving.json +39 -0
- package/packages/agentsam-merch/profiles/generic/embroidery-digitization.json +22 -0
- package/packages/agentsam-merch/schemas/collection-candidate.schema.json +66 -0
- package/packages/agentsam-merch/schemas/manufacturing-profile.schema.json +221 -0
- package/packages/agentsam-merch/src/adapters-completeful.js +50 -0
- package/packages/agentsam-merch/src/cli.js +93 -0
- package/packages/agentsam-merch/src/collection-lab.js +60 -0
- package/packages/agentsam-merch/src/compatibility.js +501 -0
- package/packages/agentsam-merch/src/derivatives.js +112 -0
- package/packages/agentsam-merch/src/index.d.ts +316 -0
- package/packages/agentsam-merch/src/index.js +46 -0
- package/packages/agentsam-merch/src/node/index.d.ts +58 -0
- package/packages/agentsam-merch/src/node/index.js +6 -0
- package/packages/agentsam-merch/src/node/raster.js +142 -0
- package/packages/agentsam-merch/src/node/vector.js +239 -0
- package/packages/agentsam-merch/src/product-concepts.js +118 -0
- package/packages/agentsam-merch/src/profile-registry.js +104 -0
- package/packages/agentsam-merch/src/profile.js +158 -0
- package/packages/agentsam-merch/src/transforms.js +215 -0
- package/packages/agentsam-merch/test/merch.test.mjs +332 -0
- package/packages/agentsam-merch/test/node-transforms.test.mjs +149 -0
- package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
- package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
- package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
- package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
- package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
- package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
- package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
- package/packages/agentsam-nav/dist/browser.d.ts +11 -0
- package/packages/agentsam-nav/dist/browser.global.js +172 -0
- package/packages/agentsam-nav/dist/browser.js +9688 -0
- package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
- package/packages/agentsam-nav/dist/index.d.ts +11 -0
- package/packages/agentsam-nav/dist/index.js +9689 -0
- package/packages/agentsam-nav/dist/legacy.css +83 -0
- package/packages/agentsam-nav/dist/shell.css +113 -0
- package/packages/agentsam-nav/dist/theme.css +113 -0
- package/packages/agentsam-nav/dist/utils.d.ts +1 -0
- package/packages/agentsam-nav/package.json +1 -1
- package/packages/agentsam-queue-control/README.md +4 -1
- package/packages/agentsam-queue-control/package.json +4 -3
- package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +111 -11
- package/packages/agentsam-queue-control/src/adapters/cloudflare.js +34 -6
- package/packages/agentsam-queue-control/src/adapters/memory.js +11 -2
- package/packages/agentsam-queue-control/src/adapters/sqlite.js +259 -0
- package/packages/agentsam-queue-control/src/contracts.js +207 -3
- package/packages/agentsam-queue-control/src/control-plane.js +62 -2
- package/packages/agentsam-queue-control/src/index.js +1 -0
- package/packages/agentsam-queue-control/test/queue-control.test.mjs +310 -0
- package/packages/agentsam-queue-control/test/sqlite-adapter.test.mjs +91 -0
- package/packages/agentsam-rapid-rust/README.md +3 -0
- package/packages/agentsam-repository/README.md +3 -0
- package/packages/agentsam-repository/package.json +1 -1
- package/packages/agentsam-vault/package.json +1 -1
- package/packages/agentsam-workbench/README.md +43 -0
- package/packages/agentsam-workbench/package.json +14 -4
- package/packages/agentsam-workbench/src/agent/AgentConversationSurface.tsx +108 -0
- package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +25 -8
- package/packages/agentsam-workbench/src/agent/AgentRuntimeField.tsx +152 -0
- package/packages/agentsam-workbench/src/agent/Composer.tsx +10 -1
- package/packages/agentsam-workbench/src/agent/RunMode.ts +26 -0
- package/packages/agentsam-workbench/src/agent/Thread.tsx +18 -3
- package/packages/agentsam-workbench/src/agent/index.ts +3 -0
- package/packages/agentsam-workbench/src/index.ts +4 -0
- package/packages/agentsam-workbench/src/manufacturing/PreflightIndicator.tsx +203 -0
- package/packages/agentsam-workbench/src/manufacturing/index.ts +2 -0
- package/packages/agentsam-workbench/src/manufacturing/loading.ts +147 -0
- package/packages/agentsam-workbench/src/widgets/BuiltinWidget.tsx +22 -0
- package/packages/agentsam-workbench/src/widgets/CountdownWidget.tsx +68 -0
- package/packages/agentsam-workbench/src/widgets/WidgetFrame.tsx +56 -0
- package/packages/agentsam-workbench/src/widgets/countdown.ts +25 -0
- package/packages/agentsam-workbench/src/widgets/index.ts +6 -0
- package/packages/agentsam-workbench/src/widgets/registry.ts +13 -0
- package/packages/agentsam-workbench/src/widgets/useCountdown.ts +128 -0
- package/packages/agentsam-workbench/src/widgets/widgets.css +102 -0
- package/packages/connectors/{cloudflare → cfoa}/package.json +3 -3
- package/packages/heuristic-theme/package.json +1 -1
- package/packages/identity/README.md +3 -0
- package/packages/identity/backend/README.md +3 -0
- package/packages/identity/package.json +2 -2
- package/packages/identity/src/frontend/auth-portal/README.md +3 -0
- package/packages/identity/src/index.js +1 -1
- package/packages/identity/src/oauth/README.md +4 -1
- package/packages/identity/src/oauth/credentials.js +1 -1
- package/packages/identity/src/server/worker-router.js +1 -1
- package/packages/identity/tests/google-desktop-identity-login.test.mjs +1 -1
- package/packages/identity/tests/lane1-packed-consumer.test.mjs +1 -1
- package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +1 -1
- package/packages/providers/completeful/package.json +1 -1
- package/packages/theme-church-site/package.json +2 -2
- package/packages/theme-companions-site/package.json +2 -2
- package/packages/theme-floors-site/package.json +2 -2
- package/packages/theme-fuelnfree-site/package.json +2 -2
- package/packages/theme-handyman-site/package.json +2 -2
- package/packages/theme-insurance-site/package.json +2 -2
- package/packages/theme-scenes/package.json +1 -1
- package/packages/theme-shinshu-site/package.json +2 -2
- package/packages/work-graph/package.json +1 -1
- package/protocol/apps/agentsam.app.v1.schema.json +1 -1
- package/protocol/apps/agentsam.host-install.v1.schema.json +1 -1
- package/protocol/assets/asset-record.v1.schema.json +1 -1
- package/protocol/brand/brandpack.v1.schema.json +1 -1
- package/protocol/capabilities/capability-manifest.schema.json +1 -1
- package/protocol/capabilities/knowledge-search-input.schema.json +1 -0
- package/protocol/credentials/issue.v1.schema.json +1 -1
- package/protocol/database/agentsam.schema-pack.v1.schema.json +1 -1
- package/protocol/database/connection.v1.schema.json +1 -1
- package/protocol/embeddings/embedding-profile.v1.schema.json +1 -1
- package/protocol/errors/README.md +36 -0
- package/protocol/errors/agentsam.error.v2.schema.json +821 -0
- package/protocol/errors/error-catalog.json +3506 -158
- package/protocol/errors/error-envelope.schema.json +195 -52
- package/protocol/errors/recovery.v1.schema.json +1 -1
- package/protocol/features/agentsam.feature.v1.schema.json +1 -1
- package/protocol/hooks/README.md +18 -0
- package/protocol/hooks/agentsam.hook.output.v1.schema.json +27 -0
- package/protocol/hooks/agentsam.hook.receipt.v1.schema.json +61 -0
- package/protocol/hooks/agentsam.hook.v1.schema.json +35 -0
- package/protocol/hooks/agentsam.hooks.config.v1.schema.json +78 -0
- package/protocol/local-engine/benchmark.v1.schema.json +1 -1
- package/protocol/local-engine/engine.v1.schema.json +1 -1
- package/protocol/models/README.md +3 -0
- package/protocol/models/model-inventory-v2.schema.json +1 -1
- package/protocol/models/provider-model-snapshot.v1.schema.json +22 -0
- package/protocol/receipts/agentsam.receipt.v1.json +95 -0
- package/protocol/rpc/v1/errors.proto +1 -0
- package/protocol/runtime/agentsam.runtime.v1.schema.json +1 -1
- package/protocol/runtime/workspace-fs.v1.schema.json +1 -1
- package/protocol/sam/activity.v1.schema.json +1 -1
- package/protocol/sam/answer.v1.schema.json +1 -1
- package/protocol/sam/calibration.v1.schema.json +1 -1
- package/protocol/sam/decision-receipt.v1.schema.json +1 -1
- package/protocol/sam/evaluation.v1.schema.json +1 -1
- package/protocol/sam/operation.schema.json +1 -1
- package/protocol/sam/outcome.v1.schema.json +1 -1
- package/protocol/sam/question.v1.schema.json +1 -1
- package/protocol/sam/result.schema.json +1 -1
- package/protocol/sam/state.v1.schema.json +1 -1
- package/protocol/scoring/scorecard.v1.schema.json +1 -1
- package/protocol/skills/agentsam.interaction.v1.schema.json +1 -1
- package/protocol/skills/agentsam.skill.v1.schema.json +1 -1
- package/protocol/theme-refinery/product-metadata.schema.json +1 -1
- package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +6 -6
- package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +6 -6
- package/protocol/theme-refinery/reconciliation-receipt.schema.json +1 -1
- package/protocol/ui/icon.v1.schema.json +1 -1
- package/python/README.md +20 -0
- package/python/agentsam_sdk/errors/__init__.py +4 -0
- package/python/agentsam_sdk/errors/vocabulary.py +2730 -0
- package/python/agentsam_sdk/hooks/__init__.py +32 -0
- package/python/agentsam_sdk/hooks/adapters.py +132 -0
- package/python/agentsam_sdk/hooks/contracts.py +121 -0
- package/python/agentsam_sdk/hooks/runtime.py +253 -0
- package/python/tests/test_hooks.py +115 -0
- package/skills/README.md +3 -0
- package/src/acp/agent-executor.js +106 -0
- package/src/acp/client.js +316 -0
- package/src/acp/dependencies.js +426 -0
- package/src/acp/http.js +207 -0
- package/src/acp/index.js +22 -0
- package/src/acp/runs.js +125 -0
- package/src/acp/runtime-selection.js +180 -0
- package/src/agent/responses-runner.js +145 -1
- package/src/cli/command-catalog.js +4 -0
- package/src/cli.js +33 -0
- package/src/commands/cheat-sheet.js +1 -0
- package/src/commands/cloudflare-login.js +1 -1
- package/src/commands/cloudflare.js +2 -2
- package/src/commands/connections.js +1 -1
- package/src/commands/go.js +76 -6
- package/src/commands/hooks.js +260 -0
- package/src/commands/merch.js +5 -0
- package/src/commands/mini.js +1 -1
- package/src/commands/models.js +1 -1
- package/src/commands/receipts.js +140 -0
- package/src/commands/run.js +253 -0
- package/src/commands/shell.js +114 -9
- package/src/errors/diagnostic.js +9 -9
- package/src/go/container.js +1 -1
- package/src/go/contract.js +61 -18
- package/src/go/discover.js +0 -4
- package/src/go/index.js +13 -1
- package/src/go/probe.js +109 -0
- package/src/go/{cloudflare.js → providers/cloudflare.js} +36 -136
- package/src/go/verify.js +1 -1
- package/src/index.js +32 -0
- package/src/indexing/ingest/inventory.js +1 -1
- package/src/knowledge/service/grpc-codec.js +2 -0
- package/src/lib/deploy/local-studio.js +2 -2
- package/src/lib/mini/scaffold.js +1 -1
- package/src/lib/slash-commands.js +1 -0
- package/src/lib/whoami-capabilities.js +1 -1
- package/src/local/runtime-store.js +54 -0
- package/src/mcp/cloudflare-bundles.js +1 -1
- package/src/models/catalog.js +0 -49
- package/src/models/inventory-core.js +69 -0
- package/src/plugins/index.js +9 -1
- package/src/plugins/registry.js +115 -6
- package/src/receipts/contract.js +68 -0
- package/src/receipts/index.js +20 -0
- package/src/receipts/prune.js +64 -0
- package/src/receipts/sinks.js +285 -0
- package/src/rpc/generated/errors_pb.js +49 -1
- package/src/tools/runtime.js +13 -5
- package/templates/mini/gadget/app.js +15 -40
- package/templates/mini/gadget/index.html +7 -7
- package/templates/mini/shared/style.css +1 -1
- /package/packages/connectors/{cloudflare → cfoa}/OAUTH_STORAGE_AUDIT.md +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/api-client.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/capabilities.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/credential.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/brand-protection.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/keyless.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/pages.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/scanner.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/snippets.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/tag-gateway.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/tags.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/token-validation.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/vectorize.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/families/workflows.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/index.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/oauth-persist.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/owner.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/permission-options.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/routes.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/scope-catalog.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/src/vault.js +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/capabilities.test.mjs +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/connector.test.mjs +0 -0
- /package/packages/connectors/{cloudflare → cfoa}/tests/oauth-persist.test.mjs +0 -0
- /package/packages/identity/src/oauth/{google-desktop-exchange.js → goaude.js} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Stage 05 — Google Drive Provider Internal Filename
|
|
2
|
+
|
|
3
|
+
## Change
|
|
4
|
+
|
|
5
|
+
Renamed:
|
|
6
|
+
|
|
7
|
+
`packages/agentsam-content/src/providers/google-drive.ts`
|
|
8
|
+
→ `packages/agentsam-content/src/providers/gdrv.ts`
|
|
9
|
+
|
|
10
|
+
`gdrv` is only the implementation filename.
|
|
11
|
+
|
|
12
|
+
## Runtime identity remains unchanged
|
|
13
|
+
|
|
14
|
+
The provider/source identifier remains:
|
|
15
|
+
|
|
16
|
+
`google-drive`
|
|
17
|
+
|
|
18
|
+
This matters because Work routing, library metadata, provider
|
|
19
|
+
registries, persisted records, capability resolution, analytics,
|
|
20
|
+
and external integrations may depend on that stable semantic ID.
|
|
21
|
+
|
|
22
|
+
## Tracked module/path references revised
|
|
23
|
+
|
|
24
|
+
- `docs/engineering/provider-internal-renames/README.md`
|
|
25
|
+
- `packages/agentsam-content/src/providers/index.ts`
|
|
26
|
+
|
|
27
|
+
## Future Work integration
|
|
28
|
+
|
|
29
|
+
The Work product should consume this provider through the
|
|
30
|
+
`agentsam-content` contract.
|
|
31
|
+
|
|
32
|
+
Work must not directly acquire Google OAuth credentials or keep
|
|
33
|
+
provider tokens in React/frontend state.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Stage 06 — Provider Internal Rename Verification
|
|
2
|
+
|
|
3
|
+
Verified: `2026-10-04T04:04:40.116058+00:00`
|
|
4
|
+
|
|
5
|
+
Branch: `feat/work-suite-graduation-20261003`
|
|
6
|
+
|
|
7
|
+
Verified implementation HEAD before this documentation commit:
|
|
8
|
+
|
|
9
|
+
`eae86e57`
|
|
10
|
+
|
|
11
|
+
Status: **PASS**
|
|
12
|
+
|
|
13
|
+
## Scope
|
|
14
|
+
|
|
15
|
+
This verification closes the provider-internal filesystem/module
|
|
16
|
+
rename lane.
|
|
17
|
+
|
|
18
|
+
The following are internal implementation abbreviations only:
|
|
19
|
+
|
|
20
|
+
- `cfoa` — Cloudflare OAuth internals
|
|
21
|
+
- `gclioa` — Google CLI OAuth internals
|
|
22
|
+
- `goaude` — Google desktop/native OAuth exchange internals
|
|
23
|
+
- `gdrv` — Google Drive provider implementation internals
|
|
24
|
+
|
|
25
|
+
They do not replace public provider names, persisted provider IDs,
|
|
26
|
+
OAuth route semantics, API URLs, capability names, environment
|
|
27
|
+
variables, or user-facing provider vocabulary.
|
|
28
|
+
|
|
29
|
+
## Verified paths
|
|
30
|
+
|
|
31
|
+
Present:
|
|
32
|
+
|
|
33
|
+
- `packages/connectors/cfoa/`
|
|
34
|
+
- `apps/local-studio/backend/worker/gclioa.js`
|
|
35
|
+
- `apps/local-studio/backend/worker/goaude.js`
|
|
36
|
+
- `packages/identity/src/oauth/goaude.js`
|
|
37
|
+
- `packages/agentsam-content/src/providers/gdrv.ts`
|
|
38
|
+
|
|
39
|
+
Retired physical implementation paths are absent.
|
|
40
|
+
|
|
41
|
+
Historical migration documentation may intentionally mention old
|
|
42
|
+
paths in order to preserve old → new provenance.
|
|
43
|
+
|
|
44
|
+
Active source/config/test/package references may not use them.
|
|
45
|
+
|
|
46
|
+
## Runtime environment contract
|
|
47
|
+
|
|
48
|
+
Protected runtime entries:
|
|
49
|
+
|
|
50
|
+
- variables: **7**
|
|
51
|
+
- secrets: **15**
|
|
52
|
+
- total: **22**
|
|
53
|
+
|
|
54
|
+
Runtime names and current value authority are preserved.
|
|
55
|
+
|
|
56
|
+
Internal abbreviations are prohibited from becoming environment
|
|
57
|
+
prefixes such as:
|
|
58
|
+
|
|
59
|
+
- `CFOA_*`
|
|
60
|
+
- `GCLIOA_*`
|
|
61
|
+
- `GOAUDE_*`
|
|
62
|
+
- `GDRV_*`
|
|
63
|
+
|
|
64
|
+
Secret values were not read, printed, serialized, or committed by
|
|
65
|
+
this verification.
|
|
66
|
+
|
|
67
|
+
## GO lifecycle regression
|
|
68
|
+
|
|
69
|
+
The lane also contains the bounded lifecycle correction discovered
|
|
70
|
+
while running the verification suite:
|
|
71
|
+
|
|
72
|
+
`fix(go): honor skip-deploy toolchain boundary`
|
|
73
|
+
|
|
74
|
+
`--skip-deploy` now avoids Docker execution when Docker is not
|
|
75
|
+
required, including the preflight path.
|
|
76
|
+
|
|
77
|
+
Regression tests enforce that boundary.
|
|
78
|
+
|
|
79
|
+
## Test gate
|
|
80
|
+
|
|
81
|
+
Immediately prior to this closeout, the repository's standard gate
|
|
82
|
+
completed successfully:
|
|
83
|
+
|
|
84
|
+
`npm run test:standard`
|
|
85
|
+
|
|
86
|
+
Result:
|
|
87
|
+
|
|
88
|
+
- standard smoke/unit/CLI/integration/terminal sequence completed
|
|
89
|
+
- integration/mock summary: 296 tests, 294 pass, 0 fail, 2 skipped
|
|
90
|
+
- terminal/mock summary: 3 tests, 3 pass, 0 fail
|
|
91
|
+
- overall command returned successfully to the shell
|
|
92
|
+
|
|
93
|
+
Skipped tests are not failures.
|
|
94
|
+
|
|
95
|
+
## Acceptance
|
|
96
|
+
|
|
97
|
+
Provider-internal rename work is complete and verified.
|
|
98
|
+
|
|
99
|
+
This closes the mechanical rename lane.
|
|
100
|
+
|
|
101
|
+
Subsequent work—AgentSam Go deployment portability, Work Suite
|
|
102
|
+
graduation, browser/public Explore work, and other feature lanes—
|
|
103
|
+
should be performed as separate chronological changes.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Provider Internal Rename Lane
|
|
2
|
+
|
|
3
|
+
Branch: `feat/work-suite-graduation-20261003`
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
This lane performs mechanical internal path cleanup before the
|
|
8
|
+
Work Suite graduation begins.
|
|
9
|
+
|
|
10
|
+
It intentionally separates internal implementation names from
|
|
11
|
+
externally meaningful provider identities.
|
|
12
|
+
|
|
13
|
+
## Planned internal names
|
|
14
|
+
|
|
15
|
+
| Existing path | Internal path |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `packages/connectors/cfoa/` | `packages/connectors/cfoa/` |
|
|
18
|
+
| `apps/local-studio/backend/worker/gclioa.js` | `apps/local-studio/backend/worker/gclioa.js` |
|
|
19
|
+
| `apps/local-studio/backend/worker/goaude.js` | `apps/local-studio/backend/worker/goaude.js` |
|
|
20
|
+
| `packages/identity/src/oauth/goaude.js` | `packages/identity/src/oauth/goaude.js` |
|
|
21
|
+
| `packages/agentsam-content/src/providers/gdrv.ts` | `packages/agentsam-content/src/providers/gdrv.ts` |
|
|
22
|
+
|
|
23
|
+
Mnemonics:
|
|
24
|
+
|
|
25
|
+
- `cfoa` = Cloudflare OAuth
|
|
26
|
+
- `gclioa` = Google CLI OAuth
|
|
27
|
+
- `goaude` = Google OAuth desktop/dashboard exchange
|
|
28
|
+
- `gdrv` = Google Drive provider implementation
|
|
29
|
+
|
|
30
|
+
## Hard boundaries
|
|
31
|
+
|
|
32
|
+
These changes MUST NOT rename external/runtime contracts merely
|
|
33
|
+
because their names contain Google or Cloudflare.
|
|
34
|
+
|
|
35
|
+
Preserve:
|
|
36
|
+
|
|
37
|
+
- provider IDs such as `cloudflare`
|
|
38
|
+
- provider IDs such as `google`
|
|
39
|
+
- source IDs such as `google-drive`
|
|
40
|
+
- R2 / D1 capability identifiers
|
|
41
|
+
- OAuth callback URLs
|
|
42
|
+
- API route URLs
|
|
43
|
+
- Google API URLs
|
|
44
|
+
- Cloudflare API URLs
|
|
45
|
+
- environment-variable names
|
|
46
|
+
- persisted provider/database values
|
|
47
|
+
- public SDK package names and APIs unless separately approved
|
|
48
|
+
|
|
49
|
+
## Authentication authority
|
|
50
|
+
|
|
51
|
+
This rename is not an authentication redesign.
|
|
52
|
+
|
|
53
|
+
Existing authorities remain authoritative:
|
|
54
|
+
|
|
55
|
+
- hosted Google OAuth
|
|
56
|
+
- Google desktop / installed-app PKCE
|
|
57
|
+
- Google CLI/cloud OAuth
|
|
58
|
+
- Cloudflare OAuth
|
|
59
|
+
- Local Studio hosted identity/session infrastructure
|
|
60
|
+
- Local Studio desktop native identity/session infrastructure
|
|
61
|
+
- provider capability grants and persisted connection records
|
|
62
|
+
|
|
63
|
+
UI packages must never become credential stores.
|
|
64
|
+
|
|
65
|
+
`@inneranimalmedia/agentsam-work` consumes capability-bearing host
|
|
66
|
+
adapters. It does not own Google or Cloudflare authentication.
|
|
67
|
+
|
|
68
|
+
## Change sequence
|
|
69
|
+
|
|
70
|
+
01. Establish clean worktree and trace documentation.
|
|
71
|
+
02. Rename Cloudflare connector implementation directory.
|
|
72
|
+
03. Rename Google CLI OAuth implementation file.
|
|
73
|
+
04. Rename Google desktop OAuth exchange implementation files.
|
|
74
|
+
05. Rename Google Drive provider implementation file.
|
|
75
|
+
06. Run contract/reference verification and tests.
|
|
76
|
+
|
|
77
|
+
Feature work begins only after this mechanical lane is green.
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
{
|
|
2
|
+
"allowed_environments": [
|
|
3
|
+
"production",
|
|
4
|
+
"previews",
|
|
5
|
+
"base"
|
|
6
|
+
],
|
|
7
|
+
"entries": {
|
|
8
|
+
"AGENTSAM_API_KEY": {
|
|
9
|
+
"approved": true,
|
|
10
|
+
"classification": "protected-runtime-secret",
|
|
11
|
+
"may_commit_value": false,
|
|
12
|
+
"may_log_value": false,
|
|
13
|
+
"preserve_existing_value": true,
|
|
14
|
+
"preserve_name": true,
|
|
15
|
+
"type": "secret"
|
|
16
|
+
},
|
|
17
|
+
"AGENTSAM_BRIDGE_KEY": {
|
|
18
|
+
"approved": true,
|
|
19
|
+
"classification": "protected-runtime-secret",
|
|
20
|
+
"may_commit_value": false,
|
|
21
|
+
"may_log_value": false,
|
|
22
|
+
"preserve_existing_value": true,
|
|
23
|
+
"preserve_name": true,
|
|
24
|
+
"type": "secret"
|
|
25
|
+
},
|
|
26
|
+
"CLOUDFLARE_ACCOUNT_ID": {
|
|
27
|
+
"approved": true,
|
|
28
|
+
"classification": "protected-runtime-variable",
|
|
29
|
+
"may_commit_value": false,
|
|
30
|
+
"may_log_value": false,
|
|
31
|
+
"preserve_existing_value": true,
|
|
32
|
+
"preserve_name": true,
|
|
33
|
+
"type": "variable"
|
|
34
|
+
},
|
|
35
|
+
"CLOUDFLARE_API_TOKEN": {
|
|
36
|
+
"approved": true,
|
|
37
|
+
"classification": "protected-runtime-secret",
|
|
38
|
+
"may_commit_value": false,
|
|
39
|
+
"may_log_value": false,
|
|
40
|
+
"preserve_existing_value": true,
|
|
41
|
+
"preserve_name": true,
|
|
42
|
+
"type": "secret"
|
|
43
|
+
},
|
|
44
|
+
"CLOUDFLARE_BREAK_GLASS_ADMIN_TOKEN": {
|
|
45
|
+
"approved": true,
|
|
46
|
+
"classification": "protected-runtime-secret",
|
|
47
|
+
"may_commit_value": false,
|
|
48
|
+
"may_log_value": false,
|
|
49
|
+
"preserve_existing_value": true,
|
|
50
|
+
"preserve_name": true,
|
|
51
|
+
"type": "secret"
|
|
52
|
+
},
|
|
53
|
+
"CLOUDFLARE_OAUTH_CLIENT_ID": {
|
|
54
|
+
"approved": true,
|
|
55
|
+
"classification": "protected-runtime-secret",
|
|
56
|
+
"may_commit_value": false,
|
|
57
|
+
"may_log_value": false,
|
|
58
|
+
"preserve_existing_value": true,
|
|
59
|
+
"preserve_name": true,
|
|
60
|
+
"type": "secret"
|
|
61
|
+
},
|
|
62
|
+
"CURSOR_API_KEY": {
|
|
63
|
+
"approved": true,
|
|
64
|
+
"classification": "protected-runtime-secret",
|
|
65
|
+
"may_commit_value": false,
|
|
66
|
+
"may_log_value": false,
|
|
67
|
+
"preserve_existing_value": true,
|
|
68
|
+
"preserve_name": true,
|
|
69
|
+
"type": "secret"
|
|
70
|
+
},
|
|
71
|
+
"GEMINI_API_KEY": {
|
|
72
|
+
"approved": true,
|
|
73
|
+
"classification": "protected-runtime-secret",
|
|
74
|
+
"may_commit_value": false,
|
|
75
|
+
"may_log_value": false,
|
|
76
|
+
"preserve_existing_value": true,
|
|
77
|
+
"preserve_name": true,
|
|
78
|
+
"type": "secret"
|
|
79
|
+
},
|
|
80
|
+
"GITHUB_APP_ID": {
|
|
81
|
+
"approved": true,
|
|
82
|
+
"classification": "protected-runtime-variable",
|
|
83
|
+
"may_commit_value": false,
|
|
84
|
+
"may_log_value": false,
|
|
85
|
+
"preserve_existing_value": true,
|
|
86
|
+
"preserve_name": true,
|
|
87
|
+
"type": "variable"
|
|
88
|
+
},
|
|
89
|
+
"GITHUB_APP_PRIVATE_KEY": {
|
|
90
|
+
"approved": true,
|
|
91
|
+
"classification": "protected-runtime-secret",
|
|
92
|
+
"may_commit_value": false,
|
|
93
|
+
"may_log_value": false,
|
|
94
|
+
"preserve_existing_value": true,
|
|
95
|
+
"preserve_name": true,
|
|
96
|
+
"type": "secret"
|
|
97
|
+
},
|
|
98
|
+
"GITHUB_CLIENT_ID": {
|
|
99
|
+
"approved": true,
|
|
100
|
+
"classification": "protected-runtime-variable",
|
|
101
|
+
"may_commit_value": false,
|
|
102
|
+
"may_log_value": false,
|
|
103
|
+
"preserve_existing_value": true,
|
|
104
|
+
"preserve_name": true,
|
|
105
|
+
"type": "variable"
|
|
106
|
+
},
|
|
107
|
+
"GITHUB_CLIENT_SECRET": {
|
|
108
|
+
"approved": true,
|
|
109
|
+
"classification": "protected-runtime-secret",
|
|
110
|
+
"may_commit_value": false,
|
|
111
|
+
"may_log_value": false,
|
|
112
|
+
"preserve_existing_value": true,
|
|
113
|
+
"preserve_name": true,
|
|
114
|
+
"type": "secret"
|
|
115
|
+
},
|
|
116
|
+
"GITHUB_WEBHOOK_SECRET": {
|
|
117
|
+
"approved": true,
|
|
118
|
+
"classification": "protected-runtime-secret",
|
|
119
|
+
"may_commit_value": false,
|
|
120
|
+
"may_log_value": false,
|
|
121
|
+
"preserve_existing_value": true,
|
|
122
|
+
"preserve_name": true,
|
|
123
|
+
"type": "secret"
|
|
124
|
+
},
|
|
125
|
+
"GOOGLE_CLIENT_ID": {
|
|
126
|
+
"approved": true,
|
|
127
|
+
"classification": "protected-runtime-variable",
|
|
128
|
+
"may_commit_value": false,
|
|
129
|
+
"may_log_value": false,
|
|
130
|
+
"preserve_existing_value": true,
|
|
131
|
+
"preserve_name": true,
|
|
132
|
+
"type": "variable"
|
|
133
|
+
},
|
|
134
|
+
"GOOGLE_CLIENT_SECRET": {
|
|
135
|
+
"approved": true,
|
|
136
|
+
"classification": "protected-runtime-secret",
|
|
137
|
+
"may_commit_value": false,
|
|
138
|
+
"may_log_value": false,
|
|
139
|
+
"preserve_existing_value": true,
|
|
140
|
+
"preserve_name": true,
|
|
141
|
+
"type": "secret"
|
|
142
|
+
},
|
|
143
|
+
"GOOGLE_DESKTOP_CLIENT_ID": {
|
|
144
|
+
"approved": true,
|
|
145
|
+
"classification": "protected-runtime-variable",
|
|
146
|
+
"may_commit_value": false,
|
|
147
|
+
"may_log_value": false,
|
|
148
|
+
"preserve_existing_value": true,
|
|
149
|
+
"preserve_name": true,
|
|
150
|
+
"type": "variable"
|
|
151
|
+
},
|
|
152
|
+
"GOOGLE_DESKTOP_CLIENT_SECRET": {
|
|
153
|
+
"approved": true,
|
|
154
|
+
"classification": "protected-runtime-secret",
|
|
155
|
+
"may_commit_value": false,
|
|
156
|
+
"may_log_value": false,
|
|
157
|
+
"preserve_existing_value": true,
|
|
158
|
+
"preserve_name": true,
|
|
159
|
+
"type": "secret"
|
|
160
|
+
},
|
|
161
|
+
"IAM_CLIENT_ID": {
|
|
162
|
+
"approved": true,
|
|
163
|
+
"classification": "protected-runtime-variable",
|
|
164
|
+
"may_commit_value": false,
|
|
165
|
+
"may_log_value": false,
|
|
166
|
+
"preserve_existing_value": true,
|
|
167
|
+
"preserve_name": true,
|
|
168
|
+
"type": "variable"
|
|
169
|
+
},
|
|
170
|
+
"IAM_CLIENT_SECRET": {
|
|
171
|
+
"approved": true,
|
|
172
|
+
"classification": "protected-runtime-secret",
|
|
173
|
+
"may_commit_value": false,
|
|
174
|
+
"may_log_value": false,
|
|
175
|
+
"preserve_existing_value": true,
|
|
176
|
+
"preserve_name": true,
|
|
177
|
+
"type": "secret"
|
|
178
|
+
},
|
|
179
|
+
"IAM_OAUTH_ISSUER": {
|
|
180
|
+
"approved": true,
|
|
181
|
+
"classification": "protected-runtime-variable",
|
|
182
|
+
"may_commit_value": false,
|
|
183
|
+
"may_log_value": false,
|
|
184
|
+
"preserve_existing_value": true,
|
|
185
|
+
"preserve_name": true,
|
|
186
|
+
"type": "variable"
|
|
187
|
+
},
|
|
188
|
+
"OPENAI_API_KEY": {
|
|
189
|
+
"approved": true,
|
|
190
|
+
"classification": "protected-runtime-secret",
|
|
191
|
+
"may_commit_value": false,
|
|
192
|
+
"may_log_value": false,
|
|
193
|
+
"preserve_existing_value": true,
|
|
194
|
+
"preserve_name": true,
|
|
195
|
+
"type": "secret"
|
|
196
|
+
},
|
|
197
|
+
"VAULT_MASTER_KEY": {
|
|
198
|
+
"approved": true,
|
|
199
|
+
"classification": "protected-runtime-secret",
|
|
200
|
+
"may_commit_value": false,
|
|
201
|
+
"may_log_value": false,
|
|
202
|
+
"preserve_existing_value": true,
|
|
203
|
+
"preserve_name": true,
|
|
204
|
+
"type": "secret"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"prohibited_refactor_behavior": [
|
|
208
|
+
"rename environment variable",
|
|
209
|
+
"convert provider environment variable to internal abbreviation",
|
|
210
|
+
"commit runtime value into repository",
|
|
211
|
+
"print secret value during migration or verification",
|
|
212
|
+
"move secret into frontend/browser state",
|
|
213
|
+
"move secret into query parameters",
|
|
214
|
+
"move secret into localStorage/sessionStorage",
|
|
215
|
+
"replace existing runtime authority with package-specific credential storage"
|
|
216
|
+
],
|
|
217
|
+
"purpose": "Protect known-good Local Studio / AgentSam runtime environment variable and secret names during provider-internal refactors.",
|
|
218
|
+
"schema": "agentsam.runtime-environment-contract.v1",
|
|
219
|
+
"status": "approved"
|
|
220
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# CLI `go.test.mjs` Hang Diagnostic
|
|
2
|
+
|
|
3
|
+
Recorded: `2026-10-04T03:26:23.680511+00:00`
|
|
4
|
+
|
|
5
|
+
Branch: `feat/work-suite-graduation-20261003`
|
|
6
|
+
|
|
7
|
+
## Prior isolation
|
|
8
|
+
|
|
9
|
+
The complete CLI file diagnostic found:
|
|
10
|
+
|
|
11
|
+
- 20 CLI test files pass independently
|
|
12
|
+
- `test/cli/go.test.mjs` alone exceeds 30 seconds
|
|
13
|
+
- no other CLI test file times out
|
|
14
|
+
|
|
15
|
+
## Force-exit diagnostic
|
|
16
|
+
|
|
17
|
+
Result: **TIMEOUT**
|
|
18
|
+
|
|
19
|
+
Duration: **15.02s**
|
|
20
|
+
|
|
21
|
+
Diagnosis: **SPECIFIC_TEST_TIMEOUT**
|
|
22
|
+
|
|
23
|
+
Node `--test-force-exit` was used only as a diagnostic.
|
|
24
|
+
It is not an accepted permanent fix for the test suite.
|
|
25
|
+
|
|
26
|
+
## Per-test isolation
|
|
27
|
+
|
|
28
|
+
- PASS | 0.37s | discoverGoRuntime finds agentsam-go-worker without inventing a sibling
|
|
29
|
+
- PASS | 0.24s | ensureProductContract refuses missing product roots instead of scaffolding siblings
|
|
30
|
+
- PASS | 1.49s | buildGoProduct emits build receipt after go test/vet/build
|
|
31
|
+
- PASS | 0.94s | agentsam go build --json exposes only portable build paths
|
|
32
|
+
- TIMEOUT | 12.01s | agentsam go --cloudflare agentsam-go-worker --skip-deploy is idempotent
|
|
33
|
+
- PASS | 0.48s | agentsam go status --json reports discovery
|
|
34
|
+
|
|
35
|
+
## Active resource probe
|
|
36
|
+
|
|
37
|
+
Not applicable for this diagnosis branch.
|
|
38
|
+
|
|
39
|
+
## Acceptance
|
|
40
|
+
|
|
41
|
+
The permanent correction must:
|
|
42
|
+
|
|
43
|
+
- close/await resources created by the test or implementation
|
|
44
|
+
- preserve GO/GOAP runtime behavior
|
|
45
|
+
- preserve timeout/queue semantics
|
|
46
|
+
- not add `--test-force-exit` to the normal test command
|
|
47
|
+
- allow `node --test test/cli/go.test.mjs` to terminate normally
|
|
48
|
+
- allow `npm run test:cli` to terminate normally
|
|
49
|
+
- allow `npm run test:standard` to terminate normally
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# AgentSam Go `--skip-deploy` lifecycle fix
|
|
2
|
+
|
|
3
|
+
## Symptom
|
|
4
|
+
|
|
5
|
+
`npm run test:standard` appeared to hang during the CLI suite.
|
|
6
|
+
|
|
7
|
+
File-level isolation identified:
|
|
8
|
+
|
|
9
|
+
`test/cli/go.test.mjs`
|
|
10
|
+
|
|
11
|
+
and test-level isolation identified:
|
|
12
|
+
|
|
13
|
+
`agentsam go --cloudflare agentsam-go-worker --skip-deploy is idempotent`
|
|
14
|
+
|
|
15
|
+
## Root cause
|
|
16
|
+
|
|
17
|
+
This was not R2, D1, Wrangler, Cloudflare OAuth, or a remote
|
|
18
|
+
registry request.
|
|
19
|
+
|
|
20
|
+
The command stalled before the Go build began.
|
|
21
|
+
|
|
22
|
+
`preflightToolchain({ requireDocker: false })` still executed:
|
|
23
|
+
|
|
24
|
+
`docker info`
|
|
25
|
+
|
|
26
|
+
and only ignored a failed Docker result after the command returned.
|
|
27
|
+
|
|
28
|
+
On this development machine, `docker info` did not return while the
|
|
29
|
+
Docker daemon was unavailable/stalled.
|
|
30
|
+
|
|
31
|
+
Therefore the meaning of `requireDocker: false` was incorrect:
|
|
32
|
+
|
|
33
|
+
Docker was logically optional but still physically executed.
|
|
34
|
+
|
|
35
|
+
A second unconditional Docker probe also existed later inside
|
|
36
|
+
`deployGoCloudflare()`.
|
|
37
|
+
|
|
38
|
+
## Correct contract
|
|
39
|
+
|
|
40
|
+
For:
|
|
41
|
+
|
|
42
|
+
`agentsam go --cloudflare agentsam-go-worker --skip-deploy`
|
|
43
|
+
|
|
44
|
+
the runtime may:
|
|
45
|
+
|
|
46
|
+
- discover the AgentSam Go product
|
|
47
|
+
- inspect Go/Wrangler tooling needed for local validation
|
|
48
|
+
- run Go test/vet/build
|
|
49
|
+
- probe the native Go runtime
|
|
50
|
+
- write temporary/local build receipts
|
|
51
|
+
- write local product validation evidence
|
|
52
|
+
|
|
53
|
+
It must not:
|
|
54
|
+
|
|
55
|
+
- execute Docker
|
|
56
|
+
- build or inspect a container
|
|
57
|
+
- resolve Cloudflare deployment identity
|
|
58
|
+
- deploy with Wrangler
|
|
59
|
+
- perform live deployment health probes
|
|
60
|
+
- publish the official InnerAnimalMedia product registry
|
|
61
|
+
- write product state to R2
|
|
62
|
+
- perform a remote D1 product-registry upsert
|
|
63
|
+
|
|
64
|
+
## Local storage behavior
|
|
65
|
+
|
|
66
|
+
The test supplies a temporary `stateRoot`.
|
|
67
|
+
|
|
68
|
+
Under `skipDeploy`, `deployGoCloudflare()` writes local validation
|
|
69
|
+
receipt/product evidence into that supplied state root.
|
|
70
|
+
|
|
71
|
+
The remote official registry lane remains isolated and reports:
|
|
72
|
+
|
|
73
|
+
`self_host_registry_isolated`
|
|
74
|
+
|
|
75
|
+
## Fix
|
|
76
|
+
|
|
77
|
+
1. `preflightToolchain()` now accepts an injectable spawn authority.
|
|
78
|
+
2. Docker is executed only when `requireDocker === true`.
|
|
79
|
+
3. When Docker is unnecessary, the stable check result is:
|
|
80
|
+
`docker / ok / skipped:not-required`.
|
|
81
|
+
4. `deployGoCloudflare()` independently skips its Docker probe when
|
|
82
|
+
`skipDeploy === true`.
|
|
83
|
+
5. Regression tests throw immediately if either skip path attempts
|
|
84
|
+
to execute Docker or another deployment spawn.
|
|
85
|
+
|
|
86
|
+
## Test-runner policy
|
|
87
|
+
|
|
88
|
+
No `--test-force-exit` workaround is used.
|
|
89
|
+
|
|
90
|
+
The code must terminate naturally with all lifecycle boundaries intact.
|
|
@@ -10,12 +10,12 @@ command from the isolated worktree, invoked as `node src/cli.js dockerize`:
|
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
12
|
node src/cli.js dockerize --type knowledge_service --name agentsam-knowledge \
|
|
13
|
-
--repository sdk
|
|
14
|
-
--repository app
|
|
13
|
+
--repository sdk=repo://agentsam-sdk \
|
|
14
|
+
--repository app=repo://inneranimalmedia \
|
|
15
15
|
--port 8792 --no-register-tag
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
- Checkout:
|
|
18
|
+
- Checkout: `worktree://knowledge-service/agentsam-sdk`
|
|
19
19
|
- Container/image: `agentsam-knowledge` / `agentsam-knowledge:7c108871c3`
|
|
20
20
|
- API: `http://127.0.0.1:8792`; authenticated routes; `/healthz` reports liveness
|
|
21
21
|
- Data: named Docker volume `agentsam-knowledge-data`
|