@inneranimalmedia/agentsam-sdk 2.6.4 → 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 +40 -0
- package/README.md +15 -9
- 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 +17 -0
- package/apps/client-cms-editor/IMPORT_PROVENANCE.json +8 -0
- package/apps/client-cms-editor/README.md +100 -0
- package/apps/client-cms-editor/agentsam.app.json +74 -0
- package/apps/client-cms-editor/backend/README.md +5 -0
- package/apps/client-cms-editor/backend/package.json +39 -0
- package/apps/client-cms-editor/backend/src/api/client.ts +233 -0
- package/apps/client-cms-editor/backend/src/index.ts +6 -0
- package/apps/client-cms-editor/backend/src/model.ts +11 -0
- package/apps/client-cms-editor/backend/src/preview/bridge.ts +79 -0
- package/apps/client-cms-editor/backend/src/preview/urls.ts +55 -0
- package/apps/client-cms-editor/backend/src/routing/cms-route.js +293 -0
- package/apps/client-cms-editor/backend/src/routing/index.js +10 -0
- package/apps/client-cms-editor/backend/src/storefront.ts +52 -0
- package/apps/client-cms-editor/backend/tsconfig.json +20 -0
- package/apps/client-cms-editor/backend/worker/index.js +34 -0
- package/apps/client-cms-editor/backend/wrangler.jsonc +11 -0
- package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
- package/apps/client-cms-editor/bin/agentsam-cms.mjs +3 -0
- package/apps/client-cms-editor/frontend/index.html +12 -0
- package/apps/client-cms-editor/frontend/package.json +42 -0
- package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +156 -0
- package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +36 -0
- 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/editor/legacy/CmsEditorPrototype.tsx +1374 -0
- package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
- package/apps/client-cms-editor/frontend/src/env.d.ts +14 -0
- package/apps/client-cms-editor/frontend/src/index.ts +22 -0
- package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
- package/apps/client-cms-editor/frontend/src/lib/content-safety.ts +63 -0
- package/apps/client-cms-editor/frontend/src/main.tsx +91 -0
- package/apps/client-cms-editor/frontend/src/mount.tsx +113 -0
- package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +214 -0
- package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +1739 -0
- package/apps/client-cms-editor/frontend/src/styles/studio.css +158 -0
- package/apps/client-cms-editor/frontend/src/surfaces/CmsDashboard.tsx +313 -0
- package/apps/client-cms-editor/frontend/src/surfaces/CmsGuidedChatHero.tsx +121 -0
- package/apps/client-cms-editor/frontend/src/surfaces/CmsHubPage.tsx +132 -0
- package/apps/client-cms-editor/frontend/src/surfaces/CmsSiteSwitcher.tsx +176 -0
- package/apps/client-cms-editor/frontend/src/surfaces/index.ts +5 -0
- package/apps/client-cms-editor/frontend/src/surfaces/types.ts +48 -0
- package/apps/client-cms-editor/frontend/tsconfig.json +36 -0
- package/apps/client-cms-editor/frontend/vite.config.ts +25 -0
- package/apps/client-cms-editor/package-lock.json +4671 -0
- package/apps/client-cms-editor/package.json +135 -0
- package/apps/client-cms-editor/reference/DONOR_README.md +52 -0
- package/apps/client-cms-editor/reference/DONOR_package-lock.json +1253 -0
- package/apps/client-cms-editor/reference/DONOR_tsconfig.json +15 -0
- 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 +31 -0
- package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
- package/apps/client-cms-editor/shared/cms/src/agent-context.ts +37 -0
- package/apps/client-cms-editor/shared/cms/src/cloudflare-bindings.ts +51 -0
- package/apps/client-cms-editor/shared/cms/src/editor-types.ts +90 -0
- package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
- package/apps/client-cms-editor/shared/cms/src/index.ts +9 -0
- package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
- package/apps/client-cms-editor/shared/cms/src/publication.ts +24 -0
- package/apps/client-cms-editor/shared/cms/src/routes.ts +11 -0
- package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
- package/apps/client-cms-editor/shared/cms/tsconfig.json +12 -0
- package/bin/agentsam-rapid-rust +36 -0
- package/contracts/source-types.v1.json +353 -0
- package/docs/AUTH_IDENTITY_CONTRACT.md +2 -0
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
- package/docs/MACHINE_INTELLIGENCE.md +120 -0
- package/docs/PRODUCT_LIFECYCLE.md +566 -0
- package/docs/THEME_REFINERY.md +2 -2
- package/docs/WINDOWS_RUNTIME_INSTALL.md +30 -0
- package/docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md +188 -0
- package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +171 -0
- package/docs/architecture/LOCAL_STUDIO_CLOUDFLARE_OAUTH.md +12 -4
- package/docs/architecture/R2_SLUG_NAMESPACE.md +20 -0
- package/docs/architecture/WORK_PRODUCT_EXTRACTION.md +97 -0
- package/docs/brand/AGENT_SAM_ICON_GRAMMAR.md +70 -0
- package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +71 -0
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +501 -0
- package/docs/contracts/capability-install-planner.md +67 -0
- package/docs/contracts/environment-vocabulary.md +195 -0
- package/docs/contracts/google-cloud-oauth-setup.md +199 -0
- package/docs/local-studio/WORKMODE_DONOR_NOTES.md +1 -1
- package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +290 -0
- package/docs/plans/LOCAL-STUDIO-REAL-APP-CONTRACT-ADDENDUM-2026-09-27.md +394 -0
- package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
- package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +227 -0
- package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +221 -0
- package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +145 -0
- package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +215 -0
- package/docs/plugins.md +2 -2
- package/docs/product/AGENTSAM_PRODUCT_EXPERIENCE_STANDARD.md +280 -0
- package/docs/product/LOCAL_STUDIO_DESKTOP_EXPERIENCE.md +139 -0
- package/docs/product/README.md +8 -0
- package/docs/rapid-rust-wasm.md +35 -0
- package/migrations/d1/0016_cloudflare_oauth_user_oauth_tokens_ssot.sql +14 -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 +110 -21
- package/packages/agentsam-brand/README.md +107 -12
- package/packages/agentsam-brand/bin/agentsam-brand.mjs +9 -0
- package/packages/agentsam-brand/package.json +41 -9
- package/packages/agentsam-brand/src/adapters/cloudflare-images.js +453 -0
- package/packages/agentsam-brand/src/adapters/cloudflare-r2.js +74 -0
- package/packages/agentsam-brand/src/adapters/d1-registry.js +26 -0
- package/packages/agentsam-brand/src/adapters/filesystem.js +59 -0
- package/packages/agentsam-brand/src/adapters/memory.js +31 -0
- package/packages/agentsam-brand/src/cli/controller.js +503 -0
- package/packages/agentsam-brand/src/cli/wizard.js +526 -0
- package/packages/agentsam-brand/src/core/capabilities.js +201 -0
- package/packages/agentsam-brand/src/core/derivatives.js +211 -0
- package/packages/agentsam-brand/src/core/errors.js +12 -0
- package/packages/agentsam-brand/src/core/ingest.js +195 -0
- package/packages/agentsam-brand/src/core/inspect.js +109 -0
- package/packages/agentsam-brand/src/core/keys.js +83 -0
- package/packages/agentsam-brand/src/core/naming.js +142 -0
- package/packages/agentsam-brand/src/core/optimize.js +316 -0
- package/packages/agentsam-brand/src/core/pack.js +305 -0
- package/packages/agentsam-brand/src/core/plan.js +276 -0
- package/packages/agentsam-brand/src/core/preview.js +159 -0
- package/packages/agentsam-brand/src/core/processors/cloudflare.js +68 -0
- package/packages/agentsam-brand/src/core/processors/contract.js +203 -0
- package/packages/agentsam-brand/src/core/processors/index.js +148 -0
- package/packages/agentsam-brand/src/core/processors/native.js +82 -0
- package/packages/agentsam-brand/src/core/processors/sharp.js +113 -0
- package/packages/agentsam-brand/src/core/processors/squoosh-binary.js +195 -0
- package/packages/agentsam-brand/src/core/promote.js +288 -0
- package/packages/agentsam-brand/src/core/receipts.js +155 -0
- package/packages/agentsam-brand/src/core/v2/compile.js +280 -0
- package/packages/agentsam-brand/src/core/v2/derivatives-semantic.js +207 -0
- package/packages/agentsam-brand/src/core/v2/ingest-graph.js +387 -0
- package/packages/agentsam-brand/src/core/v2/roles.js +180 -0
- package/packages/agentsam-brand/src/core/v2/schema.js +209 -0
- package/packages/agentsam-brand/src/core/v2/templates.js +114 -0
- package/packages/agentsam-brand/src/index.js +193 -36
- package/packages/agentsam-brand/src/presets/app-icon.json +16 -0
- package/packages/agentsam-brand/src/presets/favicon.json +17 -0
- package/packages/agentsam-brand/src/presets/hero.json +12 -0
- package/packages/agentsam-brand/src/presets/index.js +40 -0
- package/packages/agentsam-brand/src/presets/logo.json +12 -0
- package/packages/agentsam-brand/src/presets/model.json +8 -0
- package/packages/agentsam-brand/src/presets/og-image.json +10 -0
- package/packages/agentsam-brand/src/presets/product-shot.json +11 -0
- package/packages/agentsam-brand/src/presets/social-image.json +10 -0
- package/packages/agentsam-brand/src/presets/web-image.json +10 -0
- package/packages/agentsam-contracts/package.json +13 -3
- package/packages/agentsam-contracts/src/artifacts.ts +41 -0
- 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 +11 -4
- package/packages/agentsam-knowledge/src/backends/index.js +33 -1
- package/packages/agentsam-knowledge/src/providers/index.js +6 -4
- package/packages/agentsam-knowledge/src/providers/ollama-endpoint.js +31 -0
- package/packages/agentsam-knowledge/test/autorag.test.mjs +81 -1
- package/packages/agentsam-nav/package.json +26 -8
- package/packages/agentsam-queue-control/README.md +1 -1
- package/packages/agentsam-queue-control/package.json +7 -2
- package/packages/agentsam-rapid-rust/Cargo.lock +344 -0
- package/packages/agentsam-rapid-rust/Cargo.toml +18 -0
- package/packages/agentsam-rapid-rust/README.md +5 -0
- package/packages/agentsam-rapid-rust/src/main.rs +718 -0
- package/packages/agentsam-rapid-rust/templates/api/Cargo.toml.tmpl +18 -0
- package/packages/agentsam-rapid-rust/templates/api/src/lib.rs.tmpl +17 -0
- package/packages/agentsam-rapid-rust/templates/common/README.md.tmpl +22 -0
- package/packages/agentsam-rapid-rust/templates/common/package.json.tmpl +12 -0
- package/packages/agentsam-rapid-rust/templates/common/wrangler.toml.tmpl +6 -0
- package/packages/agentsam-rapid-rust/templates/crypto-auth/Cargo.toml.tmpl +21 -0
- package/packages/agentsam-rapid-rust/templates/crypto-auth/src/lib.rs.tmpl +32 -0
- package/packages/agentsam-rapid-rust/templates/data-processor/Cargo.toml.tmpl +18 -0
- package/packages/agentsam-rapid-rust/templates/data-processor/src/lib.rs.tmpl +41 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/Cargo.toml.tmpl +9 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/core/Cargo.toml.tmpl +7 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/core/src/lib.rs.tmpl +23 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/worker/Cargo.toml.tmpl +12 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/worker/src/lib.rs.tmpl +16 -0
- package/packages/agentsam-rapid-rust/templates/shared-core/wrangler.toml.tmpl +6 -0
- package/packages/agentsam-repository/package.json +13 -3
- package/packages/agentsam-repository/src/index.js +1 -0
- package/packages/agentsam-repository/src/merkle/semantic.js +3 -10
- package/packages/agentsam-repository/src/source-types.js +93 -0
- package/packages/agentsam-vault/README.md +96 -0
- package/packages/agentsam-vault/package.json +42 -0
- package/packages/agentsam-vault/src/contracts/credential.d.ts +78 -0
- package/packages/agentsam-vault/src/contracts/credential.js +132 -0
- package/packages/agentsam-vault/src/crypto/aes-gcm.d.ts +30 -0
- package/packages/agentsam-vault/src/crypto/aes-gcm.js +107 -0
- package/packages/agentsam-vault/src/crypto/oauth-envelope.js +150 -0
- package/packages/agentsam-vault/src/index.d.ts +9 -0
- package/packages/agentsam-vault/src/index.js +27 -0
- package/packages/agentsam-vault/src/providers/registry.js +90 -0
- package/packages/agentsam-vault/src/runtime/resolver.js +77 -0
- package/packages/agentsam-workbench/README.md +24 -0
- package/packages/agentsam-workbench/package.json +49 -0
- package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +41 -0
- package/packages/agentsam-workbench/src/agent/ArtifactCard.tsx +9 -0
- package/packages/agentsam-workbench/src/agent/Composer.tsx +102 -0
- package/packages/agentsam-workbench/src/agent/ConnectedAgentPanel.tsx +194 -0
- package/packages/agentsam-workbench/src/agent/ContextualComposer.tsx +788 -0
- package/packages/agentsam-workbench/src/agent/GoalStatusStrip.tsx +38 -0
- package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +86 -0
- package/packages/agentsam-workbench/src/agent/ModelSelect.tsx +19 -0
- package/packages/agentsam-workbench/src/agent/Thread.tsx +56 -0
- package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
- package/packages/agentsam-workbench/src/agent/ToolReceipt.tsx +11 -0
- package/packages/agentsam-workbench/src/agent/contextual-composer.css +611 -0
- package/packages/agentsam-workbench/src/agent/index.ts +12 -0
- package/packages/agentsam-workbench/src/agent/mini-agentsam.css +12 -0
- package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
- package/packages/agentsam-workbench/src/browser/BrowserFrame.tsx +37 -0
- package/packages/agentsam-workbench/src/browser/index.ts +1 -0
- package/packages/agentsam-workbench/src/index.ts +6 -0
- package/packages/agentsam-workbench/src/project-control.css +160 -0
- package/packages/agentsam-workbench/src/projects/ProjectsSurface.tsx +131 -0
- package/packages/agentsam-workbench/src/projects/index.ts +1 -0
- package/packages/agentsam-workbench/src/shell/Breadcrumb.tsx +35 -0
- package/packages/agentsam-workbench/src/shell/ResizableStage.tsx +99 -0
- package/packages/agentsam-workbench/src/shell/SidePanel.tsx +5 -0
- package/packages/agentsam-workbench/src/shell/index.ts +4 -0
- package/packages/agentsam-workbench/src/shell/surfaceRegistry.ts +29 -0
- package/packages/agentsam-workbench/src/terminal/TerminalSurface.tsx +5 -0
- package/packages/agentsam-workbench/src/terminal/index.ts +1 -0
- package/packages/agentsam-workbench/src/timeline/GanttBoard.tsx +258 -0
- package/packages/agentsam-workbench/src/timeline/index.ts +1 -0
- package/packages/agentsam-workbench/tsconfig.json +13 -0
- package/packages/connectors/cloudflare/OAUTH_STORAGE_AUDIT.md +53 -0
- package/packages/connectors/cloudflare/package.json +16 -4
- package/packages/connectors/cloudflare/src/api-client.js +280 -0
- package/packages/connectors/cloudflare/src/capabilities.js +585 -0
- package/packages/connectors/cloudflare/src/credential.js +318 -0
- package/packages/connectors/cloudflare/src/families/brand-protection.js +123 -0
- package/packages/connectors/cloudflare/src/families/keyless.js +114 -0
- package/packages/connectors/cloudflare/src/families/pages.js +151 -0
- package/packages/connectors/cloudflare/src/families/scanner.js +123 -0
- package/packages/connectors/cloudflare/src/families/snippets.js +207 -0
- package/packages/connectors/cloudflare/src/families/tag-gateway.js +46 -0
- package/packages/connectors/cloudflare/src/families/tags.js +124 -0
- package/packages/connectors/cloudflare/src/families/token-validation.js +95 -0
- package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
- package/packages/connectors/cloudflare/src/families/workflows.js +156 -0
- package/packages/connectors/cloudflare/src/index.js +103 -265
- package/packages/connectors/cloudflare/src/oauth-persist.js +336 -0
- package/packages/connectors/cloudflare/src/owner.js +42 -12
- package/packages/connectors/cloudflare/src/permission-options.js +1064 -0
- package/packages/connectors/cloudflare/src/routes.js +309 -144
- package/packages/connectors/cloudflare/src/scope-catalog.js +345 -0
- package/packages/connectors/cloudflare/src/vault.js +2 -2
- package/packages/connectors/cloudflare/tests/capabilities.test.mjs +276 -0
- package/packages/connectors/cloudflare/tests/connector.test.mjs +26 -30
- package/packages/connectors/cloudflare/tests/oauth-persist.test.mjs +125 -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 +44 -4
- package/packages/identity/.agentsam/features/oauth-login-portal/resources.json +10 -4
- package/packages/identity/.agentsam/features/oauth-login-portal/routes.json +20 -0
- package/packages/identity/README.md +2 -2
- package/packages/identity/backend/README.md +1 -1
- package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -14
- package/packages/identity/migrations/apply-portable.js +109 -0
- package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +48 -0
- package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
- package/packages/identity/package.json +27 -5
- package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
- package/packages/identity/scripts/local-identity-bridge.mjs +190 -0
- package/packages/identity/scripts/preview-auth-portal.mjs +8 -8
- package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -372
- 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 -309
- package/packages/identity/src/contracts/auth-config.js +27 -8
- package/packages/identity/src/contracts/external-identity.js +1 -1
- package/packages/identity/src/contracts/identity-store.js +56 -5
- package/packages/identity/src/contracts/provider.js +2 -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/README.md +2 -1
- package/packages/identity/src/frontend/auth-portal/pages/login.html +7 -6
- package/packages/identity/src/frontend/auth-portal/pages/reset.html +6 -5
- package/packages/identity/src/frontend/auth-portal/pages/signup.html +6 -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 +176 -0
- package/packages/identity/src/index.js +44 -1
- package/packages/identity/src/migrations/0001_identity_core.sql +19 -2
- package/packages/identity/src/migrations/0003_accounts_ssot.sql +20 -0
- package/packages/identity/src/migrations/README.md +23 -20
- package/packages/identity/src/oauth/README.md +10 -5
- package/packages/identity/src/oauth/consent-view.js +388 -0
- package/packages/identity/src/oauth/credentials.js +39 -20
- package/packages/identity/src/oauth/google-desktop-exchange.js +341 -0
- 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/cloudflare/oauth.js +3 -4
- package/packages/identity/src/providers/cloudflare/profile.js +49 -14
- 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/iam/index.js +27 -5
- package/packages/identity/src/providers/index.js +11 -3
- package/packages/identity/src/server/identity-service.js +33 -3
- package/packages/identity/src/server/worker-router.js +171 -88
- package/packages/identity/tests/auth-config.test.mjs +3 -2
- 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 +17 -3
- package/packages/identity/tests/identity-service.test.mjs +16 -0
- 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/native-session-worker.test.mjs +64 -0
- package/packages/identity/tests/oauth-consent-view.test.mjs +106 -0
- package/packages/identity/tests/oauth-credentials.test.mjs +21 -8
- package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +58 -0
- package/packages/identity/tests/preview-auth-portal.test.mjs +5 -3
- 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/runtime-protocol/src/index.js +154 -0
- 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 +164 -0
- package/packages/theme-scenes/package.json +54 -0
- package/packages/theme-scenes/src/blocks/index.js +30 -0
- package/packages/theme-scenes/src/contracts/index.js +286 -0
- package/packages/theme-scenes/src/demos/index.js +65 -0
- package/packages/theme-scenes/src/index.js +75 -0
- package/packages/theme-scenes/src/presets/index.js +263 -0
- package/packages/theme-scenes/src/registry.js +187 -0
- package/packages/theme-scenes/src/runtime/compile.js +119 -0
- package/packages/theme-scenes/src/scenes/index.js +146 -0
- package/packages/theme-scenes/src/shell/index.js +47 -0
- package/packages/theme-scenes/src/themes/index.js +129 -0
- package/packages/theme-scenes/src/visuals/index.js +41 -0
- package/packages/theme-scenes/test/theme-scenes.test.mjs +179 -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/packages/work-graph/src/index.js +34 -1
- package/packages/work-graph/src/renderers/gantt-model.js +24 -0
- package/packages/work-graph/test/work-graph.test.mjs +27 -7
- package/protocol/FILEMETA_V1.md +2 -2
- package/protocol/README.md +15 -7
- package/protocol/apps/agentsam.app.v1.schema.json +89 -7
- package/protocol/apps/agentsam.host-install.v1.schema.json +36 -0
- package/protocol/assets/README.md +9 -0
- package/protocol/assets/asset-record.v1.schema.json +64 -0
- 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/runtime/agentsam.runtime.v1.schema.json +75 -0
- package/protocol/scoring/README.md +10 -0
- package/protocol/scoring/scorecard.v1.schema.json +65 -0
- package/protocol/theme-refinery/lineage-registry.json +105 -0
- package/protocol/theme-refinery/product-metadata.schema.json +21 -1
- package/protocol/ui/icon-registry.mjs +1 -0
- package/registry/cms-rust-machine-20260928/installable-products.json +31 -0
- package/registry/cms-rust-machine-20260928/manifest.json +22 -0
- package/registry/cms-rust-machine-20260928/migration.sql +237 -0
- package/registry/cms-rust-machine-20260928/receipt.json +21 -0
- package/registry/cms-rust-machine-20260928/receipt.sql +27 -0
- package/scripts/build_rapid_rust_cli.py +83 -0
- 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/attachments/index.js +6 -0
- package/src/attachments/intake.js +235 -0
- package/src/capabilities/repository-snapshot.js +19 -2
- package/src/cli/command-catalog.js +53 -3
- package/src/cli/dispatch.js +1 -0
- package/src/cli.js +192 -26
- package/src/cloudflare/runtime-status.js +2 -1
- package/src/commands/account-auth.js +94 -8
- package/src/commands/app.js +307 -3
- package/src/commands/autorag.js +67 -13
- package/src/commands/billing.js +127 -0
- package/src/commands/brand.js +74 -60
- package/src/commands/cheat-sheet.js +179 -0
- package/src/commands/cloudflare-login.js +222 -0
- package/src/commands/cloudflare.js +453 -23
- package/src/commands/codebaseindex.js +51 -3
- package/src/commands/compute.js +4 -0
- package/src/commands/connections.js +11 -5
- package/src/commands/credentials.js +116 -0
- package/src/commands/gcloud-auth.js +427 -0
- package/src/commands/google-cloud.js +375 -0
- package/src/commands/identity-init.js +2 -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/mcp.js +226 -33
- package/src/commands/ollama.js +3 -2
- package/src/commands/plugins.js +7 -2
- package/src/commands/product.js +36 -0
- package/src/commands/runtime-status.js +28 -9
- package/src/commands/runtime.js +313 -0
- package/src/commands/rust.js +24 -0
- package/src/commands/security.js +67 -4
- package/src/commands/setup.js +296 -0
- package/src/commands/shell.js +16 -3
- package/src/commands/start-local.js +2 -2
- package/src/commands/status.js +8 -1
- package/src/commands/terminal.js +171 -0
- package/src/commands/update.js +140 -0
- package/src/commands/whoami.js +329 -65
- package/src/features/resolve.js +2 -0
- package/src/index.js +4 -0
- package/src/indexing/ingest/inventory.js +254 -19
- package/src/indexing/ingest/materials.js +3 -9
- package/src/indexing/ingest/style-evidence.js +181 -0
- package/src/knowledge/engine.js +21 -2
- package/src/knowledge/runtime-discovery.js +127 -0
- package/src/knowledge/source.js +3 -3
- package/src/lib/account-session.js +11 -4
- package/src/lib/app-authority.js +172 -0
- package/src/lib/auth.js +94 -21
- package/src/lib/core-client.js +5 -6
- package/src/lib/credentials-audit.js +451 -0
- package/src/lib/deploy/health.js +24 -6
- package/src/lib/detect-context.js +7 -1
- package/src/lib/google-cloud-connection.js +270 -0
- package/src/lib/google-cloud-inventory.js +385 -0
- package/src/lib/google-desktop-oauth.js +372 -0
- package/src/lib/google-studio-brokered-oauth.js +158 -0
- package/src/lib/identity-scaffold.js +76 -18
- package/src/lib/init-options.js +192 -0
- package/src/lib/local-scaffold.js +48 -16
- package/src/lib/provider-command-remediation.js +308 -0
- package/src/lib/provider-credentials.js +8 -0
- package/src/lib/scaffold/index.js +8 -2
- package/src/lib/scaffold/mcp-server.js +43 -0
- package/src/lib/scaffold/templates/mcp-server/index.js +397 -0
- package/src/lib/scaffold/templates/mcp-server/presets.js +39 -0
- package/src/lib/scaffold/wizards/cms.js +93 -0
- package/src/lib/scaffold/wizards/mcp-server.js +61 -0
- package/src/lib/setup/contract.js +26 -0
- package/src/lib/setup/discover.js +116 -0
- package/src/lib/setup/execute.js +205 -0
- package/src/lib/setup/planner.js +134 -0
- package/src/lib/setup/recipes.js +235 -0
- package/src/lib/setup/runtime-persist.js +197 -0
- package/src/lib/setup/runtime.js +394 -0
- package/src/lib/slash-commands.js +2 -0
- package/src/lib/terminal/machine-identity.js +95 -0
- package/src/lib/terminal-local.js +164 -0
- package/src/lib/terminal-scopes.js +52 -0
- package/src/lib/whoami-capabilities.js +184 -0
- package/src/local-pty/server.js +34 -5
- package/src/mcp/authority.js +58 -108
- package/src/mcp/client-adapters.js +68 -144
- package/src/mcp/client.js +142 -122
- package/src/mcp/cloudflare-bundles.js +225 -0
- package/src/mcp/index.js +12 -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/plugins/cloudflare.js +1 -1
- package/src/providers/ollama-chat.js +2 -1
- package/src/sam/types.js +27 -2
- package/src/security/inventory.js +12 -2
- package/src/security/local-vault.js +2 -0
- package/src/security/logs.js +3 -0
- package/src/security/scan.js +1 -1
- package/src/ui/cli/help.js +41 -0
- package/test/account-session.test.mjs +3 -3
- package/test/app-authority-context.test.mjs +32 -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/codebaseindex-plan-ux.test.mjs +1 -1
- package/test/cli/machine-command.test.mjs +34 -0
- package/test/cli/mcp-client.test.mjs +21 -10
- package/test/cli/runtime-persist.test.mjs +56 -0
- package/test/cli/rust-command.test.mjs +21 -0
- package/test/credentials-audit.test.mjs +113 -0
- package/test/deploy-health-scan.test.mjs +29 -1
- 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/gcloud-auth.test.mjs +111 -0
- package/test/google-cloud-connection.test.mjs +83 -0
- package/test/google-cloud-inventory.test.mjs +64 -0
- package/test/init-options.test.mjs +35 -0
- package/test/integration/app-command.test.mjs +30 -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/cad-project.test.mjs +4 -1
- package/test/integration/cms-app-scaffold.test.mjs +77 -0
- package/test/integration/cms-site-tenancy-contract.test.mjs +31 -19
- package/test/integration/codebaseindex-ingest.test.mjs +89 -0
- package/test/integration/database-hosted-honesty.test.mjs +49 -0
- package/test/integration/desktop-keychain-boundary.test.mjs +45 -0
- package/test/integration/features-resolve.test.mjs +30 -11
- package/test/integration/hosted-work-host-authority.test.mjs +47 -0
- package/test/integration/inspect-path-cli.test.mjs +46 -0
- package/test/integration/inventory-eligibility.test.mjs +59 -0
- package/test/integration/inventory-evidence.test.mjs +125 -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 +17 -1
- package/test/integration/theme-package-registry.test.mjs +31 -0
- package/test/knowledge.test.mjs +35 -1
- package/test/loopback-oauth.test.mjs +53 -0
- package/test/ollama.test.mjs +22 -0
- package/test/repository-snapshot-view.test.mjs +2 -2
- package/test/security.test.mjs +37 -0
- package/test/setup-planner.test.mjs +74 -0
- package/test/setup-runtime.test.mjs +51 -0
- package/test/terminal/local-pty.mock.test.mjs +3 -1
- package/test/terminal-machine-identity.test.mjs +88 -0
- package/test/whoami-resume.test.mjs +27 -6
- package/packages/agentsam-brand/test/brand-scan.test.mjs +0 -106
- 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
- package/packages/work-graph/prototype/README.md +0 -32
- package/packages/work-graph/prototype/data/demo-workgraph.js +0 -47
- package/packages/work-graph/prototype/renderers/timeline-model.js +0 -21
- package/packages/work-graph/prototype/renderers/workgraph-runtime.js +0 -38
- package/packages/work-graph/prototype-gnantt.html +0 -655
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Universal ingest stack
|
|
3
|
+
overview: Strengthen agentsam-sdk in place—machine-first world state for every app/world, native decision primitives, distributable apps, mini kept as the tiny lane. Proof is real apps and harvested sites, not new demos. Branch hygiene complete on clean main.
|
|
4
|
+
todos:
|
|
5
|
+
- id: branch-audit
|
|
6
|
+
content: "DONE 2026-09-24: audited + deleted completed local/remote branches and worktrees; only main remains"
|
|
7
|
+
status: completed
|
|
8
|
+
- id: machine-intel-docs
|
|
9
|
+
content: "Batch A — Land protocol/docs Machine Intelligence scaffold (ladder, primitives, confidence≠risk, receipts, MINI/APP/WORLD)"
|
|
10
|
+
status: pending
|
|
11
|
+
- id: decision-primitives
|
|
12
|
+
content: "Batch A — Native predicate/choice/score/distribution + confidence policy + decision receipts (AgentSam-owned, not TypeSafe)"
|
|
13
|
+
status: pending
|
|
14
|
+
- id: world-state
|
|
15
|
+
content: "Batch B — Converge snapshot+Merkle+AST+brand+harvest into world-state; agentsam inspect for arbitrary paths + every apps/*"
|
|
16
|
+
status: pending
|
|
17
|
+
- id: app-maturity
|
|
18
|
+
content: "Batch B — Calculated maturity + provenance/hashes/capabilities/relationships/verify/next for every apps/*"
|
|
19
|
+
status: pending
|
|
20
|
+
- id: verify-strengthen
|
|
21
|
+
content: "Batch B — Strengthen verify-package/source-boundaries, app contract tests, registry receipts (imperfect = observable)"
|
|
22
|
+
status: pending
|
|
23
|
+
- id: ingest-on-worlds
|
|
24
|
+
content: "Batch C — Universal ingest/extract/sensitive/catalog feeding world-state; fixtures = harvested sites + real apps"
|
|
25
|
+
status: pending
|
|
26
|
+
- id: app-distribute
|
|
27
|
+
content: "Batch D — Graduate curated apps toward npm install / agentsam app add (runtime/scaffold only; exclude donor junk)"
|
|
28
|
+
status: pending
|
|
29
|
+
- id: mini-keep-tiny
|
|
30
|
+
content: "Batch D — Keep mini as instant zero-dep utility lane; demote from architectural poster framing in docs/help"
|
|
31
|
+
status: pending
|
|
32
|
+
- id: disk-clutter
|
|
33
|
+
content: "Optional hygiene — review leftover /Users/samprimeaux/agent-worktrees/* dirs (not linked worktrees; some 50–254MB clones)"
|
|
34
|
+
status: pending
|
|
35
|
+
isProject: false
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Machine-first AgentSam — strengthen worlds in place
|
|
39
|
+
|
|
40
|
+
## Intent (locked)
|
|
41
|
+
|
|
42
|
+
**Audit and strengthen the current system. Do not redesign the repo around package purity.**
|
|
43
|
+
|
|
44
|
+
Home: [`/Users/samprimeaux/agentsam-sdk`](/Users/samprimeaux/agentsam-sdk) @ clean `main` (`c017da3` Brand Intelligence).
|
|
45
|
+
|
|
46
|
+
Preserve ownership:
|
|
47
|
+
|
|
48
|
+
| Layer | Role |
|
|
49
|
+
|-------|------|
|
|
50
|
+
| `apps/*` | Product authoring SSOT — real worlds at uneven maturity |
|
|
51
|
+
| `packages/*` | Reusable / packageable capability surfaces |
|
|
52
|
+
| `protocol/*` | Portable contracts + evidence |
|
|
53
|
+
| `src/*` | AgentSam runtime / CLI machinery |
|
|
54
|
+
| `mini` | Intentionally tiny utility lane — **not** the architectural proof |
|
|
55
|
+
|
|
56
|
+
**Proof already exists:** `local-studio`, `cad-creator`, `client-cms-editor`, `ecommerce-cms-agentsam`, seven harvested sites. Imperfection is maturity state, not exclusion:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
harvested → scaffolded → wired → verified → releasable → production
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Product scales
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
MINI — tiny local artifact, instant preview, seconds
|
|
66
|
+
APP — complete packaged product (npm install / agentsam app add), minutes
|
|
67
|
+
WORLD — arbitrary repo → deterministic world state → progressive normalize
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Branch audit — COMPLETE (2026-09-24)
|
|
73
|
+
|
|
74
|
+
Repo now: **local `main` only**, synced to `origin/main` @ `c017da3`. No linked git worktrees besides the primary checkout.
|
|
75
|
+
|
|
76
|
+
### Deleted (fully on main — tip == merge-base / 0 ahead)
|
|
77
|
+
|
|
78
|
+
| Branch | Local | Remote | Notes |
|
|
79
|
+
|--------|:-----:|:------:|-------|
|
|
80
|
+
| `chore/package-release-system-20260923` | deleted | deleted | ancestor |
|
|
81
|
+
| `feat/cad-project-tools-20260922` | deleted | deleted | + worktree removed |
|
|
82
|
+
| `feat/feature-capability-snapshots-20260924` | deleted | deleted | ancestor |
|
|
83
|
+
| `fix/local-studio-cms-resolution-and-route-map-20260924` | deleted | deleted | ancestor |
|
|
84
|
+
| `integrate/identity-oauth-finish-20260924` | deleted | n/a | + worktree removed |
|
|
85
|
+
| `integrate/unified-tool-provider-event-contracts-20260924` | deleted | deleted | + worktree removed |
|
|
86
|
+
| `feat/unified-tool-provider-event-contracts-20260923` | n/a | deleted | cherry-`+` completeful commit superseded on main |
|
|
87
|
+
| `feat/agentsam-queue-control-20260923` | n/a | deleted | 0 ahead / 33 behind |
|
|
88
|
+
| `feat/goap-planner-backend` | n/a | deleted | 0 ahead / 112 behind |
|
|
89
|
+
| `rescue/ecommerce-cms-untracked-20260919` | n/a | deleted | 0 ahead / 125 behind |
|
|
90
|
+
|
|
91
|
+
### Errors-v1 claim — verified, then deleted
|
|
92
|
+
|
|
93
|
+
| Branch | Ahead by SHA | Verdict |
|
|
94
|
+
|--------|-------------:|---------|
|
|
95
|
+
| `feat/errors-v1-runtime-contract` | 44 | Remotes already gone. Knowledge/Gemini/error adapter files **byte-identical to main** (reconcile via `976506d` / PR #53). Only `test/error-diagnostics.test.mjs` differed; **main is newer**. No unique work to cherry-pick. |
|
|
96
|
+
| `integrate/errors-v1-main` | 40 | Same story; overlaps feat line. Deleted local tip. |
|
|
97
|
+
|
|
98
|
+
### Remaining git branches
|
|
99
|
+
|
|
100
|
+
**None** (besides `main` / `origin/main`).
|
|
101
|
+
|
|
102
|
+
### Leftover disk (not git branches — optional hygiene)
|
|
103
|
+
|
|
104
|
+
Under `/Users/samprimeaux/agent-worktrees/` (not registered with `git worktree list`):
|
|
105
|
+
|
|
106
|
+
| Dir | Approx | Note |
|
|
107
|
+
|-----|--------|------|
|
|
108
|
+
| `agentsam-lab` | clone on `main` | separate checkout |
|
|
109
|
+
| `agentsam-sdk` | clone **892 behind** origin/main | stale duplicate — safe delete candidate |
|
|
110
|
+
| `auth-scoped-terminal-lanes` | ~55M | no `.git`; contains `AgentSamRemix` |
|
|
111
|
+
| `cad-release` | empty | leftover shell |
|
|
112
|
+
| `gemini-env` | ~53M | contains `inneranimalmedia` tree |
|
|
113
|
+
| `mcp-account-owned-code-retrieve` | ~254M | MCP server tree |
|
|
114
|
+
| `mcp-search-execute-stabilization` | ~254M | MCP server tree |
|
|
115
|
+
| `memory-v2-contract` | ~2.3M | MCP server tree |
|
|
116
|
+
|
|
117
|
+
These are **disk clutter**, not unfinished SDK feature branches. Clean when ready; not blocking Batch A–D.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Logical batches of work left (on main)
|
|
122
|
+
|
|
123
|
+
No branch merge queue. All remaining work is **new implementation on clean main**, grouped as:
|
|
124
|
+
|
|
125
|
+
### Batch A — Machine Intelligence foundation
|
|
126
|
+
**Todos:** `machine-intel-docs`, `decision-primitives`
|
|
127
|
+
|
|
128
|
+
- `docs/MACHINE_INTELLIGENCE.md` + protocol schemas for predicate / choice / score / distribution + decision receipts
|
|
129
|
+
- Shared AgentSam-owned primitives + confidence policy (confidence ≠ risk; abstention; hierarchical degrade)
|
|
130
|
+
- Cross-link Brand Intelligence + ingestion as consumers of the same ladder
|
|
131
|
+
- Framing: LLM is one handler inside AgentSam
|
|
132
|
+
|
|
133
|
+
### Batch B — World-state + every app observable
|
|
134
|
+
**Todos:** `world-state`, `app-maturity`, `verify-strengthen`
|
|
135
|
+
|
|
136
|
+
- Converge Merkle / `repository.snapshot` / AST / brand / harvest / manifests into one **world-state** envelope
|
|
137
|
+
- `agentsam inspect` works for arbitrary paths **and** every `apps/*`
|
|
138
|
+
- Calculated maturity + provenance + hashes + capabilities + relationships + verify receipts + next actions
|
|
139
|
+
- Strengthen `verify-package.mjs`, `verify-source-boundaries.mjs`, app contract tests, registry receipts
|
|
140
|
+
- Prefer calculated facts over hand labels; imperfect apps stay included
|
|
141
|
+
|
|
142
|
+
**Current app surface (proof targets, not toys):**
|
|
143
|
+
|
|
144
|
+
| App | Manifest signal |
|
|
145
|
+
|-----|-----------------|
|
|
146
|
+
| `cad-creator` | `agentsam.app.json` + `.agentsam/app.json` |
|
|
147
|
+
| `client-cms-editor` | same |
|
|
148
|
+
| `ecommerce-cms-agentsam` | same |
|
|
149
|
+
| `local-studio` | same |
|
|
150
|
+
| `church-site` … `shinshu-site` (7 harvested) | `.agentsam/app.json` (theme-refinery) |
|
|
151
|
+
| `theme-gallery-preview`, `frontend`, `_incoming` | maturity TBD via calculated gates |
|
|
152
|
+
|
|
153
|
+
### Batch C — Ingest feeds world-state
|
|
154
|
+
**Todos:** `ingest-on-worlds`
|
|
155
|
+
|
|
156
|
+
- Paste / path / stdin → detect → extract → catalog → world-state
|
|
157
|
+
- Sensitive candidates: confidence ≠ risk; redact before preview/model
|
|
158
|
+
- Safe localhost gallery / Brand Packet = **projections** of world-state
|
|
159
|
+
- Fixtures = harvested sites + real app slices (not mini, not toy repos)
|
|
160
|
+
|
|
161
|
+
### Batch D — APP distribution + mini lane clarity
|
|
162
|
+
**Todos:** `app-distribute`, `mini-keep-tiny`
|
|
163
|
+
|
|
164
|
+
- Graduate curated apps toward `npm install @inneranimalmedia/<app>` / `agentsam app add`
|
|
165
|
+
- Ship runtime/build/scaffold; exclude donor/reference junk
|
|
166
|
+
- Keep mini as scaffold/preview/zero-dep utilities; demote from poster-child docs/help
|
|
167
|
+
|
|
168
|
+
### Optional — Disk hygiene
|
|
169
|
+
**Todo:** `disk-clutter`
|
|
170
|
+
|
|
171
|
+
- Review/remove stale `agent-worktrees/*` clones (especially `agentsam-sdk` @ 892 behind)
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Architecture (unchanged)
|
|
176
|
+
|
|
177
|
+
```mermaid
|
|
178
|
+
flowchart TB
|
|
179
|
+
repo[Repository_or_App] --> scan[Deterministic_scanner]
|
|
180
|
+
scan --> files[files_hashes_MIME]
|
|
181
|
+
scan --> code[AST_routes_APIs]
|
|
182
|
+
scan --> assets[images_GLB_fonts_URLs]
|
|
183
|
+
files --> world[WORLD_STATE]
|
|
184
|
+
code --> world
|
|
185
|
+
assets --> world
|
|
186
|
+
world --> classify[Decision_primitives]
|
|
187
|
+
classify --> route[Confidence_policy_routing]
|
|
188
|
+
route --> next[Progression_next_actions]
|
|
189
|
+
world --> brand[brand.scan_consumer]
|
|
190
|
+
world --> preview[Local_gallery_optional]
|
|
191
|
+
world --> llm[LLM_only_on_ambiguity]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Explicit non-goals
|
|
195
|
+
|
|
196
|
+
- Repo redesign for package purity
|
|
197
|
+
- New toy/demo apps as architectural proof
|
|
198
|
+
- Requiring finished status before inclusion
|
|
199
|
+
- TypeSafe/Jev dependency or product vocabulary
|
|
200
|
+
- Mini as showcase
|
|
201
|
+
- Auto-fetch remotes / auto-delete orphans / execute imported HTML
|
|
202
|
+
- Jump every path to Level-4 LLM
|
|
203
|
+
|
|
204
|
+
## Acceptance
|
|
205
|
+
|
|
206
|
+
Without a model, AgentSam can:
|
|
207
|
+
|
|
208
|
+
1. List every `apps/*` with calculated maturity + provenance + verify status
|
|
209
|
+
2. `agentsam inspect` a harvested site and a serious app → world-state
|
|
210
|
+
3. Answer what/where/contents/capabilities/reusable/missing/verified/next from receipts
|
|
211
|
+
4. Expose decision primitives + a confidence-policy receipt on ≥1 classification path
|
|
212
|
+
5. Keep `agentsam mini` working as the tiny lane
|
|
213
|
+
6. Docs state machine-first ladder + MINI/APP/WORLD
|
|
214
|
+
|
|
215
|
+
Suggested next execution: **Batch A** (docs + decision primitives), then **Batch B** against real apps.
|
package/docs/plugins.md
CHANGED
|
@@ -8,8 +8,8 @@ The first reusable connection is `@agentsam-mcp`:
|
|
|
8
8
|
|
|
9
9
|
- `provider_key`: `cloudflare`
|
|
10
10
|
- OAuth authority: Cloudflare OAuth (`c0704bd7a7aab7216b362603e1985499`)
|
|
11
|
-
- token storage: the consuming Worker’s `
|
|
12
|
-
|
|
11
|
+
- token storage: the consuming Worker’s `user_oauth_tokens`
|
|
12
|
+
(`provider=cloudflare`), sealed with that Worker’s `VAULT_MASTER_KEY`
|
|
13
13
|
- tool keys: `agentsam-mcp.docs`, `agentsam-mcp.search`, and
|
|
14
14
|
`agentsam-mcp.execute`
|
|
15
15
|
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# AgentSam Product Experience Standard
|
|
2
|
+
|
|
3
|
+
**Status:** Internal product law
|
|
4
|
+
**Applies to:** AgentSam SDK · Local Studio · packaged AgentSam apps · runtime surfaces · developer tooling
|
|
5
|
+
**Product:** `@inneranimalmedia/agentsam-sdk`
|
|
6
|
+
**Machinery:** SAM — **Systematic Autonomous Machinery**
|
|
7
|
+
|
|
8
|
+
> **Complex underneath. Effortless above.**
|
|
9
|
+
|
|
10
|
+
## Product posture
|
|
11
|
+
|
|
12
|
+
AgentSam is a professional software platform, not a prototype dashboard, chatbot wrapper, or collection of demos. The UI communicates maturity through **clarity, speed, consistency, depth, and restraint**.
|
|
13
|
+
|
|
14
|
+
A user should feel that the system is capable without being forced to look at all of the machinery that makes it capable.
|
|
15
|
+
|
|
16
|
+
## Progressive discovery
|
|
17
|
+
|
|
18
|
+
> **Reveal a capability when context makes it useful; do not advertise the entire machinery permanently.**
|
|
19
|
+
|
|
20
|
+
This applies to terminals, runtimes, languages, forwarding, LSP, databases, cloud providers, CMS, CAD, machine inspection, identity, install/setup, and AgentSam itself.
|
|
21
|
+
|
|
22
|
+
If only one healthy runtime exists, do not show a runtime picker. If a repository requires Go, surface Go when the user runs or inspects that repository. Context creates discovery.
|
|
23
|
+
|
|
24
|
+
## Local Studio is a real desktop work application
|
|
25
|
+
|
|
26
|
+
Local Studio is not a PWA pretending to be desktop software, a hosted website hidden behind a native wrapper, a bootstrap/status page users must escape before doing work, or a chatbot with tools bolted on.
|
|
27
|
+
|
|
28
|
+
Expected launch path:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
Launch AgentSam Local Studio.app
|
|
32
|
+
↓
|
|
33
|
+
bundled Local Studio application
|
|
34
|
+
↓
|
|
35
|
+
restore last workspace/session
|
|
36
|
+
↓
|
|
37
|
+
local runtime becomes available quietly
|
|
38
|
+
↓
|
|
39
|
+
account/cloud/provider state hydrates without blocking local work
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The shipped `.app` must boot directly into the real application interface. A thin **Open Studio UI / Stay on this shell** runtime-status page is a development or recovery fallback, not a shippable default.
|
|
43
|
+
|
|
44
|
+
## Local-first contract
|
|
45
|
+
|
|
46
|
+
Local functionality remains useful without authentication or network availability: files, local projects, SQLite, PTY/terminal, agentsamd, repository inspection, local language tooling, and installed local CAD/modeling integrations.
|
|
47
|
+
|
|
48
|
+
Authentication enhances the product. It does not gate the user's computer.
|
|
49
|
+
|
|
50
|
+
## Visual identity
|
|
51
|
+
|
|
52
|
+
The default visual language is **quiet, dark, precise, desktop-native, and content-first**.
|
|
53
|
+
|
|
54
|
+
Prefer near-black neutral work surfaces, restrained borders, compact chrome, crisp typography, careful spacing, small precise active states, limited iconography, contextual panels that disappear when closed, and motion that communicates state changes.
|
|
55
|
+
|
|
56
|
+
Avoid particle effects as ordinary product chrome, glowing dashboard cards, pulsing status indicators, decorative telemetry, giant capability dashboards, nested cards without purpose, permanent status rails, and "AI is thinking" theater.
|
|
57
|
+
|
|
58
|
+
Motion should be experienced as smoothness, not watched as entertainment.
|
|
59
|
+
|
|
60
|
+
## Canonical layout modes
|
|
61
|
+
|
|
62
|
+
### Focused work
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
project/history rail | main work/chat | contextual editor/browser/details
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Code / file work
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
project/history rail | editor/work surface | file tree/workspace/context
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Full workbench
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
minimal nav | primary surface | optional contextual secondary pane
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The active task owns the screen. Secondary panes support it.
|
|
81
|
+
|
|
82
|
+
A user should move naturally among recent work, projects, Git worktrees, local folders, attached runtimes, containers, and future remote workspaces without needing to understand the transport underneath.
|
|
83
|
+
|
|
84
|
+
## The work surface defines the experience
|
|
85
|
+
|
|
86
|
+
Browsing should feel like a browser; coding like an editor; data work like a database editor; CMS work like a CMS; CAD work like CAD; terminal work like a terminal.
|
|
87
|
+
|
|
88
|
+
AgentSam intelligence is contextual infrastructure, not permanent visual chrome.
|
|
89
|
+
|
|
90
|
+
> Every capability should feel native to the surface where it is used.
|
|
91
|
+
|
|
92
|
+
## Tabs, split panes, browser, and annotation
|
|
93
|
+
|
|
94
|
+
Tabs are first-class desktop primitives. State should preserve and restore per workspace, split panes should feel like one application, and contextual panels should disappear completely when closed.
|
|
95
|
+
|
|
96
|
+
The in-app browser is a serious work primitive, not an iframe preview.
|
|
97
|
+
|
|
98
|
+
Annotation is a signature AgentSam interaction. A user should be able to select a real DOM element, code range, file, database object, CMS section, CAD object, browser region, artifact, runtime, or job and open a minimal contextual composer against that structured selection.
|
|
99
|
+
|
|
100
|
+
AgentSam should know **what was selected**, not merely where the user clicked.
|
|
101
|
+
|
|
102
|
+
## Terminal and runtime model
|
|
103
|
+
|
|
104
|
+
Do not create separate terminal architectures for each language.
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
terminal_instance → where compute lives
|
|
108
|
+
terminal_connection → how AgentSam reaches it
|
|
109
|
+
terminal_session → interactive PTY
|
|
110
|
+
terminal_job → detached/background work
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Capabilities hang off the target:
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
pty
|
|
117
|
+
exec
|
|
118
|
+
filesystem
|
|
119
|
+
ports
|
|
120
|
+
forwarding
|
|
121
|
+
jobs
|
|
122
|
+
lsp
|
|
123
|
+
docker
|
|
124
|
+
node
|
|
125
|
+
python
|
|
126
|
+
go
|
|
127
|
+
rust
|
|
128
|
+
freecad
|
|
129
|
+
openscad
|
|
130
|
+
blender
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
"Go service", "Rust task", "Python worker", and "Node dev server" are process profiles, not new PTY technologies.
|
|
134
|
+
|
|
135
|
+
Forwarding should be first-class but mostly invisible. If a process exposes a port, Local Studio can offer **Open preview** and resolve forwarding underneath.
|
|
136
|
+
|
|
137
|
+
## Databases
|
|
138
|
+
|
|
139
|
+
AgentSam's own `.agentsam/data/agentsam.sqlite` is application state, not a claim that Local Studio supports only one SQLite database.
|
|
140
|
+
|
|
141
|
+
User-owned SQLite is first-class: create/open arbitrary databases, attach/detach, CRUD, scoped SQL, duplicate/backup, rename/delete with confirmation, and offline operation.
|
|
142
|
+
|
|
143
|
+
## Identity and storage authority
|
|
144
|
+
|
|
145
|
+
Local Studio ships the AgentSam identity **UI and client contract** inside the app. The official connected AgentSam distribution does not create a second canonical account database on the device.
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
packaged AgentSam auth UI
|
|
149
|
+
↓
|
|
150
|
+
identity_bridge
|
|
151
|
+
↓
|
|
152
|
+
configured identity service / Worker
|
|
153
|
+
↓
|
|
154
|
+
main account database
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
The installed app receives a native bearer session from the same identity service and keeps that credential in the platform secure store. The main database remains authoritative for account, user, session, grant, billing, membership, provider-connection, and other shared/cloud state.
|
|
158
|
+
|
|
159
|
+
Device-local SQLite has a different authority:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
main DB = account/shared/cloud truth
|
|
163
|
+
local SQLite = device/workspace/cache/offline-outbox/runtime truth
|
|
164
|
+
secure store = secret/credential truth
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Do not dual-write canonical server records into SQLite. A local cached server record must be explicitly cache/sync state and disposable. Offline mutations to server-owned resources use an idempotent outbox and are committed through the Worker when connectivity returns.
|
|
168
|
+
|
|
169
|
+
The portable identity package still supports an explicit standalone SQLite identity adapter for independent/offline products. That is a deployment choice, not the default authority of the official connected AgentSam download.
|
|
170
|
+
|
|
171
|
+
Platform secure storage is a contract, not a macOS assumption: macOS uses Keychain; Windows uses Credential Manager; Linux uses the platform secret service; iOS and Android use their native secure-storage adapters.
|
|
172
|
+
|
|
173
|
+
## External desktop escape hatches
|
|
174
|
+
|
|
175
|
+
Useful actions include Open in Cursor, default app, Terminal, iTerm2, Reveal in Finder, Open on GitHub, and Save as.
|
|
176
|
+
|
|
177
|
+
These are convenience paths. They do not replace Local Studio's own editor, PTY, browser, files, database, or runtime system.
|
|
178
|
+
|
|
179
|
+
## Donor extraction and dependency direction
|
|
180
|
+
|
|
181
|
+
InnerAnimalMedia is a donor and proving ground. It is not a runtime dependency of Local Studio.
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
agentsam-sdk
|
|
185
|
+
│
|
|
186
|
+
reusable packages/contracts
|
|
187
|
+
│
|
|
188
|
+
┌─────────────┼─────────────┐
|
|
189
|
+
▼ ▼ ▼
|
|
190
|
+
Local Studio InnerAnimalMedia customer apps
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Never make Local Studio import portable runtime/UI truth from the InnerAnimalMedia repository.
|
|
194
|
+
|
|
195
|
+
Salvage proven UI, adapters, contracts, browser/editor/file behaviors, OAuth work, CMS mechanics, runtime patterns, and interaction components; remove InnerAnimalMedia-specific tenancy, branding, URLs, customer IDs, bindings, and deployment policy; land reusable ownership once in AgentSam SDK; let InnerAnimalMedia consume it through explicit adapters.
|
|
196
|
+
|
|
197
|
+
Portability test:
|
|
198
|
+
|
|
199
|
+
> Could a developer clone only `agentsam-sdk`, build/install Local Studio, and get the core experience without an `inneranimalmedia` checkout?
|
|
200
|
+
|
|
201
|
+
For portable functionality, the answer must be yes.
|
|
202
|
+
|
|
203
|
+
## Authority and registry discipline
|
|
204
|
+
|
|
205
|
+
Do not flatten product, app, package, service, feature, capability, operation, tool, runtime, and install state into one registry.
|
|
206
|
+
|
|
207
|
+
Preserve:
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
APP
|
|
211
|
+
apps/*/agentsam.app.json
|
|
212
|
+
|
|
213
|
+
PACKAGE / SERVICE
|
|
214
|
+
agentsam.package.json / package metadata
|
|
215
|
+
|
|
216
|
+
FEATURE
|
|
217
|
+
agentsam.feature.json
|
|
218
|
+
|
|
219
|
+
CAPABILITY
|
|
220
|
+
protocol/capabilities/manifest.json
|
|
221
|
+
|
|
222
|
+
OPERATION
|
|
223
|
+
protocol/sam/* + defineSamOperation()
|
|
224
|
+
|
|
225
|
+
TOOL
|
|
226
|
+
platform / MCP bounded registry
|
|
227
|
+
|
|
228
|
+
RUNTIME
|
|
229
|
+
agentsam.runtime.v1 + terminal_* state
|
|
230
|
+
|
|
231
|
+
INSTALL
|
|
232
|
+
.agentsam state + receipts
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
The official platform product inventory remains `agentsam_products` and its platform relationships.
|
|
236
|
+
|
|
237
|
+
Any source-controlled `registry/products/*` layer is a **thin relationship/index seed**: product IDs, authority paths, host/mount relationships, service relationships, and platform linkage. It must not copy versions, commands, capability lists, runtime facts, or other fields already owned elsewhere.
|
|
238
|
+
|
|
239
|
+
## Product quality bar
|
|
240
|
+
|
|
241
|
+
Local Studio should feel deliberate, quiet, responsive, high-confidence, contextual, predictable, and deeply capable.
|
|
242
|
+
|
|
243
|
+
Never gimmicky, demo-first, fake, capability-theater, or overloaded with status chrome.
|
|
244
|
+
|
|
245
|
+
Infrastructure earns its value by making visible work reliable.
|
|
246
|
+
|
|
247
|
+
## Acceptance rules
|
|
248
|
+
|
|
249
|
+
1. **Real over fake** — no fake green states or pretend integrations.
|
|
250
|
+
2. **Context over dashboards** — surface capabilities where they matter.
|
|
251
|
+
3. **Local-first** — local work does not wait on account/cloud availability.
|
|
252
|
+
4. **Progressive discovery** — advanced controls appear when useful.
|
|
253
|
+
5. **One coherent product** — browser, files, editor, terminal, database, CMS, CAD, Work, and AgentSam share interaction language.
|
|
254
|
+
6. **No permanent noise** — closed panels disappear.
|
|
255
|
+
7. **Native platform behavior** — tabs/splits where appropriate, native file dialogs, OS secure storage, external-open actions, and platform-appropriate local capabilities.
|
|
256
|
+
8. **Capability truth** — UI affordances derive from real runtime/provider capability.
|
|
257
|
+
9. **Smoothness is functional** — animation reduces friction.
|
|
258
|
+
10. **AgentSam remains contextual** — intelligence supports the work instead of competing with it.
|
|
259
|
+
|
|
260
|
+
## Design test
|
|
261
|
+
|
|
262
|
+
Before adding a permanent control, panel, badge, dashboard, runtime selector, or status surface, ask:
|
|
263
|
+
|
|
264
|
+
```text
|
|
265
|
+
Does the user need this visible right now?
|
|
266
|
+
Can context reveal it later?
|
|
267
|
+
Can the system infer this safely?
|
|
268
|
+
Is it useful to the task, or merely proof that our backend exists?
|
|
269
|
+
Would a mature professional application expose this continuously?
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
If the answer points toward hiding it, hide it.
|
|
273
|
+
|
|
274
|
+
## North star
|
|
275
|
+
|
|
276
|
+
> **A serious desktop work environment where browser, files, code, terminal, data, CMS, CAD, runtimes, cloud resources, and AgentSam intelligence behave as if they were designed together from the beginning.**
|
|
277
|
+
|
|
278
|
+
AgentSam makes complex infrastructure feel simple without pretending the infrastructure is simple.
|
|
279
|
+
|
|
280
|
+
That is the brand.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Local Studio Desktop Experience Contract
|
|
2
|
+
|
|
3
|
+
**Status:** Product acceptance contract
|
|
4
|
+
**App:** `local-studio`
|
|
5
|
+
**Desktop shell:** `packages/agentsam-desktop-shell`
|
|
6
|
+
**Canonical UI:** `apps/local-studio`
|
|
7
|
+
**Identity package:** `packages/identity`
|
|
8
|
+
|
|
9
|
+
The downloadable Local Studio app must look like Local Studio because it **is** Local Studio.
|
|
10
|
+
|
|
11
|
+
## Launch contract
|
|
12
|
+
|
|
13
|
+
Production:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
AgentSam Local Studio.app
|
|
17
|
+
↓
|
|
18
|
+
Tauri window
|
|
19
|
+
↓
|
|
20
|
+
bundled apps/local-studio desktop SPA
|
|
21
|
+
↓
|
|
22
|
+
real AgentSam shell / workspace
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Not acceptable as a shipped default:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
bootstrap/status shell
|
|
29
|
+
→ "Open Studio UI"
|
|
30
|
+
→ hosted website
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The packager must fail closed if the real desktop SPA is missing. It must never silently substitute a recovery page into a release artifact.
|
|
34
|
+
|
|
35
|
+
Native capability startup (`agentsamd`, filesystem bridges, database bridges) happens in the background and must not cover the work surface with a diagnostic boot screen.
|
|
36
|
+
|
|
37
|
+
## Packaged identity UI, shared account authority
|
|
38
|
+
|
|
39
|
+
Local Studio packages the real AgentSam login/signup/reset UI inside the application. Displaying that UI does not require redirecting to a website.
|
|
40
|
+
|
|
41
|
+
For the official connected AgentSam distribution, authentication writes to the configured identity service and main database:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
Local Studio / future mobile app
|
|
45
|
+
↓
|
|
46
|
+
bundled auth portal
|
|
47
|
+
↓
|
|
48
|
+
identity_bridge
|
|
49
|
+
↓
|
|
50
|
+
Worker identity API
|
|
51
|
+
↓
|
|
52
|
+
main account database
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The Worker creates/resolves the canonical user and `auth_sessions` row. Native clients request the same session as a bearer credential rather than relying on a browser cookie. The credential is stored in the platform secure store and `/api/auth/me` validates it against the main database.
|
|
56
|
+
|
|
57
|
+
There is no desktop-only account table and no duplicate canonical user/session authority.
|
|
58
|
+
|
|
59
|
+
## Three storage authorities
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
MAIN SERVICE / DB
|
|
63
|
+
accounts, users, auth sessions, OAuth grants, provider connections,
|
|
64
|
+
billing, memberships, shared/project/cloud records
|
|
65
|
+
|
|
66
|
+
LOCAL SQLITE
|
|
67
|
+
installation/device metadata, workspace state, local projects, caches,
|
|
68
|
+
runtime/job state, sync cursors, offline outbox, user-opened SQLite DBs
|
|
69
|
+
|
|
70
|
+
OS SECURE STORE
|
|
71
|
+
account session credential, device credentials, encryption keys,
|
|
72
|
+
machine-private provider secrets where policy allows
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
SQLite must not become a shadow copy of the main account database. Cached remote records are explicitly non-authoritative and disposable. Offline server-owned mutations are queued with idempotency keys and committed through the Worker.
|
|
76
|
+
|
|
77
|
+
The portable identity package may use its SQLite identity adapter only when an installation explicitly selects standalone mode.
|
|
78
|
+
|
|
79
|
+
## Platform contract
|
|
80
|
+
|
|
81
|
+
The product contract is broader than macOS:
|
|
82
|
+
|
|
83
|
+
- **macOS:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, Keychain, POSIX shells.
|
|
84
|
+
- **Windows:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, Credential Manager, `pwsh` → Windows PowerShell → `cmd.exe`.
|
|
85
|
+
- **Linux:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, platform secret service, POSIX shells.
|
|
86
|
+
- **iOS:** same UI/service/storage contracts through mobile-native adapters; no executable Node/`agentsamd` sidecar assumption.
|
|
87
|
+
- **Android:** same UI/service/storage contracts through mobile-native adapters; no executable Node/`agentsamd` sidecar assumption.
|
|
88
|
+
|
|
89
|
+
Desktop sidecars are an implementation of local-machine capabilities, not part of the cross-platform protocol. Mobile can connect to remote/local AgentSam runtimes where appropriate while keeping account identity and device state contracts unchanged.
|
|
90
|
+
|
|
91
|
+
## Provider OAuth
|
|
92
|
+
|
|
93
|
+
Provider grants are separate from the AgentSam account session. Google, Cloudflare, GitHub, GCP, and later providers use their own consent/connection lanes. A system browser may be required for a provider's OAuth consent, but the AgentSam login UI itself remains packaged in the app.
|
|
94
|
+
|
|
95
|
+
Provider tokens never belong in callback URLs beyond the minimum standard authorization material, and confidential client secrets never belong in downloadable clients.
|
|
96
|
+
|
|
97
|
+
## Session restoration
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
secure store has AgentSam session credential?
|
|
101
|
+
no → signed-out cloud/account state; local work remains available
|
|
102
|
+
yes → /api/auth/me with Bearer credential
|
|
103
|
+
valid → canonical account restored from main DB
|
|
104
|
+
invalid → clear stale credential / signed out
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Browser cookies are not required for desktop/mobile session restoration.
|
|
108
|
+
|
|
109
|
+
## Failure behavior
|
|
110
|
+
|
|
111
|
+
If a provider, remote account service, or network connection fails, Local Studio remains usable locally.
|
|
112
|
+
|
|
113
|
+
Ordinary local workflows must never be replaced by a full-screen authentication or infrastructure error.
|
|
114
|
+
|
|
115
|
+
## Release acceptance
|
|
116
|
+
|
|
117
|
+
Before shipping a desktop artifact:
|
|
118
|
+
|
|
119
|
+
- build the Local Studio desktop SPA;
|
|
120
|
+
- copy the packaged auth portal into that SPA;
|
|
121
|
+
- verify the auth portal is AgentSam/host branded rather than donor branded;
|
|
122
|
+
- sync the SPA into the Tauri desktop shell;
|
|
123
|
+
- fail the build if the real SPA is missing or hydrate-only;
|
|
124
|
+
- verify the old `Open Studio UI` / `Stay on this shell` copy is absent;
|
|
125
|
+
- verify native startup work is non-blocking;
|
|
126
|
+
- run the full identity package tests;
|
|
127
|
+
- run Local Studio auth/type/build gates;
|
|
128
|
+
- run Rust checks;
|
|
129
|
+
- verify the packaged identity runtime/migrations are present;
|
|
130
|
+
- build and mount the disk image;
|
|
131
|
+
- launch the app copied from the disk image;
|
|
132
|
+
- verify local signup/login/session restoration without a hosted redirect;
|
|
133
|
+
- verify local files, SQLite, PTY, and `agentsamd` still work signed out.
|
|
134
|
+
|
|
135
|
+
## Product rule
|
|
136
|
+
|
|
137
|
+
> **The downloadable Local Studio app is self-contained AgentSam product software.**
|
|
138
|
+
|
|
139
|
+
Company deployments, customer hosts, and external identity providers are adapters around that product. They are not its intrinsic authority.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# AgentSam Product Standards
|
|
2
|
+
|
|
3
|
+
These documents define product-facing laws above implementation-specific architecture.
|
|
4
|
+
|
|
5
|
+
- [AgentSam Product Experience Standard](./AGENTSAM_PRODUCT_EXPERIENCE_STANDARD.md) — brand posture, visual/interaction language, progressive discovery, Local Studio quality bar, runtime UX, donor extraction, and authority discipline.
|
|
6
|
+
- [Local Studio Desktop Experience Contract](./LOCAL_STUDIO_DESKTOP_EXPERIENCE.md) — launch behavior, bundled UI, desktop OAuth/Keychain behavior, handoff security, and release acceptance.
|
|
7
|
+
|
|
8
|
+
Architecture contracts remain authoritative for their own namespaces, including `docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md` and `docs/architecture/SAM_KERNEL.md`.
|