@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTSAM.md +29 -0
- package/README.md +37 -0
- package/apps/README.md +5 -0
- package/apps/cad-creator/README.md +4 -4
- package/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/AGENTS.md +12 -7
- package/apps/client-cms-editor/README.md +76 -48
- package/apps/client-cms-editor/agentsam.app.json +26 -9
- package/apps/client-cms-editor/backend/package.json +20 -3
- package/apps/client-cms-editor/backend/src/api/client.ts +134 -101
- package/apps/client-cms-editor/backend/src/index.ts +1 -1
- package/apps/client-cms-editor/backend/src/model.ts +11 -115
- package/apps/client-cms-editor/backend/src/preview/bridge.ts +1 -1
- package/apps/client-cms-editor/backend/tsconfig.json +6 -1
- package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
- package/apps/client-cms-editor/bin/agentsam-cms.mjs +2 -228
- package/apps/client-cms-editor/frontend/package.json +16 -7
- package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +9 -41
- package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +19 -174
- package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
- package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
- package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
- package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
- package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
- package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
- package/apps/client-cms-editor/frontend/src/{CmsEditor.tsx → editor/legacy/CmsEditorPrototype.tsx} +52 -23
- package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
- package/apps/client-cms-editor/frontend/src/index.ts +19 -5
- package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
- package/apps/client-cms-editor/frontend/src/main.tsx +82 -8
- package/apps/client-cms-editor/frontend/src/mount.tsx +92 -30
- package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +1 -1
- package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +8 -8
- package/apps/client-cms-editor/frontend/src/styles/studio.css +55 -3
- package/apps/client-cms-editor/frontend/tsconfig.json +12 -1
- package/apps/client-cms-editor/frontend/vite.config.ts +12 -0
- package/apps/client-cms-editor/package-lock.json +973 -134
- package/apps/client-cms-editor/package.json +118 -6
- package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
- package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
- package/apps/client-cms-editor/reference/harvest/README.md +8 -0
- package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
- package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
- package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
- package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
- package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
- package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
- package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
- package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
- package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
- package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
- package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
- package/apps/client-cms-editor/shared/cms/package.json +17 -7
- package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
- package/apps/client-cms-editor/shared/cms/src/agent-context.ts +7 -5
- package/apps/client-cms-editor/shared/cms/src/editor-types.ts +32 -0
- package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
- package/apps/client-cms-editor/shared/cms/src/index.ts +4 -0
- package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
- package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
- package/contracts/source-types.v1.json +353 -0
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
- package/docs/PRODUCT_LIFECYCLE.md +566 -0
- package/docs/REPO_FILE_MAP.txt +132 -0
- package/docs/THEME_REFINERY.md +2 -2
- package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +40 -20
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
- package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
- package/migrations/d1/0017_identity_native_oauth.sql +21 -0
- package/migrations/d1/0018_goap_control_plane_remaster.sql +40 -0
- package/migrations/d1/0019_agentsam_agent_run_plan_todo.sql +14 -0
- package/migrations/d1/README_PORTABLE_CONTROL_PLANE.md +20 -9
- package/migrations/runtime/0002_goap_blackboard_v1.sql +15 -0
- package/migrations/runtime/0004_agent_run_plan_linkage.sql +8 -0
- package/native/agentsam-machine/Cargo.lock +426 -0
- package/native/agentsam-machine/Cargo.toml +9 -0
- package/native/agentsam-machine/cli/Cargo.toml +21 -0
- package/native/agentsam-machine/cli/README.md +21 -0
- package/native/agentsam-machine/cli/src/main.rs +77 -0
- package/native/agentsam-machine/core/Cargo.toml +22 -0
- package/native/agentsam-machine/core/README.md +14 -0
- package/native/agentsam-machine/core/build.rs +33 -0
- package/native/agentsam-machine/core/contracts/source-types.v1.json +353 -0
- package/native/agentsam-machine/core/src/assets.rs +790 -0
- package/native/agentsam-machine/core/src/bound.rs +298 -0
- package/native/agentsam-machine/core/src/enrich.rs +706 -0
- package/native/agentsam-machine/core/src/frontend.rs +442 -0
- package/native/agentsam-machine/core/src/lib.rs +1092 -0
- package/native/agentsam-machine/core/src/liquid.rs +528 -0
- package/native/agentsam-machine/core/src/source_types.rs +78 -0
- package/package.json +64 -24
- package/packages/agentsam-brand/README.md +1 -1
- package/packages/agentsam-brand/package.json +4 -4
- package/packages/agentsam-brand/src/index.js +1 -1
- package/packages/agentsam-contracts/package.json +13 -3
- package/packages/agentsam-contracts/src/tools.ts +22 -0
- package/packages/agentsam-errors/package.json +13 -3
- package/packages/agentsam-errors/src/index.js +1 -0
- package/packages/agentsam-errors/src/tool.js +56 -0
- package/packages/agentsam-errors/test/tool.test.mjs +58 -0
- package/packages/agentsam-goap/README.md +52 -0
- package/packages/agentsam-goap/package.json +37 -0
- package/packages/agentsam-goap/src/adapters/d1-sqlite.js +570 -0
- package/packages/agentsam-goap/src/adapters/memory.js +199 -0
- package/packages/agentsam-goap/src/contracts.js +226 -0
- package/packages/agentsam-goap/src/control-plane.js +112 -0
- package/packages/agentsam-goap/src/errors.js +157 -0
- package/packages/agentsam-goap/src/index.js +5 -0
- package/packages/agentsam-goap/src/world.js +202 -0
- package/packages/agentsam-goap/test/goap-control-plane.test.mjs +245 -0
- package/packages/agentsam-goap/test/world.test.mjs +79 -0
- package/packages/agentsam-knowledge/package.json +18 -4
- package/packages/agentsam-knowledge/src/autorag/index.js +10 -3
- package/packages/agentsam-knowledge/src/backends/index.js +33 -1
- package/packages/agentsam-knowledge/test/autorag.test.mjs +60 -1
- package/packages/agentsam-nav/dist/browser.global.js +21 -18
- package/packages/agentsam-nav/dist/browser.js +6807 -130
- package/packages/agentsam-nav/dist/index.js +6799 -122
- package/packages/agentsam-nav/package.json +24 -6
- package/packages/agentsam-queue-control/README.md +1 -1
- package/packages/agentsam-queue-control/package.json +7 -2
- package/packages/agentsam-rapid-rust/src/main.rs +1 -1
- package/packages/agentsam-repository/package.json +13 -3
- package/packages/agentsam-repository/src/goap.js +13 -14
- package/packages/agentsam-repository/src/source-types.js +8 -0
- package/packages/agentsam-repository/src/tickets.js +15 -22
- package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +19 -8
- package/packages/agentsam-vault/package.json +14 -4
- package/packages/agentsam-workbench/package.json +15 -4
- package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
- package/packages/agentsam-workbench/src/agent/index.ts +2 -0
- package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
- package/packages/connectors/cloudflare/package.json +15 -3
- package/packages/connectors/cloudflare/src/api-client.js +3 -2
- package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
- package/packages/connectors/cloudflare/src/index.js +1 -0
- package/packages/heuristic-theme/README.md +2 -2
- package/packages/heuristic-theme/package.json +8 -3
- package/packages/heuristic-theme/src/registry.js +2 -2
- package/packages/heuristic-theme/src/theme.js +1 -1
- package/packages/heuristic-theme/test/theme.test.mjs +1 -1
- package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
- package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +27 -7
- package/packages/identity/README.md +2 -2
- package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -15
- package/packages/identity/migrations/apply-portable.js +109 -0
- package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +1 -1
- package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
- package/packages/identity/package.json +27 -6
- package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
- package/packages/identity/scripts/local-identity-bridge.mjs +13 -7
- package/packages/identity/scripts/preview-auth-portal.mjs +6 -6
- package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -401
- package/packages/identity/src/adapters/iam-compat/index.js +540 -0
- package/packages/identity/src/adapters/portable-d1/index.js +18 -0
- package/packages/identity/src/adapters/portable-store.js +479 -0
- package/packages/identity/src/adapters/sqlite/index.js +13 -312
- package/packages/identity/src/contracts/auth-config.js +0 -1
- package/packages/identity/src/contracts/identity-store.js +56 -5
- package/packages/identity/src/contracts/provider.js +1 -0
- package/packages/identity/src/contracts/sign-in-options.js +104 -0
- package/packages/identity/src/core/constants.js +1 -1
- package/packages/identity/src/core/session-policy.js +31 -0
- package/packages/identity/src/frontend/auth-portal/pages/login.html +6 -6
- package/packages/identity/src/frontend/auth-portal/pages/reset.html +5 -5
- package/packages/identity/src/frontend/auth-portal/pages/signup.html +5 -5
- package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
- package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +6 -37
- package/packages/identity/src/index.js +28 -1
- package/packages/identity/src/migrations/README.md +23 -23
- package/packages/identity/src/oauth/README.md +1 -1
- package/packages/identity/src/oauth/credentials.js +10 -11
- package/packages/identity/src/oauth/google-desktop-exchange.js +195 -27
- package/packages/identity/src/oauth/iam-platform.js +21 -9
- package/packages/identity/src/oauth/native-handoff.js +136 -0
- package/packages/identity/src/providers/chatgpt/headers.js +65 -0
- package/packages/identity/src/providers/chatgpt/index.js +86 -0
- package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
- package/packages/identity/src/providers/chatgpt/paths.js +45 -0
- package/packages/identity/src/providers/github/oauth.js +1 -2
- package/packages/identity/src/providers/github/profile.js +16 -2
- package/packages/identity/src/providers/index.js +11 -3
- package/packages/identity/src/server/identity-service.js +2 -1
- package/packages/identity/src/server/worker-router.js +71 -18
- package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
- package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
- package/packages/identity/tests/identity-init-scaffold.test.mjs +15 -4
- package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
- package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
- package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
- package/packages/identity/tests/oauth-credentials.test.mjs +4 -4
- package/packages/identity/tests/preview-auth-portal.test.mjs +4 -2
- package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
- package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
- package/packages/providers/completeful/package.json +7 -2
- package/packages/theme-church-site/package.json +17 -6
- package/packages/theme-church-site/src/harvest.json +4 -2
- package/packages/theme-church-site/src/index.js +7 -3
- package/packages/theme-church-site/test/theme.test.mjs +4 -2
- package/packages/theme-companions-site/package.json +17 -6
- package/packages/theme-companions-site/src/harvest.json +4 -2
- package/packages/theme-companions-site/src/index.js +7 -3
- package/packages/theme-companions-site/test/theme.test.mjs +4 -2
- package/packages/theme-floors-site/package.json +17 -6
- package/packages/theme-floors-site/src/harvest.json +4 -2
- package/packages/theme-floors-site/src/index.js +7 -3
- package/packages/theme-floors-site/test/theme.test.mjs +4 -2
- package/packages/theme-fuelnfree-site/package.json +17 -6
- package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
- package/packages/theme-fuelnfree-site/src/index.js +7 -3
- package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
- package/packages/theme-handyman-site/package.json +17 -6
- package/packages/theme-handyman-site/src/harvest.json +4 -2
- package/packages/theme-handyman-site/src/index.js +7 -3
- package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
- package/packages/theme-insurance-site/package.json +17 -6
- package/packages/theme-insurance-site/src/harvest.json +4 -2
- package/packages/theme-insurance-site/src/index.js +7 -3
- package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
- package/packages/theme-scenes/README.md +1 -1
- package/packages/theme-scenes/package.json +4 -3
- package/packages/theme-scenes/src/registry.js +187 -0
- package/packages/theme-shinshu-site/package.json +17 -6
- package/packages/theme-shinshu-site/src/harvest.json +4 -2
- package/packages/theme-shinshu-site/src/index.js +7 -3
- package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
- package/packages/work-graph/package.json +14 -4
- package/protocol/FILEMETA_V1.md +2 -2
- package/protocol/capabilities/manifest.json +1 -1
- package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
- package/protocol/presets/catalog.json +2 -2
- package/protocol/theme-refinery/lineage-registry.json +105 -0
- package/protocol/theme-refinery/product-metadata.schema.json +21 -1
- package/python/agentsam_sdk/repository/intelligence/discovery.py +27 -2
- package/python/agentsam_sdk/repository/intelligence/git.py +4 -0
- package/python/tests/test_repository_intelligence.py +30 -0
- package/src/cli/command-catalog.js +48 -5
- package/src/cli/dispatch.js +1 -0
- package/src/cli.js +20 -1
- package/src/cloudflare/runtime-status.js +2 -1
- package/src/commands/autorag.js +67 -13
- package/src/commands/cheat-sheet.js +29 -4
- package/src/commands/codebaseindex.js +45 -2
- package/src/commands/goap-world.js +134 -0
- package/src/commands/goap.js +11 -4
- package/src/commands/knowledge.js +59 -2
- package/src/commands/machine-binary.js +109 -0
- package/src/commands/machine-runtime.js +266 -0
- package/src/commands/machine.js +208 -0
- package/src/commands/package.js +530 -0
- package/src/commands/plan-ledger.js +370 -0
- package/src/commands/plan.js +183 -0
- package/src/commands/security.js +67 -4
- package/src/commands/setup.js +33 -16
- package/src/commands/skill.js +78 -17
- package/src/commands/status.js +8 -1
- package/src/features/resolve.js +1 -0
- package/src/knowledge/engine.js +21 -2
- package/src/knowledge/runtime-discovery.js +127 -0
- package/src/knowledge/source.js +1 -1
- package/src/lib/identity-scaffold.js +53 -13
- package/src/lib/setup/recipes.js +1 -1
- package/src/lib/slash-commands.js +1 -1
- package/src/local/runtime-store.js +24 -2
- package/src/local/sqlite.js +17 -0
- package/src/models/discovery.js +40 -22
- package/src/models/inventory-core.d.ts +105 -0
- package/src/models/inventory-core.js +54 -6
- package/src/sam/operations/package-audit.js +41 -0
- package/src/sam/seed.js +2 -0
- package/src/security/logs.js +3 -0
- package/src/ui/cli/help.js +41 -0
- package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
- package/test/account-session.test.mjs +0 -101
- package/test/agent-capabilities.test.mjs +0 -67
- package/test/app-authority-context.test.mjs +0 -32
- package/test/app-building-skills.test.mjs +0 -61
- package/test/apps-scaffold-contract.test.mjs +0 -114
- package/test/blender-cad.test.mjs +0 -146
- package/test/cad-docker.test.mjs +0 -96
- package/test/capabilities.test.mjs +0 -133
- package/test/cli/api-key-env-whoami.test.mjs +0 -129
- package/test/cli/codebaseindex-plan-ux.test.mjs +0 -37
- package/test/cli/eval-live.test.mjs +0 -219
- package/test/cli/go.test.mjs +0 -128
- package/test/cli/local-vault-and-provider-setup.test.mjs +0 -268
- package/test/cli/mcp-client.test.mjs +0 -256
- package/test/cli/preferences-runtime.test.mjs +0 -11
- package/test/cli/runtime-persist.test.mjs +0 -56
- package/test/cli/runtime-ui.test.mjs +0 -141
- package/test/cli/rust-command.test.mjs +0 -21
- package/test/cli/skill-npm-and-env.test.mjs +0 -52
- package/test/cli/status-actions.test.mjs +0 -88
- package/test/cli/wireframes-go-registry.test.mjs +0 -139
- package/test/cli-preferences.test.mjs +0 -46
- package/test/cloudflare-connector.test.mjs +0 -93
- package/test/cloudflare-runtime.test.mjs +0 -82
- package/test/context.test.mjs +0 -159
- package/test/credentials-audit.test.mjs +0 -113
- package/test/deploy-health-scan.test.mjs +0 -95
- package/test/deploy-receipt.test.mjs +0 -91
- package/test/dockerize.test.mjs +0 -93
- package/test/error-diagnostics.test.mjs +0 -124
- package/test/eval-context.test.mjs +0 -37
- package/test/execution-approvals.test.mjs +0 -27
- package/test/fixtures/cad/courtyard-house.json +0 -208
- package/test/fixtures/knowledge-rpc-worker.mjs +0 -16
- package/test/gcloud-auth.test.mjs +0 -111
- package/test/go/build-source-identity.test.mjs +0 -31
- package/test/go/cloudflare-probe.test.mjs +0 -317
- package/test/go/distribution.test.mjs +0 -28
- package/test/google-cloud-connection.test.mjs +0 -83
- package/test/google-cloud-inventory.test.mjs +0 -64
- package/test/indexing-provider.test.mjs +0 -29
- package/test/init-options.test.mjs +0 -35
- package/test/integration/ai-access-onboarding.test.mjs +0 -47
- package/test/integration/app-command.test.mjs +0 -85
- package/test/integration/cad-discovery.test.mjs +0 -158
- package/test/integration/cad-docker-executor.test.mjs +0 -249
- package/test/integration/cad-execution.test.mjs +0 -184
- package/test/integration/cad-project-app.test.mjs +0 -31
- package/test/integration/cad-project-d1.test.mjs +0 -25
- package/test/integration/cad-project-native.test.mjs +0 -24
- package/test/integration/cad-project-workflow.test.mjs +0 -9
- package/test/integration/cad-project.test.mjs +0 -85
- package/test/integration/cli-help.test.mjs +0 -41
- package/test/integration/cms-app-scaffold.test.mjs +0 -71
- package/test/integration/cms-site-tenancy-contract.test.mjs +0 -257
- package/test/integration/codebaseindex-ingest.test.mjs +0 -214
- package/test/integration/core-client.integration.test.mjs +0 -55
- package/test/integration/error-runtime-rpc.test.mjs +0 -71
- package/test/integration/features-resolve.test.mjs +0 -147
- package/test/integration/icon-registry.test.mjs +0 -67
- package/test/integration/ingest-discover-models.test.mjs +0 -30
- package/test/integration/inspect-path-cli.test.mjs +0 -46
- package/test/integration/install-script.test.mjs +0 -110
- package/test/integration/inventory-core.test.mjs +0 -53
- package/test/integration/inventory-evidence.test.mjs +0 -125
- package/test/integration/knowledge-rpc.test.mjs +0 -112
- package/test/integration/local-fs.test.mjs +0 -113
- package/test/integration/merkle-cli.test.mjs +0 -61
- package/test/integration/merkle-persistence-identity.test.mjs +0 -48
- package/test/integration/plugins-cloudflare.integration.test.mjs +0 -28
- package/test/integration/provider-env-cli.test.mjs +0 -50
- package/test/integration/provider-factory.test.mjs +0 -197
- package/test/integration/repository-company-graph.test.mjs +0 -90
- package/test/integration/runtime-migrations.test.mjs +0 -87
- package/test/integration/runtime-status.integration.test.mjs +0 -212
- package/test/integration/sam-activity-recovery.test.mjs +0 -147
- package/test/integration/sam-decision.test.mjs +0 -584
- package/test/integration/sam-kernel.test.mjs +0 -99
- package/test/integration/sam-planning-astar.test.mjs +0 -279
- package/test/integration/scaffold-cloudflare.test.mjs +0 -46
- package/test/integration/skill-runtime.test.mjs +0 -240
- package/test/integration/storage-architecture.test.mjs +0 -154
- package/test/integration/store-discovery.test.mjs +0 -44
- package/test/integration/studio-fs-pty-e2e.test.mjs +0 -294
- package/test/integration/terminal-exec.integration.test.mjs +0 -86
- package/test/integration/tool-runtime.test.mjs +0 -124
- package/test/integration/tool-schema.test.mjs +0 -59
- package/test/jr-dev-skill.test.mjs +0 -26
- package/test/knowledge-context-pack.test.mjs +0 -19
- package/test/knowledge-postgres.test.mjs +0 -40
- package/test/knowledge-service.test.mjs +0 -110
- package/test/knowledge.test.mjs +0 -206
- package/test/live/terminal-transport.live.test.mjs +0 -24
- package/test/local-sessions.test.mjs +0 -57
- package/test/local-studio-deploy.test.mjs +0 -83
- package/test/loopback-oauth.test.mjs +0 -53
- package/test/merkle-render.test.mjs +0 -31
- package/test/mini.test.mjs +0 -140
- package/test/model-catalog.test.mjs +0 -70
- package/test/models.test.mjs +0 -309
- package/test/npm10-lock.test.mjs +0 -29
- package/test/ollama.test.mjs +0 -137
- package/test/open-url.test.mjs +0 -64
- package/test/openai-responses.test.mjs +0 -155
- package/test/portable-context.test.mjs +0 -94
- package/test/project-config.test.mjs +0 -81
- package/test/project-rules.test.mjs +0 -44
- package/test/provider-credentials.test.mjs +0 -106
- package/test/rehydrate.test.mjs +0 -25
- package/test/release-hygiene.test.mjs +0 -42
- package/test/repository-snapshot-view.test.mjs +0 -112
- package/test/responses-runner.test.mjs +0 -465
- package/test/runtime-activity.test.mjs +0 -98
- package/test/sdk-worker-contract.test.mjs +0 -72
- package/test/security.test.mjs +0 -252
- package/test/setup-planner.test.mjs +0 -74
- package/test/setup-runtime.test.mjs +0 -51
- package/test/shell.test.mjs +0 -281
- package/test/skills.test.mjs +0 -22
- package/test/smoke.mjs +0 -122
- package/test/telemetry.test.mjs +0 -79
- package/test/terminal/local-pty.mock.test.mjs +0 -153
- package/test/terminal-machine-identity.test.mjs +0 -88
- package/test/theme-portability.test.mjs +0 -14
- package/test/tools-search.test.mjs +0 -73
- package/test/unit/website-assets-bindings.test.mjs +0 -60
- package/test/whoami-resume.test.mjs +0 -157
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
AGENTSAM SDK - REPOSITORY FILE MAP
|
|
2
|
+
=================================
|
|
3
|
+
ASCII orientation map; logical map, not exhaustive per-file inventory.
|
|
4
|
+
Scope: tracked layout. Generated, ignored, and machine-local content is omitted.
|
|
5
|
+
Baseline evidence: repository audit on feat/public-package-graduation.
|
|
6
|
+
Use git status / agentsam context for the current revision rather than treating
|
|
7
|
+
this orientation map as revision authority.
|
|
8
|
+
|
|
9
|
+
1. SYSTEM WIREFRAME
|
|
10
|
+
-------------------
|
|
11
|
+
|
|
12
|
+
Consumer / developer
|
|
13
|
+
|
|
|
14
|
+
+--> README.md, DEVELOPMENT.md, docs/ -------- architecture, contracts, guidance
|
|
15
|
+
+--> bin/agentsam ------------------------------ CLI launcher
|
|
16
|
+
| +--> src/cli + src/commands ----------- CLI composition
|
|
17
|
+
| +--> src/index.* ----------------------- SDK public facade
|
|
18
|
+
| +--> src/sam --------------------------- typed execution spine
|
|
19
|
+
| `--> src/* ----------------------------- SDK domains and adapters
|
|
20
|
+
+--> package.json / package-lock.json --------- root npm product and lockfile
|
|
21
|
+
+--> packages/* ------------------------ reusable packages
|
|
22
|
+
+--> apps/* ---------------------------- product applications
|
|
23
|
+
`--> services/* ------------------------ service implementations
|
|
24
|
+
|
|
25
|
+
Shared vocabulary: protocol/* + contracts/* + packages/agentsam-contracts
|
|
26
|
+
Data schemas: migrations/{runtime,sqlite,d1}
|
|
27
|
+
Provider seams: src/providers, src/cloudflare, packages/connectors/*
|
|
28
|
+
Verification: test/*, package-local tests, scripts/verify-* and npm gates
|
|
29
|
+
|
|
30
|
+
2. TOP-LEVEL FILE MAP
|
|
31
|
+
---------------------
|
|
32
|
+
|
|
33
|
+
/
|
|
34
|
+
|-- README.md, DEVELOPMENT.md, AGENTSAM.md, .agentsamrules
|
|
35
|
+
| Product overview, contributor workflow, runtime/repo instructions.
|
|
36
|
+
|-- package.json, package-lock.json, tsconfig.base.json
|
|
37
|
+
| Root package/workspaces, dependency lock, shared TypeScript settings.
|
|
38
|
+
|-- agentsam.yaml, .agentsam/config.json
|
|
39
|
+
| Portable project config and host/install config (not run history).
|
|
40
|
+
|-- bin/ CLI launchers
|
|
41
|
+
|-- src/ ROOT SDK AND CLI IMPLEMENTATION
|
|
42
|
+
| |-- index, cli, commands Public facade and command composition
|
|
43
|
+
| |-- sam, schemas, rpc, errors Execution kernel and typed boundaries
|
|
44
|
+
| |-- agent, models, providers Agent/model/provider seams
|
|
45
|
+
| |-- repository, context, indexing, knowledge
|
|
46
|
+
| |-- security, local, local-fs, capabilities, tools
|
|
47
|
+
| |-- cloudflare, plugins, features, skills, telemetry, eval
|
|
48
|
+
| `-- lib/ Legacy extraction zone (see SOURCE_ARCHITECTURE.md)
|
|
49
|
+
|-- packages/ REUSABLE PACKAGE BOUNDARIES
|
|
50
|
+
| |-- contracts, errors, runtime-protocol
|
|
51
|
+
| |-- identity, key-manager, vault, settings
|
|
52
|
+
| |-- repository, knowledge, work-graph, work, workbench, queue-control, goap
|
|
53
|
+
| |-- connectors/*, providers/*
|
|
54
|
+
| |-- brand, content*, assets-core, cloudflare-images, scoring
|
|
55
|
+
| |-- nav, shell-kit, desktop-shell, ide, database-editor
|
|
56
|
+
| `-- theme-* / heuristic-theme / docs-theme
|
|
57
|
+
| Examples/families, not an exhaustive package list.
|
|
58
|
+
|-- apps/ PRODUCT APPLICATIONS
|
|
59
|
+
| |-- local-studio, project-control, frontend, theme-gallery-preview
|
|
60
|
+
| |-- cad-creator, client-cms-editor, ecommerce-cms-agentsam
|
|
61
|
+
| |-- agentsam-go-worker, agentsamd
|
|
62
|
+
| |-- church-site, companions-site, floors-site, fuelnfree-site,
|
|
63
|
+
| | handyman-site, insurance-site, shinshu-site
|
|
64
|
+
| `-- _incoming/ Intake area
|
|
65
|
+
| App-specific frontend/backend/shared code and deployment configs stay
|
|
66
|
+
| with the app; see docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md.
|
|
67
|
+
|-- services/ Standalone service areas (cad, knowledge)
|
|
68
|
+
|-- protocol/ Cross-system protocol definitions (SAM, runtime,
|
|
69
|
+
| | repository, database, apps, skills, etc.)
|
|
70
|
+
| `-- README.md Ownership and host-adapter boundaries
|
|
71
|
+
|-- contracts/ Root-level contract artifacts
|
|
72
|
+
|-- migrations/ d1, runtime, sqlite migration families
|
|
73
|
+
|-- test/ Root unit, CLI, integration, terminal, live, Go tests
|
|
74
|
+
|-- scripts/ Generation, verification, release, site, tooling
|
|
75
|
+
|-- python/ Python SDK/tooling, tests, docs
|
|
76
|
+
|-- native/ Native machine/runtime component(s)
|
|
77
|
+
|-- docs/ Architecture, product, tools, ops, plans
|
|
78
|
+
| |-- architecture/ System boundaries and architecture contracts
|
|
79
|
+
| |-- product/ Lifecycle and UX standards
|
|
80
|
+
| |-- tools/ Capability/tool references
|
|
81
|
+
| `-- plans/ Dated plans/handoffs; not implementation SSOT
|
|
82
|
+
|-- skills/ Portable skill definitions
|
|
83
|
+
|-- templates/ Scaffolding templates
|
|
84
|
+
|-- registry/ Tool and domain registries
|
|
85
|
+
|-- examples/, assets/ Examples and shared assets
|
|
86
|
+
|-- sites/ Public-site source/content
|
|
87
|
+
|-- focus-timer/ Separate tracked top-level mini-app/site
|
|
88
|
+
|-- .github/, .changeset/ CI workflows and release metadata
|
|
89
|
+
`-- tags/ Repository tag metadata
|
|
90
|
+
|
|
91
|
+
3. AUDIT / NAVIGATION NOTES
|
|
92
|
+
---------------------------
|
|
93
|
+
|
|
94
|
+
* docs/SOURCE_ARCHITECTURE.md defines root src as the SDK/package composition
|
|
95
|
+
layer and calls src/lib a legacy extraction zone. Put new reusable modules in
|
|
96
|
+
a coherent owned package instead of adding unrelated code to src/lib.
|
|
97
|
+
* package.json explicitly enumerates root npm workspaces. Not every directory
|
|
98
|
+
under packages/ is necessarily a configured workspace: check before using
|
|
99
|
+
workspace commands or assuming it is published.
|
|
100
|
+
* protocol/, packages/agentsam-contracts, and root contracts/ are distinct
|
|
101
|
+
locations. Follow their local ownership docs instead of conflating them.
|
|
102
|
+
* Select the correct migration family and owning app/service before changing data
|
|
103
|
+
schemas. App-specific seeds and bindings belong with the consuming app.
|
|
104
|
+
* APP identity/validation: docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md;
|
|
105
|
+
root gates are npm run app:validate / npm run guard:apps.
|
|
106
|
+
* Local filesystem discovery also surfaced folders such as generated/, .wrangler/,
|
|
107
|
+
level-1/, test2/, and agentsam-originalsetup-inspect/. They are omitted here:
|
|
108
|
+
this map describes tracked repository roots, not every local/ignored directory.
|
|
109
|
+
* Public package distribution is audited by agentsam package audit/status/verify/
|
|
110
|
+
publish-plan. A publishConfig alone is intent, not proof that a package is
|
|
111
|
+
consumer-ready.
|
|
112
|
+
* native/agentsam-machine is the Rust machine-perception workspace. Its CLI resolves
|
|
113
|
+
from PATH, a built repo binary, or a Cargo fallback; treat native distribution as
|
|
114
|
+
its own release lane rather than assuming the npm package publishes a native binary.
|
|
115
|
+
* This file is an orientation map, not implementation or release authority.
|
|
116
|
+
|
|
117
|
+
4. QUICK TEST / RELEASE ENTRY POINTS
|
|
118
|
+
------------------------------------
|
|
119
|
+
|
|
120
|
+
npm run test:standard focused root test bundle
|
|
121
|
+
npm run test:workspaces selected package tests/typechecks
|
|
122
|
+
npm run verify broad SDK/package/app/boundary/package checks
|
|
123
|
+
npm run verify:release verify + knowledge package + Python + release security
|
|
124
|
+
npm run app:validate validate all product app manifests
|
|
125
|
+
agentsam package audit --public
|
|
126
|
+
compare public intent with registry/quality state
|
|
127
|
+
agentsam package verify <name>
|
|
128
|
+
run declared package gates + npm pack dry-run
|
|
129
|
+
agentsam package publish-plan
|
|
130
|
+
dependency-ordered, read-only publication plan
|
|
131
|
+
|
|
132
|
+
Use DEVELOPMENT.md and each package/app README for current, more detailed commands.
|
package/docs/THEME_REFINERY.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Law:** discover ≠ promote · install ≠ activate · automation ≠ authority
|
|
4
4
|
**SSOT for registry:** live `inneranimalmedia-business` D1 (`agentsam_products` + `asset_relationships` + evidence/artifacts)
|
|
5
|
-
**SSOT for packages:** `agentsam-sdk` workspaces (`@inneranimalmedia/heuristic
|
|
5
|
+
**SSOT for packages:** `agentsam-sdk` workspaces (`@inneranimalmedia/theme-heuristic`, `@inneranimalmedia/theme-*`)
|
|
6
6
|
|
|
7
7
|
Python owns deterministic harvest/normalize/preview/QA. AgentSam owns interpretation. **Every meaningful product unit must reconcile into D1** — filesystem-only runs are incomplete.
|
|
8
8
|
|
|
@@ -113,7 +113,7 @@ discovered / matched / registered / updated / unchanged products · repositories
|
|
|
113
113
|
|
|
114
114
|
| Package | Role |
|
|
115
115
|
|---------|------|
|
|
116
|
-
| `@inneranimalmedia/heuristic
|
|
116
|
+
| `@inneranimalmedia/theme-heuristic` | Stock CMS `theme.storefront.shell` |
|
|
117
117
|
| `@inneranimalmedia/theme-<slug>` | Installable gallery theme contracts |
|
|
118
118
|
| `apps/theme-gallery-preview` | Proving surface / historical mounts — not the package SSOT |
|
|
119
119
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# AgentSam Runtime Protocol
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Standing law: **`agentsam.runtime.v1` is the portable execution contract. `agentsamd` and ExecOS are supported runtime implementations/adapters; neither is a transport.**
|
|
4
4
|
|
|
5
5
|
## Architectural law
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**`agentsam.runtime.v1` is the execution authority. `agentsamd` is the stock portable machine daemon for independent installs; ExecOS is a proven managed/platform runtime and dispatcher used by InnerAnimalMedia. Runtime implementations sit behind the same connection/protocol model, and transports stay separate from them.**
|
|
8
8
|
|
|
9
9
|
Physical D1 tables stay `terminal_*` for this generation. Domain nouns in code are `RuntimeInstance`, `RuntimeConnection`, `RuntimeAdapter`, `RuntimeCapabilities`.
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ Physical D1 tables stay `terminal_*` for this generation. Domain nouns in code a
|
|
|
12
12
|
|---|---|
|
|
13
13
|
| **agentsamd** | Lives with execution: exec, PTY, fs, processes, git, tools, capabilities, attach |
|
|
14
14
|
| **Native helper** (this sprint) | Privileged companion under unprivileged Go: keychain, mounts, devices |
|
|
15
|
-
| **EXECOS Worker** (`env.EXECOS` / `EXECOS_IAM`) |
|
|
15
|
+
| **ExecOS / EXECOS Worker** (`env.EXECOS` / `EXECOS_IAM`) | Supported managed/platform runtime + cloud→machine dispatch used by InnerAnimalMedia. Historical rows may use `runtime_adapter=execos_legacy`; that compatibility id does **not** imply a retirement decision. |
|
|
16
16
|
| **PTY_SERVICE** | VPC/PTY health lane — not the daemon |
|
|
17
17
|
| **agentsam-go-worker** | Optional hosted Go service (same Go core). **Not** the Studio control plane |
|
|
18
18
|
| **Local Studio Worker** | Stock app host: auth, D1 SSOT, bindings, runtime APIs |
|
|
@@ -35,12 +35,30 @@ Examples:
|
|
|
35
35
|
| lifecycle | persistent | persistent | ephemeral |
|
|
36
36
|
| provider_product | (host) | compute_engine | sandbox |
|
|
37
37
|
| protocol | agentsam.runtime.v1 | same | same |
|
|
38
|
-
| runtime_adapter | agentsamd | agentsamd | cloudflare_sandbox |
|
|
38
|
+
| runtime_adapter | agentsamd or ExecOS | agentsamd or ExecOS | cloudflare_sandbox |
|
|
39
39
|
| transport | cloudflare_tunnel / direct_https | cloudflare_tunnel / vpc_service | service_binding |
|
|
40
40
|
| auth_mode | connection_token | connection_token / platform_bridge | service_binding |
|
|
41
41
|
|
|
42
42
|
**Forbidden:** `transport IN ('execos','container')` — those were adapter/substrate smuggled into transport.
|
|
43
43
|
|
|
44
|
+
### ExecOS support status
|
|
45
|
+
|
|
46
|
+
ExecOS is **supported working machinery**, not presumed deprecated. Current InnerAnimalMedia production/runtime paths still use it for governed dispatch, enrolled-device execution, bridge authentication, terminal/session routing, and `user_hosted_tunnel` flows.
|
|
47
|
+
|
|
48
|
+
`execos_legacy` exists because earlier rows encoded `execos` as a transport and needed a compatibility mapping into the newer four-axis model. The word `legacy` in that identifier is migration vocabulary; it is **not** authorization to delete, disable, or silently replace ExecOS.
|
|
49
|
+
|
|
50
|
+
The portability goal is additive:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
agentsam.runtime.v1
|
|
54
|
+
├── agentsamd stock portable/local runtime
|
|
55
|
+
├── ExecOS supported managed/platform runtime
|
|
56
|
+
├── cloudflare_sandbox sandbox adapter
|
|
57
|
+
└── future adapters
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Where implementations overlap, converge on protocol semantics and acceptance tests. A future deprecation is a separate, evidence-backed product decision.
|
|
61
|
+
|
|
44
62
|
---
|
|
45
63
|
|
|
46
64
|
## Runtime Registry (D1 spine — preserve)
|
|
@@ -57,7 +75,7 @@ ACCOUNT
|
|
|
57
75
|
▼
|
|
58
76
|
terminal_connections HOW AGENTSAM TALKS TO IT
|
|
59
77
|
├── protocol = agentsam.runtime.v1
|
|
60
|
-
├── runtime_adapter = agentsamd | execos_legacy | …
|
|
78
|
+
├── runtime_adapter = agentsamd | execos_legacy (ExecOS compatibility id) | …
|
|
61
79
|
├── transport = direct_https | cloudflare_tunnel | vpc_service | …
|
|
62
80
|
├── auth_mode
|
|
63
81
|
├── terminal_connection_credentials
|
|
@@ -118,16 +136,16 @@ system.inspect
|
|
|
118
136
|
|
|
119
137
|
## Migration priority
|
|
120
138
|
|
|
121
|
-
1. Freeze vocabulary (this doc + `packages/runtime-protocol`)
|
|
122
|
-
2. Rebuild `terminal_instances` (local_device→host)
|
|
123
|
-
3.
|
|
124
|
-
4.
|
|
125
|
-
5. `execos_run_id` → `runtime_run_id`
|
|
126
|
-
6. Widen `cloud_provider_connections
|
|
127
|
-
7.
|
|
128
|
-
8. `agentsam setup runtime` writes
|
|
129
|
-
9.
|
|
130
|
-
10.
|
|
139
|
+
1. Freeze vocabulary (this doc + `packages/runtime-protocol`).
|
|
140
|
+
2. Rebuild `terminal_instances` (local_device→host).
|
|
141
|
+
3. Normalize historical `transport=execos` records into **adapter + real transport** fields. Existing `runtime_adapter=execos_legacy` is a compatibility identifier for ExecOS-backed connections, not a support/deprecation state.
|
|
142
|
+
4. Stock independent/local installs may default to `runtime_adapter=agentsamd`; managed/platform installs may continue to use ExecOS. Both remain valid registered runtimes.
|
|
143
|
+
5. `execos_run_id` → protocol-neutral `runtime_run_id` where that column still encodes implementation detail.
|
|
144
|
+
6. Widen `cloud_provider_connections`.
|
|
145
|
+
7. Heartbeats fill `capabilities_json`, `provider_product`, and lifecycle facts from the selected runtime.
|
|
146
|
+
8. `agentsam setup runtime` writes records from GOAP plans without assuming one runtime implementation.
|
|
147
|
+
9. Prove overlapping ExecOS / agentsamd operations against the same `agentsam.runtime.v1` semantics instead of removing one merely because the other exists.
|
|
148
|
+
10. Any future narrowing or retirement of ExecOS requires an explicit product decision, inventory of production callers, proven replacement parity, migration plan, acceptance tests, and approval.
|
|
131
149
|
|
|
132
150
|
---
|
|
133
151
|
|
|
@@ -144,8 +162,10 @@ system.inspect
|
|
|
144
162
|
|
|
145
163
|
## Success criteria
|
|
146
164
|
|
|
147
|
-
- User123
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
165
|
+
- User123 can install Studio → `setup runtime` → enroll the stock `agentsamd` runtime (+ native helper where needed) → attach without InnerAnimalMedia infrastructure.
|
|
166
|
+
- Existing InnerAnimalMedia ExecOS connections remain supported and functional while sharing protocol-neutral registry/session concepts.
|
|
167
|
+
- Same protocol semantics can be implemented across Mac / GCP VM / Docker / CF Container; Sandbox remains an adapter.
|
|
168
|
+
- Transport can change without renaming the instance or changing runtime/session semantics.
|
|
169
|
+
- D1 spine stays `terminal_*`; vocabulary remains instance + adapter + transport + auth.
|
|
170
|
+
- The historical string `execos_legacy` is treated as compatibility vocabulary only. **Do not infer support lifecycle from the identifier.**
|
|
171
|
+
- Duplication between ExecOS and agentsamd is resolved by shared contracts/tests and explicit routing, not by deleting proven machinery without parity.
|
|
@@ -24,7 +24,7 @@ or a hardcoded provider — it is not finished.
|
|
|
24
24
|
`protocol/assets/`) owns canonical asset identity (`ast_*`), machine facts,
|
|
25
25
|
provenance and provider **representations**.
|
|
26
26
|
|
|
27
|
-
3. **BrandPack** (`brand.pack.json` / `@inneranimalmedia/agentsam-
|
|
27
|
+
3. **BrandPack** (`brand.pack.json` / `@inneranimalmedia/agentsam-brand`)
|
|
28
28
|
owns the canonical brand system **AND brand-scoped assets**: logos, icons,
|
|
29
29
|
fonts, imagery, video, models, themes, styles, tokens, motion, semantic
|
|
30
30
|
roles and brand delivery rules. BrandPack does **not** own physical storage
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Local Studio desktop release graduation — 2.6.6
|
|
2
|
+
|
|
3
|
+
**Owner lane:** installed/downloadable Local Studio only
|
|
4
|
+
**Branch:** `feat/local-studio-desktop-release-20260929`
|
|
5
|
+
**Canonical UI:** `apps/local-studio`
|
|
6
|
+
**Native shell:** `packages/agentsam-desktop-shell`
|
|
7
|
+
**Do not absorb:** Agent 1's hosted Worker/CMS finishing work
|
|
8
|
+
|
|
9
|
+
## Current verified baseline
|
|
10
|
+
|
|
11
|
+
- The installed `/Applications/AgentSam Local Studio.app` is stale `2.6.5`.
|
|
12
|
+
- `apps/local-studio` is already `2.6.6` and builds a real bundled desktop SPA.
|
|
13
|
+
- `npm --prefix apps/local-studio run verify:desktop` passes.
|
|
14
|
+
- `cargo check --manifest-path packages/agentsam-desktop-shell/src-tauri/Cargo.toml` passes.
|
|
15
|
+
- The packaged `2.6.6` Tauri app launches and exposes the real Local Studio UI: navigation, Chat/Work, composer, model picker, and Send.
|
|
16
|
+
- The current `2.6.6` DMG exists, but the app is ad-hoc signed; Gatekeeper rejects it.
|
|
17
|
+
- This machine currently has no valid Apple code-signing identity and no Tauri updater private-key environment configured.
|
|
18
|
+
- `agentsam-desktop-updates` is deployed, but updater checks fail because production D1 lacks `desktop_shell_releases`.
|
|
19
|
+
- `updates.agentsam.dev` does not currently resolve.
|
|
20
|
+
- `apps/local-studio/agentsam.app.json` still advertises an npm install for a private package. That install contract is stale.
|
|
21
|
+
|
|
22
|
+
## Product law
|
|
23
|
+
|
|
24
|
+
Local Studio desktop is not a website wrapper and not an npm package masquerading as an app.
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
AgentSam Local Studio.app
|
|
28
|
+
-> bundled apps/local-studio SPA
|
|
29
|
+
-> Tauri native commands
|
|
30
|
+
-> agentsamd / SQLite / filesystem / keychain / identity adapters
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The npm release and desktop release may share a version, but they are separate artifacts:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
@inneranimalmedia/agentsam-sdk -> npm registry
|
|
37
|
+
AgentSam Local Studio -> signed/notarized native artifact + updater/download service
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Release gate 1 — source and native parity
|
|
41
|
+
|
|
42
|
+
Required green checks:
|
|
43
|
+
|
|
44
|
+
1. `npm --prefix apps/local-studio run verify:desktop`
|
|
45
|
+
2. Local Studio typecheck/tests relevant to desktop and auth
|
|
46
|
+
3. `npm --prefix packages/identity test`
|
|
47
|
+
4. `cargo check` and `cargo test` for `agentsam-desktop-shell`
|
|
48
|
+
5. Build the shell from the current Local Studio SPA, never from a recovery/bootstrap page
|
|
49
|
+
6. Launch the packaged `.app` and confirm the Local Studio accessibility tree contains the real workspace
|
|
50
|
+
7. Exercise native startup without blocking the work surface
|
|
51
|
+
8. Exercise SQLite, local content/files, PTY/agentsamd, keychain/session restoration, and deep-link callback paths
|
|
52
|
+
|
|
53
|
+
No release may proceed if the UI only works in Chrome while the packaged WebView is blank.
|
|
54
|
+
|
|
55
|
+
## Release gate 2 — one version authority
|
|
56
|
+
|
|
57
|
+
Before release, these must agree:
|
|
58
|
+
|
|
59
|
+
- root SDK package version
|
|
60
|
+
- `apps/local-studio/package.json`
|
|
61
|
+
- `packages/agentsam-desktop-shell/manifests/local-studio.json`
|
|
62
|
+
- generated Tauri config / bundle Info.plist
|
|
63
|
+
- DMG filename
|
|
64
|
+
- updater registry row
|
|
65
|
+
|
|
66
|
+
For this graduation target, the intended version is `2.6.6`.
|
|
67
|
+
|
|
68
|
+
## Release gate 3 — updater/download backend
|
|
69
|
+
|
|
70
|
+
1. Apply `migrations/d1/0017_desktop_shell_releases.sql` to `inneranimalmedia-business`.
|
|
71
|
+
2. Re-test `agentsam-desktop-updates` updater lookup; missing table must be gone.
|
|
72
|
+
3. Keep one backend: D1 release metadata + R2 artifact bytes.
|
|
73
|
+
4. Decide the canonical public updater hostname and make it resolve. Do not leave Tauri configured to a dead hostname.
|
|
74
|
+
5. Publish immutable release artifacts under:
|
|
75
|
+
`native/release/local-studio/<target>/<arch>/<version>/<filename>`.
|
|
76
|
+
6. Registry rows must point at the exact downloadable artifact and include a valid Tauri updater signature.
|
|
77
|
+
|
|
78
|
+
## Release gate 4 — signing and notarization
|
|
79
|
+
|
|
80
|
+
A public macOS build is not complete while `codesign` reports `Signature=adhoc` or `spctl` rejects it.
|
|
81
|
+
|
|
82
|
+
Required for release channel:
|
|
83
|
+
|
|
84
|
+
- Developer ID Application signing identity
|
|
85
|
+
- hardened-runtime-compatible signing through Tauri
|
|
86
|
+
- Apple notarization
|
|
87
|
+
- stapled notarization ticket where applicable
|
|
88
|
+
- `codesign --verify --deep --strict` passes
|
|
89
|
+
- `spctl -a -vv` accepts the final app copied from the DMG
|
|
90
|
+
- Tauri updater private key available at build time and `.sig` generated
|
|
91
|
+
|
|
92
|
+
Unsigned/ad-hoc artifacts may only be used in a clearly named test lane.
|
|
93
|
+
|
|
94
|
+
## Release gate 5 — installer and CLI contract
|
|
95
|
+
|
|
96
|
+
`agentsam app install local-studio` must stop advertising `npm install @inneranimalmedia/agentsam-local-studio`.
|
|
97
|
+
|
|
98
|
+
Target behavior:
|
|
99
|
+
|
|
100
|
+
1. resolve OS + architecture;
|
|
101
|
+
2. resolve the current release artifact from the desktop release service;
|
|
102
|
+
3. present/download the native installer for that platform;
|
|
103
|
+
4. keep source/npm installation separate from native application installation;
|
|
104
|
+
5. fail visibly when no signed release exists.
|
|
105
|
+
|
|
106
|
+
The hosted `/install/studio` route must not claim to install Local Studio while it only installs the SDK CLI.
|
|
107
|
+
|
|
108
|
+
## Release gate 6 — clean-machine acceptance
|
|
109
|
+
|
|
110
|
+
For macOS 2.6.6:
|
|
111
|
+
|
|
112
|
+
1. download the release DMG through the public release URL;
|
|
113
|
+
2. mount the DMG;
|
|
114
|
+
3. copy `AgentSam Local Studio.app` to `/Applications`;
|
|
115
|
+
4. launch the copied app, not the build-tree app;
|
|
116
|
+
5. confirm real Local Studio shell renders;
|
|
117
|
+
6. confirm signed-out local usage remains available;
|
|
118
|
+
7. test AgentSam account login/session restore through the shared IAM authority;
|
|
119
|
+
8. test local filesystem/content, SQLite/database UI, terminal/PTY, and agentsamd;
|
|
120
|
+
9. restart the app and verify state/session restoration;
|
|
121
|
+
10. confirm updater check works from an older known build.
|
|
122
|
+
|
|
123
|
+
## Release gate 7 — npm SDK release
|
|
124
|
+
|
|
125
|
+
Only after desktop acceptance is green:
|
|
126
|
+
|
|
127
|
+
1. reconcile root SDK version to `2.6.6`;
|
|
128
|
+
2. run the full npm release verification gates;
|
|
129
|
+
3. `npm pack` and inspect the consumer artifact;
|
|
130
|
+
4. publish `@inneranimalmedia/agentsam-sdk@2.6.6`;
|
|
131
|
+
5. verify npm `latest` points to the intended version;
|
|
132
|
+
6. verify CLI `agentsam app install local-studio` resolves the native app release rather than a private npm package.
|
|
133
|
+
|
|
134
|
+
## Hosted/web Agent 1 handoff boundary
|
|
135
|
+
|
|
136
|
+
Agent 1 owns the hosted `agentsam.inneranimalmedia.com` completion lane: marketing/download surface, hosted `/agentsam`, CMS, and web routing. Desktop work may consume the final public download/updater hostname but must not revert to a hosted WebView as its application runtime.
|
|
137
|
+
|
|
138
|
+
## Hard stop conditions
|
|
139
|
+
|
|
140
|
+
Do not call the desktop release complete if any of these are true:
|
|
141
|
+
|
|
142
|
+
- installed app opens blank;
|
|
143
|
+
- packaged app is only a website redirect;
|
|
144
|
+
- version sources disagree;
|
|
145
|
+
- updater endpoint returns 5xx;
|
|
146
|
+
- download URL is dead;
|
|
147
|
+
- updater signature is absent;
|
|
148
|
+
- Gatekeeper rejects the release artifact;
|
|
149
|
+
- CLI advertises a private/unpublished npm package as the desktop installer;
|
|
150
|
+
- native local features require a hosted login page just to render the app.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
-- Native (desktop) OAuth handoff for the portable identity package.
|
|
2
|
+
-- Additive only: browser OAuth keeps working before and after this applies.
|
|
3
|
+
-- auth_sessions.type already exists in live D1 (DEFAULT 'browser').
|
|
4
|
+
|
|
5
|
+
ALTER TABLE identity_oauth_states ADD COLUMN client_type TEXT;
|
|
6
|
+
ALTER TABLE identity_oauth_states ADD COLUMN native_challenge TEXT;
|
|
7
|
+
ALTER TABLE identity_oauth_states ADD COLUMN native_redirect TEXT;
|
|
8
|
+
|
|
9
|
+
-- Single-use, PKCE-bound pickup of a desktop session. Only the sha256 of the
|
|
10
|
+
-- handoff code is stored; the session id never appears in a URL.
|
|
11
|
+
CREATE TABLE IF NOT EXISTS identity_native_handoffs (
|
|
12
|
+
handoff_hash TEXT PRIMARY KEY,
|
|
13
|
+
session_id TEXT NOT NULL,
|
|
14
|
+
challenge TEXT NOT NULL,
|
|
15
|
+
expires_at INTEGER NOT NULL,
|
|
16
|
+
created_at INTEGER NOT NULL,
|
|
17
|
+
consumed_at INTEGER
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_identity_native_handoffs_expires
|
|
21
|
+
ON identity_native_handoffs(expires_at);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
-- 0018_goap_control_plane_remaster.sql
|
|
2
|
+
-- Additive ticket/event contract remaster only: no new GOAP table family.
|
|
3
|
+
--
|
|
4
|
+
-- This migration intentionally targets tables owned by the portable D1/SQLite
|
|
5
|
+
-- control-plane baseline (0010) and equivalent legacy host tables.
|
|
6
|
+
-- Blackboard/workspace state is a runtime concern and is evolved separately by
|
|
7
|
+
-- migrations/runtime/0002_goap_blackboard_v1.sql.
|
|
8
|
+
--
|
|
9
|
+
-- NOTE: account_id/repository_id are intentionally NOT added to ticket_events here.
|
|
10
|
+
-- Portable 0010 already has them, while the legacy platform table does not.
|
|
11
|
+
-- The GOAP adapter supports eventOwnership=ticket_join for that host shape until a
|
|
12
|
+
-- dedicated platform-only ownership repair is intentionally applied.
|
|
13
|
+
|
|
14
|
+
ALTER TABLE agentsam_tickets
|
|
15
|
+
ADD COLUMN goal_schema TEXT;
|
|
16
|
+
|
|
17
|
+
ALTER TABLE agentsam_tickets
|
|
18
|
+
ADD COLUMN goal_spec_json TEXT
|
|
19
|
+
CHECK (goal_spec_json IS NULL OR json_valid(goal_spec_json));
|
|
20
|
+
|
|
21
|
+
ALTER TABLE agentsam_ticket_events
|
|
22
|
+
ADD COLUMN payload_json TEXT NOT NULL DEFAULT '{}'
|
|
23
|
+
CHECK (json_valid(payload_json));
|
|
24
|
+
|
|
25
|
+
ALTER TABLE agentsam_ticket_events
|
|
26
|
+
ADD COLUMN workflow_run_id TEXT;
|
|
27
|
+
|
|
28
|
+
ALTER TABLE agentsam_ticket_events
|
|
29
|
+
ADD COLUMN execution_step_id TEXT;
|
|
30
|
+
|
|
31
|
+
ALTER TABLE agentsam_ticket_events
|
|
32
|
+
ADD COLUMN schema_version TEXT NOT NULL DEFAULT 'agentsam.event.v1';
|
|
33
|
+
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_ticket_events_workflow_run
|
|
35
|
+
ON agentsam_ticket_events(workflow_run_id, created_at)
|
|
36
|
+
WHERE workflow_run_id IS NOT NULL;
|
|
37
|
+
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_ticket_events_execution_step
|
|
39
|
+
ON agentsam_ticket_events(execution_step_id, created_at)
|
|
40
|
+
WHERE execution_step_id IS NOT NULL;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- 0019_agentsam_agent_run_plan_todo.sql
|
|
2
|
+
-- Attribute remote AgentSam run attempts to the durable plan/TODO that caused them.
|
|
3
|
+
-- This mirrors migrations/runtime/0004_agent_run_plan_linkage.sql for local SQLite.
|
|
4
|
+
ALTER TABLE agentsam_agent_run
|
|
5
|
+
ADD COLUMN plan_id TEXT REFERENCES agentsam_plans(id) ON DELETE SET NULL;
|
|
6
|
+
|
|
7
|
+
ALTER TABLE agentsam_agent_run
|
|
8
|
+
ADD COLUMN todo_id TEXT REFERENCES agentsam_todo(id) ON DELETE SET NULL;
|
|
9
|
+
|
|
10
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_plan
|
|
11
|
+
ON agentsam_agent_run(account_id, plan_id, created_at_unix DESC);
|
|
12
|
+
|
|
13
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_todo
|
|
14
|
+
ON agentsam_agent_run(account_id, todo_id, created_at_unix DESC);
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
# Portable control-plane schemas (tickets · memory · skills · tools)
|
|
1
|
+
# Portable control-plane schemas (tickets · memory · skills · tools · GOAP)
|
|
2
2
|
|
|
3
|
-
Apply from the repo that owns
|
|
3
|
+
Apply schema families from the repo that owns them. Portable D1/ticket state and
|
|
4
|
+
runtime blackboard state have different baselines and must not pretend to share
|
|
5
|
+
one migration history.
|
|
4
6
|
|
|
5
7
|
| File | Purpose |
|
|
6
8
|
|------|---------|
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
|
|
|
9
|
+
| 0010_portable_tickets_memory.sql | Account-owned agentsam_tickets + events + agentsam_memory + outbox. account_id + repository_id NOT NULL for portable installs. |
|
|
10
|
+
| 0011_agentsam_skill_v2.sql | Skill identity · metrics · retrieval (3-table redesign). Legacy hosts: rename old -> agentsam_skill_legacy, backfill, verify. |
|
|
11
|
+
| 0012_agentsam_tools_required_seed.sql | Idempotent seed of required tool_key rows for GOAP / multitask. Manifest: registry/tools/required-seed.json. |
|
|
12
|
+
| 0018_goap_control_plane_remaster.sql | Additive ticket/event contract remaster: structured goal spec, structured event payloads, workflow/action linkage. No new GOAP table family and no dependency on runtime workspace tables. |
|
|
13
|
+
| migrations/runtime/0002_goap_blackboard_v1.sql | Evolves agentsam_workspace_state after runtime/0001 with blackboard schema identity + CAS revision. |
|
|
10
14
|
|
|
11
15
|
## Law
|
|
12
16
|
|
|
13
|
-
-
|
|
14
|
-
- Customer tickets use
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
+
- NULL repository_id on portable memory/ticket/event writes = broken implementation. Resolve repo identity from agentsam inspect / snapshot before insert.
|
|
18
|
+
- Customer tickets and GOAP state use their D1/SQLite (or another adapter-owned store) — never IAM host ticket rows as an SDK requirement.
|
|
19
|
+
- Logical GOAP contracts live in @inneranimalmedia/agentsam-goap; storage tables are adapter details.
|
|
20
|
+
- GOAP errors use @inneranimalmedia/agentsam-errors and the shared error catalog. GOAP does not own a parallel error taxonomy.
|
|
21
|
+
- Cross-store GOAP mutations use an atomic MutationPort. Do not sequence ticket/blackboard/event writes independently.
|
|
22
|
+
- Existing workflow/execution/approval tables remain the plan/run/action/approval authorities. Do not create parallel GOAP graph tables.
|
|
23
|
+
- Goal focus is not execution. Creating, selecting, or activating a goal must not fabricate an agentsam_agent_run. Link a run only after the execution subsystem actually creates one.
|
|
24
|
+
- Portable ticket_events already has account_id + repository_id. Legacy platform event ownership is resolved through ticket_join until a host-only repair is intentionally applied.
|
|
25
|
+
- Portable/account-owned runtime stores may scope blackboards by repository. Shared platform stores must verify repository ownership through their repository authority (for IAM D1: code_repositories.account_id).
|
|
26
|
+
- agentsam_autorag stays registered for A* planning even while multi-level retrieval is incomplete.
|
|
27
|
+
- Skill publish uniqueness: partial unique on slash_trigger WHERE is_published = 1 is included.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- 0002_goap_blackboard_v1.sql
|
|
2
|
+
-- Runtime blackboard contract evolution for D1/SQLite-compatible stores.
|
|
3
|
+
-- agentsam_workspace_state is created by 0001_cli_runtime.sql.
|
|
4
|
+
--
|
|
5
|
+
-- The revision is the portable optimistic-concurrency/CAS fence.
|
|
6
|
+
-- state_schema freezes the logical payload contract independently from storage.
|
|
7
|
+
|
|
8
|
+
ALTER TABLE agentsam_workspace_state
|
|
9
|
+
ADD COLUMN state_schema TEXT NOT NULL DEFAULT 'agentsam.blackboard.v1';
|
|
10
|
+
|
|
11
|
+
ALTER TABLE agentsam_workspace_state
|
|
12
|
+
ADD COLUMN revision INTEGER NOT NULL DEFAULT 1 CHECK (revision > 0);
|
|
13
|
+
|
|
14
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_workspace_state_repo_revision
|
|
15
|
+
ON agentsam_workspace_state(repository_id, revision);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Attribute every runtime attempt to the durable plan/TODO that caused it.
|
|
2
|
+
ALTER TABLE agentsam_agent_run ADD COLUMN plan_id TEXT REFERENCES agentsam_plans(id) ON DELETE SET NULL;
|
|
3
|
+
ALTER TABLE agentsam_agent_run ADD COLUMN todo_id TEXT REFERENCES agentsam_todo(id) ON DELETE SET NULL;
|
|
4
|
+
|
|
5
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_plan
|
|
6
|
+
ON agentsam_agent_run(plan_id, created_at_unix DESC);
|
|
7
|
+
CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_todo
|
|
8
|
+
ON agentsam_agent_run(todo_id, created_at_unix DESC);
|