@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.7
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/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/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/native/agentsam-machine/Cargo.lock +426 -0
- package/native/agentsam-machine/Cargo.toml +9 -0
- package/native/agentsam-machine/cli/Cargo.toml +14 -0
- package/native/agentsam-machine/cli/src/main.rs +77 -0
- package/native/agentsam-machine/core/Cargo.toml +15 -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 +1086 -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 +51 -21
- 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-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/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/source-types.js +8 -0
- 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 +13 -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/skills/grok-auth/SKILL.md +110 -0
- package/skills/grok-auth/agentsam.skill.json +25 -0
- package/skills/grok-auth/references/grok-identity.md +64 -0
- package/skills/grok-auth/references/per-user-data.md +49 -0
- package/skills/grok-auth/references/prewired-and-env.md +54 -0
- package/skills/grok-auth/references/session-ui.md +133 -0
- package/skills/grok-auth/references/sign-in-methods.md +55 -0
- package/skills/grok-auth/references/wiring.md +71 -0
- package/skills/grok-building-games/SKILL.md +213 -0
- package/skills/grok-building-games/agentsam.skill.json +25 -0
- package/skills/grok-building-games/references/3d-libs.md +64 -0
- package/skills/grok-building-games/references/ai-pathfinding.md +122 -0
- package/skills/grok-building-games/references/audio.md +129 -0
- package/skills/grok-building-games/references/babylon.md +202 -0
- package/skills/grok-building-games/references/collision-physics.md +122 -0
- package/skills/grok-building-games/references/ecs-architecture.md +111 -0
- package/skills/grok-building-games/references/game-feel-juice.md +110 -0
- package/skills/grok-building-games/references/genres/board-card-chess.md +89 -0
- package/skills/grok-building-games/references/genres/endless-runner.md +83 -0
- package/skills/grok-building-games/references/genres/fps.md +105 -0
- package/skills/grok-building-games/references/genres/platformer-2d.md +97 -0
- package/skills/grok-building-games/references/genres/puzzle-match3-tetris.md +131 -0
- package/skills/grok-building-games/references/genres/racing-kart.md +106 -0
- package/skills/grok-building-games/references/genres/topdown-twin-stick.md +97 -0
- package/skills/grok-building-games/references/genres/tower-defense.md +84 -0
- package/skills/grok-building-games/references/genres/voxel-minecraft.md +89 -0
- package/skills/grok-building-games/references/input.md +139 -0
- package/skills/grok-building-games/references/phaser.md +277 -0
- package/skills/grok-building-games/references/procedural-generation.md +141 -0
- package/skills/grok-building-games/references/save-persistence.md +108 -0
- package/skills/grok-building-games/references/threejs-foundational.md +148 -0
- package/skills/grok-controls/SKILL.md +274 -0
- package/skills/grok-controls/agentsam.skill.json +25 -0
- package/skills/grok-design-ui/SKILL.md +122 -0
- package/skills/grok-design-ui/agentsam.skill.json +25 -0
- package/skills/grok-design-ui/references/animations.md +379 -0
- package/skills/grok-design-ui/references/performance.md +88 -0
- package/skills/grok-design-ui/references/refined-ui.md +384 -0
- package/skills/grok-design-ui/references/surfaces.md +247 -0
- package/skills/grok-design-ui/references/typography.md +123 -0
- package/skills/grok-game-animation-frames/SKILL.md +84 -0
- package/skills/grok-game-animation-frames/agentsam.skill.json +25 -0
- package/skills/grok-game-asset-core/SKILL.md +69 -0
- package/skills/grok-game-asset-core/agentsam.skill.json +25 -0
- package/skills/grok-game-character-consistency/SKILL.md +69 -0
- package/skills/grok-game-character-consistency/agentsam.skill.json +25 -0
- package/skills/grok-game-tilesets/SKILL.md +65 -0
- package/skills/grok-game-tilesets/agentsam.skill.json +25 -0
- package/skills/grok-game-ui-icons/SKILL.md +56 -0
- package/skills/grok-game-ui-icons/agentsam.skill.json +25 -0
- package/skills/grok-generate2dmap/LICENSE +21 -0
- package/skills/grok-generate2dmap/SKILL.md +120 -0
- package/skills/grok-generate2dmap/SOURCE.md +6 -0
- package/skills/grok-generate2dmap/agentsam.skill.json +25 -0
- package/skills/grok-generate2dmap/references/deliverables.md +101 -0
- package/skills/grok-generate2dmap/references/layered-map-contract.md +209 -0
- package/skills/grok-generate2dmap/references/map-strategies.md +341 -0
- package/skills/grok-generate2dmap/references/object-production-gate.md +24 -0
- package/skills/grok-generate2dmap/references/pipeline.md +149 -0
- package/skills/grok-generate2dmap/references/prop-pack-contract.md +174 -0
- package/skills/grok-generate2dmap/references/side-scroll-stages.md +29 -0
- package/skills/grok-generate2dmap/scripts/compose_layered_preview.py +157 -0
- package/skills/grok-generate2dmap/scripts/extract_prop_pack.py +369 -0
- package/skills/grok-generate2dsprite/LICENSE +21 -0
- package/skills/grok-generate2dsprite/SKILL.md +313 -0
- package/skills/grok-generate2dsprite/SOURCE.md +6 -0
- package/skills/grok-generate2dsprite/agentsam.skill.json +25 -0
- package/skills/grok-generate2dsprite/references/modes.md +124 -0
- package/skills/grok-generate2dsprite/references/prompt-rules.md +315 -0
- package/skills/grok-generate2dsprite/scripts/generate2dsprite.py +1031 -0
- package/skills/grok-generate2dsprite/scripts/make_layout_guide.py +109 -0
- package/skills/grok-imagine/SKILL.md +201 -0
- package/skills/grok-imagine/agentsam.skill.json +25 -0
- package/skills/grok-multiplayer-p2p/SKILL.md +111 -0
- package/skills/grok-multiplayer-p2p/agentsam.skill.json +25 -0
- package/skills/grok-multiplayer-p2p/references/react-binding.md +144 -0
- package/skills/grok-multiplayer-p2p/references/signaling-relay.md +269 -0
- package/skills/grok-neon/SKILL.md +157 -0
- package/skills/grok-neon/agentsam.skill.json +25 -0
- package/skills/grok-og/SKILL.md +102 -0
- package/skills/grok-og/agentsam.skill.json +25 -0
- package/skills/grok-og/references/brand-pass.md +53 -0
- package/skills/grok-og/references/custom-card.md +107 -0
- package/skills/grok-og/references/favicon-and-icons.md +48 -0
- package/skills/grok-og/references/og-type-contract.md +18 -0
- package/skills/grok-og/references/placeholder-card.md +21 -0
- package/skills/grok-og/references/x-banner.md +41 -0
- package/skills/grok-threejs/SKILL.md +67 -0
- package/skills/grok-threejs/agentsam.skill.json +25 -0
- package/skills/grok-threejs/references/llms-full.txt +2780 -0
- package/skills/grok-video2dsprite/LICENSE +21 -0
- package/skills/grok-video2dsprite/SKILL.md +236 -0
- package/skills/grok-video2dsprite/SOURCE.md +6 -0
- package/skills/grok-video2dsprite/agentsam.skill.json +25 -0
- package/skills/grok-video2dsprite/references/pipeline.md +90 -0
- package/skills/grok-video2dsprite/references/prompt-rules.md +63 -0
- package/skills/grok-video2dsprite/scripts/video2dsprite.py +490 -0
- package/skills/grok-xai-api/SKILL.md +152 -0
- package/skills/grok-xai-api/agentsam.skill.json +25 -0
- package/src/cli/command-catalog.js +46 -4
- package/src/cli/dispatch.js +1 -0
- package/src/cli.js +10 -0
- 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/knowledge.js +59 -2
- package/src/commands/machine-binary.js +103 -0
- package/src/commands/machine.js +137 -0
- package/src/commands/security.js +67 -4
- package/src/commands/setup.js +33 -16
- 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/lib/identity-scaffold.js +53 -13
- package/src/lib/setup/recipes.js +1 -1
- 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/security/logs.js +3 -0
- package/src/ui/cli/help.js +41 -0
- package/test/apps-scaffold-contract.test.mjs +3 -2
- package/test/cli/api-key-env-whoami.test.mjs +2 -2
- package/test/cli/catalog-authority.test.mjs +64 -0
- package/test/cli/machine-command.test.mjs +34 -0
- package/test/fixtures/project-authority/customer-app/.agentsam/app.json +5 -0
- package/test/fixtures/project-authority/customer-app/apps/my-product/index.ts +1 -0
- package/test/fixtures/project-authority/customer-app/wrangler.toml +17 -0
- package/test/integration/autorag-project-authority.integration.test.mjs +51 -0
- package/test/integration/autorag-runtime-discovery.test.mjs +107 -0
- package/test/integration/cms-app-scaffold.test.mjs +37 -31
- package/test/integration/cms-site-tenancy-contract.test.mjs +28 -17
- package/test/integration/codebaseindex-ingest.test.mjs +41 -0
- package/test/integration/database-hosted-honesty.test.mjs +49 -0
- package/test/integration/desktop-keychain-boundary.test.mjs +45 -0
- package/test/integration/hosted-work-host-authority.test.mjs +47 -0
- package/test/integration/inventory-eligibility.test.mjs +59 -0
- package/test/integration/local-provider-bridge.test.mjs +65 -0
- package/test/integration/local-studio-settings-production.test.mjs +40 -0
- package/test/integration/lockfile-sync.test.mjs +26 -0
- package/test/integration/provider-env-cli.test.mjs +13 -3
- package/test/integration/runtime-status.integration.test.mjs +16 -1
- package/test/integration/theme-package-registry.test.mjs +31 -0
- package/test/repository-snapshot-view.test.mjs +2 -2
- package/test/security.test.mjs +14 -0
- package/test/terminal-machine-identity.test.mjs +2 -2
- package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
- package/packages/agentsam-nav/dist/Nav.d.ts +0 -43
- package/packages/agentsam-nav/dist/NavCollapsible.d.ts +0 -10
- package/packages/agentsam-nav/dist/NavContent.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavFooter.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavGroup.d.ts +0 -3
- package/packages/agentsam-nav/dist/NavHeader.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavMenu.d.ts +0 -22
- package/packages/agentsam-nav/dist/NavProvider.d.ts +0 -35
- package/packages/agentsam-nav/dist/NavTrigger.d.ts +0 -2
- package/packages/agentsam-nav/dist/Surfaces.d.ts +0 -41
- package/packages/agentsam-nav/dist/browser.d.ts +0 -11
- package/packages/agentsam-nav/dist/browser.global.js +0 -132
- package/packages/agentsam-nav/dist/browser.js +0 -613
- package/packages/agentsam-nav/dist/contracts.d.ts +0 -76
- package/packages/agentsam-nav/dist/index.d.ts +0 -11
- package/packages/agentsam-nav/dist/index.js +0 -614
- package/packages/agentsam-nav/dist/legacy.css +0 -83
- package/packages/agentsam-nav/dist/shell.css +0 -113
- package/packages/agentsam-nav/dist/theme.css +0 -113
- package/packages/agentsam-nav/dist/utils.d.ts +0 -1
- package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +0 -670
|
@@ -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);
|