@inneranimalmedia/agentsam-sdk 2.6.11 → 2.6.12
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/apps/cad-creator/shared/cad/package.json +1 -1
- package/apps/client-cms-editor/backend/package.json +2 -2
- package/apps/client-cms-editor/frontend/package.json +3 -3
- package/apps/client-cms-editor/frontend/src/adapters/http-authoring.test.ts +161 -0
- package/apps/client-cms-editor/frontend/src/adapters/http.ts +296 -65
- package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +47 -16
- package/apps/client-cms-editor/frontend/src/editor/composition-groups.test.ts +40 -0
- package/apps/client-cms-editor/frontend/src/editor/legacy/CmsEditorPrototype.tsx +28 -28
- package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +3 -3
- package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +5 -4
- package/apps/client-cms-editor/frontend/src/styles/studio.css +150 -149
- package/apps/client-cms-editor/package.json +1 -1
- package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +1 -1
- package/apps/client-cms-editor/shared/cms/package.json +1 -1
- package/apps/client-cms-editor/shared/cms/src/editor-types.ts +42 -1
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +4 -4
- package/docs/PRODUCT_LIFECYCLE.md +38 -38
- package/docs/REPO_FILE_MAP.txt +2 -2
- package/docs/THEME_REFINERY.md +6 -6
- package/docs/WINDOWS_RUNTIME_INSTALL.md +1 -1
- package/docs/adr/ADR-0002-brand-campaign-plugin-boundaries.md +603 -0
- package/docs/adr/ADR-0003-copro-clean-room-product-architecture.md +34 -0
- package/docs/adr/ADR-0003-product-portfolio-and-package-taxonomy.md +146 -0
- package/docs/adr/ADR-0004-product-composition-and-provider-neutrality.md +56 -0
- package/docs/adr/ADR-0005-offer-graduation-standard.md +66 -0
- package/docs/adr/README.md +25 -0
- package/docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md +1 -1
- package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +1 -1
- package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +1 -1
- package/docs/content-studio/REVISION_GATE_2026-09-27.md +3 -3
- package/docs/contracts/google-cloud-oauth-setup.md +1 -1
- package/docs/local-studio/WORKMODE_DONOR_NOTES.md +3 -3
- package/docs/plans/ASTRA-BRIEF-2026-09-18.md +1 -1
- package/docs/plans/LOCAL-STUDIO-REAL-APP-CONTRACT-ADDENDUM-2026-09-27.md +2 -2
- package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +1 -1
- package/docs/plans/NEXT-AGENT-HANDOFF.md +2 -2
- package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +68 -68
- package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +1 -1
- package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +1 -1
- package/docs/prd/PRD-agentsam-analytics.md +174 -0
- package/docs/prd/PRD-agentsam-brand.md +181 -0
- package/docs/prd/PRD-agentsam-browser.md +177 -0
- package/docs/prd/PRD-agentsam-cad-studio.md +177 -0
- package/docs/prd/PRD-agentsam-campaign.md +1178 -0
- package/docs/prd/PRD-agentsam-commerce-studio.md +180 -0
- package/docs/prd/PRD-agentsam-content-studio.md +179 -0
- package/docs/prd/PRD-agentsam-copro.md +39 -0
- package/docs/prd/PRD-agentsam-database-studio.md +175 -0
- package/docs/prd/PRD-agentsam-developer-studio.md +175 -0
- package/docs/prd/PRD-agentsam-hosted-runtime.md +180 -0
- package/docs/prd/PRD-agentsam-knowledge.md +174 -0
- package/docs/prd/PRD-agentsam-local-studio.md +180 -0
- package/docs/prd/PRD-agentsam-merch.md +177 -0
- package/docs/prd/PRD-agentsam-platform.md +179 -0
- package/docs/prd/PRD-agentsam-site-studio.md +180 -0
- package/docs/prd/PRD-agentsam-work.md +180 -0
- package/docs/prd/README.md +39 -0
- package/docs/product/COPRO-DONOR-AUDIT.md +9 -0
- package/docs/product/COPRO-EXECUTION-PLAN.md +81 -0
- package/docs/product/COPRO-UI-QUALITY-GATE.md +119 -0
- package/docs/product/OFFER-PORTFOLIO.md +158 -0
- package/docs/product/PACKAGE-TAXONOMY.md +78 -0
- package/examples/hyperspace-demo/dist/assets/index-SZ2LfOpJ.js +242 -0
- package/examples/hyperspace-demo/dist/index.html +13 -0
- package/native/agentsam-machine/core/src/lib.rs +2 -2
- package/package.json +55 -35
- package/packages/agentsam-brand/package.json +3 -2
- package/packages/agentsam-brand/src/public.js +192 -0
- package/packages/agentsam-contracts/README.md +1 -1
- package/packages/agentsam-contracts/package.json +1 -1
- package/packages/agentsam-errors/package.json +1 -1
- package/packages/agentsam-goap/package.json +2 -2
- package/packages/agentsam-hooks/package.json +1 -1
- package/packages/agentsam-knowledge/package.json +1 -1
- package/packages/agentsam-merch/package.json +1 -1
- package/packages/agentsam-merch/test/merch.test.mjs +1 -1
- package/packages/agentsam-nav/dist/browser.global.js +34 -71
- package/packages/agentsam-nav/dist/browser.js +759 -3157
- package/packages/agentsam-nav/dist/index.js +751 -3149
- package/packages/agentsam-nav/package.json +1 -1
- package/packages/agentsam-queue-control/package.json +1 -1
- package/packages/agentsam-repository/package.json +1 -1
- package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
- package/packages/agentsam-vault/package.json +1 -1
- package/packages/agentsam-workbench/package.json +5 -4
- package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +28 -4
- package/packages/agentsam-workbench/src/agent/contextual-composer.css +72 -70
- package/packages/agentsam-workbench/src/agent/mini-agentsam.css +228 -10
- package/packages/connectors/cfoa/package.json +1 -1
- package/packages/heuristic-theme/package.json +1 -1
- package/packages/identity/package.json +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/login.html +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/reset.html +1 -1
- package/packages/identity/src/frontend/auth-portal/pages/signup.html +1 -1
- package/packages/identity/tests/chatgpt-provider.test.mjs +3 -3
- package/packages/identity/tests/oauth-consent-view.test.mjs +11 -11
- package/packages/providers/completeful/README.md +3 -3
- package/packages/providers/completeful/package.json +1 -1
- package/packages/theme-cypress/README.md +11 -0
- package/packages/{theme-church-site → theme-cypress}/package.json +14 -11
- package/packages/theme-cypress/prebuild.json +23 -0
- package/packages/theme-cypress/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-cypress/site/assets/generated/media-044ba16613.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-0a1ea6f6d9.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-0c06778307.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-1539ed373a.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-2df479fd2d.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-2e8bd0d9bc.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-41d4e2643c.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-46205bfde8.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-50c5f3e279.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-5f1467778c.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-6703642b22.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-87a490bc8e.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-997c10ef39.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-a423735c21.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-c9cea5245b.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-cab3c84c60.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-ce06595d59.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-d268905e7e.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-f6711b5053.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/media-manifest.json +226 -0
- package/packages/theme-cypress/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-cypress/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-cypress/site/beliefs.html +175 -0
- package/packages/theme-cypress/site/community.html +175 -0
- package/packages/theme-cypress/site/connect.html +319 -0
- package/packages/theme-cypress/site/donate.html +106 -0
- package/packages/theme-cypress/site/groups.html +1352 -0
- package/packages/theme-cypress/site/help.html +1 -0
- package/packages/theme-cypress/site/icons/clock.svg +4 -0
- package/packages/theme-cypress/site/icons/email.svg +4 -0
- package/packages/theme-cypress/site/icons/giving.svg +4 -0
- package/packages/theme-cypress/site/icons/home.svg +4 -0
- package/packages/theme-cypress/site/icons/location.svg +4 -0
- package/packages/theme-cypress/site/icons/media.svg +4 -0
- package/packages/theme-cypress/site/icons/ministries.svg +6 -0
- package/packages/theme-cypress/site/icons/prayer.svg +5 -0
- package/packages/theme-cypress/site/icons/visit.svg +6 -0
- package/packages/theme-cypress/site/index.html +1013 -0
- package/packages/theme-cypress/site/mensgroup.html +477 -0
- package/packages/theme-cypress/site/mission.html +512 -0
- package/packages/theme-cypress/site/unified-footer.css +172 -0
- package/packages/theme-cypress/site/unified-footer.js +175 -0
- package/packages/theme-cypress/site/unified-header.css +226 -0
- package/packages/theme-cypress/site/unified-header.js +111 -0
- package/packages/theme-cypress/site/womansgroup.html +452 -0
- package/packages/{theme-church-site → theme-cypress}/src/index.js +22 -35
- package/packages/theme-cypress/src/node.js +69 -0
- package/packages/theme-cypress/test/theme.test.mjs +47 -0
- package/packages/theme-ember/README.md +11 -0
- package/packages/{theme-fuelnfree-site → theme-ember}/package.json +14 -11
- package/packages/theme-ember/prebuild.json +23 -0
- package/packages/theme-ember/site/about.html +1840 -0
- package/packages/theme-ember/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-ember/site/assets/generated/media-1e0b1e6ee6.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-2371dcb426.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-2db4f5ff9e.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-4ed07a756e.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-58182cf167.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-5b8b8472ae.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-71f4bd16a1.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-7c1c8120bc.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-832b176433.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-931439701c.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-c2860d40d1.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-c56974d198.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-cb83a44ff4.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-df02ccdfcf.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-fab72cd344.webp +0 -0
- package/packages/theme-ember/site/assets/generated/media-manifest.json +190 -0
- package/packages/theme-ember/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-ember/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-ember/site/community.html +1664 -0
- package/packages/theme-ember/site/index.html +2044 -0
- package/packages/theme-ember/site/shop.html +2104 -0
- package/packages/{theme-fuelnfree-site → theme-ember}/src/index.js +23 -33
- package/packages/theme-ember/src/node.js +69 -0
- package/packages/theme-ember/test/theme.test.mjs +47 -0
- package/packages/theme-forge/README.md +11 -0
- package/packages/theme-forge/package.json +44 -0
- package/packages/theme-forge/prebuild.json +23 -0
- package/packages/theme-forge/site/apple-touch-icon.png +0 -0
- package/packages/theme-forge/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-forge/site/assets/generated/media-manifest.json +17 -0
- package/packages/theme-forge/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-forge/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-forge/site/assets/index-DBOqQVsA.css +1 -0
- package/packages/theme-forge/site/assets/index-pXC0o9jp.js +241 -0
- package/packages/theme-forge/site/assets/workbox-window.prod.es5-Bd17z0YL.js +2 -0
- package/packages/theme-forge/site/index.html +5 -0
- package/packages/theme-forge/site/manifest.webmanifest +1 -0
- package/packages/theme-forge/site/pwa-192x192.png +0 -0
- package/packages/theme-forge/site/pwa-512x512.png +0 -0
- package/packages/theme-forge/site/sw.js +107 -0
- package/packages/theme-forge/site/workbox-7e5eb42b.js +3395 -0
- package/packages/theme-forge/src/index.js +76 -0
- package/packages/theme-forge/src/node.js +69 -0
- package/packages/theme-forge/test/theme.test.mjs +47 -0
- package/packages/theme-grove/README.md +11 -0
- package/packages/{theme-floors-site → theme-grove}/package.json +14 -11
- package/packages/theme-grove/prebuild.json +23 -0
- package/packages/theme-grove/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-grove/site/assets/generated/media-098b13d75a.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-0c064db1aa.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-0fbfef655e.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-14759c7460.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-19b23d2a8f.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2012f04243.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-23b8c5e2bb.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2bffb1a6ef.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-2e1523a5b0.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-31107c21f2.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-31373ec865.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-45e8e27542.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-4aa9846fe7.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-5476b24219.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-7a227d3e4b.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b183eed550.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b2c650f9ab.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-b5d7471694.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-c86498fdb4.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-ce2cfff9a1.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-cf41a5f324.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-ec6c01bf8d.webp +0 -0
- package/packages/theme-grove/site/assets/generated/media-manifest.json +267 -0
- package/packages/theme-grove/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-grove/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-grove/site/index.html +1429 -0
- package/packages/theme-grove/site/pages/contact.html +664 -0
- package/packages/theme-grove/site/pages/gallery.html +216 -0
- package/packages/theme-grove/site/pages/privacy.html +180 -0
- package/packages/theme-grove/site/pages/process.html +592 -0
- package/packages/theme-grove/site/pages/services.html +567 -0
- package/packages/theme-grove/site/pages/terms.html +189 -0
- package/packages/theme-grove/site/shared/footer.css +140 -0
- package/packages/theme-grove/site/shared/footer.html +41 -0
- package/packages/{theme-floors-site → theme-grove}/src/index.js +24 -35
- package/packages/theme-grove/src/node.js +69 -0
- package/packages/theme-grove/test/theme.test.mjs +47 -0
- package/packages/theme-harbor/README.md +11 -0
- package/packages/{theme-insurance-site → theme-harbor}/package.json +14 -11
- package/packages/theme-harbor/prebuild.json +23 -0
- package/packages/theme-harbor/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-harbor/site/assets/generated/media-manifest.json +17 -0
- package/packages/theme-harbor/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-harbor/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-harbor/site/assets/index-D58RKkr-.js +239 -0
- package/packages/theme-harbor/site/assets/index-Dd3YN9Mf.css +1 -0
- package/packages/theme-harbor/site/index.html +15 -0
- package/packages/theme-harbor/src/index.js +76 -0
- package/packages/theme-harbor/src/node.js +69 -0
- package/packages/theme-harbor/test/theme.test.mjs +47 -0
- package/packages/theme-resolve/README.md +11 -0
- package/packages/theme-resolve/package.json +44 -0
- package/packages/theme-resolve/prebuild.json +23 -0
- package/packages/theme-resolve/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-resolve/site/assets/generated/media-216610d365.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-2a9e0f623f.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-a70660bfa9.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-bc1322e813.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-ced60fcecc.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/media-manifest.json +72 -0
- package/packages/theme-resolve/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-resolve/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-resolve/site/assets/index-BSaLpPG1.css +2 -0
- package/packages/theme-resolve/site/assets/index-D8au46Z5.js +17 -0
- package/packages/theme-resolve/site/index.html +22 -0
- package/packages/theme-resolve/src/index.js +69 -0
- package/packages/theme-resolve/src/node.js +69 -0
- package/packages/theme-resolve/test/theme.test.mjs +47 -0
- package/packages/theme-scenes/package.json +1 -1
- package/packages/theme-scenes/src/registry.js +32 -49
- package/packages/theme-summit/README.md +11 -0
- package/packages/{theme-shinshu-site → theme-summit}/package.json +14 -11
- package/packages/theme-summit/prebuild.json +23 -0
- package/packages/theme-summit/site/adventures.html +450 -0
- package/packages/theme-summit/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-summit/site/assets/generated/media-1e958ea679.webp +0 -0
- package/packages/theme-summit/site/assets/generated/media-9d4521abba.webp +0 -0
- package/packages/theme-summit/site/assets/generated/media-manifest.json +39 -0
- package/packages/theme-summit/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-summit/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-summit/site/business-card.html +315 -0
- package/packages/theme-summit/site/chatbot.js +312 -0
- package/packages/theme-summit/site/gallery.html +524 -0
- package/packages/theme-summit/site/i18n.js +947 -0
- package/packages/theme-summit/site/icons.svg +87 -0
- package/packages/theme-summit/site/index.html +2415 -0
- package/packages/theme-summit/site/pages/about.html +100 -0
- package/packages/theme-summit/site/pages/contact.html +117 -0
- package/packages/theme-summit/site/pages/dashboard.html +111 -0
- package/packages/theme-summit/site/pages/index.html +129 -0
- package/packages/theme-summit/site/pages/services.html +125 -0
- package/packages/theme-summit/site/shared/footer.html +41 -0
- package/packages/theme-summit/site/shared/layout.js +315 -0
- package/packages/theme-summit/site/shared/nav.html +19 -0
- package/packages/theme-summit/site/shared/styles.css +696 -0
- package/packages/theme-summit/site/theme-styles.css +131 -0
- package/packages/theme-summit/site/themes.js +442 -0
- package/packages/{theme-shinshu-site → theme-summit}/src/index.js +23 -35
- package/packages/theme-summit/src/node.js +69 -0
- package/packages/theme-summit/test/theme.test.mjs +47 -0
- package/packages/theme-violet/README.md +11 -0
- package/packages/{theme-companions-site → theme-violet}/package.json +14 -11
- package/packages/theme-violet/prebuild.json +23 -0
- package/packages/theme-violet/site/assets/generated/favicon.svg +7 -0
- package/packages/theme-violet/site/assets/generated/media-07b46d6457.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-09d38ddffc.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-254b0e2ad3.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-3a1b5c0a8d.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-3a78eb7d9d.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-49076977d8.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-6342d50dbd.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-646c65381e.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-7a5fb7c91a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-9bbd133220.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-9e73307c2a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-af382146a0.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-b2ae348b43.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-b8f43a3887.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-c96a3e1979.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-cd07daa54a.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-e03ab6b5fe.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-eae4917d25.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-f227ec5690.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-fb57ffd474.webp +0 -0
- package/packages/theme-violet/site/assets/generated/media-manifest.json +245 -0
- package/packages/theme-violet/site/assets/generated/social-card.webp +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark-192.png +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark-512.png +0 -0
- package/packages/theme-violet/site/assets/generated/theme-mark.svg +7 -0
- package/packages/theme-violet/site/global/cpas-contact.css +405 -0
- package/packages/theme-violet/site/global/cpas-donate-v2.css +931 -0
- package/packages/theme-violet/site/global/cpas-drawer-override.css +1 -0
- package/packages/theme-violet/site/global/cpas-footer.html +38 -0
- package/packages/theme-violet/site/global/cpas-header.html +30 -0
- package/packages/theme-violet/site/global/cpas-hero-watercolor.css +275 -0
- package/packages/theme-violet/site/global/cpas-modals.js +802 -0
- package/packages/theme-violet/site/global/cpas-public-surface.css +982 -0
- package/packages/theme-violet/site/global/cpas-shell.css +3980 -0
- package/packages/theme-violet/site/global/cpas-shell.js +107 -0
- package/packages/theme-violet/site/global/cpas-shelter-hub.css +326 -0
- package/packages/theme-violet/site/index.html +141 -0
- package/packages/theme-violet/site/pages/about/campaigns.html +28 -0
- package/packages/theme-violet/site/pages/about/cta.html +25 -0
- package/packages/theme-violet/site/pages/about/hero.html +46 -0
- package/packages/theme-violet/site/pages/about/paths.html +24 -0
- package/packages/theme-violet/site/pages/about/why_we_exist.html +28 -0
- package/packages/theme-violet/site/pages/home/campaigns.html +67 -0
- package/packages/theme-violet/site/pages/home/hero.html +42 -0
- package/packages/theme-violet/site/pages/home/how-it-helps.html +32 -0
- package/packages/theme-violet/site/pages/home/impact-stats.html +31 -0
- package/packages/theme-violet/site/pages/home/mission.html +36 -0
- package/packages/theme-violet/site/pages/home/newsletter.html +29 -0
- package/packages/theme-violet/site/pages/home/transport-win.html +22 -0
- package/packages/theme-violet/site/pages/index.html +141 -0
- package/packages/theme-violet/src/index.js +76 -0
- package/packages/theme-violet/src/node.js +69 -0
- package/packages/theme-violet/test/theme.test.mjs +47 -0
- package/packages/work-graph/package.json +1 -1
- package/protocol/features/README.md +1 -1
- package/protocol/features/catalog.json +12 -12
- package/protocol/features/examples/provider-resend.feature.json +2 -2
- package/protocol/presets/catalog.json +1 -1
- package/protocol/theme-refinery/prebuild-registry.json +45 -0
- package/protocol/theme-refinery/product-metadata.schema.json +63 -26
- package/protocol/theme-refinery/receipts/prebuild-remaster-20261004.json +21 -0
- package/src/plugins/completeful.js +2 -2
- package/packages/theme-church-site/README.md +0 -10
- package/packages/theme-church-site/src/harvest.json +0 -16
- package/packages/theme-church-site/test/theme.test.mjs +0 -21
- package/packages/theme-companions-site/README.md +0 -10
- package/packages/theme-companions-site/src/harvest.json +0 -14
- package/packages/theme-companions-site/src/index.js +0 -87
- package/packages/theme-companions-site/test/theme.test.mjs +0 -21
- package/packages/theme-floors-site/README.md +0 -10
- package/packages/theme-floors-site/src/harvest.json +0 -16
- package/packages/theme-floors-site/test/theme.test.mjs +0 -21
- package/packages/theme-fuelnfree-site/README.md +0 -10
- package/packages/theme-fuelnfree-site/src/harvest.json +0 -15
- package/packages/theme-fuelnfree-site/test/theme.test.mjs +0 -21
- package/packages/theme-handyman-site/README.md +0 -10
- package/packages/theme-handyman-site/package.json +0 -41
- package/packages/theme-handyman-site/src/harvest.json +0 -12
- package/packages/theme-handyman-site/src/index.js +0 -88
- package/packages/theme-handyman-site/test/theme.test.mjs +0 -21
- package/packages/theme-insurance-site/README.md +0 -10
- package/packages/theme-insurance-site/src/harvest.json +0 -12
- package/packages/theme-insurance-site/src/index.js +0 -88
- package/packages/theme-insurance-site/test/theme.test.mjs +0 -21
- package/packages/theme-shinshu-site/README.md +0 -10
- package/packages/theme-shinshu-site/src/harvest.json +0 -14
- package/packages/theme-shinshu-site/test/theme.test.mjs +0 -21
- package/protocol/theme-refinery/lineage-registry.json +0 -105
- package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +0 -318
- package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +0 -472
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
|
|
5
|
+
const SOURCE = fileURLToPath(new URL('../site/', import.meta.url));
|
|
6
|
+
const TEXT_EXTENSIONS = new Set(['.html', '.css', '.js', '.json', '.svg', '.xml', '.webmanifest']);
|
|
7
|
+
const STATIC_ROOTS = ['assets', 'icons', 'images', 'media', 'shared', 'global'];
|
|
8
|
+
|
|
9
|
+
function normalizeBasePath(value = '/') {
|
|
10
|
+
let base = String(value || '/').trim() || '/';
|
|
11
|
+
if (!base.startsWith('/')) base = '/' + base;
|
|
12
|
+
if (!base.endsWith('/')) base += '/';
|
|
13
|
+
return base.replace(/\/{2,}/g, '/');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function normalizeCanonicalOrigin(value = 'https://example.com/') {
|
|
17
|
+
const origin = String(value || 'https://example.com/').trim();
|
|
18
|
+
return origin.endsWith('/') ? origin : origin + '/';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function rewriteCanonicalOrigin(root, canonicalOrigin) {
|
|
22
|
+
if (canonicalOrigin === 'https://example.com/') return;
|
|
23
|
+
const queue = [root];
|
|
24
|
+
while (queue.length) {
|
|
25
|
+
const dir = queue.pop();
|
|
26
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
27
|
+
const target = path.join(dir, entry.name);
|
|
28
|
+
if (entry.isDirectory()) { queue.push(target); continue; }
|
|
29
|
+
if (!TEXT_EXTENSIONS.has(path.extname(entry.name).toLowerCase())) continue;
|
|
30
|
+
const text = fs.readFileSync(target, 'utf8').replaceAll('https://example.com/', canonicalOrigin);
|
|
31
|
+
fs.writeFileSync(target, text);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function rewriteStaticBase(root, basePath) {
|
|
37
|
+
if (basePath === '/') return;
|
|
38
|
+
const queue = [root];
|
|
39
|
+
while (queue.length) {
|
|
40
|
+
const dir = queue.pop();
|
|
41
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
42
|
+
const target = path.join(dir, entry.name);
|
|
43
|
+
if (entry.isDirectory()) { queue.push(target); continue; }
|
|
44
|
+
if (!TEXT_EXTENSIONS.has(path.extname(entry.name).toLowerCase())) continue;
|
|
45
|
+
let text = fs.readFileSync(target, 'utf8');
|
|
46
|
+
for (const segment of STATIC_ROOTS) {
|
|
47
|
+
text = text.replaceAll('/' + segment + '/', basePath + segment + '/');
|
|
48
|
+
}
|
|
49
|
+
fs.writeFileSync(target, text);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function resolvePrebuildRoot() {
|
|
55
|
+
return SOURCE;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function materializePrebuild(target, options = {}) {
|
|
59
|
+
if (!target) throw new TypeError('target is required');
|
|
60
|
+
const destination = path.resolve(target);
|
|
61
|
+
const basePath = normalizeBasePath(options.basePath || '/');
|
|
62
|
+
const canonicalOrigin = normalizeCanonicalOrigin(options.canonicalOrigin || 'https://example.com/');
|
|
63
|
+
fs.rmSync(destination, { recursive: true, force: true });
|
|
64
|
+
fs.mkdirSync(path.dirname(destination), { recursive: true });
|
|
65
|
+
fs.cpSync(SOURCE, destination, { recursive: true });
|
|
66
|
+
rewriteStaticBase(destination, basePath);
|
|
67
|
+
rewriteCanonicalOrigin(destination, canonicalOrigin);
|
|
68
|
+
return { destination, basePath, canonicalOrigin, theme: "violet" };
|
|
69
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import test from 'node:test';
|
|
6
|
+
import { createTheme, createProductRow } from '../src/index.js';
|
|
7
|
+
import { materializePrebuild, resolvePrebuildRoot } from '../src/node.js';
|
|
8
|
+
|
|
9
|
+
test('violet exports an installable portable prebuild contract', () => {
|
|
10
|
+
const theme = createTheme();
|
|
11
|
+
assert.equal(theme.slug, "violet");
|
|
12
|
+
assert.equal(theme.installable, true);
|
|
13
|
+
assert.equal(theme.portable, true);
|
|
14
|
+
assert.equal(theme.prebuildRoot, 'site');
|
|
15
|
+
assert.equal(theme.package, "@inneranimalmedia/theme-violet");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test('violet package contains the complete built site', () => {
|
|
19
|
+
const root = resolvePrebuildRoot();
|
|
20
|
+
assert.ok(fs.existsSync(path.join(root, 'index.html')));
|
|
21
|
+
const index = fs.readFileSync(path.join(root, 'index.html'), 'utf8');
|
|
22
|
+
assert.equal(index.includes('/themes/violet/demo/'), false);
|
|
23
|
+
assert.equal(index.includes('apps/theme-gallery-preview'), false);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('violet can materialize without the monorepo or gallery sync', () => {
|
|
27
|
+
const parent = fs.mkdtempSync(path.join(os.tmpdir(), 'agentsam-violet-'));
|
|
28
|
+
const target = path.join(parent, 'public');
|
|
29
|
+
try {
|
|
30
|
+
const receipt = materializePrebuild(target, { basePath: '/customer123/', canonicalOrigin: 'https://customer123.example/' });
|
|
31
|
+
assert.equal(receipt.basePath, '/customer123/');
|
|
32
|
+
assert.equal(receipt.canonicalOrigin, 'https://customer123.example/');
|
|
33
|
+
assert.ok(fs.existsSync(path.join(target, 'index.html')));
|
|
34
|
+
} finally {
|
|
35
|
+
fs.rmSync(parent, { recursive: true, force: true });
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test('violet product row is package-first', () => {
|
|
40
|
+
const row = createProductRow({ accountId: 'acct_demo' });
|
|
41
|
+
assert.equal(row.kind, 'app');
|
|
42
|
+
assert.equal(row.slug, "violet");
|
|
43
|
+
assert.equal(row.metadata.origin, 'package_prebuild');
|
|
44
|
+
assert.equal(row.metadata.normalization_state, 'package_ready');
|
|
45
|
+
assert.equal(row.metadata.prebuild_root, 'site');
|
|
46
|
+
assert.equal(row.metadata.portable, true);
|
|
47
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inneranimalmedia/agentsam-work-graph",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.12",
|
|
4
4
|
"description": "Core AgentSam work-graph primitive: one graph model (WorkItem, Dependency, TimelineEvent, Artifact, Evidence, Actor) powering an engineering adapter (git/MCP/tests/deploys) and a business adapter (projects/clients/approvals/milestones), with Gantt/timeline rendering as a pure projection over the graph rather than its own source of truth.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -10,7 +10,7 @@ Detailed JSON lives in each integration’s own territory, e.g.:
|
|
|
10
10
|
```
|
|
11
11
|
packages/identity/.agentsam/features/oauth-login-portal/
|
|
12
12
|
packages/providers/completeful/.agentsam/features/provider/ (target)
|
|
13
|
-
|
|
13
|
+
ember/features/* (proving ground)
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Selection vs package packet vs resolved
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
{
|
|
6
6
|
"id": "admin.shell-nav",
|
|
7
7
|
"kind": "ui",
|
|
8
|
-
"proving_ground": "
|
|
9
|
-
"manifest": "
|
|
8
|
+
"proving_ground": "ember",
|
|
9
|
+
"manifest": "ember/features/admin-shell-nav/agentsam.feature.json"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "agentsam.mini-composer",
|
|
13
13
|
"kind": "composer",
|
|
14
|
-
"proving_ground": "
|
|
15
|
-
"manifest": "
|
|
14
|
+
"proving_ground": "ember",
|
|
15
|
+
"manifest": "ember/features/mini-agentsam-composer/agentsam.feature.json"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
"id": "cms.hyperspace-runtime",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
{
|
|
30
30
|
"id": "commerce.product-studio",
|
|
31
31
|
"kind": "domain",
|
|
32
|
-
"proving_ground": "
|
|
33
|
-
"manifest": "
|
|
32
|
+
"proving_ground": "ember",
|
|
33
|
+
"manifest": "ember/features/product-studio/agentsam.feature.json",
|
|
34
34
|
"requires": [
|
|
35
35
|
"commerce.catalog"
|
|
36
36
|
]
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
{
|
|
39
39
|
"id": "growth.campaigns",
|
|
40
40
|
"kind": "domain",
|
|
41
|
-
"proving_ground": "
|
|
42
|
-
"manifest": "
|
|
41
|
+
"proving_ground": "ember",
|
|
42
|
+
"manifest": "ember/features/growth-campaigns/agentsam.feature.json"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"id": "identity.oauth-login-portal",
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
{
|
|
51
51
|
"id": "provider.completeful",
|
|
52
52
|
"kind": "provider",
|
|
53
|
-
"proving_ground": "
|
|
53
|
+
"proving_ground": "ember",
|
|
54
54
|
"status": "extracted",
|
|
55
55
|
"package": "@inneranimalmedia/agentsam-provider-completeful",
|
|
56
|
-
"manifest": "
|
|
56
|
+
"manifest": "ember/features/provider-completeful/agentsam.feature.json"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "provider.resend",
|
|
60
60
|
"kind": "provider",
|
|
61
|
-
"proving_ground": "
|
|
62
|
-
"manifest": "
|
|
61
|
+
"proving_ground": "ember",
|
|
62
|
+
"manifest": "ember/features/provider-resend/agentsam.feature.json"
|
|
63
63
|
}
|
|
64
64
|
]
|
|
65
65
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"provides": ["email.send", "email.webhook.receive"],
|
|
12
12
|
"runtime": ["worker", "node"],
|
|
13
13
|
"source": {
|
|
14
|
-
"proving_ground": "
|
|
15
|
-
"notes": "See
|
|
14
|
+
"proving_ground": "ember",
|
|
15
|
+
"notes": "See ember/features/provider-resend/agentsam.feature.json for full contribution map."
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"composer": "@inneranimalmedia/agentsam-workbench",
|
|
59
59
|
"analytics": "@inneranimalmedia/commerce-analytics"
|
|
60
60
|
},
|
|
61
|
-
"notes": "
|
|
61
|
+
"notes": "Ember Supply hosts proving-ground copies; SDK packages are the publish targets."
|
|
62
62
|
},
|
|
63
63
|
"prototype": {
|
|
64
64
|
"id": "prototype",
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "agentsam.prebuild-registry.v1",
|
|
3
|
+
"themes": [
|
|
4
|
+
{
|
|
5
|
+
"id": "cypress",
|
|
6
|
+
"package": "@inneranimalmedia/theme-cypress",
|
|
7
|
+
"family": "community-faith"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "violet",
|
|
11
|
+
"package": "@inneranimalmedia/theme-violet",
|
|
12
|
+
"family": "nonprofit-campaign"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "grove",
|
|
16
|
+
"package": "@inneranimalmedia/theme-grove",
|
|
17
|
+
"family": "service-gallery"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "ember",
|
|
21
|
+
"package": "@inneranimalmedia/theme-ember",
|
|
22
|
+
"family": "editorial-commerce"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "forge",
|
|
26
|
+
"package": "@inneranimalmedia/theme-forge",
|
|
27
|
+
"family": "trade-services"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "harbor",
|
|
31
|
+
"package": "@inneranimalmedia/theme-harbor",
|
|
32
|
+
"family": "professional-leadgen"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "summit",
|
|
36
|
+
"package": "@inneranimalmedia/theme-summit",
|
|
37
|
+
"family": "consulting-portfolio"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "resolve",
|
|
41
|
+
"package": "@inneranimalmedia/theme-resolve",
|
|
42
|
+
"family": "luxury-commerce"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://schemas.inneranimalmedia.com/agentsam/theme-refinery/product-metadata.schema.json",
|
|
4
|
-
"title": "agentsam_products.metadata for
|
|
4
|
+
"title": "agentsam_products.metadata for portable prebuild packages",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"properties": {
|
|
8
|
-
"origin": {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
"origin": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"enum": [
|
|
11
|
+
"package_prebuild",
|
|
12
|
+
"manual",
|
|
13
|
+
"apps_backfill"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"build_batch": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
12
19
|
"normalization_state": {
|
|
13
20
|
"type": "string",
|
|
14
21
|
"enum": [
|
|
15
|
-
"fingerprinted",
|
|
16
|
-
"harvested",
|
|
17
|
-
"needs_normalization",
|
|
18
|
-
"scaffolded",
|
|
19
|
-
"portable",
|
|
20
|
-
"portable-preview",
|
|
21
22
|
"normalized",
|
|
22
23
|
"remastered",
|
|
23
24
|
"package_ready",
|
|
@@ -25,23 +26,59 @@
|
|
|
25
26
|
"promoted"
|
|
26
27
|
]
|
|
27
28
|
},
|
|
28
|
-
"
|
|
29
|
+
"family": {
|
|
29
30
|
"type": "string",
|
|
30
|
-
"description": "
|
|
31
|
+
"description": "Generic reusable prebuild family."
|
|
31
32
|
},
|
|
32
|
-
"
|
|
33
|
+
"source_hash": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Content fingerprint only; never a customer path or identity."
|
|
36
|
+
},
|
|
37
|
+
"app_manifest": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"help_root": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"preview_kind": {
|
|
33
44
|
"type": "string",
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"
|
|
45
|
+
"enum": [
|
|
46
|
+
"static",
|
|
47
|
+
"live",
|
|
48
|
+
"iframe",
|
|
49
|
+
"none"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"package": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
},
|
|
55
|
+
"prebuild_root": {
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
58
|
+
"portable": {
|
|
59
|
+
"type": "boolean"
|
|
60
|
+
},
|
|
61
|
+
"capabilities": {
|
|
62
|
+
"type": "array",
|
|
63
|
+
"items": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"latest_evidence_snapshot_id": {
|
|
68
|
+
"type": [
|
|
69
|
+
"string",
|
|
70
|
+
"null"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"latest_quality_report_id": {
|
|
74
|
+
"type": [
|
|
75
|
+
"string",
|
|
76
|
+
"null"
|
|
77
|
+
]
|
|
78
|
+
}
|
|
45
79
|
},
|
|
46
|
-
"required": [
|
|
80
|
+
"required": [
|
|
81
|
+
"origin",
|
|
82
|
+
"normalization_state"
|
|
83
|
+
]
|
|
47
84
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "agentsam.theme-remaster-receipt.v1",
|
|
3
|
+
"created_at": "2026-10-04",
|
|
4
|
+
"privacy": {
|
|
5
|
+
"customer_identity_retained": false,
|
|
6
|
+
"customer_source_paths_retained": false,
|
|
7
|
+
"customer_domains_retained": false,
|
|
8
|
+
"customer_brand_assets_retained": false
|
|
9
|
+
},
|
|
10
|
+
"canonical_prebuilds": [
|
|
11
|
+
{"id":"cypress","package":"@inneranimalmedia/theme-cypress"},
|
|
12
|
+
{"id":"violet","package":"@inneranimalmedia/theme-violet"},
|
|
13
|
+
{"id":"grove","package":"@inneranimalmedia/theme-grove"},
|
|
14
|
+
{"id":"ember","package":"@inneranimalmedia/theme-ember"},
|
|
15
|
+
{"id":"forge","package":"@inneranimalmedia/theme-forge"},
|
|
16
|
+
{"id":"harbor","package":"@inneranimalmedia/theme-harbor"},
|
|
17
|
+
{"id":"summit","package":"@inneranimalmedia/theme-summit"},
|
|
18
|
+
{"id":"resolve","package":"@inneranimalmedia/theme-resolve"}
|
|
19
|
+
],
|
|
20
|
+
"note": "Historical donor/customer identity is intentionally excluded from the distributable SDK tree. Canonical prebuilds retain only reusable layout, interaction, and content-system patterns."
|
|
21
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizePluginManifest } from './contracts.js';
|
|
2
2
|
|
|
3
3
|
// Curated ecommerce capabilities are part of the reusable
|
|
4
|
-
// ecommerce-cms-agentsam native family.
|
|
4
|
+
// ecommerce-cms-agentsam native family. Commerce is the first packaged deployment;
|
|
5
5
|
// the handler remains an injected app adapter, never a hard-coded store.
|
|
6
6
|
const readSchema = {
|
|
7
7
|
type: 'object', properties: {}, additionalProperties: true,
|
|
@@ -29,7 +29,7 @@ export const COMPLETEFUL_PLUGIN_MANIFEST = normalizePluginManifest({
|
|
|
29
29
|
{ capability_key: 'order.create', domain: 'commerce', verb: 'create', description: 'Create an order.', is_mutating: true },
|
|
30
30
|
],
|
|
31
31
|
tool_lanes: ['native', 'curated'],
|
|
32
|
-
metadata: { family: 'ecommerce-cms-agentsam', packaged_deployment: '
|
|
32
|
+
metadata: { family: 'ecommerce-cms-agentsam', packaged_deployment: 'ember' },
|
|
33
33
|
health_strategy: 'provider_probe',
|
|
34
34
|
tools: [
|
|
35
35
|
['completeful_catalog_list', 'Catalog list', 'catalog.list', 'low', false],
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# @inneranimalmedia/theme-cypress
|
|
2
|
-
|
|
3
|
-
Installable AgentSam theme: **New Iberia Church of Christ**.
|
|
4
|
-
|
|
5
|
-
Gallery preview source: `apps/theme-gallery-preview/themes/church-site`.
|
|
6
|
-
|
|
7
|
-
```js
|
|
8
|
-
import { createTheme } from "@inneranimalmedia/theme-cypress";
|
|
9
|
-
const theme = createTheme();
|
|
10
|
-
```
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"harvest_batch": "theme-harvest-20260924",
|
|
3
|
-
"app_path": "apps/church-site",
|
|
4
|
-
"harvest_path": "work/theme-harvest/church-site",
|
|
5
|
-
"status": "needs_normalization",
|
|
6
|
-
"source_hash": "0a8ae5de768f874ccdebe92a5e438ad8e4d51b4c5fdae9679c7e09268328fee6",
|
|
7
|
-
"capabilities": [
|
|
8
|
-
"cms.media",
|
|
9
|
-
"cms.pages",
|
|
10
|
-
"deploy.receipt",
|
|
11
|
-
"forms.leads",
|
|
12
|
-
"theme.storefront.shell"
|
|
13
|
-
],
|
|
14
|
-
"lineage": "nic",
|
|
15
|
-
"family": "community-faith"
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { createTheme, createProductRow } from '../src/index.js';
|
|
4
|
-
|
|
5
|
-
test('church-site theme package exports harvested (not installable) contract', () => {
|
|
6
|
-
const theme = createTheme();
|
|
7
|
-
assert.equal(theme.slug, "church-site");
|
|
8
|
-
assert.equal(theme.installable, false);
|
|
9
|
-
assert.equal(theme.lineage, "nic");
|
|
10
|
-
assert.equal(theme.family, "community-faith");
|
|
11
|
-
assert.equal(theme.package, "@inneranimalmedia/theme-cypress");
|
|
12
|
-
assert.ok(Array.isArray(theme.pages));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test('church-site createProductRow is D1-ready', () => {
|
|
16
|
-
const row = createProductRow({ accountId: 'acct_demo' });
|
|
17
|
-
assert.equal(row.kind, 'app');
|
|
18
|
-
assert.equal(row.slug, "church-site");
|
|
19
|
-
assert.equal(row.metadata.origin, 'gallery_mount');
|
|
20
|
-
assert.ok(Array.isArray(row.relationships));
|
|
21
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# @inneranimalmedia/theme-violet
|
|
2
|
-
|
|
3
|
-
Installable AgentSam theme: **Companions of Caddo**.
|
|
4
|
-
|
|
5
|
-
Gallery preview source: `apps/theme-gallery-preview/themes/companions-site`.
|
|
6
|
-
|
|
7
|
-
```js
|
|
8
|
-
import { createTheme } from "@inneranimalmedia/theme-violet";
|
|
9
|
-
const theme = createTheme();
|
|
10
|
-
```
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"harvest_batch": "theme-harvest-20260924",
|
|
3
|
-
"app_path": "apps/companions-site",
|
|
4
|
-
"harvest_path": "work/theme-harvest/companions-site",
|
|
5
|
-
"status": "needs_normalization",
|
|
6
|
-
"source_hash": "cdad95d1a674b05456a6166f9fc70d86dce106d4215395601164ec40ac161f7b",
|
|
7
|
-
"capabilities": [
|
|
8
|
-
"cms.media",
|
|
9
|
-
"cms.pages",
|
|
10
|
-
"theme.storefront.shell"
|
|
11
|
-
],
|
|
12
|
-
"lineage": "coc",
|
|
13
|
-
"family": "nonprofit-campaign"
|
|
14
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/** Harvested donor-derived theme wrapper — not installable until remaster gates pass. */
|
|
2
|
-
const THEME = {
|
|
3
|
-
"id": "theme.companions-site",
|
|
4
|
-
"slug": "companions-site",
|
|
5
|
-
"lineage": "coc",
|
|
6
|
-
"family": "nonprofit-campaign",
|
|
7
|
-
"displayName": "Companions of Caddo",
|
|
8
|
-
"version": "0.1.0",
|
|
9
|
-
"kind": "gallery-theme",
|
|
10
|
-
"icon": "theme",
|
|
11
|
-
"package": "@inneranimalmedia/theme-violet",
|
|
12
|
-
"category": "Community",
|
|
13
|
-
"industries": [
|
|
14
|
-
"Nonprofit",
|
|
15
|
-
"Animal Rescue"
|
|
16
|
-
],
|
|
17
|
-
"tags": [
|
|
18
|
-
"donate",
|
|
19
|
-
"foster",
|
|
20
|
-
"campaigns"
|
|
21
|
-
],
|
|
22
|
-
"description": "Real Companions of Caddo public static surface \u2014 mission, campaigns, and involvement paths.",
|
|
23
|
-
"features": [
|
|
24
|
-
"CMS",
|
|
25
|
-
"Donations",
|
|
26
|
-
"Campaigns",
|
|
27
|
-
"Email"
|
|
28
|
-
],
|
|
29
|
-
"pages": [
|
|
30
|
-
"Home",
|
|
31
|
-
"About",
|
|
32
|
-
"Campaigns",
|
|
33
|
-
"Get Involved",
|
|
34
|
-
"Donate",
|
|
35
|
-
"Help"
|
|
36
|
-
],
|
|
37
|
-
"preview": {
|
|
38
|
-
"kind": "live",
|
|
39
|
-
"card": "/themes/companions-site/demo/",
|
|
40
|
-
"desktop": "/themes/companions-site/demo/",
|
|
41
|
-
"mobile": "/themes/companions-site/demo/",
|
|
42
|
-
"demoUrl": "/themes/companions-site/demo/"
|
|
43
|
-
},
|
|
44
|
-
"installable": false,
|
|
45
|
-
"galleryPath": "apps/theme-gallery-preview/themes/companions-site",
|
|
46
|
-
"capabilityHints": [
|
|
47
|
-
"theme.storefront.shell"
|
|
48
|
-
]
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export function createTheme() {
|
|
52
|
-
return structuredClone(THEME);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export default createTheme;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* agentsam_products UPSERT payload (caller resolves repository_id).
|
|
59
|
-
*/
|
|
60
|
-
export function createProductRow({ accountId = null, repositoryId = null, status = "prototype" } = {}) {
|
|
61
|
-
const theme = createTheme();
|
|
62
|
-
return {
|
|
63
|
-
account_id: accountId,
|
|
64
|
-
slug: theme.slug,
|
|
65
|
-
name: theme.displayName,
|
|
66
|
-
kind: "app",
|
|
67
|
-
status,
|
|
68
|
-
repository_id: repositoryId,
|
|
69
|
-
canonical_path: `packages/theme-${theme.slug}`,
|
|
70
|
-
package_name: theme.package,
|
|
71
|
-
metadata: {
|
|
72
|
-
origin: "gallery_mount",
|
|
73
|
-
normalization_state: status === "production" ? "promoted" : "needs_normalization",
|
|
74
|
-
lineage: theme.lineage,
|
|
75
|
-
family: theme.family,
|
|
76
|
-
package: theme.package,
|
|
77
|
-
gallery_path: theme.galleryPath,
|
|
78
|
-
preview_kind: theme.preview?.kind || "static",
|
|
79
|
-
capabilities: theme.capabilityHints || [],
|
|
80
|
-
donor_name: theme.displayName,
|
|
81
|
-
},
|
|
82
|
-
relationships: [
|
|
83
|
-
{ relationship_type: "packaged_as", target_type: "sdk-package", target_slug: `theme-${theme.slug}` },
|
|
84
|
-
{ relationship_type: "depends_on", target_type: "capability", target_slug: "theme.storefront.shell" },
|
|
85
|
-
],
|
|
86
|
-
};
|
|
87
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { createTheme, createProductRow } from '../src/index.js';
|
|
4
|
-
|
|
5
|
-
test('companions-site theme package exports harvested (not installable) contract', () => {
|
|
6
|
-
const theme = createTheme();
|
|
7
|
-
assert.equal(theme.slug, "companions-site");
|
|
8
|
-
assert.equal(theme.installable, false);
|
|
9
|
-
assert.equal(theme.lineage, "coc");
|
|
10
|
-
assert.equal(theme.family, "nonprofit-campaign");
|
|
11
|
-
assert.equal(theme.package, "@inneranimalmedia/theme-violet");
|
|
12
|
-
assert.ok(Array.isArray(theme.pages));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test('companions-site createProductRow is D1-ready', () => {
|
|
16
|
-
const row = createProductRow({ accountId: 'acct_demo' });
|
|
17
|
-
assert.equal(row.kind, 'app');
|
|
18
|
-
assert.equal(row.slug, "companions-site");
|
|
19
|
-
assert.equal(row.metadata.origin, 'gallery_mount');
|
|
20
|
-
assert.ok(Array.isArray(row.relationships));
|
|
21
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# @inneranimalmedia/theme-grove
|
|
2
|
-
|
|
3
|
-
Installable AgentSam theme: **Anything Floors & More**.
|
|
4
|
-
|
|
5
|
-
Gallery preview source: `apps/theme-gallery-preview/themes/floors-site`.
|
|
6
|
-
|
|
7
|
-
```js
|
|
8
|
-
import { createTheme } from "@inneranimalmedia/theme-grove";
|
|
9
|
-
const theme = createTheme();
|
|
10
|
-
```
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"harvest_batch": "theme-harvest-20260924",
|
|
3
|
-
"app_path": "apps/floors-site",
|
|
4
|
-
"harvest_path": "work/theme-harvest/floors-site",
|
|
5
|
-
"status": "needs_normalization",
|
|
6
|
-
"source_hash": "2244de43568a0bb08d7d3779971c1fc0c6c832c226a65c7bb4313e8ac039add8",
|
|
7
|
-
"capabilities": [
|
|
8
|
-
"cms.media",
|
|
9
|
-
"cms.pages",
|
|
10
|
-
"deploy.receipt",
|
|
11
|
-
"forms.leads",
|
|
12
|
-
"theme.storefront.shell"
|
|
13
|
-
],
|
|
14
|
-
"lineage": "afm",
|
|
15
|
-
"family": "service-gallery"
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert/strict';
|
|
2
|
-
import test from 'node:test';
|
|
3
|
-
import { createTheme, createProductRow } from '../src/index.js';
|
|
4
|
-
|
|
5
|
-
test('floors-site theme package exports harvested (not installable) contract', () => {
|
|
6
|
-
const theme = createTheme();
|
|
7
|
-
assert.equal(theme.slug, "floors-site");
|
|
8
|
-
assert.equal(theme.installable, false);
|
|
9
|
-
assert.equal(theme.lineage, "afm");
|
|
10
|
-
assert.equal(theme.family, "service-gallery");
|
|
11
|
-
assert.equal(theme.package, "@inneranimalmedia/theme-grove");
|
|
12
|
-
assert.ok(Array.isArray(theme.pages));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
test('floors-site createProductRow is D1-ready', () => {
|
|
16
|
-
const row = createProductRow({ accountId: 'acct_demo' });
|
|
17
|
-
assert.equal(row.kind, 'app');
|
|
18
|
-
assert.equal(row.slug, "floors-site");
|
|
19
|
-
assert.equal(row.metadata.origin, 'gallery_mount');
|
|
20
|
-
assert.ok(Array.isArray(row.relationships));
|
|
21
|
-
});
|