@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,196 @@
|
|
|
1
|
+
# Studio CMS Editor Harvest Index
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This branch turns `studio-cms-editor` into a donor source, not a new runtime authority.
|
|
6
|
+
|
|
7
|
+
The goal is to preserve everything valuable enough to repurpose while making it difficult to accidentally drag demo state, fake persistence, production-specific deployment glue, or generated artifacts into AgentSam SDK.
|
|
8
|
+
|
|
9
|
+
Current source truth included by this harvest branch:
|
|
10
|
+
|
|
11
|
+
- repository: `SamPrimeaux/studio-cms-editor`
|
|
12
|
+
- latest merged source baseline: `origin/main@f0547d7`
|
|
13
|
+
- CMS editor: `app/studio/page.tsx`
|
|
14
|
+
- shared editor styling: `app/globals.css`
|
|
15
|
+
- public storefront implementation: `app/components/Storefront.tsx`
|
|
16
|
+
- public storefront data: `app/storefront-data.ts`
|
|
17
|
+
- public storefront styling: `app/storefront.css`
|
|
18
|
+
- public routes: home, shop, collections, product, journal, story
|
|
19
|
+
- ChatGPT-hosted identity reference: `app/chatgpt-auth.ts`
|
|
20
|
+
- content implementation plan: `plans/INNERANIMALS-CONTENT-001.md`
|
|
21
|
+
- database schema remains intentionally empty
|
|
22
|
+
|
|
23
|
+
The source is valuable primarily as:
|
|
24
|
+
|
|
25
|
+
1. a polished CMS/editor interaction donor,
|
|
26
|
+
2. a real public storefront/theme/layout donor,
|
|
27
|
+
3. a ChatGPT identity integration reference,
|
|
28
|
+
4. a historical system example for future AgentSam galleries.
|
|
29
|
+
|
|
30
|
+
It is **not** assumed to be a functioning production CMS.
|
|
31
|
+
|
|
32
|
+
## Non-negotiable rule
|
|
33
|
+
|
|
34
|
+
Installing, auditing, previewing, exporting, or staging this donor must never:
|
|
35
|
+
|
|
36
|
+
- deploy a Worker,
|
|
37
|
+
- run Wrangler deploy,
|
|
38
|
+
- sync a website,
|
|
39
|
+
- publish a CMS revision,
|
|
40
|
+
- upload assets,
|
|
41
|
+
- write to D1/R2/KV,
|
|
42
|
+
- alter AgentSam SDK runtime packages,
|
|
43
|
+
- alter a customer site,
|
|
44
|
+
- invoke remote mutations.
|
|
45
|
+
|
|
46
|
+
Those actions belong to later explicit commands in the target system.
|
|
47
|
+
|
|
48
|
+
## Harvest lanes
|
|
49
|
+
|
|
50
|
+
### A. CMS editor UX donor
|
|
51
|
+
|
|
52
|
+
Primary source:
|
|
53
|
+
|
|
54
|
+
- `app/studio/page.tsx`
|
|
55
|
+
- `app/globals.css`
|
|
56
|
+
|
|
57
|
+
Keep or adapt the interaction ideas:
|
|
58
|
+
|
|
59
|
+
- page tree
|
|
60
|
+
- section tree
|
|
61
|
+
- section reorder
|
|
62
|
+
- visibility controls
|
|
63
|
+
- component browser
|
|
64
|
+
- template browser
|
|
65
|
+
- media browser UX
|
|
66
|
+
- content inspector
|
|
67
|
+
- style inspector
|
|
68
|
+
- page/SEO inspector
|
|
69
|
+
- theme/token inspector
|
|
70
|
+
- click-preview-to-select
|
|
71
|
+
- responsive device previews
|
|
72
|
+
- command palette
|
|
73
|
+
- undo/redo
|
|
74
|
+
- HTML import concept
|
|
75
|
+
- URL import concept
|
|
76
|
+
- page history UX
|
|
77
|
+
- publish/schedule UX as UI only
|
|
78
|
+
|
|
79
|
+
Do not preserve simulated persistence as architecture.
|
|
80
|
+
|
|
81
|
+
### B. Inner Animals storefront/theme donor
|
|
82
|
+
|
|
83
|
+
Primary source:
|
|
84
|
+
|
|
85
|
+
- `app/page.tsx`
|
|
86
|
+
- `app/components/Storefront.tsx`
|
|
87
|
+
- `app/storefront-data.ts`
|
|
88
|
+
- `app/storefront.css`
|
|
89
|
+
- `app/layout.tsx`
|
|
90
|
+
- public storefront route files
|
|
91
|
+
|
|
92
|
+
Treat this as candidate source for a future package such as:
|
|
93
|
+
|
|
94
|
+
`@inneranimalmedia/theme-inneranimals-site`
|
|
95
|
+
|
|
96
|
+
The harvest export preserves the route/layout/component/data source verbatim. Normalizing it into true section/block contracts happens inside the real CMS/theme implementation, not destructively in this donor repo.
|
|
97
|
+
|
|
98
|
+
See `plans/STOREFRONT-SURFACE-MAP.md`.
|
|
99
|
+
|
|
100
|
+
### C. ChatGPT identity donor
|
|
101
|
+
|
|
102
|
+
Primary source:
|
|
103
|
+
|
|
104
|
+
- `app/chatgpt-auth.ts`
|
|
105
|
+
|
|
106
|
+
Preserve the hosted ChatGPT identity pattern as a reference adapter for:
|
|
107
|
+
|
|
108
|
+
`@inneranimalmedia/agentsam-identity`
|
|
109
|
+
|
|
110
|
+
Target architecture:
|
|
111
|
+
|
|
112
|
+
`OpenAI/ChatGPT hosted identity -> NormalizedExternalIdentity -> AgentSam account linkage`
|
|
113
|
+
|
|
114
|
+
Do not leak `oai-authenticated-*` headers into generic CMS contracts.
|
|
115
|
+
|
|
116
|
+
### D. Content-plan/reference donor
|
|
117
|
+
|
|
118
|
+
Primary source:
|
|
119
|
+
|
|
120
|
+
- `plans/INNERANIMALS-CONTENT-001.md`
|
|
121
|
+
|
|
122
|
+
Keep as implementation intent/provenance. It should not override the reusable CMS/theme contracts.
|
|
123
|
+
|
|
124
|
+
### E. Runtime/deployment reference
|
|
125
|
+
|
|
126
|
+
Reference-only:
|
|
127
|
+
|
|
128
|
+
- `.openai/hosting.json`
|
|
129
|
+
- `vite.config.ts`
|
|
130
|
+
- `next.config.ts`
|
|
131
|
+
- `worker/index.ts`
|
|
132
|
+
- `worker/vpc.ts`
|
|
133
|
+
- `wrangler.production.toml`
|
|
134
|
+
- `docs/workers-vpc.md`
|
|
135
|
+
- `package.json`
|
|
136
|
+
|
|
137
|
+
These files explain how the old build ran. They are not candidates for automatic adoption into AgentSam SDK.
|
|
138
|
+
|
|
139
|
+
## One-shot workflow
|
|
140
|
+
|
|
141
|
+
From this repo:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
python3 scripts/harvest_audit.py
|
|
145
|
+
python3 scripts/harvest_all.py
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
That creates a sibling export by default:
|
|
149
|
+
|
|
150
|
+
`../studio-cms-editor-harvest-export/`
|
|
151
|
+
|
|
152
|
+
To stage the curated export inside AgentSam SDK without touching active packages:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
python3 scripts/harvest_all.py \
|
|
156
|
+
--sdk /Users/samprimeaux/agentsam-sdk \
|
|
157
|
+
--stage-sdk
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The SDK target is:
|
|
161
|
+
|
|
162
|
+
`apps/_incoming/studio-cms-editor-harvest/`
|
|
163
|
+
|
|
164
|
+
That directory is intentionally a quarantine/review surface.
|
|
165
|
+
|
|
166
|
+
## Local preview
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
python3 scripts/preview_local.py
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Default browser target:
|
|
173
|
+
|
|
174
|
+
`http://127.0.0.1:<port>/studio`
|
|
175
|
+
|
|
176
|
+
Storefront remains available at:
|
|
177
|
+
|
|
178
|
+
`http://127.0.0.1:<port>/`
|
|
179
|
+
|
|
180
|
+
Use `--route /` if the storefront should open first.
|
|
181
|
+
|
|
182
|
+
This launcher never deploys.
|
|
183
|
+
|
|
184
|
+
## Promotion rule
|
|
185
|
+
|
|
186
|
+
Nothing in `apps/_incoming/studio-cms-editor-harvest` becomes runtime authority merely because it was staged.
|
|
187
|
+
|
|
188
|
+
Promotion requires a separate implementation decision and should normally result in one or more of:
|
|
189
|
+
|
|
190
|
+
- `apps/client-cms-editor` improvements
|
|
191
|
+
- a future `packages/agentsam-cms` family
|
|
192
|
+
- `packages/theme-inneranimals-site`
|
|
193
|
+
- `packages/identity/src/providers/openai`
|
|
194
|
+
- reusable editor primitives/components
|
|
195
|
+
|
|
196
|
+
The donor remains useful even after promotion because it provides provenance and a historical live example.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# INNERANIMALS-CONTENT-001 — Replace storefront concepts with owned content and commerce data
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
- Priority: P1
|
|
6
|
+
- Project: `studio-cms-editor`
|
|
7
|
+
- Subsystem: `inneranimals-content`
|
|
8
|
+
- Owner: Agent Sam with Sam Primeaux as content approver
|
|
9
|
+
- State: backlog
|
|
10
|
+
- Production surface: `https://inneranimals.com`
|
|
11
|
+
- Editor surface: `https://inneranimals.com/studio`
|
|
12
|
+
|
|
13
|
+
## Objective
|
|
14
|
+
|
|
15
|
+
Turn the approved Inner Animals public-site scaffold into a production storefront using Sam's real brand content, products, photography, inventory, editorial work, and checkout. Preserve the current visual system, route structure, responsive behavior, and the original CMS editor at `/studio`.
|
|
16
|
+
|
|
17
|
+
This is a content and data-plumbing pass, not a redesign.
|
|
18
|
+
|
|
19
|
+
## Source-of-truth rules
|
|
20
|
+
|
|
21
|
+
- Routine copy, images, product details, collections, articles, and campaign settings must be editable through the CMS/data layer rather than hardcoded React arrays.
|
|
22
|
+
- Use owned or explicitly licensed assets stored in the project's Cloudflare media system. Remove demo photography before launch.
|
|
23
|
+
- Existing Shopify/catalog data may be imported when Sam identifies it as authoritative.
|
|
24
|
+
- Never invent prices, inventory, fabric composition, GSM, performance claims, testimonials, athlete quotes, release dates, or shipping promises.
|
|
25
|
+
- Draft missing copy in the established voice, but mark factual gaps for approval.
|
|
26
|
+
- Preserve `/studio` and do not move the editor into IAM dashboard routes under this ticket.
|
|
27
|
+
|
|
28
|
+
## Workstreams
|
|
29
|
+
|
|
30
|
+
### 1. Brand foundation
|
|
31
|
+
|
|
32
|
+
- Confirm display name, wordmark/logo variants, favicon, social preview image, campaign lockup, and announcement-bar copy.
|
|
33
|
+
- Replace placeholder metadata and social sharing content on every public route.
|
|
34
|
+
- Finalize the hero statement, manifesto excerpt, CTA labels, and voice rules.
|
|
35
|
+
|
|
36
|
+
### 2. Asset migration
|
|
37
|
+
|
|
38
|
+
- Inventory usable product, campaign, founder, community, and editorial media.
|
|
39
|
+
- Upload approved originals to Cloudflare storage and record stable asset IDs/URLs.
|
|
40
|
+
- Create responsive crops and useful alt text; preserve original files.
|
|
41
|
+
- Replace every demo/Unsplash asset on production.
|
|
42
|
+
|
|
43
|
+
### 3. Product catalog
|
|
44
|
+
|
|
45
|
+
For every live product, map and verify:
|
|
46
|
+
|
|
47
|
+
- name, slug/handle, collection, price, compare-at price if applicable
|
|
48
|
+
- status, inventory policy, sizes, colorways, variants, and SKU
|
|
49
|
+
- product description, fit, intended use, material, care, and GSM when known
|
|
50
|
+
- studio imagery, campaign imagery, alt text, and display order
|
|
51
|
+
- size guide, model measurements, shipping/returns note, and related products
|
|
52
|
+
|
|
53
|
+
Do not publish a field that has not been verified from Sam's source data.
|
|
54
|
+
|
|
55
|
+
### 4. Homepage population
|
|
56
|
+
|
|
57
|
+
Populate the existing modules without changing their approved layout:
|
|
58
|
+
|
|
59
|
+
- cinematic campaign/drop hero
|
|
60
|
+
- Shop by Instinct: Train, Recover, Roam, Everyday
|
|
61
|
+
- Issue 001 featured products
|
|
62
|
+
- manifesto break
|
|
63
|
+
- Wolf, Bear, Panther, and Bull archetypes, unless Sam renames them
|
|
64
|
+
- field film or training story
|
|
65
|
+
- Field Journal highlights
|
|
66
|
+
- The Pack community gallery
|
|
67
|
+
- Join the Pack membership/email capture
|
|
68
|
+
|
|
69
|
+
### 5. Collections and product pages
|
|
70
|
+
|
|
71
|
+
- Populate `/shop` and each approved collection with real catalog data and filters.
|
|
72
|
+
- Populate product routes with verified variants, sizing, fit, media, specifications, availability, and related editorial content.
|
|
73
|
+
- Keep sticky mobile purchase controls and ensure unavailable variants cannot be purchased.
|
|
74
|
+
|
|
75
|
+
### 6. Story and journal
|
|
76
|
+
|
|
77
|
+
- Replace concept copy in `/story` with the approved founder story, manifesto, and brand code.
|
|
78
|
+
- Publish the first approved journal articles with author, date, excerpt, hero media, body, SEO fields, and related products.
|
|
79
|
+
- Do not fabricate community or athlete stories.
|
|
80
|
+
|
|
81
|
+
### 7. Commerce and lifecycle wiring
|
|
82
|
+
|
|
83
|
+
- Connect the authoritative catalog, cart, inventory, and checkout provider selected by Sam.
|
|
84
|
+
- Connect Join the Pack to the approved email/CRM destination with consent language and a confirmed success state.
|
|
85
|
+
- Record orders and leads in the appropriate system without exposing secrets in the browser.
|
|
86
|
+
- Add analytics events for product view, collection view, add to cart, checkout start, purchase, article view, and signup.
|
|
87
|
+
|
|
88
|
+
### 8. CMS editing contract
|
|
89
|
+
|
|
90
|
+
- Model homepage modules, navigation, collections, products, journal entries, story content, SEO, and campaign settings in the CMS/data layer.
|
|
91
|
+
- Map those records to the public routes with loading, empty, and error states.
|
|
92
|
+
- Ensure changes can be previewed and published from `/studio` without editing source files.
|
|
93
|
+
- Preserve drafts and prevent unpublished content from leaking into public responses.
|
|
94
|
+
|
|
95
|
+
### 9. Accessibility, SEO, and legal checks
|
|
96
|
+
|
|
97
|
+
- Meaningful alt text, keyboard access, visible focus, reduced motion, and WCAG AA text contrast.
|
|
98
|
+
- Unique titles/descriptions, canonical URLs, Open Graph data, product structured data, article structured data, sitemap, and robots behavior.
|
|
99
|
+
- Link approved privacy, terms, returns, shipping, and contact policies before enabling checkout.
|
|
100
|
+
|
|
101
|
+
## Inputs required from Sam
|
|
102
|
+
|
|
103
|
+
1. Identify the authoritative product/inventory source and the products included in Issue 001.
|
|
104
|
+
2. Provide or approve logo files and the first campaign/product image set.
|
|
105
|
+
3. Approve the hero headline, manifesto, and founder-story source.
|
|
106
|
+
4. Confirm whether Wolf, Bear, Panther, and Bull remain the collection archetypes.
|
|
107
|
+
5. Choose the checkout provider and newsletter/CRM destination.
|
|
108
|
+
6. Provide or approve shipping, returns, privacy, and terms content.
|
|
109
|
+
|
|
110
|
+
Agent Sam may infer formatting, navigation labels, copy polish, alt-text drafts, responsive crops, and product ordering. It must pause for approval when a missing answer would create a factual claim or irreversible commerce setting.
|
|
111
|
+
|
|
112
|
+
## Acceptance criteria
|
|
113
|
+
|
|
114
|
+
- No placeholder, concept, or unlicensed imagery is visible on production.
|
|
115
|
+
- Every public route is populated, linked, responsive, and scrollable.
|
|
116
|
+
- Product facts, prices, variants, and inventory match the authoritative source.
|
|
117
|
+
- Cart and checkout work end-to-end, or non-purchasable products use an explicitly approved waitlist state.
|
|
118
|
+
- Routine content changes are possible through the CMS without a code deploy.
|
|
119
|
+
- `/studio` remains functional and visually unchanged.
|
|
120
|
+
- Mobile QA includes navigation, filtering, product selection, sticky purchase controls, forms, and checkout on a 375px viewport.
|
|
121
|
+
- Keyboard, reduced-motion, image-alt, contrast, SEO, sitemap, and structured-data checks pass.
|
|
122
|
+
- Production verification covers `/`, `/shop`, every collection, at least one product, `/journal`, one article, `/story`, and `/studio`.
|
|
123
|
+
|
|
124
|
+
## Evidence and handoff
|
|
125
|
+
|
|
126
|
+
Attach to the ticket before shipping:
|
|
127
|
+
|
|
128
|
+
- source PR and deployed commit
|
|
129
|
+
- imported catalog record count and rejected/error count
|
|
130
|
+
- Cloudflare asset identifiers for the approved media set
|
|
131
|
+
- CMS record identifiers or export snapshot
|
|
132
|
+
- live-route verification results and checkout receipt/test order
|
|
133
|
+
- list of any intentionally deferred fields or assets
|
|
134
|
+
|
|
135
|
+
## Suggested Agent Sam kickoff
|
|
136
|
+
|
|
137
|
+
Read this plan, inspect the current public routes and CMS schema, then produce a content inventory that separates: ready to import, needs Sam approval, and missing. Do not redesign the scaffold. Begin implementation only with verified source material, keep the site deployable after each workstream, and report blockers as specific content decisions rather than substituting invented facts.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# No Implicit Side Effects
|
|
2
|
+
|
|
3
|
+
This is a hard product rule for all harvest and future AgentSam integration work.
|
|
4
|
+
|
|
5
|
+
## Capability availability is not action authorization
|
|
6
|
+
|
|
7
|
+
Installing AgentSam SDK or a theme/CMS/identity package means:
|
|
8
|
+
|
|
9
|
+
> the capability is available
|
|
10
|
+
|
|
11
|
+
It never means:
|
|
12
|
+
|
|
13
|
+
> execute the capability against a customer system
|
|
14
|
+
|
|
15
|
+
## Safe/read-only classes
|
|
16
|
+
|
|
17
|
+
These should be non-mutating by default:
|
|
18
|
+
|
|
19
|
+
- inspect
|
|
20
|
+
- inventory
|
|
21
|
+
- scan
|
|
22
|
+
- audit
|
|
23
|
+
- preview
|
|
24
|
+
- analyze
|
|
25
|
+
- plan
|
|
26
|
+
- diff
|
|
27
|
+
- validate
|
|
28
|
+
|
|
29
|
+
## Local/staging mutation classes
|
|
30
|
+
|
|
31
|
+
These may write only to an explicit local/staging target:
|
|
32
|
+
|
|
33
|
+
- scaffold
|
|
34
|
+
- export
|
|
35
|
+
- stage
|
|
36
|
+
- generate
|
|
37
|
+
- apply-local
|
|
38
|
+
|
|
39
|
+
They must not contact production resources unless a separate explicit option says so.
|
|
40
|
+
|
|
41
|
+
## Remote/customer mutation classes
|
|
42
|
+
|
|
43
|
+
These require explicit invocation and explicit target:
|
|
44
|
+
|
|
45
|
+
- sync
|
|
46
|
+
- upload
|
|
47
|
+
- promote
|
|
48
|
+
- publish
|
|
49
|
+
- deploy
|
|
50
|
+
- migrate
|
|
51
|
+
- rotate
|
|
52
|
+
- delete
|
|
53
|
+
|
|
54
|
+
A generic SDK lifecycle hook must never invoke them.
|
|
55
|
+
|
|
56
|
+
## Harvest scripts on this branch
|
|
57
|
+
|
|
58
|
+
The Python scripts added by this branch:
|
|
59
|
+
|
|
60
|
+
- never call Wrangler
|
|
61
|
+
- never deploy
|
|
62
|
+
- never publish
|
|
63
|
+
- never access D1/R2/KV
|
|
64
|
+
- never run npm lifecycle commands
|
|
65
|
+
- never change Git branches
|
|
66
|
+
- never push commits
|
|
67
|
+
- never write into active AgentSam SDK packages
|
|
68
|
+
|
|
69
|
+
The only optional SDK write target is:
|
|
70
|
+
|
|
71
|
+
`apps/_incoming/studio-cms-editor-harvest/`
|
|
72
|
+
|
|
73
|
+
and it requires the explicit `--stage-sdk` flag.
|
|
74
|
+
|
|
75
|
+
## Promotion receipts
|
|
76
|
+
|
|
77
|
+
Future mutating commands should emit a receipt containing at minimum:
|
|
78
|
+
|
|
79
|
+
- action
|
|
80
|
+
- target
|
|
81
|
+
- source revision
|
|
82
|
+
- files/resources affected
|
|
83
|
+
- timestamp
|
|
84
|
+
- result
|
|
85
|
+
- rollback/recovery information when available
|
|
86
|
+
|
|
87
|
+
This is especially important for theme/content/CMS systems because package discovery and preview must remain safe.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Inner Animals Storefront Surface Map
|
|
2
|
+
|
|
3
|
+
This file exists so the storefront can be harvested as a coherent website/theme rather than as disconnected React files.
|
|
4
|
+
|
|
5
|
+
## Current route surfaces
|
|
6
|
+
|
|
7
|
+
| Surface | Source |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Home | `app/page.tsx` + `app/components/Storefront.tsx` |
|
|
10
|
+
| Shop | `app/shop/page.tsx` |
|
|
11
|
+
| Collection | `app/collections/[slug]/page.tsx` |
|
|
12
|
+
| Product | `app/product/[slug]/page.tsx` |
|
|
13
|
+
| Journal index | `app/journal/page.tsx` |
|
|
14
|
+
| Journal detail | `app/journal/[slug]/page.tsx` |
|
|
15
|
+
| Story | `app/story/page.tsx` |
|
|
16
|
+
| Shared storefront data | `app/storefront-data.ts` |
|
|
17
|
+
| Shared storefront styles | `app/storefront.css` |
|
|
18
|
+
| Layout | `app/layout.tsx` |
|
|
19
|
+
|
|
20
|
+
The CMS editor is deliberately separate at `app/studio/page.tsx`.
|
|
21
|
+
|
|
22
|
+
## Harvest goal
|
|
23
|
+
|
|
24
|
+
Preserve enough source to reconstruct the entire public-facing experience:
|
|
25
|
+
|
|
26
|
+
- page composition
|
|
27
|
+
- content hierarchy
|
|
28
|
+
- navigation behavior
|
|
29
|
+
- product cards
|
|
30
|
+
- product detail behavior
|
|
31
|
+
- collection behavior
|
|
32
|
+
- journal surfaces
|
|
33
|
+
- story/brand narrative
|
|
34
|
+
- footer
|
|
35
|
+
- responsive behavior
|
|
36
|
+
- styles/tokens
|
|
37
|
+
- sample data shape
|
|
38
|
+
|
|
39
|
+
Do not reduce this to screenshots or static HTML if the React behavior can be preserved.
|
|
40
|
+
|
|
41
|
+
## Theme normalization target
|
|
42
|
+
|
|
43
|
+
The eventual reusable theme should separate four concerns.
|
|
44
|
+
|
|
45
|
+
### 1. Layout/presentation
|
|
46
|
+
|
|
47
|
+
Reusable visual implementation:
|
|
48
|
+
|
|
49
|
+
- site header
|
|
50
|
+
- hero
|
|
51
|
+
- section shells
|
|
52
|
+
- product grid/card
|
|
53
|
+
- editorial/journal grid
|
|
54
|
+
- product detail layout
|
|
55
|
+
- story layout
|
|
56
|
+
- footer
|
|
57
|
+
- responsive rules
|
|
58
|
+
|
|
59
|
+
### 2. CMS block/section definitions
|
|
60
|
+
|
|
61
|
+
The old implementation does not need to already be perfectly block-oriented.
|
|
62
|
+
|
|
63
|
+
Normalize later into stable section/block contracts, for example:
|
|
64
|
+
|
|
65
|
+
- announcement bar
|
|
66
|
+
- navigation
|
|
67
|
+
- cinematic hero
|
|
68
|
+
- instinct/use navigation
|
|
69
|
+
- product collection/grid
|
|
70
|
+
- manifesto
|
|
71
|
+
- archetype collection
|
|
72
|
+
- film/story feature
|
|
73
|
+
- journal feed
|
|
74
|
+
- community/gallery
|
|
75
|
+
- newsletter/community CTA
|
|
76
|
+
- footer
|
|
77
|
+
- product detail
|
|
78
|
+
- editorial article
|
|
79
|
+
|
|
80
|
+
### 3. Content bindings
|
|
81
|
+
|
|
82
|
+
Replace baked-in content with explicit structured bindings:
|
|
83
|
+
|
|
84
|
+
- brand name/mark
|
|
85
|
+
- nav
|
|
86
|
+
- hero copy/media
|
|
87
|
+
- collections
|
|
88
|
+
- products
|
|
89
|
+
- archetypes
|
|
90
|
+
- journal entries
|
|
91
|
+
- story sections
|
|
92
|
+
- CTAs
|
|
93
|
+
- footer links
|
|
94
|
+
- SEO metadata
|
|
95
|
+
|
|
96
|
+
Historical content can remain as demo/sample content but should be clearly marked as such.
|
|
97
|
+
|
|
98
|
+
### 4. Commerce/provider data
|
|
99
|
+
|
|
100
|
+
Product/catalog truth must eventually come from the ecommerce/CMS host contract, not from the theme package itself.
|
|
101
|
+
|
|
102
|
+
The theme may ship sample data for preview, but sample data must never masquerade as production inventory/catalog authority.
|
|
103
|
+
|
|
104
|
+
## Preservation rule
|
|
105
|
+
|
|
106
|
+
The harvest export copies all route/component/data/style files listed in this document before normalization.
|
|
107
|
+
|
|
108
|
+
That intentionally favors preserving too much source at the donor stage rather than prematurely deleting behavior that later turns out to be useful.
|
|
109
|
+
|
|
110
|
+
## What not to import as theme authority
|
|
111
|
+
|
|
112
|
+
Do not make the theme own:
|
|
113
|
+
|
|
114
|
+
- authentication
|
|
115
|
+
- account/session logic
|
|
116
|
+
- CMS persistence
|
|
117
|
+
- publishing
|
|
118
|
+
- inventory truth
|
|
119
|
+
- order truth
|
|
120
|
+
- payment/provider credentials
|
|
121
|
+
- Worker bindings
|
|
122
|
+
- D1/R2 resources
|
|
123
|
+
- deployment commands
|
|
124
|
+
|
|
125
|
+
The theme is a presentation/layout/content-binding package.
|
|
126
|
+
|
|
127
|
+
## Gallery target
|
|
128
|
+
|
|
129
|
+
Once normalized, the theme should be able to appear as a real live example with:
|
|
130
|
+
|
|
131
|
+
- desktop preview
|
|
132
|
+
- mobile preview
|
|
133
|
+
- route/page list
|
|
134
|
+
- source provenance
|
|
135
|
+
- feature list
|
|
136
|
+
- normalization status
|
|
137
|
+
- installability status
|
|
138
|
+
- CMS block compatibility status
|
|
139
|
+
|
|
140
|
+
Previewing it must remain side-effect free.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Inner Animals Theme / Layout Harvest
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Turn the useful public storefront and visual/layout language in this donor into a reusable theme/preset candidate without making the donor repo or its content the runtime authority.
|
|
6
|
+
|
|
7
|
+
Potential destination:
|
|
8
|
+
|
|
9
|
+
`packages/theme-inneranimals-site`
|
|
10
|
+
|
|
11
|
+
Potential gallery destination:
|
|
12
|
+
|
|
13
|
+
`apps/theme-gallery-preview/themes/inneranimals-site`
|
|
14
|
+
|
|
15
|
+
## Current donor source
|
|
16
|
+
|
|
17
|
+
The latest merged source separates the public website from the CMS editor.
|
|
18
|
+
|
|
19
|
+
Public/theme donor:
|
|
20
|
+
|
|
21
|
+
- `app/page.tsx`
|
|
22
|
+
- `app/components/Storefront.tsx`
|
|
23
|
+
- `app/storefront-data.ts`
|
|
24
|
+
- `app/storefront.css`
|
|
25
|
+
- `app/layout.tsx`
|
|
26
|
+
- `app/shop/page.tsx`
|
|
27
|
+
- `app/collections/[slug]/page.tsx`
|
|
28
|
+
- `app/product/[slug]/page.tsx`
|
|
29
|
+
- `app/journal/page.tsx`
|
|
30
|
+
- `app/journal/[slug]/page.tsx`
|
|
31
|
+
- `app/story/page.tsx`
|
|
32
|
+
|
|
33
|
+
CMS editor donor remains separate at `app/studio/page.tsx`.
|
|
34
|
+
|
|
35
|
+
See `STOREFRONT-SURFACE-MAP.md` for the route-to-theme mapping.
|
|
36
|
+
|
|
37
|
+
## Preserve
|
|
38
|
+
|
|
39
|
+
Preserve source-level evidence for:
|
|
40
|
+
|
|
41
|
+
- section ordering
|
|
42
|
+
- navigation patterns
|
|
43
|
+
- hero treatment
|
|
44
|
+
- typography hierarchy
|
|
45
|
+
- spacing rhythm
|
|
46
|
+
- palette/token choices
|
|
47
|
+
- footer patterns
|
|
48
|
+
- content widths
|
|
49
|
+
- responsive behavior
|
|
50
|
+
- product/store behavior
|
|
51
|
+
- collection behavior
|
|
52
|
+
- journal/editorial behavior
|
|
53
|
+
- story/brand narrative behavior
|
|
54
|
+
- reusable component/template ideas
|
|
55
|
+
|
|
56
|
+
The harvest export intentionally copies the original source and CSS intact so no layout behavior is lost before normalization.
|
|
57
|
+
|
|
58
|
+
## Normalize later
|
|
59
|
+
|
|
60
|
+
The real theme implementation should separate:
|
|
61
|
+
|
|
62
|
+
### Theme contract
|
|
63
|
+
|
|
64
|
+
- tokens
|
|
65
|
+
- typography
|
|
66
|
+
- colors
|
|
67
|
+
- radii
|
|
68
|
+
- spacing
|
|
69
|
+
- motion defaults
|
|
70
|
+
- container rules
|
|
71
|
+
- section presets
|
|
72
|
+
|
|
73
|
+
### Content bindings
|
|
74
|
+
|
|
75
|
+
- nav links
|
|
76
|
+
- hero copy/media
|
|
77
|
+
- CTAs
|
|
78
|
+
- collections
|
|
79
|
+
- product fields
|
|
80
|
+
- archetypes
|
|
81
|
+
- journal entries
|
|
82
|
+
- story content
|
|
83
|
+
- footer links
|
|
84
|
+
|
|
85
|
+
### CMS blocks
|
|
86
|
+
|
|
87
|
+
If the old source is not truly block-oriented, do not fake it during harvest.
|
|
88
|
+
|
|
89
|
+
Normalize during implementation into explicit blocks/sections.
|
|
90
|
+
|
|
91
|
+
## Content rule
|
|
92
|
+
|
|
93
|
+
Historical Inner Animals copy may be useful for a live historical preview, but should not silently become generic scaffold copy for unrelated customer sites.
|
|
94
|
+
|
|
95
|
+
The reusable package should distinguish:
|
|
96
|
+
|
|
97
|
+
- design/layout preset,
|
|
98
|
+
- sample/demo content,
|
|
99
|
+
- customer content.
|
|
100
|
+
|
|
101
|
+
## Side-effect rule
|
|
102
|
+
|
|
103
|
+
Installing or previewing the theme must not:
|
|
104
|
+
|
|
105
|
+
- publish it,
|
|
106
|
+
- sync it,
|
|
107
|
+
- upload assets,
|
|
108
|
+
- overwrite an active customer theme,
|
|
109
|
+
- change a CMS publication.
|
|
110
|
+
|
|
111
|
+
A future theme command should keep these steps distinct:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
inspect
|
|
115
|
+
preview
|
|
116
|
+
install/stage
|
|
117
|
+
apply
|
|
118
|
+
sync
|
|
119
|
+
publish
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Only the explicitly invoked mutating step may alter its declared target.
|
|
123
|
+
|
|
124
|
+
## Gallery value
|
|
125
|
+
|
|
126
|
+
Keep the historical donor as a real showcase example.
|
|
127
|
+
|
|
128
|
+
A future gallery entry should communicate:
|
|
129
|
+
|
|
130
|
+
- historical source/provenance
|
|
131
|
+
- available pages/surfaces
|
|
132
|
+
- whether the item is previewable
|
|
133
|
+
- whether it is installable
|
|
134
|
+
- whether it has been normalized into CMS blocks
|
|
135
|
+
- which capabilities are real versus visual/demo-only
|
|
136
|
+
|
|
137
|
+
This lets AgentSam advertise real prior systems without misrepresenting prototype behavior as production capability.
|