@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTSAM.md +29 -0
- package/apps/README.md +5 -0
- package/apps/cad-creator/README.md +4 -4
- package/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/AGENTS.md +12 -7
- package/apps/client-cms-editor/README.md +76 -48
- package/apps/client-cms-editor/agentsam.app.json +26 -9
- package/apps/client-cms-editor/backend/package.json +20 -3
- package/apps/client-cms-editor/backend/src/api/client.ts +134 -101
- package/apps/client-cms-editor/backend/src/index.ts +1 -1
- package/apps/client-cms-editor/backend/src/model.ts +11 -115
- package/apps/client-cms-editor/backend/src/preview/bridge.ts +1 -1
- package/apps/client-cms-editor/backend/tsconfig.json +6 -1
- package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
- package/apps/client-cms-editor/bin/agentsam-cms.mjs +2 -228
- package/apps/client-cms-editor/frontend/package.json +16 -7
- package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +9 -41
- package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +19 -174
- package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
- package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
- package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
- package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
- package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
- package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
- package/apps/client-cms-editor/frontend/src/{CmsEditor.tsx → editor/legacy/CmsEditorPrototype.tsx} +52 -23
- package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
- package/apps/client-cms-editor/frontend/src/index.ts +19 -5
- package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
- package/apps/client-cms-editor/frontend/src/main.tsx +82 -8
- package/apps/client-cms-editor/frontend/src/mount.tsx +92 -30
- package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +1 -1
- package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +8 -8
- package/apps/client-cms-editor/frontend/src/styles/studio.css +55 -3
- package/apps/client-cms-editor/frontend/tsconfig.json +12 -1
- package/apps/client-cms-editor/frontend/vite.config.ts +12 -0
- package/apps/client-cms-editor/package-lock.json +973 -134
- package/apps/client-cms-editor/package.json +118 -6
- package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
- package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
- package/apps/client-cms-editor/reference/harvest/README.md +8 -0
- package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
- package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
- package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
- package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
- package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
- package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
- package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
- package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
- package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
- package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
- package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
- package/apps/client-cms-editor/shared/cms/package.json +17 -7
- package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
- package/apps/client-cms-editor/shared/cms/src/agent-context.ts +7 -5
- package/apps/client-cms-editor/shared/cms/src/editor-types.ts +32 -0
- package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
- package/apps/client-cms-editor/shared/cms/src/index.ts +4 -0
- package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
- package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
- package/contracts/source-types.v1.json +353 -0
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
- package/docs/PRODUCT_LIFECYCLE.md +566 -0
- package/docs/THEME_REFINERY.md +2 -2
- package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +40 -20
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
- package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
- package/migrations/d1/0017_identity_native_oauth.sql +21 -0
- package/native/agentsam-machine/Cargo.lock +426 -0
- package/native/agentsam-machine/Cargo.toml +9 -0
- package/native/agentsam-machine/cli/Cargo.toml +14 -0
- package/native/agentsam-machine/cli/src/main.rs +77 -0
- package/native/agentsam-machine/core/Cargo.toml +15 -0
- package/native/agentsam-machine/core/src/assets.rs +790 -0
- package/native/agentsam-machine/core/src/bound.rs +298 -0
- package/native/agentsam-machine/core/src/enrich.rs +706 -0
- package/native/agentsam-machine/core/src/frontend.rs +442 -0
- package/native/agentsam-machine/core/src/lib.rs +1086 -0
- package/native/agentsam-machine/core/src/liquid.rs +528 -0
- package/native/agentsam-machine/core/src/source_types.rs +78 -0
- package/package.json +51 -21
- package/packages/agentsam-brand/README.md +1 -1
- package/packages/agentsam-brand/package.json +4 -4
- package/packages/agentsam-brand/src/index.js +1 -1
- package/packages/agentsam-contracts/package.json +13 -3
- package/packages/agentsam-contracts/src/tools.ts +22 -0
- package/packages/agentsam-errors/package.json +13 -3
- package/packages/agentsam-knowledge/package.json +18 -4
- package/packages/agentsam-knowledge/src/autorag/index.js +10 -3
- package/packages/agentsam-knowledge/src/backends/index.js +33 -1
- package/packages/agentsam-knowledge/test/autorag.test.mjs +60 -1
- package/packages/agentsam-nav/package.json +24 -6
- package/packages/agentsam-queue-control/README.md +1 -1
- package/packages/agentsam-queue-control/package.json +7 -2
- package/packages/agentsam-rapid-rust/src/main.rs +1 -1
- package/packages/agentsam-repository/package.json +13 -3
- package/packages/agentsam-repository/src/source-types.js +8 -0
- package/packages/agentsam-vault/package.json +14 -4
- package/packages/agentsam-workbench/package.json +15 -4
- package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
- package/packages/agentsam-workbench/src/agent/index.ts +2 -0
- package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
- package/packages/connectors/cloudflare/package.json +13 -3
- package/packages/connectors/cloudflare/src/api-client.js +3 -2
- package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
- package/packages/connectors/cloudflare/src/index.js +1 -0
- package/packages/heuristic-theme/README.md +2 -2
- package/packages/heuristic-theme/package.json +8 -3
- package/packages/heuristic-theme/src/registry.js +2 -2
- package/packages/heuristic-theme/src/theme.js +1 -1
- package/packages/heuristic-theme/test/theme.test.mjs +1 -1
- package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
- package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +27 -7
- package/packages/identity/README.md +2 -2
- package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -15
- package/packages/identity/migrations/apply-portable.js +109 -0
- package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +1 -1
- package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
- package/packages/identity/package.json +27 -6
- package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
- package/packages/identity/scripts/local-identity-bridge.mjs +13 -7
- package/packages/identity/scripts/preview-auth-portal.mjs +6 -6
- package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -401
- package/packages/identity/src/adapters/iam-compat/index.js +540 -0
- package/packages/identity/src/adapters/portable-d1/index.js +18 -0
- package/packages/identity/src/adapters/portable-store.js +479 -0
- package/packages/identity/src/adapters/sqlite/index.js +13 -312
- package/packages/identity/src/contracts/auth-config.js +0 -1
- package/packages/identity/src/contracts/identity-store.js +56 -5
- package/packages/identity/src/contracts/provider.js +1 -0
- package/packages/identity/src/contracts/sign-in-options.js +104 -0
- package/packages/identity/src/core/constants.js +1 -1
- package/packages/identity/src/core/session-policy.js +31 -0
- package/packages/identity/src/frontend/auth-portal/pages/login.html +6 -6
- package/packages/identity/src/frontend/auth-portal/pages/reset.html +5 -5
- package/packages/identity/src/frontend/auth-portal/pages/signup.html +5 -5
- package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
- package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +6 -37
- package/packages/identity/src/index.js +28 -1
- package/packages/identity/src/migrations/README.md +23 -23
- package/packages/identity/src/oauth/README.md +1 -1
- package/packages/identity/src/oauth/credentials.js +10 -11
- package/packages/identity/src/oauth/google-desktop-exchange.js +195 -27
- package/packages/identity/src/oauth/iam-platform.js +21 -9
- package/packages/identity/src/oauth/native-handoff.js +136 -0
- package/packages/identity/src/providers/chatgpt/headers.js +65 -0
- package/packages/identity/src/providers/chatgpt/index.js +86 -0
- package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
- package/packages/identity/src/providers/chatgpt/paths.js +45 -0
- package/packages/identity/src/providers/github/oauth.js +1 -2
- package/packages/identity/src/providers/github/profile.js +16 -2
- package/packages/identity/src/providers/index.js +11 -3
- package/packages/identity/src/server/identity-service.js +2 -1
- package/packages/identity/src/server/worker-router.js +71 -18
- package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
- package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
- package/packages/identity/tests/identity-init-scaffold.test.mjs +15 -4
- package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
- package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
- package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
- package/packages/identity/tests/oauth-credentials.test.mjs +4 -4
- package/packages/identity/tests/preview-auth-portal.test.mjs +4 -2
- package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
- package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
- package/packages/providers/completeful/package.json +7 -2
- package/packages/theme-church-site/package.json +17 -6
- package/packages/theme-church-site/src/harvest.json +4 -2
- package/packages/theme-church-site/src/index.js +7 -3
- package/packages/theme-church-site/test/theme.test.mjs +4 -2
- package/packages/theme-companions-site/package.json +17 -6
- package/packages/theme-companions-site/src/harvest.json +4 -2
- package/packages/theme-companions-site/src/index.js +7 -3
- package/packages/theme-companions-site/test/theme.test.mjs +4 -2
- package/packages/theme-floors-site/package.json +17 -6
- package/packages/theme-floors-site/src/harvest.json +4 -2
- package/packages/theme-floors-site/src/index.js +7 -3
- package/packages/theme-floors-site/test/theme.test.mjs +4 -2
- package/packages/theme-fuelnfree-site/package.json +17 -6
- package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
- package/packages/theme-fuelnfree-site/src/index.js +7 -3
- package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
- package/packages/theme-handyman-site/package.json +17 -6
- package/packages/theme-handyman-site/src/harvest.json +4 -2
- package/packages/theme-handyman-site/src/index.js +7 -3
- package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
- package/packages/theme-insurance-site/package.json +17 -6
- package/packages/theme-insurance-site/src/harvest.json +4 -2
- package/packages/theme-insurance-site/src/index.js +7 -3
- package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
- package/packages/theme-scenes/README.md +1 -1
- package/packages/theme-scenes/package.json +4 -3
- package/packages/theme-scenes/src/registry.js +187 -0
- package/packages/theme-shinshu-site/package.json +17 -6
- package/packages/theme-shinshu-site/src/harvest.json +4 -2
- package/packages/theme-shinshu-site/src/index.js +7 -3
- package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
- package/packages/work-graph/package.json +14 -4
- package/protocol/FILEMETA_V1.md +2 -2
- package/protocol/capabilities/manifest.json +1 -1
- package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
- package/protocol/presets/catalog.json +2 -2
- package/protocol/theme-refinery/lineage-registry.json +105 -0
- package/protocol/theme-refinery/product-metadata.schema.json +21 -1
- package/skills/grok-auth/SKILL.md +110 -0
- package/skills/grok-auth/agentsam.skill.json +25 -0
- package/skills/grok-auth/references/grok-identity.md +64 -0
- package/skills/grok-auth/references/per-user-data.md +49 -0
- package/skills/grok-auth/references/prewired-and-env.md +54 -0
- package/skills/grok-auth/references/session-ui.md +133 -0
- package/skills/grok-auth/references/sign-in-methods.md +55 -0
- package/skills/grok-auth/references/wiring.md +71 -0
- package/skills/grok-building-games/SKILL.md +213 -0
- package/skills/grok-building-games/agentsam.skill.json +25 -0
- package/skills/grok-building-games/references/3d-libs.md +64 -0
- package/skills/grok-building-games/references/ai-pathfinding.md +122 -0
- package/skills/grok-building-games/references/audio.md +129 -0
- package/skills/grok-building-games/references/babylon.md +202 -0
- package/skills/grok-building-games/references/collision-physics.md +122 -0
- package/skills/grok-building-games/references/ecs-architecture.md +111 -0
- package/skills/grok-building-games/references/game-feel-juice.md +110 -0
- package/skills/grok-building-games/references/genres/board-card-chess.md +89 -0
- package/skills/grok-building-games/references/genres/endless-runner.md +83 -0
- package/skills/grok-building-games/references/genres/fps.md +105 -0
- package/skills/grok-building-games/references/genres/platformer-2d.md +97 -0
- package/skills/grok-building-games/references/genres/puzzle-match3-tetris.md +131 -0
- package/skills/grok-building-games/references/genres/racing-kart.md +106 -0
- package/skills/grok-building-games/references/genres/topdown-twin-stick.md +97 -0
- package/skills/grok-building-games/references/genres/tower-defense.md +84 -0
- package/skills/grok-building-games/references/genres/voxel-minecraft.md +89 -0
- package/skills/grok-building-games/references/input.md +139 -0
- package/skills/grok-building-games/references/phaser.md +277 -0
- package/skills/grok-building-games/references/procedural-generation.md +141 -0
- package/skills/grok-building-games/references/save-persistence.md +108 -0
- package/skills/grok-building-games/references/threejs-foundational.md +148 -0
- package/skills/grok-controls/SKILL.md +274 -0
- package/skills/grok-controls/agentsam.skill.json +25 -0
- package/skills/grok-design-ui/SKILL.md +122 -0
- package/skills/grok-design-ui/agentsam.skill.json +25 -0
- package/skills/grok-design-ui/references/animations.md +379 -0
- package/skills/grok-design-ui/references/performance.md +88 -0
- package/skills/grok-design-ui/references/refined-ui.md +384 -0
- package/skills/grok-design-ui/references/surfaces.md +247 -0
- package/skills/grok-design-ui/references/typography.md +123 -0
- package/skills/grok-game-animation-frames/SKILL.md +84 -0
- package/skills/grok-game-animation-frames/agentsam.skill.json +25 -0
- package/skills/grok-game-asset-core/SKILL.md +69 -0
- package/skills/grok-game-asset-core/agentsam.skill.json +25 -0
- package/skills/grok-game-character-consistency/SKILL.md +69 -0
- package/skills/grok-game-character-consistency/agentsam.skill.json +25 -0
- package/skills/grok-game-tilesets/SKILL.md +65 -0
- package/skills/grok-game-tilesets/agentsam.skill.json +25 -0
- package/skills/grok-game-ui-icons/SKILL.md +56 -0
- package/skills/grok-game-ui-icons/agentsam.skill.json +25 -0
- package/skills/grok-generate2dmap/LICENSE +21 -0
- package/skills/grok-generate2dmap/SKILL.md +120 -0
- package/skills/grok-generate2dmap/SOURCE.md +6 -0
- package/skills/grok-generate2dmap/agentsam.skill.json +25 -0
- package/skills/grok-generate2dmap/references/deliverables.md +101 -0
- package/skills/grok-generate2dmap/references/layered-map-contract.md +209 -0
- package/skills/grok-generate2dmap/references/map-strategies.md +341 -0
- package/skills/grok-generate2dmap/references/object-production-gate.md +24 -0
- package/skills/grok-generate2dmap/references/pipeline.md +149 -0
- package/skills/grok-generate2dmap/references/prop-pack-contract.md +174 -0
- package/skills/grok-generate2dmap/references/side-scroll-stages.md +29 -0
- package/skills/grok-generate2dmap/scripts/compose_layered_preview.py +157 -0
- package/skills/grok-generate2dmap/scripts/extract_prop_pack.py +369 -0
- package/skills/grok-generate2dsprite/LICENSE +21 -0
- package/skills/grok-generate2dsprite/SKILL.md +313 -0
- package/skills/grok-generate2dsprite/SOURCE.md +6 -0
- package/skills/grok-generate2dsprite/agentsam.skill.json +25 -0
- package/skills/grok-generate2dsprite/references/modes.md +124 -0
- package/skills/grok-generate2dsprite/references/prompt-rules.md +315 -0
- package/skills/grok-generate2dsprite/scripts/generate2dsprite.py +1031 -0
- package/skills/grok-generate2dsprite/scripts/make_layout_guide.py +109 -0
- package/skills/grok-imagine/SKILL.md +201 -0
- package/skills/grok-imagine/agentsam.skill.json +25 -0
- package/skills/grok-multiplayer-p2p/SKILL.md +111 -0
- package/skills/grok-multiplayer-p2p/agentsam.skill.json +25 -0
- package/skills/grok-multiplayer-p2p/references/react-binding.md +144 -0
- package/skills/grok-multiplayer-p2p/references/signaling-relay.md +269 -0
- package/skills/grok-neon/SKILL.md +157 -0
- package/skills/grok-neon/agentsam.skill.json +25 -0
- package/skills/grok-og/SKILL.md +102 -0
- package/skills/grok-og/agentsam.skill.json +25 -0
- package/skills/grok-og/references/brand-pass.md +53 -0
- package/skills/grok-og/references/custom-card.md +107 -0
- package/skills/grok-og/references/favicon-and-icons.md +48 -0
- package/skills/grok-og/references/og-type-contract.md +18 -0
- package/skills/grok-og/references/placeholder-card.md +21 -0
- package/skills/grok-og/references/x-banner.md +41 -0
- package/skills/grok-threejs/SKILL.md +67 -0
- package/skills/grok-threejs/agentsam.skill.json +25 -0
- package/skills/grok-threejs/references/llms-full.txt +2780 -0
- package/skills/grok-video2dsprite/LICENSE +21 -0
- package/skills/grok-video2dsprite/SKILL.md +236 -0
- package/skills/grok-video2dsprite/SOURCE.md +6 -0
- package/skills/grok-video2dsprite/agentsam.skill.json +25 -0
- package/skills/grok-video2dsprite/references/pipeline.md +90 -0
- package/skills/grok-video2dsprite/references/prompt-rules.md +63 -0
- package/skills/grok-video2dsprite/scripts/video2dsprite.py +490 -0
- package/skills/grok-xai-api/SKILL.md +152 -0
- package/skills/grok-xai-api/agentsam.skill.json +25 -0
- package/src/cli/command-catalog.js +46 -4
- package/src/cli/dispatch.js +1 -0
- package/src/cli.js +10 -0
- package/src/cloudflare/runtime-status.js +2 -1
- package/src/commands/autorag.js +67 -13
- package/src/commands/cheat-sheet.js +29 -4
- package/src/commands/codebaseindex.js +45 -2
- package/src/commands/knowledge.js +59 -2
- package/src/commands/machine-binary.js +103 -0
- package/src/commands/machine.js +137 -0
- package/src/commands/security.js +67 -4
- package/src/commands/setup.js +33 -16
- package/src/commands/status.js +8 -1
- package/src/features/resolve.js +1 -0
- package/src/knowledge/engine.js +21 -2
- package/src/knowledge/runtime-discovery.js +127 -0
- package/src/lib/identity-scaffold.js +53 -13
- package/src/lib/setup/recipes.js +1 -1
- package/src/models/discovery.js +40 -22
- package/src/models/inventory-core.d.ts +105 -0
- package/src/models/inventory-core.js +54 -6
- package/src/security/logs.js +3 -0
- package/src/ui/cli/help.js +41 -0
- package/test/apps-scaffold-contract.test.mjs +3 -2
- package/test/cli/api-key-env-whoami.test.mjs +2 -2
- package/test/cli/catalog-authority.test.mjs +64 -0
- package/test/cli/machine-command.test.mjs +34 -0
- package/test/fixtures/project-authority/customer-app/.agentsam/app.json +5 -0
- package/test/fixtures/project-authority/customer-app/apps/my-product/index.ts +1 -0
- package/test/fixtures/project-authority/customer-app/wrangler.toml +17 -0
- package/test/integration/autorag-project-authority.integration.test.mjs +51 -0
- package/test/integration/autorag-runtime-discovery.test.mjs +107 -0
- package/test/integration/cms-app-scaffold.test.mjs +37 -31
- package/test/integration/cms-site-tenancy-contract.test.mjs +28 -17
- package/test/integration/codebaseindex-ingest.test.mjs +41 -0
- package/test/integration/database-hosted-honesty.test.mjs +49 -0
- package/test/integration/desktop-keychain-boundary.test.mjs +45 -0
- package/test/integration/hosted-work-host-authority.test.mjs +47 -0
- package/test/integration/inventory-eligibility.test.mjs +59 -0
- package/test/integration/local-provider-bridge.test.mjs +65 -0
- package/test/integration/local-studio-settings-production.test.mjs +40 -0
- package/test/integration/lockfile-sync.test.mjs +26 -0
- package/test/integration/provider-env-cli.test.mjs +13 -3
- package/test/integration/runtime-status.integration.test.mjs +16 -1
- package/test/integration/theme-package-registry.test.mjs +31 -0
- package/test/repository-snapshot-view.test.mjs +2 -2
- package/test/security.test.mjs +14 -0
- package/test/terminal-machine-identity.test.mjs +2 -2
- package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
- package/packages/agentsam-nav/dist/Nav.d.ts +0 -43
- package/packages/agentsam-nav/dist/NavCollapsible.d.ts +0 -10
- package/packages/agentsam-nav/dist/NavContent.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavFooter.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavGroup.d.ts +0 -3
- package/packages/agentsam-nav/dist/NavHeader.d.ts +0 -2
- package/packages/agentsam-nav/dist/NavMenu.d.ts +0 -22
- package/packages/agentsam-nav/dist/NavProvider.d.ts +0 -35
- package/packages/agentsam-nav/dist/NavTrigger.d.ts +0 -2
- package/packages/agentsam-nav/dist/Surfaces.d.ts +0 -41
- package/packages/agentsam-nav/dist/browser.d.ts +0 -11
- package/packages/agentsam-nav/dist/browser.global.js +0 -132
- package/packages/agentsam-nav/dist/browser.js +0 -613
- package/packages/agentsam-nav/dist/contracts.d.ts +0 -76
- package/packages/agentsam-nav/dist/index.d.ts +0 -11
- package/packages/agentsam-nav/dist/index.js +0 -614
- package/packages/agentsam-nav/dist/legacy.css +0 -83
- package/packages/agentsam-nav/dist/shell.css +0 -113
- package/packages/agentsam-nav/dist/theme.css +0 -113
- package/packages/agentsam-nav/dist/utils.d.ts +0 -1
- package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +0 -670
|
@@ -1,23 +1,135 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inneranimalmedia/client-cms-editor",
|
|
3
|
-
"version": "
|
|
4
|
-
"private":
|
|
3
|
+
"version": "2.6.7",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Reusable full-stack website + CMS kit with multi-page public sites, a protected authoring dashboard, local SQLite, starter/theme import, and pluggable auth, storage, and deployment adapters.",
|
|
5
6
|
"type": "module",
|
|
7
|
+
"license": "UNLICENSED",
|
|
6
8
|
"workspaces": [
|
|
7
9
|
"frontend",
|
|
8
10
|
"backend",
|
|
9
11
|
"shared/*"
|
|
10
12
|
],
|
|
13
|
+
"bin": {
|
|
14
|
+
"agentsam-cms": "bin/agentsam-cms.js"
|
|
15
|
+
},
|
|
16
|
+
"main": "./dist/index.js",
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"import": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./package.json": "./package.json",
|
|
24
|
+
"./acceptance": "./acceptance/cms-parity.v1.json",
|
|
25
|
+
"./adapter": {
|
|
26
|
+
"types": "./dist/adapter.d.ts",
|
|
27
|
+
"import": "./dist/adapter.js"
|
|
28
|
+
},
|
|
29
|
+
"./sqlite-adapter": {
|
|
30
|
+
"types": "./dist/sqlite-adapter.d.ts",
|
|
31
|
+
"import": "./dist/sqlite-adapter.js"
|
|
32
|
+
},
|
|
33
|
+
"./import": {
|
|
34
|
+
"types": "./dist/import/index.d.ts",
|
|
35
|
+
"import": "./dist/import/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./local": {
|
|
38
|
+
"types": "./dist/local/index.d.ts",
|
|
39
|
+
"import": "./dist/local/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./shared": {
|
|
42
|
+
"types": "./dist/shared/index.d.ts",
|
|
43
|
+
"import": "./dist/shared/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./backend": {
|
|
46
|
+
"types": "./dist/backend/index.d.ts",
|
|
47
|
+
"import": "./dist/backend/index.js"
|
|
48
|
+
},
|
|
49
|
+
"./backend/api": {
|
|
50
|
+
"types": "./dist/backend/api.d.ts",
|
|
51
|
+
"import": "./dist/backend/api.js"
|
|
52
|
+
},
|
|
53
|
+
"./backend/model": {
|
|
54
|
+
"types": "./dist/backend/model.d.ts",
|
|
55
|
+
"import": "./dist/backend/model.js"
|
|
56
|
+
},
|
|
57
|
+
"./backend/preview": {
|
|
58
|
+
"types": "./dist/backend/preview.d.ts",
|
|
59
|
+
"import": "./dist/backend/preview.js"
|
|
60
|
+
},
|
|
61
|
+
"./backend/routing": {
|
|
62
|
+
"import": "./dist/backend/routing.js"
|
|
63
|
+
},
|
|
64
|
+
"./styles/studio.css": "./dist/styles/studio.css"
|
|
65
|
+
},
|
|
66
|
+
"files": [
|
|
67
|
+
"ALPHA.md",
|
|
68
|
+
"AGENTS.md",
|
|
69
|
+
"README.md",
|
|
70
|
+
"IMPORT_PROVENANCE.json",
|
|
71
|
+
"agentsam.app.json",
|
|
72
|
+
"acceptance",
|
|
73
|
+
"bin",
|
|
74
|
+
"dist"
|
|
75
|
+
],
|
|
11
76
|
"scripts": {
|
|
12
77
|
"dev": "npm run dev -w @inneranimalmedia/agentsam-cms-frontend",
|
|
13
|
-
"build": "
|
|
78
|
+
"build": "tsup",
|
|
79
|
+
"build:app": "npm run build -w @inneranimalmedia/agentsam-cms-frontend",
|
|
14
80
|
"preview": "npm run preview -w @inneranimalmedia/agentsam-cms-frontend",
|
|
15
81
|
"typecheck": "npm run typecheck --workspaces --if-present",
|
|
16
82
|
"test": "npm run test --workspaces --if-present",
|
|
17
|
-
"clean": "rm -rf frontend/dist coverage",
|
|
18
|
-
"cf:dry-run": "npm run build && wrangler deploy -c backend/wrangler.jsonc --dry-run"
|
|
83
|
+
"clean": "rm -rf dist frontend/dist coverage",
|
|
84
|
+
"cf:dry-run": "npm run build:app && wrangler deploy -c backend/wrangler.jsonc --dry-run",
|
|
85
|
+
"verify:cms-package": "node scripts/verify-cms-package.mjs",
|
|
86
|
+
"verify:cms-adapter-smoke": "node scripts/verify-cms-adapter-smoke.mjs",
|
|
87
|
+
"verify:cms-sqlite-smoke": "node scripts/verify-cms-sqlite-smoke.mjs",
|
|
88
|
+
"verify:cms-browser-smoke": "node scripts/verify-cms-browser-smoke.mjs",
|
|
89
|
+
"verify:cms-theme-import": "node scripts/verify-cms-theme-import.mjs",
|
|
90
|
+
"pack:check": "node scripts/verify-cms-pack.mjs",
|
|
91
|
+
"verify:cms-release": "node scripts/verify-cms-release.mjs",
|
|
92
|
+
"verify:cms": "npm run verify:cms-package && npm run verify:cms-adapter-smoke && npm run verify:cms-sqlite-smoke && npm run verify:cms-theme-import && npm run verify:cms-browser-smoke && npm run pack:check",
|
|
93
|
+
"prepublishOnly": "npm run build && npm run verify:cms-release"
|
|
94
|
+
},
|
|
95
|
+
"publishConfig": {
|
|
96
|
+
"access": "public",
|
|
97
|
+
"tag": "alpha"
|
|
98
|
+
},
|
|
99
|
+
"peerDependencies": {
|
|
100
|
+
"react": "^19.0.0",
|
|
101
|
+
"react-dom": "^19.0.0"
|
|
19
102
|
},
|
|
20
103
|
"devDependencies": {
|
|
21
|
-
"
|
|
104
|
+
"@types/node": "^26.6.3",
|
|
105
|
+
"@types/react": "^19.2.0",
|
|
106
|
+
"@types/react-dom": "^19.2.0",
|
|
107
|
+
"esbuild": "^0.25.12",
|
|
108
|
+
"react": "^19.2.0",
|
|
109
|
+
"react-dom": "^19.2.0",
|
|
110
|
+
"tsup": "^8.5.0",
|
|
111
|
+
"typescript": "^5.9.3",
|
|
112
|
+
"wrangler": "4.145.0"
|
|
113
|
+
},
|
|
114
|
+
"engines": {
|
|
115
|
+
"node": ">=20"
|
|
116
|
+
},
|
|
117
|
+
"repository": {
|
|
118
|
+
"type": "git",
|
|
119
|
+
"url": "git+https://github.com/SamPrimeaux/agentsam-sdk.git",
|
|
120
|
+
"directory": "apps/client-cms-editor"
|
|
121
|
+
},
|
|
122
|
+
"agentsam": {
|
|
123
|
+
"releaseIgnore": [
|
|
124
|
+
"adapters",
|
|
125
|
+
"backend",
|
|
126
|
+
"frontend",
|
|
127
|
+
"import",
|
|
128
|
+
"local",
|
|
129
|
+
"scripts",
|
|
130
|
+
"shared",
|
|
131
|
+
"starter-packs",
|
|
132
|
+
"tsup.config.ts"
|
|
133
|
+
]
|
|
22
134
|
}
|
|
23
135
|
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "studio-cms-editor.harvest-receipt.v1",
|
|
3
|
+
"created_at": "2026-09-27T22:47:42.525529+00:00",
|
|
4
|
+
"source": {
|
|
5
|
+
"repository": "https://github.com/SamPrimeaux/studio-cms-editor",
|
|
6
|
+
"branch": "harvest/studio-cms-extraction-kit-20260927",
|
|
7
|
+
"commit": "2cefa5d9c05f2c3344973403d4a60f4b13320881",
|
|
8
|
+
"dirty_status": [
|
|
9
|
+
"M package-lock.json"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"output": "/Users/samprimeaux/studio-cms-editor-harvest-export",
|
|
13
|
+
"lanes": {
|
|
14
|
+
"cms_editor_donor": [
|
|
15
|
+
{
|
|
16
|
+
"path": "app/studio/page.tsx",
|
|
17
|
+
"status": "copied",
|
|
18
|
+
"bytes": 75767,
|
|
19
|
+
"sha256": "85149c5432693c3a03a67f0fc186f1de4548918240661fb9f31a96932feadae2"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "app/globals.css",
|
|
23
|
+
"status": "copied",
|
|
24
|
+
"bytes": 53300,
|
|
25
|
+
"sha256": "e5899adbcdc989ac1f0d09660aa411120179ffac32647d370b616ea59b9ef07d"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"chatgpt_identity_reference": [
|
|
29
|
+
{
|
|
30
|
+
"path": "app/chatgpt-auth.ts",
|
|
31
|
+
"status": "copied",
|
|
32
|
+
"bytes": 2404,
|
|
33
|
+
"sha256": "17a965f8948b21510cdf8ecbd70c5fdf58100e10970463f6a8fd2cc4795f8044"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"theme_layout_donor": [
|
|
37
|
+
{
|
|
38
|
+
"path": "app/page.tsx",
|
|
39
|
+
"status": "copied",
|
|
40
|
+
"bytes": 111,
|
|
41
|
+
"sha256": "183499a04e710c1c8c735979dae7c2ea9c691c33c41ba1cb494d84c0eb1ce1b4"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "app/components/Storefront.tsx",
|
|
45
|
+
"status": "copied",
|
|
46
|
+
"bytes": 9626,
|
|
47
|
+
"sha256": "87fcdb7007ec3fff5f2bfcbd8f46dfc6d31715b287070932ea418d93c5c8b218"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"path": "app/storefront-data.ts",
|
|
51
|
+
"status": "copied",
|
|
52
|
+
"bytes": 2714,
|
|
53
|
+
"sha256": "c420e7c3d745140802433183656aec439c585d2d62a9d76c14b14acfdc9b9036"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"path": "app/storefront.css",
|
|
57
|
+
"status": "copied",
|
|
58
|
+
"bytes": 13135,
|
|
59
|
+
"sha256": "1f6be0aa2845ddea45dbf4f3b41598a731315e971f8b86dfadd8487f60947901"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"path": "app/layout.tsx",
|
|
63
|
+
"status": "copied",
|
|
64
|
+
"bytes": 933,
|
|
65
|
+
"sha256": "b2123825ba67702367fc30b1fa909e38b0b32f11ae1e6c59082f255c7aaad73c"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"path": "app/shop/page.tsx",
|
|
69
|
+
"status": "copied",
|
|
70
|
+
"bytes": 106,
|
|
71
|
+
"sha256": "e2db5cdb8e92e9efdf2680501870ab9a20fd3283b3301da54c7b4664f0aa2317"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"path": "app/collections/[slug]/page.tsx",
|
|
75
|
+
"status": "copied",
|
|
76
|
+
"bytes": 1044,
|
|
77
|
+
"sha256": "dd0906dd747e4d30b6631ddfafba7e0c00866378b0c93a850183c81509818a78"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"path": "app/product/[slug]/page.tsx",
|
|
81
|
+
"status": "copied",
|
|
82
|
+
"bytes": 372,
|
|
83
|
+
"sha256": "cc574253a9ebada8c32f90b090ebfa2e4a01306d3ebfa9f1aaf98358c4926d38"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"path": "app/journal/page.tsx",
|
|
87
|
+
"status": "copied",
|
|
88
|
+
"bytes": 112,
|
|
89
|
+
"sha256": "7c6aca788d1eb5bdbbf1dfbf3cd485578f098938a421ceb66fa240f3589c654b"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"path": "app/journal/[slug]/page.tsx",
|
|
93
|
+
"status": "copied",
|
|
94
|
+
"bytes": 955,
|
|
95
|
+
"sha256": "b83473ce4420b54fc1cdd80f685135d4a1aa31821e22e9ec0924689f0430612f"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"path": "app/story/page.tsx",
|
|
99
|
+
"status": "copied",
|
|
100
|
+
"bytes": 108,
|
|
101
|
+
"sha256": "2ab17ab34b76191531049c83dc27b77db3e170c50b00dc3bcf582159d7ae2e82"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"path": "public/favicon.svg",
|
|
105
|
+
"status": "copied",
|
|
106
|
+
"bytes": 712,
|
|
107
|
+
"sha256": "e6d2e59b7b5bbb0342e0fb496dfc262decbfe4426bbb7b047aec8d467d1dc6f7"
|
|
108
|
+
}
|
|
109
|
+
],
|
|
110
|
+
"content_plan_reference": [
|
|
111
|
+
{
|
|
112
|
+
"path": "plans/INNERANIMALS-CONTENT-001.md",
|
|
113
|
+
"status": "copied",
|
|
114
|
+
"bytes": 7320,
|
|
115
|
+
"sha256": "742fe1c21fcbece86ddd9663cc03b4e50e903001ddbb9e34ff706abeb085e4a0"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"runtime_reference": [
|
|
119
|
+
{
|
|
120
|
+
"path": ".openai/hosting.json",
|
|
121
|
+
"status": "copied",
|
|
122
|
+
"bytes": 91,
|
|
123
|
+
"sha256": "4a2eb4f36976de086c24d2892f0cfdc48c58a85b39fa1f8569821f77f22ac508"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"path": "package.json",
|
|
127
|
+
"status": "copied",
|
|
128
|
+
"bytes": 1470,
|
|
129
|
+
"sha256": "d897171760d696c0947d43a987825a83f4648c18a12acd6a78da115ec37d14f4"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"path": "vite.config.ts",
|
|
133
|
+
"status": "copied",
|
|
134
|
+
"bytes": 1807,
|
|
135
|
+
"sha256": "43e5f02f727ca043f08ebf34789f330580a7a0cb90f426c92f4a454d066988fc"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"path": "next.config.ts",
|
|
139
|
+
"status": "copied",
|
|
140
|
+
"bytes": 133,
|
|
141
|
+
"sha256": "614bce25b089c3f19b1e17a6346c74b858034040154c6621e7d35303004767cc"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"path": "worker/index.ts",
|
|
145
|
+
"status": "copied",
|
|
146
|
+
"bytes": 1839,
|
|
147
|
+
"sha256": "781e66096fac222fbb58c4f46b096b7e6df729684e213176b00752a371857892"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"path": "worker/vpc.ts",
|
|
151
|
+
"status": "copied",
|
|
152
|
+
"bytes": 934,
|
|
153
|
+
"sha256": "5833a3fe8bf666d71fd5bfe31137256dd15da1faf99dc60cac1e3561a26bde76"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"path": "wrangler.production.toml",
|
|
157
|
+
"status": "copied",
|
|
158
|
+
"bytes": 2454,
|
|
159
|
+
"sha256": "8def7d9669d6f2ebc9a50baacb236000c8b7049f9dee3559f0cb9c86a83e28ad"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"path": "docs/workers-vpc.md",
|
|
163
|
+
"status": "copied",
|
|
164
|
+
"bytes": 2777,
|
|
165
|
+
"sha256": "d0003e81577f34c00d322abff54c6638c141026796fb34f10adda2d3bb3563c0"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"path": "drizzle.config.ts",
|
|
169
|
+
"status": "copied",
|
|
170
|
+
"bytes": 148,
|
|
171
|
+
"sha256": "af081f7384aaeb0082cf422e29f139d137ca2f6a57c69b2c37b9fb1f8479867b"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"path": "db/index.ts",
|
|
175
|
+
"status": "copied",
|
|
176
|
+
"bytes": 423,
|
|
177
|
+
"sha256": "dc7610b00b918e0ffff1360a63626f16655ced3064b2eaf96095a4101fb14bcd"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"path": "db/schema.ts",
|
|
181
|
+
"status": "copied",
|
|
182
|
+
"bytes": 169,
|
|
183
|
+
"sha256": "13ddacbf0be50e054d450a6c642b7fdc1aa943fd6b99084711e07e58b600390d"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"path": "README.md",
|
|
187
|
+
"status": "copied",
|
|
188
|
+
"bytes": 5436,
|
|
189
|
+
"sha256": "70ef40d45f8c381c87651db8828a2b085bfe3522eebccef2e074fc93a68716d9"
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
"side_effects": {
|
|
194
|
+
"network_deploy": false,
|
|
195
|
+
"site_sync": false,
|
|
196
|
+
"cms_publish": false,
|
|
197
|
+
"asset_upload": false,
|
|
198
|
+
"database_write": false,
|
|
199
|
+
"active_sdk_package_write": false
|
|
200
|
+
}
|
|
201
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
f0547d7 2026-07-22 Restore storefront scrolling and add content implementation plan
|
|
2
|
+
4fa6aab 2026-07-22 Merge pull request #1 from SamPrimeaux/dependabot/npm_and_yarn/npm_and_yarn-601a66c84a
|
|
3
|
+
47ed506 2026-07-21 Build Inner Animals storefront and VPC adoption scaffold
|
|
4
|
+
f76586b 2026-07-21 fix(wrangler): main entry is dist/server/index.js not worker/index.ts (vinext compiled output)
|
|
5
|
+
65685cb 2026-07-21 fix(wrangler): correct assets.directory to dist/client (vinext build output)
|
|
6
|
+
2f2f907 2026-07-21 chore: add deploy:prod script for inneranimals production Worker
|
|
7
|
+
36a7d5d 2026-07-21 chore: add wrangler.production.toml for inneranimals Worker (inneranimals.com)
|
|
8
|
+
04968e3 2026-07-22 Bump the npm_and_yarn group across 1 directory with 4 updates
|
|
9
|
+
b63cba7 2026-07-21 Build professional visual CMS editor
|
|
10
|
+
c0f9923 2026-07-21 Initialize studio CMS editor
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Harvest evidence (read-only)
|
|
2
|
+
|
|
3
|
+
Copied from `~/.agentsam/harvest/studio-cms-editor-20260929` for in-tree acceptance.
|
|
4
|
+
|
|
5
|
+
- Donor behavioral authority remains `/Users/samprimeaux/studio-cms-editor` (not modified by this lane).
|
|
6
|
+
- Plans under `plans/` define what to keep, adapt, and drop.
|
|
7
|
+
- Do not treat this folder as a runtime dependency of the published editor UI.
|
|
8
|
+
- Forbidden-string scanners skip this directory so historical donor docs can mention deployment names without becoming product code.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Archive Intake / Shopify Salvage
|
|
2
|
+
|
|
3
|
+
The harvest workflow accepts historical website/theme material as first-class donor input.
|
|
4
|
+
|
|
5
|
+
Supported intake:
|
|
6
|
+
- directory
|
|
7
|
+
- .zip
|
|
8
|
+
- .tar
|
|
9
|
+
- .tar.gz / .tgz
|
|
10
|
+
- single-file .gz
|
|
11
|
+
- Git .bundle
|
|
12
|
+
|
|
13
|
+
Primary command:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
python3 scripts/harvest_archive.py \
|
|
17
|
+
~/Downloads/old-shopify-theme.zip \
|
|
18
|
+
~/Backups/site-backup.tar.gz \
|
|
19
|
+
~/Backups/old-site.bundle
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
macOS drag/drop into Terminal works because the CLI accepts one or many ordinary filesystem paths.
|
|
23
|
+
|
|
24
|
+
## Safety
|
|
25
|
+
|
|
26
|
+
Every source is unpacked into a quarantine directory beneath the harvest export.
|
|
27
|
+
|
|
28
|
+
The extractor:
|
|
29
|
+
- rejects absolute and parent-traversal archive paths,
|
|
30
|
+
- refuses archive symlinks/hardlinks/special files,
|
|
31
|
+
- limits file count,
|
|
32
|
+
- limits total unpacked bytes,
|
|
33
|
+
- skips build/cache junk by default,
|
|
34
|
+
- never executes code from an archive,
|
|
35
|
+
- never installs dependencies,
|
|
36
|
+
- never deploys/uploads/syncs.
|
|
37
|
+
|
|
38
|
+
Default limits:
|
|
39
|
+
- 50,000 entries
|
|
40
|
+
- 2 GiB unpacked bytes
|
|
41
|
+
|
|
42
|
+
Override only deliberately.
|
|
43
|
+
|
|
44
|
+
## Shopify detection
|
|
45
|
+
|
|
46
|
+
The scanner looks for the canonical theme directories:
|
|
47
|
+
- layout
|
|
48
|
+
- sections
|
|
49
|
+
- snippets
|
|
50
|
+
- templates
|
|
51
|
+
- config
|
|
52
|
+
- locales
|
|
53
|
+
- assets
|
|
54
|
+
|
|
55
|
+
It also scores theme markers such as layout/theme.liquid and config/settings_schema.json.
|
|
56
|
+
|
|
57
|
+
When a theme is detected, it creates:
|
|
58
|
+
|
|
59
|
+
`packages/shopify-theme.zip`
|
|
60
|
+
|
|
61
|
+
The canonical Shopify folders are placed directly at the ZIP root instead of nesting the original backup directory.
|
|
62
|
+
|
|
63
|
+
## Custom HTML salvage
|
|
64
|
+
|
|
65
|
+
Loose .html/.htm files are recorded as donor candidates.
|
|
66
|
+
|
|
67
|
+
A separate:
|
|
68
|
+
`packages/custom-html-liquid-salvage.zip`
|
|
69
|
+
|
|
70
|
+
is emitted when custom HTML/Liquid donor material is found, so favorite historical sections can be repurposed without pretending they are already normalized CMS blocks.
|
|
71
|
+
|
|
72
|
+
## Compact archival output
|
|
73
|
+
|
|
74
|
+
Every intake emits:
|
|
75
|
+
`packages/normalized-source.tar.gz`
|
|
76
|
+
|
|
77
|
+
This is the preferred compact archival artifact for object storage.
|
|
78
|
+
|
|
79
|
+
Optional:
|
|
80
|
+
`--emit-zip`
|
|
81
|
+
|
|
82
|
+
also creates:
|
|
83
|
+
`packages/normalized-source.zip`
|
|
84
|
+
|
|
85
|
+
Avoid creating every format for every artifact by default. Redundant ZIP + TAR + raw image copies are exactly how R2 archives become unnecessarily bloated.
|
|
86
|
+
|
|
87
|
+
## Git bundle
|
|
88
|
+
|
|
89
|
+
For a Git .bundle input, or a direct Git repository folder, the workflow can emit:
|
|
90
|
+
`packages/repository.bundle`
|
|
91
|
+
|
|
92
|
+
A Git bundle is preferred over zipping .git because it preserves repository history in a purpose-built portable format.
|
|
93
|
+
|
|
94
|
+
## SQLite integration
|
|
95
|
+
|
|
96
|
+
If:
|
|
97
|
+
`<out>/local/inneranimals-cms.sqlite`
|
|
98
|
+
|
|
99
|
+
already exists, archive intake records:
|
|
100
|
+
- ingest
|
|
101
|
+
- every extracted file hash/size/category
|
|
102
|
+
- produced package hashes/sizes
|
|
103
|
+
|
|
104
|
+
into local archive_* tables.
|
|
105
|
+
|
|
106
|
+
This remains local provenance and does not make the historical archive production authority.
|
|
107
|
+
|
|
108
|
+
## Expected storage pattern
|
|
109
|
+
|
|
110
|
+
For R2 later, prefer storing:
|
|
111
|
+
- one compact normalized-source.tar.gz for archival recovery,
|
|
112
|
+
- one ARCHIVE_MANIFEST.json for cheap inspection/search,
|
|
113
|
+
- shopify-theme.zip only when Shopify interoperability matters,
|
|
114
|
+
- repository.bundle only when Git history matters,
|
|
115
|
+
- optimized media once in canonical asset storage instead of repeated inside many packages.
|
|
116
|
+
|
|
117
|
+
No R2 upload is performed by this script.
|
|
118
|
+
|
|
119
|
+
## One-shot tooling lab with dragged archives
|
|
120
|
+
|
|
121
|
+
The full AgentSam acceptance lab now accepts archive paths positionally:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
python3 scripts/harvest_tooling_lab.py \
|
|
125
|
+
--sdk /Users/samprimeaux/agentsam-sdk \
|
|
126
|
+
--replace-export \
|
|
127
|
+
--replace-db \
|
|
128
|
+
~/Downloads/theme-one.zip \
|
|
129
|
+
~/Backups/old-site.bundle \
|
|
130
|
+
~/Backups/host-backup.tar.gz
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This runs donor harvest -> local CMS SQLite -> archive intake -> AgentSam safe probes in one command.
|
|
134
|
+
|
|
135
|
+
Use `--emit-zip` on `harvest_archive.py` only when a general ZIP is actually useful. Use `--emit-tar` only for tools that specifically require an uncompressed tar. The compact default remains `normalized-source.tar.gz`.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# ChatGPT / OpenAI Identity Harvest
|
|
2
|
+
|
|
3
|
+
## Why this is worth preserving
|
|
4
|
+
|
|
5
|
+
`app/chatgpt-auth.ts` contains the hosted ChatGPT identity pattern that motivated part of the original CMS experience.
|
|
6
|
+
|
|
7
|
+
This is valuable as a provider/adapter reference for AgentSam Identity.
|
|
8
|
+
|
|
9
|
+
It is not an OpenAI inference integration.
|
|
10
|
+
|
|
11
|
+
## Target package boundary
|
|
12
|
+
|
|
13
|
+
Primary destination concept:
|
|
14
|
+
|
|
15
|
+
`packages/identity/src/providers/openai/`
|
|
16
|
+
|
|
17
|
+
Possible exports:
|
|
18
|
+
|
|
19
|
+
- `@inneranimalmedia/agentsam-sdk/identity/providers/openai`
|
|
20
|
+
- hosted ChatGPT identity adapter
|
|
21
|
+
- partner-site Sign in with ChatGPT provider when OpenAI onboarding supports it
|
|
22
|
+
|
|
23
|
+
## Normalized identity
|
|
24
|
+
|
|
25
|
+
OpenAI/ChatGPT-specific transport details should normalize into the same external identity contract used by other AgentSam providers:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
{
|
|
29
|
+
provider: "openai",
|
|
30
|
+
subject: "<stable-provider-subject>",
|
|
31
|
+
email: "...",
|
|
32
|
+
emailVerified: true | false,
|
|
33
|
+
name: "...",
|
|
34
|
+
avatar: "...",
|
|
35
|
+
username: null
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The CMS should consume AgentSam identity/account context, not OpenAI headers.
|
|
40
|
+
|
|
41
|
+
## Two integration modes
|
|
42
|
+
|
|
43
|
+
### 1. ChatGPT-hosted environment
|
|
44
|
+
|
|
45
|
+
Transport-specific request metadata/headers are interpreted by a hosted adapter.
|
|
46
|
+
|
|
47
|
+
The old donor currently references:
|
|
48
|
+
|
|
49
|
+
- `oai-authenticated-user-email`
|
|
50
|
+
- `oai-authenticated-user-full-name`
|
|
51
|
+
- `oai-authenticated-user-full-name-encoding`
|
|
52
|
+
|
|
53
|
+
Treat those names as historical/reference evidence unless OpenAI documents them as a stable public contract for the target environment.
|
|
54
|
+
|
|
55
|
+
### 2. External partner website
|
|
56
|
+
|
|
57
|
+
Desired customer UX:
|
|
58
|
+
|
|
59
|
+
`Continue with ChatGPT -> OpenAI consent -> callback -> AgentSam identity/account`
|
|
60
|
+
|
|
61
|
+
Do not invent authorize/token endpoints. Keep the provider fail-closed until supported configuration is available.
|
|
62
|
+
|
|
63
|
+
## Separate identity from AI provider access
|
|
64
|
+
|
|
65
|
+
These are different capabilities:
|
|
66
|
+
|
|
67
|
+
- ChatGPT/OpenAI identity: who the person is
|
|
68
|
+
- OpenAI model provider: which inference credentials/capabilities AgentSam may use
|
|
69
|
+
- delegated OpenAI/ChatGPT capabilities: any future explicit consent for additional user-authorized resources
|
|
70
|
+
|
|
71
|
+
Signing in with ChatGPT must never be treated as permission to run paid inference or read unrelated ChatGPT data.
|
|
72
|
+
|
|
73
|
+
## Packaging rule
|
|
74
|
+
|
|
75
|
+
OpenAI should be optional just like Google, GitHub, Cloudflare, and IAM.
|
|
76
|
+
|
|
77
|
+
Example future scaffold:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
agentsam identity init --providers inneranimalmedia,google,openai
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
No unused provider should be forced into a generated customer app.
|