@inneranimalmedia/agentsam-sdk 2.6.2 → 2.6.3
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 +45 -1
- package/README.md +80 -0
- package/apps/README.md +34 -0
- package/apps/cad-creator/README.md +728 -0
- package/apps/cad-creator/shared/cad/package.json +19 -0
- package/apps/cad-creator/shared/cad/src/domain/operations.ts +7 -0
- package/apps/cad-creator/shared/cad/src/domain/project-contract.d.ts +3 -0
- package/apps/cad-creator/shared/cad/src/domain/project-contract.js +75 -0
- package/apps/cad-creator/shared/cad/src/domain/project-tools.d.ts +1 -0
- package/apps/cad-creator/shared/cad/src/domain/project-tools.js +24 -0
- package/apps/cad-creator/shared/cad/src/domain/validation.ts +191 -0
- package/apps/cad-creator/shared/cad/src/index.ts +4 -0
- package/apps/cad-creator/shared/cad/src/robotics/types.ts +232 -0
- package/apps/cad-creator/shared/cad/src/types.ts +507 -0
- package/apps/cad-creator/shared/cad/tsconfig.json +14 -0
- package/docs/AUTORAG.md +58 -0
- package/docs/BRAND_INTELLIGENCE.md +30 -0
- package/docs/CLI_SHELL.md +4 -2
- package/docs/CMS_CONTEXTUAL_COMPOSER.md +38 -0
- package/docs/MERKLE.md +4 -0
- package/docs/PROJECT_CONFIG.md +3 -0
- package/docs/REPOSITORY_KNOWLEDGE.md +2 -0
- package/docs/THEME_REFINERY.md +120 -0
- package/docs/architecture/PROVIDER-TOOLS-AND-COMPACTION.md +60 -0
- package/docs/architecture/STORAGE.md +87 -0
- package/docs/cad-project-tools.md +69 -0
- package/docs/cms-scaffolding-pattern-reference.md +73 -0
- package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS-codex-tui-20260919.md +113 -0
- package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS.md +85 -0
- package/docs/plans/AGENTSAM-MCP-CLIENT-2026-09-19.md +181 -0
- package/docs/plans/ASBD-PORTABLE-WORKGRAPH-UI-DEFERRED.md +34 -0
- package/docs/plans/ASTRA-BRIEF-2026-09-18.md +258 -0
- package/docs/plans/MULTI-AGENT-SPRINTS-2026-09-19.md +373 -0
- package/docs/plans/NEXT-AGENT-HANDOFF.md +167 -0
- package/docs/plans/RECONCILIATION-2026-09-19.md +178 -0
- package/docs/plugins.md +43 -0
- package/docs/tools/README.md +57 -0
- package/docs/tools/agent-and-orchestration.md +49 -0
- package/docs/tools/browser-and-research.md +46 -0
- package/docs/tools/cloudflare-platform.md +32 -0
- package/docs/tools/cms.md +25 -0
- package/docs/tools/communications.md +41 -0
- package/docs/tools/database-and-storage.md +62 -0
- package/docs/tools/design-and-media.md +64 -0
- package/docs/tools/filesystem-and-code.md +55 -0
- package/docs/tools/github.md +56 -0
- package/docs/tools/integrations-and-misc.md +16 -0
- package/docs/tools/memory.md +21 -0
- package/docs/tools/terminal-and-execution.md +29 -0
- package/docs/tools/tickets-and-platform.md +30 -0
- package/migrations/d1/0001_agentsam_plugin_runtime.sql +177 -0
- package/migrations/d1/0002_agentsam_ticket_ownership.sql +8 -0
- package/migrations/d1/0002_dynamic_model_policies.sql +23 -0
- package/migrations/d1/0003_expand_tool_handler_families.sql +18 -0
- package/migrations/d1/0004_project_aware_retrieval_lanes.sql +24 -0
- package/migrations/d1/0005_portable_knowledge_identity.sql +104 -0
- package/migrations/d1/0006_repair_ops_trail_account_scope.sql +14 -0
- package/migrations/d1/0007_repair_ops_trail_agent_run_account.sql +13 -0
- package/migrations/d1/0008_backfill_knowledge_run_legacy_tenant.sql +14 -0
- package/migrations/d1/0009_normalize_cloudflare_plugin_installations.sql +137 -0
- package/migrations/runtime/0001_cli_runtime.sql +67 -0
- package/migrations/runtime/0002_project_sessions.sql +15 -0
- package/migrations/runtime/0003_provider_continuations.sql +8 -0
- package/package.json +92 -12
- package/packages/agentsam-brand/README.md +21 -0
- package/packages/agentsam-brand/package.json +22 -0
- package/packages/agentsam-brand/src/contract.js +59 -0
- package/packages/agentsam-brand/src/extract.js +126 -0
- package/packages/agentsam-brand/src/goap-actions.js +73 -0
- package/packages/agentsam-brand/src/index.js +48 -0
- package/packages/agentsam-brand/src/plan.js +115 -0
- package/packages/agentsam-brand/src/resolve.js +139 -0
- package/packages/agentsam-brand/src/scan.js +250 -0
- package/packages/agentsam-brand/test/brand-scan.test.mjs +106 -0
- package/packages/agentsam-contracts/README.md +23 -0
- package/packages/agentsam-contracts/package.json +32 -0
- package/packages/agentsam-contracts/src/adapter.ts +25 -0
- package/packages/agentsam-contracts/src/agent.ts +35 -0
- package/packages/agentsam-contracts/src/artifacts.ts +33 -0
- package/packages/agentsam-contracts/src/authority.ts +29 -0
- package/packages/agentsam-contracts/src/context.ts +16 -0
- package/packages/agentsam-contracts/src/errors.ts +46 -0
- package/packages/agentsam-contracts/src/events.ts +47 -0
- package/packages/agentsam-contracts/src/execution.ts +50 -0
- package/packages/agentsam-contracts/src/hooks.ts +40 -0
- package/packages/agentsam-contracts/src/identity.ts +16 -0
- package/packages/agentsam-contracts/src/index.ts +14 -0
- package/packages/agentsam-contracts/src/models.ts +9 -0
- package/packages/agentsam-contracts/src/providers.ts +33 -0
- package/packages/agentsam-contracts/src/repository.ts +64 -0
- package/packages/agentsam-contracts/src/tools.ts +98 -0
- package/packages/agentsam-contracts/test/contracts.test.mjs +16 -0
- package/packages/agentsam-contracts/test/errors-catalog.test.mjs +25 -0
- package/packages/agentsam-contracts/test/repository.test.mjs +18 -0
- package/packages/agentsam-contracts/tsconfig.json +12 -0
- package/packages/agentsam-errors/package.json +17 -0
- package/packages/agentsam-errors/src/adapters/anthropic.js +15 -0
- package/packages/agentsam-errors/src/adapters/cad.js +109 -0
- package/packages/agentsam-errors/src/adapters/cloudflare.js +21 -0
- package/packages/agentsam-errors/src/adapters/cursor.js +4 -0
- package/packages/agentsam-errors/src/adapters/device.js +38 -0
- package/packages/agentsam-errors/src/adapters/docker.js +28 -0
- package/packages/agentsam-errors/src/adapters/gcp.js +14 -0
- package/packages/agentsam-errors/src/adapters/github.js +22 -0
- package/packages/agentsam-errors/src/adapters/google.js +17 -0
- package/packages/agentsam-errors/src/adapters/index.js +55 -0
- package/packages/agentsam-errors/src/adapters/internal.js +40 -0
- package/packages/agentsam-errors/src/adapters/oauth.js +24 -0
- package/packages/agentsam-errors/src/adapters/openai.js +17 -0
- package/packages/agentsam-errors/src/adapters/process.js +35 -0
- package/packages/agentsam-errors/src/adapters/provider.js +114 -0
- package/packages/agentsam-errors/src/envelope.js +186 -0
- package/packages/agentsam-errors/src/error.js +24 -0
- package/packages/agentsam-errors/src/fingerprint.js +35 -0
- package/packages/agentsam-errors/src/index.js +10 -0
- package/packages/agentsam-errors/src/normalize.js +30 -0
- package/packages/agentsam-errors/src/redaction.js +52 -0
- package/packages/agentsam-errors/src/render.js +16 -0
- package/packages/agentsam-errors/src/retry.js +10 -0
- package/packages/agentsam-errors/src/transport.js +52 -0
- package/packages/agentsam-errors/src/vocabulary.js +320 -0
- package/packages/agentsam-errors/test/envelope.test.mjs +70 -0
- package/packages/agentsam-errors/test/providers.test.mjs +99 -0
- package/packages/agentsam-errors/test/redaction.test.mjs +21 -0
- package/packages/agentsam-errors/test/runtime-cad-device.test.mjs +76 -0
- package/packages/agentsam-errors/test/transport.test.mjs +46 -0
- package/packages/agentsam-knowledge/package.json +15 -0
- package/packages/agentsam-knowledge/src/autorag/index.js +64 -0
- package/packages/agentsam-knowledge/src/backends/index.js +26 -0
- package/packages/agentsam-knowledge/src/index.js +3 -0
- package/packages/agentsam-knowledge/src/providers/index.js +95 -0
- package/packages/agentsam-knowledge/test/autorag.test.mjs +42 -0
- package/packages/agentsam-nav/README.md +40 -0
- package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
- package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
- package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
- package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
- package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
- package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
- package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
- package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
- package/packages/agentsam-nav/dist/browser.d.ts +11 -0
- package/packages/agentsam-nav/dist/browser.global.js +132 -0
- package/packages/agentsam-nav/dist/browser.js +613 -0
- package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
- package/packages/agentsam-nav/dist/index.d.ts +11 -0
- package/packages/agentsam-nav/dist/index.js +614 -0
- package/packages/agentsam-nav/dist/legacy.css +83 -0
- package/packages/agentsam-nav/dist/shell.css +113 -0
- package/packages/agentsam-nav/dist/theme.css +113 -0
- package/packages/agentsam-nav/dist/utils.d.ts +1 -0
- package/packages/agentsam-nav/package.json +43 -0
- package/packages/agentsam-queue-control/README.md +107 -0
- package/packages/agentsam-queue-control/package.json +31 -0
- package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +56 -0
- package/packages/agentsam-queue-control/src/adapters/cloudflare.js +152 -0
- package/packages/agentsam-queue-control/src/adapters/memory.js +38 -0
- package/packages/agentsam-queue-control/src/contracts.js +130 -0
- package/packages/agentsam-queue-control/src/control-plane.js +141 -0
- package/packages/agentsam-queue-control/src/dispatch.js +43 -0
- package/packages/agentsam-queue-control/src/index.js +7 -0
- package/packages/agentsam-queue-control/src/policy.js +88 -0
- package/packages/agentsam-queue-control/src/topology.js +66 -0
- package/packages/agentsam-queue-control/test/queue-control.test.mjs +100 -0
- package/packages/agentsam-repository/src/goap.js +718 -0
- package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
- package/packages/agentsam-repository/src/index.js +5 -0
- package/packages/agentsam-repository/src/merkle/cloudflare-persistence.js +2 -2
- package/packages/agentsam-repository/src/tickets.js +184 -0
- package/packages/agentsam-repository/src/work-tracking.js +199 -0
- package/packages/agentsam-repository/src/workspace-state.js +176 -0
- package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +152 -0
- package/packages/connectors/cloudflare/src/index.js +297 -15
- package/packages/connectors/cloudflare/src/owner.js +43 -40
- package/packages/connectors/cloudflare/src/routes.js +167 -26
- package/packages/connectors/cloudflare/tests/connector.test.mjs +112 -2
- package/packages/heuristic-theme/README.md +11 -0
- package/packages/heuristic-theme/package.json +25 -0
- package/packages/heuristic-theme/src/index.js +2 -0
- package/packages/heuristic-theme/src/registry.js +36 -0
- package/packages/heuristic-theme/src/theme.js +41 -0
- package/packages/heuristic-theme/test/theme.test.mjs +26 -0
- package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +64 -0
- package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +96 -0
- package/packages/identity/.agentsam/features/oauth-login-portal/resources.json +47 -0
- package/packages/identity/.agentsam/features/oauth-login-portal/routes.json +74 -0
- package/packages/identity/.agentsam/features/oauth-login-portal/ui.json +35 -0
- package/packages/identity/package.json +3 -2
- package/packages/identity/src/adapters/cloudflare-d1/ids.js +4 -0
- package/packages/identity/src/adapters/cloudflare-d1/index.js +39 -1
- package/packages/identity/src/contracts/provider.js +3 -2
- package/packages/identity/src/frontend/auth-portal/pages/login.html +7 -0
- package/packages/identity/src/index.js +2 -0
- package/packages/identity/src/oauth/credentials.js +13 -0
- package/packages/identity/src/oauth/iam-platform.js +5 -5
- package/packages/identity/src/providers/cloudflare/index.js +19 -0
- package/packages/identity/src/providers/cloudflare/mapper.js +21 -0
- package/packages/identity/src/providers/cloudflare/oauth.js +48 -0
- package/packages/identity/src/providers/cloudflare/profile.js +28 -0
- package/packages/identity/src/providers/index.js +18 -2
- package/packages/identity/src/server/identity-service.js +13 -3
- package/packages/identity/src/server/worker-router.js +63 -8
- package/packages/identity/tests/identity-service.test.mjs +15 -0
- package/packages/providers/completeful/README.md +38 -0
- package/packages/providers/completeful/package.json +29 -0
- package/packages/providers/completeful/src/client.js +162 -0
- package/packages/providers/completeful/src/events.js +49 -0
- package/packages/providers/completeful/src/index.js +22 -0
- package/packages/providers/completeful/src/tools.js +579 -0
- package/packages/providers/completeful/src/webhooks.js +55 -0
- package/packages/providers/completeful/test/provider.test.mjs +196 -0
- package/packages/theme-church-site/README.md +10 -0
- package/packages/theme-church-site/package.json +30 -0
- package/packages/theme-church-site/src/harvest.json +14 -0
- package/packages/theme-church-site/src/index.js +84 -0
- package/packages/theme-church-site/test/theme.test.mjs +19 -0
- package/packages/theme-companions-site/README.md +10 -0
- package/packages/theme-companions-site/package.json +30 -0
- package/packages/theme-companions-site/src/harvest.json +12 -0
- package/packages/theme-companions-site/src/index.js +82 -0
- package/packages/theme-companions-site/test/theme.test.mjs +19 -0
- package/packages/theme-floors-site/README.md +10 -0
- package/packages/theme-floors-site/package.json +30 -0
- package/packages/theme-floors-site/src/harvest.json +14 -0
- package/packages/theme-floors-site/src/index.js +82 -0
- package/packages/theme-floors-site/test/theme.test.mjs +19 -0
- package/packages/theme-fuelnfree-site/README.md +10 -0
- package/packages/theme-fuelnfree-site/package.json +30 -0
- package/packages/theme-fuelnfree-site/src/harvest.json +13 -0
- package/packages/theme-fuelnfree-site/src/index.js +81 -0
- package/packages/theme-fuelnfree-site/test/theme.test.mjs +19 -0
- package/packages/theme-handyman-site/README.md +10 -0
- package/packages/theme-handyman-site/package.json +30 -0
- package/packages/theme-handyman-site/src/harvest.json +10 -0
- package/packages/theme-handyman-site/src/index.js +83 -0
- package/packages/theme-handyman-site/test/theme.test.mjs +19 -0
- package/packages/theme-insurance-site/README.md +10 -0
- package/packages/theme-insurance-site/package.json +30 -0
- package/packages/theme-insurance-site/src/harvest.json +10 -0
- package/packages/theme-insurance-site/src/index.js +83 -0
- package/packages/theme-insurance-site/test/theme.test.mjs +19 -0
- package/packages/theme-shinshu-site/README.md +10 -0
- package/packages/theme-shinshu-site/package.json +30 -0
- package/packages/theme-shinshu-site/src/harvest.json +12 -0
- package/packages/theme-shinshu-site/src/index.js +83 -0
- package/packages/theme-shinshu-site/test/theme.test.mjs +19 -0
- package/packages/work-graph/README.md +49 -0
- package/packages/work-graph/package.json +19 -0
- package/packages/work-graph/prototype/README.md +32 -0
- package/packages/work-graph/prototype/data/demo-workgraph.js +47 -0
- package/packages/work-graph/prototype/renderers/timeline-model.js +21 -0
- package/packages/work-graph/prototype/renderers/workgraph-runtime.js +38 -0
- package/packages/work-graph/prototype-gnantt.html +655 -0
- package/packages/work-graph/src/adapters/business/projects.js +23 -0
- package/packages/work-graph/src/adapters/engineering/git.js +22 -0
- package/packages/work-graph/src/adapters/engineering/mcp.js +22 -0
- package/packages/work-graph/src/index.js +76 -0
- package/packages/work-graph/src/renderers/gantt-model.js +11 -0
- package/packages/work-graph/src/renderers/timeline.js +16 -0
- package/packages/work-graph/test/work-graph.test.mjs +37 -0
- package/protocol/README.md +12 -0
- package/protocol/capabilities/cloudflare-cpu-audit-input.schema.json +30 -6
- package/protocol/capabilities/cloudflare-cpu-profile-input.schema.json +18 -4
- package/protocol/capabilities/cloudflare-wrangler-native-input.schema.json +59 -10
- package/protocol/capabilities/knowledge-search-input.schema.json +35 -0
- package/protocol/capabilities/manifest.json +163 -1
- package/protocol/capabilities/repository-audit-input.schema.json +39 -6
- package/protocol/capabilities/repository-snapshot-input.schema.json +15 -3
- package/protocol/capabilities/terminal-exec-input.schema.json +55 -0
- package/protocol/commerce/catalog.v1.json +50 -0
- package/protocol/errors/error-catalog.json +164 -0
- package/protocol/errors/error-envelope.schema.json +544 -0
- package/protocol/features/README.md +57 -0
- package/protocol/features/agentsam.feature.v1.schema.json +290 -0
- package/protocol/features/catalog.json +65 -0
- package/protocol/features/examples/provider-resend.feature.json +17 -0
- package/protocol/go/agentsam-go-runtime.v1.json +17 -0
- package/protocol/knowledge/LIFECYCLE.md +140 -0
- package/protocol/knowledge/README.md +4 -0
- package/protocol/presets/catalog.json +128 -19
- package/protocol/rpc/v1/errors.proto +24 -0
- package/protocol/theme-refinery/d1-reconciliation.md +48 -0
- package/protocol/theme-refinery/product-metadata.schema.json +27 -0
- package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +318 -0
- package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +472 -0
- package/protocol/theme-refinery/reconciliation-receipt.schema.json +83 -0
- package/services/cad/server.py +249 -2
- package/src/agent/capability-adapter.js +15 -5
- package/src/agent/index.js +2 -1
- package/src/agent/model-turn.js +51 -0
- package/src/agent/responses-runner.js +304 -38
- package/src/capabilities/index.js +1 -0
- package/src/capabilities/terminal-exec.js +78 -0
- package/src/cli.js +117 -9
- package/src/cloudflare/index.js +6 -0
- package/src/cloudflare/runtime-status.js +393 -0
- package/src/cloudflare/wrangler.js +17 -1
- package/src/commands/app.js +106 -0
- package/src/commands/autorag.js +77 -0
- package/src/commands/brand.js +293 -0
- package/src/commands/cad.js +1 -0
- package/src/commands/connections.js +126 -29
- package/src/commands/context-economics.js +8 -0
- package/src/commands/db.js +7 -0
- package/src/commands/env.js +5 -4
- package/src/commands/eval.js +209 -14
- package/src/commands/go.js +365 -0
- package/src/commands/goap.js +176 -0
- package/src/commands/identity-init.js +27 -3
- package/src/commands/identity-protocol.js +195 -0
- package/src/commands/knowledge.js +64 -5
- package/src/commands/mcp.js +341 -0
- package/src/commands/merkle-persist.js +3 -1
- package/src/commands/merkle.js +18 -3
- package/src/commands/models.js +109 -23
- package/src/commands/plugins.js +175 -0
- package/src/commands/preferences.js +28 -8
- package/src/commands/product.js +53 -10
- package/src/commands/providers.js +118 -37
- package/src/commands/resume.js +9 -5
- package/src/commands/runtime-status.js +154 -0
- package/src/commands/shell.js +466 -55
- package/src/commands/status.js +82 -7
- package/src/commands/tunnel.js +228 -195
- package/src/commands/whoami.js +78 -6
- package/src/context/budget.js +6 -0
- package/src/context/index.js +2 -1
- package/src/context/project-card.js +75 -0
- package/src/errors/contract.js +34 -211
- package/src/errors/diagnostic.js +95 -51
- package/src/errors/index.js +6 -13
- package/src/eval/index.js +6 -0
- package/src/eval/live.js +439 -0
- package/src/features/resolve.js +242 -0
- package/src/go/build.js +108 -0
- package/src/go/cloudflare.js +207 -0
- package/src/go/contract.js +139 -0
- package/src/go/discover.js +96 -0
- package/src/go/index.js +13 -0
- package/src/go/receipts.js +77 -0
- package/src/go/registry.js +223 -0
- package/src/go/verify.js +31 -0
- package/src/index.js +100 -1
- package/src/knowledge/config.js +13 -5
- package/src/knowledge/engine.js +23 -8
- package/src/knowledge/index.js +1 -0
- package/src/knowledge/lane-registry.js +46 -0
- package/src/knowledge/providers/gemini.js +48 -8
- package/src/knowledge/service/client.js +13 -1
- package/src/knowledge/service/grpc-codec.js +156 -53
- package/src/knowledge/service/job-engine.js +133 -11
- package/src/knowledge/service/job-worker.js +34 -5
- package/src/knowledge/service/server.js +10 -1
- package/src/knowledge/store-discovery.js +77 -0
- package/src/lib/account-session.js +8 -2
- package/src/lib/agent-instructions.js +3 -0
- package/src/lib/auth.js +7 -3
- package/src/lib/cad/blender.js +42 -3
- package/src/lib/cad/d1-project-store.js +43 -0
- package/src/lib/cad/discovery.js +616 -0
- package/src/lib/cad/docker-executor.js +352 -0
- package/src/lib/cad/freecad.js +253 -0
- package/src/lib/cad/index.js +40 -0
- package/src/lib/cad/openscad.js +198 -0
- package/src/lib/cad/project-cli.d.ts +2 -0
- package/src/lib/cad/project-cli.js +21 -0
- package/src/lib/cad/project-contract.d.ts +3 -0
- package/src/lib/cad/project-contract.js +1 -0
- package/src/lib/cad/project-recipe.js +30 -0
- package/src/lib/cad/project-runtime.d.ts +2 -0
- package/src/lib/cad/project-runtime.js +53 -0
- package/src/lib/cad/project-store.js +25 -0
- package/src/lib/cad/project-workflows.js +31 -0
- package/src/lib/cad-docker.js +21 -2
- package/src/lib/cli-preferences.js +17 -2
- package/src/lib/core-client.js +37 -18
- package/src/lib/deploy/local-studio.js +6 -5
- package/src/lib/dockerize.js +3 -0
- package/src/lib/execution-approvals.js +1 -0
- package/src/lib/identity-scaffold.js +4 -1
- package/src/lib/knowledge-docker.js +9 -1
- package/src/lib/local-sessions.js +124 -34
- package/src/lib/local-status.js +35 -14
- package/src/lib/project-config.js +9 -0
- package/src/lib/provider-credentials.js +73 -11
- package/src/lib/scaffold/resolve-cloudflare-account.js +37 -0
- package/src/lib/scaffold/wizards/cms.js +2 -8
- package/src/lib/scaffold/wizards/worker-api.js +2 -8
- package/src/lib/slash-commands.js +9 -2
- package/src/local/migrations.js +109 -1
- package/src/local/runtime-store.js +31 -5
- package/src/local/sqlite.js +36 -1
- package/src/mcp/authority.js +348 -0
- package/src/mcp/client-adapters.js +431 -0
- package/src/mcp/client.js +172 -0
- package/src/mcp/index.js +47 -0
- package/src/mcp/telemetry.js +103 -0
- package/src/models/catalog.js +329 -51
- package/src/models/discovery.js +24 -4
- package/src/models/index.js +2 -0
- package/src/models/inventory-core.js +182 -0
- package/src/models/policy.js +20 -0
- package/src/plugins/cloudflare.js +103 -0
- package/src/plugins/completeful.js +69 -0
- package/src/plugins/contracts.js +86 -0
- package/src/plugins/index.js +11 -0
- package/src/plugins/registry.js +207 -0
- package/src/plugins/resource-scope.js +45 -0
- package/src/plugins/runtime.js +118 -0
- package/src/plugins/vectorize.js +31 -0
- package/src/progression/engine.js +171 -0
- package/src/progression/index.js +1 -0
- package/src/providers/cloudflare-chat.js +1 -1
- package/src/providers/gemini-generate-content.js +2 -1
- package/src/providers/openai-responses.js +45 -16
- package/src/providers/tool-schema.js +85 -0
- package/src/repository/index.js +29 -0
- package/src/rpc/generated/errors_pb.js +961 -1
- package/src/security/local-vault.js +415 -0
- package/src/security/process.js +20 -4
- package/src/status/actions.js +192 -0
- package/src/tools/hydrate.js +5 -1
- package/src/tools/index.js +7 -0
- package/src/tools/redact.js +64 -0
- package/src/tools/registry.js +83 -0
- package/src/tools/runtime.js +257 -0
- package/src/tools/search.js +21 -8
- package/src/ui/ansi.js +117 -3
- package/src/ui/cli/activity.js +76 -7
- package/src/ui/cli/footer.js +110 -9
- package/src/ui/cli/help.js +11 -4
- package/src/ui/wireframes.js +166 -0
- package/test/account-session.test.mjs +28 -0
- package/test/apps-scaffold-contract.test.mjs +16 -1
- package/test/capabilities.test.mjs +1 -1
- package/test/cli/eval-live.test.mjs +219 -0
- package/test/cli/go.test.mjs +71 -0
- package/test/cli/local-vault-and-provider-setup.test.mjs +268 -0
- package/test/cli/mcp-client.test.mjs +245 -0
- package/test/cli/runtime-ui.test.mjs +69 -2
- package/test/cli/status-actions.test.mjs +88 -0
- package/test/cli/wireframes-go-registry.test.mjs +54 -0
- package/test/cloudflare-connector.test.mjs +3 -6
- package/test/cloudflare-runtime.test.mjs +8 -1
- package/test/context.test.mjs +15 -0
- package/test/error-diagnostics.test.mjs +9 -0
- package/test/fixtures/cad/courtyard-house.json +208 -0
- package/test/go/cloudflare-probe.test.mjs +53 -0
- package/test/integration/app-command.test.mjs +55 -0
- package/test/integration/cad-discovery.test.mjs +158 -0
- package/test/integration/cad-docker-executor.test.mjs +249 -0
- package/test/integration/cad-execution.test.mjs +184 -0
- package/test/integration/cad-project-app.test.mjs +31 -0
- package/test/integration/cad-project-d1.test.mjs +25 -0
- package/test/integration/cad-project-native.test.mjs +24 -0
- package/test/integration/cad-project-workflow.test.mjs +9 -0
- package/test/integration/cad-project.test.mjs +82 -0
- package/test/integration/cli-help.test.mjs +4 -0
- package/test/integration/cms-site-tenancy-contract.test.mjs +256 -0
- package/test/integration/core-client.integration.test.mjs +55 -0
- package/test/integration/error-runtime-rpc.test.mjs +71 -0
- package/test/integration/features-resolve.test.mjs +128 -0
- package/test/integration/install-script.test.mjs +107 -0
- package/test/integration/inventory-core.test.mjs +53 -0
- package/test/integration/plugins-cloudflare.integration.test.mjs +28 -0
- package/test/integration/provider-env-cli.test.mjs +1 -1
- package/test/integration/runtime-migrations.test.mjs +6 -1
- package/test/integration/runtime-status.integration.test.mjs +211 -0
- package/test/integration/scaffold-cloudflare.test.mjs +46 -0
- package/test/integration/storage-architecture.test.mjs +154 -0
- package/test/integration/store-discovery.test.mjs +44 -0
- package/test/integration/terminal-exec.integration.test.mjs +86 -0
- package/test/integration/tool-runtime.test.mjs +124 -0
- package/test/integration/tool-schema.test.mjs +59 -0
- package/test/knowledge-service.test.mjs +4 -0
- package/test/local-sessions.test.mjs +11 -2
- package/test/local-studio-deploy.test.mjs +1 -1
- package/test/model-catalog.test.mjs +28 -1
- package/test/models.test.mjs +159 -5
- package/test/openai-responses.test.mjs +60 -0
- package/test/provider-credentials.test.mjs +15 -5
- package/test/responses-runner.test.mjs +321 -6
- package/test/shell.test.mjs +149 -4
- package/test/smoke.mjs +2 -2
- package/test/tools-search.test.mjs +33 -0
- package/test/unit/website-assets-bindings.test.mjs +60 -0
- package/test/whoami-resume.test.mjs +82 -3
- package/examples/gorilla-shell/README.md +0 -15
- package/src/lib/gorilla-template.js +0 -54
- package/templates/gorilla-shell/App.tsx +0 -639
- package/templates/gorilla-shell/README.md +0 -34
- package/templates/gorilla-shell/index.html +0 -15
- package/templates/gorilla-shell/main.jsx +0 -9
- package/templates/gorilla-shell/package.json +0 -19
- package/templates/gorilla-shell/vite.config.js +0 -21
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
export type MeasurementUnit = 'in' | 'ft' | 'm' | 'mm';
|
|
2
|
+
|
|
3
|
+
export type WallMaterial = 'drywall' | 'brick' | 'concrete' | 'glass' | 'wood_panel' | 'steel';
|
|
4
|
+
|
|
5
|
+
export type FloorMaterial = 'hardwood' | 'marble' | 'tile' | 'polished_concrete' | 'carpet' | 'terrazzo';
|
|
6
|
+
|
|
7
|
+
export interface WallElement {
|
|
8
|
+
id: string;
|
|
9
|
+
x1: number;
|
|
10
|
+
y1: number;
|
|
11
|
+
x2: number;
|
|
12
|
+
y2: number;
|
|
13
|
+
thickness: number; // in inches (e.g. 6)
|
|
14
|
+
height3D: number; // in inches (e.g. 96 or 108)
|
|
15
|
+
material: WallMaterial;
|
|
16
|
+
color?: string;
|
|
17
|
+
exterior?: boolean;
|
|
18
|
+
sourceSketchShapeIds?: string[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface DoorElement {
|
|
22
|
+
id: string;
|
|
23
|
+
wallId: string;
|
|
24
|
+
distanceAlongWall: number; // 0 to 1 ratio or absolute offset
|
|
25
|
+
width: number; // in inches (e.g. 36)
|
|
26
|
+
height: number; // in inches (e.g. 84)
|
|
27
|
+
swing: 'left' | 'right' | 'sliding' | 'double' | 'pocket';
|
|
28
|
+
openAngle: number; // 0 to 90 degrees
|
|
29
|
+
label?: string;
|
|
30
|
+
sourceSketchShapeIds?: string[];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface WindowElement {
|
|
34
|
+
id: string;
|
|
35
|
+
wallId: string;
|
|
36
|
+
distanceAlongWall: number; // 0 to 1 ratio
|
|
37
|
+
width: number; // in inches (e.g. 48)
|
|
38
|
+
height: number; // in inches (e.g. 60)
|
|
39
|
+
elevation: number; // height from floor in inches (e.g. 36)
|
|
40
|
+
style: 'casement' | 'sliding' | 'picture' | 'hung';
|
|
41
|
+
label?: string;
|
|
42
|
+
sourceSketchShapeIds?: string[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export type FurnitureCategory = 'seating' | 'tables' | 'bedroom' | 'kitchen' | 'bathroom' | 'office' | 'decor' | 'parametric';
|
|
46
|
+
|
|
47
|
+
export interface FurnitureElement {
|
|
48
|
+
id: string;
|
|
49
|
+
type: string; // 'sofa_3seater', 'king_bed', 'dining_table_6', 'desk', 'kitchen_island', 'toilet', 'bathtub', 'potted_plant', etc.
|
|
50
|
+
category: FurnitureCategory;
|
|
51
|
+
name: string;
|
|
52
|
+
x: number; // center x in inches
|
|
53
|
+
y: number; // center y in inches
|
|
54
|
+
w: number; // width in inches
|
|
55
|
+
d: number; // depth in inches
|
|
56
|
+
h: number; // height in inches
|
|
57
|
+
rotation: number; // in degrees
|
|
58
|
+
color: string;
|
|
59
|
+
material?: string;
|
|
60
|
+
icon?: string;
|
|
61
|
+
parametricObjectId?: string;
|
|
62
|
+
sourceSketchShapeIds?: string[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface RoomZone {
|
|
66
|
+
id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
points: [number, number][]; // Polygon vertices in inches
|
|
69
|
+
areaSqFt: number;
|
|
70
|
+
floorMaterial: FloorMaterial;
|
|
71
|
+
color: string;
|
|
72
|
+
sourceSketchShapeIds?: string[];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface DimensionAnnotation {
|
|
76
|
+
id: string;
|
|
77
|
+
x1: number;
|
|
78
|
+
y1: number;
|
|
79
|
+
x2: number;
|
|
80
|
+
y2: number;
|
|
81
|
+
label: string;
|
|
82
|
+
sourceSketchShapeIds?: string[];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export interface LightingConfig {
|
|
86
|
+
sunAltitude: number; // 10 to 90 degrees
|
|
87
|
+
sunAzimuth: number; // 0 to 360 degrees
|
|
88
|
+
intensity: number; // 0.2 to 2.0
|
|
89
|
+
timeOfDay: 'morning' | 'noon' | 'sunset' | 'night';
|
|
90
|
+
shadows: boolean;
|
|
91
|
+
ambientColor: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// ---------------------------------------------------------------------------
|
|
95
|
+
// PARAMETRIC & OPENSCAD DOMAIN MODEL
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
|
|
98
|
+
export type ParametricGeneratorType = 'openscad' | 'procedural_csg' | 'custom_script';
|
|
99
|
+
|
|
100
|
+
export interface ParametricParameterDef {
|
|
101
|
+
name: string;
|
|
102
|
+
label: string;
|
|
103
|
+
type: 'number' | 'string' | 'boolean' | 'select';
|
|
104
|
+
value: number | string | boolean;
|
|
105
|
+
min?: number;
|
|
106
|
+
max?: number;
|
|
107
|
+
step?: number;
|
|
108
|
+
unit?: string;
|
|
109
|
+
options?: { label: string; value: string | number }[];
|
|
110
|
+
description?: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface ParametricObject {
|
|
114
|
+
id: string;
|
|
115
|
+
name: string;
|
|
116
|
+
generator: ParametricGeneratorType;
|
|
117
|
+
generatorTemplate?: string; // 'workstation' | 'bookshelf' | 'chair' | 'pergola' | 'cabinet' | 'custom'
|
|
118
|
+
parameters: Record<string, number | string | boolean>;
|
|
119
|
+
parameterDefs?: ParametricParameterDef[];
|
|
120
|
+
transform: {
|
|
121
|
+
x: number; // in inches
|
|
122
|
+
y: number; // in inches (floor plane)
|
|
123
|
+
z: number; // elevation in inches
|
|
124
|
+
rotationX?: number;
|
|
125
|
+
rotationY?: number; // rotation around Y axis in degrees
|
|
126
|
+
rotationZ?: number;
|
|
127
|
+
};
|
|
128
|
+
source: string; // OpenSCAD source code (.scad)
|
|
129
|
+
generatedArtifacts?: DesignArtifactSummary[];
|
|
130
|
+
updatedAt?: number;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export interface DesignArtifactSummary {
|
|
134
|
+
id: string;
|
|
135
|
+
format: 'stl' | '3mf' | 'dxf' | 'scad' | 'obj' | 'svg' | 'json';
|
|
136
|
+
filename: string;
|
|
137
|
+
sizeBytes: number;
|
|
138
|
+
createdAt: number;
|
|
139
|
+
checksum?: string;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
// CANONICAL PROJECT STATE & METADATA
|
|
144
|
+
// ---------------------------------------------------------------------------
|
|
145
|
+
|
|
146
|
+
export interface ProjectMetadata {
|
|
147
|
+
author?: string;
|
|
148
|
+
description?: string;
|
|
149
|
+
tags?: string[];
|
|
150
|
+
createdAt: number;
|
|
151
|
+
updatedAt: number;
|
|
152
|
+
revision: number;
|
|
153
|
+
revisionMessage?: string;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface ProjectLayer {
|
|
157
|
+
id: string;
|
|
158
|
+
name: string;
|
|
159
|
+
visible: boolean;
|
|
160
|
+
locked: boolean;
|
|
161
|
+
color?: string;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface SketchDocumentRef {
|
|
165
|
+
tldrawSnapshot?: any; // Serialized tldraw store snapshot
|
|
166
|
+
shapesCount?: number;
|
|
167
|
+
lastEditedAt?: number;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface DesignProject {
|
|
171
|
+
id: string;
|
|
172
|
+
name: string;
|
|
173
|
+
units?: MeasurementUnit;
|
|
174
|
+
scale: number; // 1 canvas unit = 1 inch
|
|
175
|
+
gridSize: number; // grid step in inches (default 12 inches = 1 ft)
|
|
176
|
+
snapToGrid: boolean;
|
|
177
|
+
layers?: ProjectLayer[];
|
|
178
|
+
walls: WallElement[];
|
|
179
|
+
doors: DoorElement[];
|
|
180
|
+
windows: WindowElement[];
|
|
181
|
+
furniture: FurnitureElement[];
|
|
182
|
+
rooms: RoomZone[];
|
|
183
|
+
annotations: DimensionAnnotation[];
|
|
184
|
+
parametricObjects?: ParametricObject[];
|
|
185
|
+
sketchDocument?: SketchDocumentRef;
|
|
186
|
+
lighting: LightingConfig;
|
|
187
|
+
roofType: 'none' | 'flat' | 'gable';
|
|
188
|
+
ceilingHeight: number; // e.g. 108 inches
|
|
189
|
+
metadata?: ProjectMetadata;
|
|
190
|
+
updatedAt: number;
|
|
191
|
+
version: number;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Backwards-compatible alias
|
|
195
|
+
export type ProjectState = DesignProject;
|
|
196
|
+
|
|
197
|
+
// ---------------------------------------------------------------------------
|
|
198
|
+
// CANONICAL DESIGN OPERATIONS (COMMANDS)
|
|
199
|
+
// ---------------------------------------------------------------------------
|
|
200
|
+
|
|
201
|
+
export type DesignOperationType =
|
|
202
|
+
| 'create_wall'
|
|
203
|
+
| 'update_wall'
|
|
204
|
+
| 'delete_wall'
|
|
205
|
+
| 'create_room'
|
|
206
|
+
| 'update_room'
|
|
207
|
+
| 'delete_room'
|
|
208
|
+
| 'add_door'
|
|
209
|
+
| 'update_door'
|
|
210
|
+
| 'delete_door'
|
|
211
|
+
| 'add_window'
|
|
212
|
+
| 'update_window'
|
|
213
|
+
| 'delete_window'
|
|
214
|
+
| 'add_fixture'
|
|
215
|
+
| 'update_fixture'
|
|
216
|
+
| 'delete_fixture'
|
|
217
|
+
| 'move_element'
|
|
218
|
+
| 'create_parametric_object'
|
|
219
|
+
| 'update_parametric_parameter'
|
|
220
|
+
| 'update_parametric_source'
|
|
221
|
+
| 'delete_parametric_object'
|
|
222
|
+
| 'attach_sketch'
|
|
223
|
+
| 'convert_sketch_selection'
|
|
224
|
+
| 'set_material'
|
|
225
|
+
| 'set_lighting'
|
|
226
|
+
| 'batch_operations';
|
|
227
|
+
|
|
228
|
+
export interface BaseDesignOperation {
|
|
229
|
+
id: string;
|
|
230
|
+
type: DesignOperationType;
|
|
231
|
+
timestamp: number;
|
|
232
|
+
authorId?: string;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export interface CreateWallOp extends BaseDesignOperation {
|
|
236
|
+
type: 'create_wall';
|
|
237
|
+
wall: WallElement;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export interface UpdateWallOp extends BaseDesignOperation {
|
|
241
|
+
type: 'update_wall';
|
|
242
|
+
wallId: string;
|
|
243
|
+
updates: Partial<WallElement>;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export interface DeleteWallOp extends BaseDesignOperation {
|
|
247
|
+
type: 'delete_wall';
|
|
248
|
+
wallId: string;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface CreateRoomOp extends BaseDesignOperation {
|
|
252
|
+
type: 'create_room';
|
|
253
|
+
room: RoomZone;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export interface UpdateRoomOp extends BaseDesignOperation {
|
|
257
|
+
type: 'update_room';
|
|
258
|
+
roomId: string;
|
|
259
|
+
updates: Partial<RoomZone>;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export interface DeleteRoomOp extends BaseDesignOperation {
|
|
263
|
+
type: 'delete_room';
|
|
264
|
+
roomId: string;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
export interface AddDoorOp extends BaseDesignOperation {
|
|
268
|
+
type: 'add_door';
|
|
269
|
+
door: DoorElement;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
export interface UpdateDoorOp extends BaseDesignOperation {
|
|
273
|
+
type: 'update_door';
|
|
274
|
+
doorId: string;
|
|
275
|
+
updates: Partial<DoorElement>;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export interface DeleteDoorOp extends BaseDesignOperation {
|
|
279
|
+
type: 'delete_door';
|
|
280
|
+
doorId: string;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export interface AddWindowOp extends BaseDesignOperation {
|
|
284
|
+
type: 'add_window';
|
|
285
|
+
window: WindowElement;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export interface UpdateWindowOp extends BaseDesignOperation {
|
|
289
|
+
type: 'update_window';
|
|
290
|
+
windowId: string;
|
|
291
|
+
updates: Partial<WindowElement>;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export interface DeleteWindowOp extends BaseDesignOperation {
|
|
295
|
+
type: 'delete_window';
|
|
296
|
+
windowId: string;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export interface AddFixtureOp extends BaseDesignOperation {
|
|
300
|
+
type: 'add_fixture';
|
|
301
|
+
fixture: FurnitureElement;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export interface UpdateFixtureOp extends BaseDesignOperation {
|
|
305
|
+
type: 'update_fixture';
|
|
306
|
+
fixtureId: string;
|
|
307
|
+
updates: Partial<FurnitureElement>;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export interface DeleteFixtureOp extends BaseDesignOperation {
|
|
311
|
+
type: 'delete_fixture';
|
|
312
|
+
fixtureId: string;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export interface MoveElementOp extends BaseDesignOperation {
|
|
316
|
+
type: 'move_element';
|
|
317
|
+
elementType: 'wall' | 'door' | 'window' | 'furniture' | 'room' | 'parametric';
|
|
318
|
+
elementId: string;
|
|
319
|
+
dx: number;
|
|
320
|
+
dy: number;
|
|
321
|
+
dz?: number;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export interface CreateParametricObjectOp extends BaseDesignOperation {
|
|
325
|
+
type: 'create_parametric_object';
|
|
326
|
+
parametricObject: ParametricObject;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export interface UpdateParametricParameterOp extends BaseDesignOperation {
|
|
330
|
+
type: 'update_parametric_parameter';
|
|
331
|
+
parametricObjectId: string;
|
|
332
|
+
parameterName: string;
|
|
333
|
+
value: number | string | boolean;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
export interface UpdateParametricSourceOp extends BaseDesignOperation {
|
|
337
|
+
type: 'update_parametric_source';
|
|
338
|
+
parametricObjectId: string;
|
|
339
|
+
source: string;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
export interface DeleteParametricObjectOp extends BaseDesignOperation {
|
|
343
|
+
type: 'delete_parametric_object';
|
|
344
|
+
parametricObjectId: string;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
export interface AttachSketchOp extends BaseDesignOperation {
|
|
348
|
+
type: 'attach_sketch';
|
|
349
|
+
sketchDocument: SketchDocumentRef;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
export interface ConvertSketchSelectionOp extends BaseDesignOperation {
|
|
353
|
+
type: 'convert_sketch_selection';
|
|
354
|
+
sourceShapeIds: string[];
|
|
355
|
+
proposedOperations: DesignOperation[];
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export interface SetLightingOp extends BaseDesignOperation {
|
|
359
|
+
type: 'set_lighting';
|
|
360
|
+
lighting: Partial<LightingConfig>;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
export interface BatchOperationsOp extends BaseDesignOperation {
|
|
364
|
+
type: 'batch_operations';
|
|
365
|
+
operations: DesignOperation[];
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
export type DesignOperation =
|
|
369
|
+
| CreateWallOp
|
|
370
|
+
| UpdateWallOp
|
|
371
|
+
| DeleteWallOp
|
|
372
|
+
| CreateRoomOp
|
|
373
|
+
| UpdateRoomOp
|
|
374
|
+
| DeleteRoomOp
|
|
375
|
+
| AddDoorOp
|
|
376
|
+
| UpdateDoorOp
|
|
377
|
+
| DeleteDoorOp
|
|
378
|
+
| AddWindowOp
|
|
379
|
+
| UpdateWindowOp
|
|
380
|
+
| DeleteWindowOp
|
|
381
|
+
| AddFixtureOp
|
|
382
|
+
| UpdateFixtureOp
|
|
383
|
+
| DeleteFixtureOp
|
|
384
|
+
| MoveElementOp
|
|
385
|
+
| CreateParametricObjectOp
|
|
386
|
+
| UpdateParametricParameterOp
|
|
387
|
+
| UpdateParametricSourceOp
|
|
388
|
+
| DeleteParametricObjectOp
|
|
389
|
+
| AttachSketchOp
|
|
390
|
+
| ConvertSketchSelectionOp
|
|
391
|
+
| SetLightingOp
|
|
392
|
+
| BatchOperationsOp;
|
|
393
|
+
|
|
394
|
+
// ---------------------------------------------------------------------------
|
|
395
|
+
// ARTIFACT EXPORTER & PUBLISHER MODELS
|
|
396
|
+
// ---------------------------------------------------------------------------
|
|
397
|
+
|
|
398
|
+
export type ExportFormat = 'json' | 'svg' | 'dxf' | 'obj' | 'scad' | 'stl' | '3mf' | 'gltf';
|
|
399
|
+
|
|
400
|
+
export interface DesignArtifact {
|
|
401
|
+
id: string;
|
|
402
|
+
projectId: string;
|
|
403
|
+
revisionId: string;
|
|
404
|
+
format: ExportFormat;
|
|
405
|
+
mimeType: string;
|
|
406
|
+
filename: string;
|
|
407
|
+
size: number;
|
|
408
|
+
createdAt: number;
|
|
409
|
+
generator: string;
|
|
410
|
+
checksum: string;
|
|
411
|
+
content: string | Uint8Array;
|
|
412
|
+
localUrl?: string;
|
|
413
|
+
storageRef?: string;
|
|
414
|
+
metadata?: Record<string, any>;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
export type PublisherDestinationId = 'local' | 'github' | 'cloudflare' | 'docker' | 'custom';
|
|
418
|
+
|
|
419
|
+
export interface PublisherCapabilities {
|
|
420
|
+
supportsPrivatePublish: boolean;
|
|
421
|
+
supportsReleases: boolean;
|
|
422
|
+
supportsDirectArtifacts: boolean;
|
|
423
|
+
requiresAuthToken: boolean;
|
|
424
|
+
authFields?: { key: string; label: string; type: 'text' | 'password'; placeholder?: string; required?: boolean }[];
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
export interface PublishResult {
|
|
428
|
+
success: boolean;
|
|
429
|
+
destination: PublisherDestinationId;
|
|
430
|
+
targetUrl?: string;
|
|
431
|
+
receiptId: string;
|
|
432
|
+
publishedAt: number;
|
|
433
|
+
filesCount: number;
|
|
434
|
+
message: string;
|
|
435
|
+
metadata?: Record<string, any>;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
export interface ProjectRevisionReceipt {
|
|
439
|
+
revisionId: string;
|
|
440
|
+
projectId: string;
|
|
441
|
+
revisionNumber: number;
|
|
442
|
+
timestamp: number;
|
|
443
|
+
message: string;
|
|
444
|
+
author?: string;
|
|
445
|
+
wallsCount: number;
|
|
446
|
+
roomsCount: number;
|
|
447
|
+
parametricCount: number;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// ---------------------------------------------------------------------------
|
|
451
|
+
// MULTIPLAYER, ROLES, AND STUDIO UI STATE
|
|
452
|
+
// ---------------------------------------------------------------------------
|
|
453
|
+
|
|
454
|
+
export type UserRole = 'Owner' | 'Editor' | 'Viewer';
|
|
455
|
+
|
|
456
|
+
export interface RolePermissions {
|
|
457
|
+
canEditGeometry: boolean;
|
|
458
|
+
canUseAIAssistant: boolean;
|
|
459
|
+
canUploadSketches: boolean;
|
|
460
|
+
canChangeSettings: boolean;
|
|
461
|
+
canManageRoles: boolean;
|
|
462
|
+
canLoadTemplates: boolean;
|
|
463
|
+
canSaveRevisions: boolean;
|
|
464
|
+
canExport: boolean;
|
|
465
|
+
canGenerateMedia: boolean;
|
|
466
|
+
canEditParametric: boolean;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
export interface MultiplayerUser {
|
|
470
|
+
id: string;
|
|
471
|
+
name: string;
|
|
472
|
+
color: string;
|
|
473
|
+
role: UserRole;
|
|
474
|
+
cursor?: { x: number; y: number; view: '2d' | '3d' };
|
|
475
|
+
selectedIds: string[];
|
|
476
|
+
activeTool: string;
|
|
477
|
+
lastActive: number;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export interface ChatMessage {
|
|
481
|
+
id: string;
|
|
482
|
+
role: 'user' | 'agent' | 'system';
|
|
483
|
+
text: string;
|
|
484
|
+
timestamp: number;
|
|
485
|
+
planData?: Partial<DesignProject>;
|
|
486
|
+
suggestedPrompts?: string[];
|
|
487
|
+
generatedImages?: { url: string; prompt: string; timestamp: number }[];
|
|
488
|
+
videoResult?: { url: string; prompt: string; operationName?: string };
|
|
489
|
+
isStreaming?: boolean;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
export type ActiveTool =
|
|
493
|
+
| 'select'
|
|
494
|
+
| 'wall'
|
|
495
|
+
| 'door'
|
|
496
|
+
| 'window'
|
|
497
|
+
| 'room'
|
|
498
|
+
| 'furniture'
|
|
499
|
+
| 'dimension'
|
|
500
|
+
| 'measure'
|
|
501
|
+
| 'eraser'
|
|
502
|
+
| 'pan';
|
|
503
|
+
|
|
504
|
+
export type StudioTabMode = 'plan' | 'sketch' | '3d' | 'parametric' | 'render';
|
|
505
|
+
|
|
506
|
+
export type ViewMode = 'split' | '2d' | '3d' | 'firstperson' | 'sketch' | 'parametric' | 'robotics';
|
|
507
|
+
|
package/docs/AUTORAG.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# AgentSam AutoRAG
|
|
2
|
+
|
|
3
|
+
AutoRAG is the setup and orchestration layer for the existing AgentSam knowledge engine. It discovers a repository, selects a deliberately bounded corpus/lane, records a portable profile in `.agentsam/knowledge.json`, and verifies that profile with a safe probe. It is not a second indexer, a giant company collection, or a credentials store.
|
|
4
|
+
|
|
5
|
+
## Local quickstart
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
agentsam autorag setup
|
|
9
|
+
agentsam autorag probe
|
|
10
|
+
agentsam index plan
|
|
11
|
+
agentsam index run
|
|
12
|
+
agentsam search "the symbol or phrase"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The default is local SQLite, structural and lexical retrieval, and no embedding request. Docker, Cloudflare, Supabase, a company graph, and a paid provider are all optional.
|
|
16
|
+
|
|
17
|
+
For a non-interactive code profile:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
agentsam autorag setup --yes --kind code --scope packages,src
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
For documents, choose literal paths rather than embedding a whole checkout by default:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
agentsam autorag setup --yes --kind documents --scope docs,README.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`setup` and `configure` write only `.agentsam/knowledge.json`; they never serialize API keys. Provider credentials resolve from the environment, an authenticated host/vault, or an installed provider connector.
|
|
30
|
+
|
|
31
|
+
## Providers and backends
|
|
32
|
+
|
|
33
|
+
`agentsam autorag providers` reports the actual registry. Gemini, OpenAI, Workers AI, Ollama, and deterministic `fixture` adapters share the same embedding contract. An unavailable credential/binding is reported unavailable and fails closed; changing a model string never changes another provider's transport.
|
|
34
|
+
|
|
35
|
+
`agentsam autorag backends` reports `local_exact`, `postgres_pgvector`, `supabase_pgvector`, and `cloudflare_vectorize`. A nonlocal backend requires an explicit resource; Vectorize additionally requires an explicit binding and index. A lane's provider/model/dimensions/backend/resource combination is explicit, so incompatible vector dimensions cannot silently share a physical index.
|
|
36
|
+
|
|
37
|
+
Use semantic embeddings deliberately. A normal local setup makes none. A probe refuses paid semantic work unless explicitly enabled:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
agentsam autorag configure --yes --provider fixture --semantic --dimensions 3
|
|
41
|
+
agentsam autorag probe --semantic
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Probe and evidence
|
|
45
|
+
|
|
46
|
+
`agentsam autorag probe` limits itself to 25 files, 100 chunks, and one query. It creates a dedicated probe generation, so a failed probe cannot replace the active non-probe generation. Its receipt records scope, profile, backend, Git evidence, Merkle root, counts, and the bounded query result.
|
|
47
|
+
|
|
48
|
+
For code, planning is structural-first: symbol/path lexical matching and JS/TS AST observations remain primary; semantic vectors supplement them. The engine consumes the repository package's deterministic content Merkle and semantic metadata root. Merkle answers what exact filesystem evidence changed; it does not replace AST/import graphs, repository contracts, dependencies, or retrieval generations.
|
|
49
|
+
|
|
50
|
+
## Company graph and Docker
|
|
51
|
+
|
|
52
|
+
A host may supply a company-graph adapter. It classifies intent, chooses candidate repositories through contracts/dependencies, resolves repository-specific lanes, then merges bounded evidence. It does not search every repository or create one company-wide vector collection. Repository-specific intent routes override account routes, which override portable defaults.
|
|
53
|
+
|
|
54
|
+
`agentsam dockerize --type knowledge_service` remains an optional execution host around the same engine. Normal local setup never starts or requires Docker.
|
|
55
|
+
|
|
56
|
+
## Troubleshooting
|
|
57
|
+
|
|
58
|
+
Run `agentsam autorag doctor` for config, Git/Merkle, local store, and selected-provider status. Run `agentsam autorag status` to inspect discovery/config, and `agentsam autorag lanes` to see the configured explicit lane. A provider marked unavailable is a capability result, not a reason to add a secret to project config.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Brand Intelligence + Interactive CLI (implementation status)
|
|
2
|
+
|
|
3
|
+
**Repo:** `agentsam-sdk` · **Date:** 2026-09-24
|
|
4
|
+
|
|
5
|
+
| Item | Status | Evidence |
|
|
6
|
+
|------|--------|----------|
|
|
7
|
+
| 1. Architecture inspected | implemented | repository.snapshot + security shared authority pattern |
|
|
8
|
+
| 2. Reusable machinery identified | implemented | merkle/gitignore via snapshot |
|
|
9
|
+
| 3. Capability contracts | implemented | `protocol/capabilities/manifest.json` brand.* |
|
|
10
|
+
| 4. Brand scanner | implemented | `packages/agentsam-brand/src/scan.js` |
|
|
11
|
+
| 5. Brand resolver | implemented | `packages/agentsam-brand/src/resolve.js` |
|
|
12
|
+
| 6. Brand Contract draft | implemented | `buildBrandContractDraft` + `.agentsam/brand/` |
|
|
13
|
+
| 7. Progression engine | implemented | `src/progression/engine.js` (generic) |
|
|
14
|
+
| 8. Deterministic conversational router | partial | `routeDeterministicIntent`; shell wiring thin |
|
|
15
|
+
| 9. Interactive session state | partial | existing sessions; brand not fully session-bound |
|
|
16
|
+
| 10. TUI event model | partial | brand.scan emits operation.* events → runtime-activity |
|
|
17
|
+
| 11. TUI views | partial | activity panel during scan; full shell mockup not rebuilt |
|
|
18
|
+
| 12. No-model experience | implemented | tests + CLI without model |
|
|
19
|
+
| 13. Model-assisted | not applicable yet | brand.plan marked model_assisted_optional |
|
|
20
|
+
| 14. GOAP integration | partial | `--goap` greedy sequencer + action catalog |
|
|
21
|
+
| 15. Receipts | partial | `receipt` + `next_actions` on scan/plan |
|
|
22
|
+
| 16. Presets | implemented | cms → cms,knowledge,brand,theme |
|
|
23
|
+
| 17. CLI commands | implemented | `brand`, `plan brand` |
|
|
24
|
+
| 18. Help/discovery | implemented | cli help + slash /brand /plan /next |
|
|
25
|
+
| 19. Tests | implemented | brand-scan.test.mjs + capabilities preset |
|
|
26
|
+
| 20. Package boundaries | implemented | private `agentsam-sdk-brand` workspace |
|
|
27
|
+
| 21. Backward compatibility | implemented | additive capabilities |
|
|
28
|
+
| 22. E2E terminal demo | partial | CLI smoke; full interactive shell demo pending |
|
|
29
|
+
|
|
30
|
+
**Not done yet (explicit):** `brand.apply` mutations, full multi-op TUI panel, deep shell free-text loop, campaign/theme.create inheritance executor.
|
package/docs/CLI_SHELL.md
CHANGED
|
@@ -55,6 +55,8 @@ Current controls include:
|
|
|
55
55
|
/whoami authenticated IAM identity + safe credential status
|
|
56
56
|
/session current cumulative token/cost/resume receipt
|
|
57
57
|
/cf bounded Cloudflare/Workers operations
|
|
58
|
+
/connections live account / terminal / Worker / Cloudflare connection evidence
|
|
59
|
+
/tunnel real Cloudflare Tunnel picker backed by Wrangler
|
|
58
60
|
/status local project / DB / Git / PTY health
|
|
59
61
|
/settings project/runtime/terminal/model preferences
|
|
60
62
|
/pwd working directory
|
|
@@ -86,7 +88,7 @@ Provider files are machine-local and must not be group/world-readable on POSIX s
|
|
|
86
88
|
|
|
87
89
|
`agentsam models` uses the credential internally for safe provider discovery but never returns the secret. Its public status reports only safe facts such as provider, configured state, source class, and provider-verified model availability.
|
|
88
90
|
|
|
89
|
-
IAM login is also machine-local rather than repository state. A successful browser authentication may persist the `sdk_` bearer under `~/.agentsam/auth/session.json` with restrictive permissions. `agentsam whoami`, deploy,
|
|
91
|
+
IAM login is also machine-local rather than repository state. A successful browser authentication may persist the `sdk_` bearer under `~/.agentsam/auth/session.json` with restrictive permissions. `agentsam whoami`, deploy, and context detection can reuse that validated session. Cloudflare Tunnel management uses Wrangler's own authenticated Cloudflare identity rather than IAM bearer state. Project `.agentsam/config.json` remains portable and must not become a second identity database.
|
|
90
92
|
|
|
91
93
|
```bash
|
|
92
94
|
agentsam whoami
|
|
@@ -209,7 +211,7 @@ SDK developers can preview rendering experiments from this repository, but those
|
|
|
209
211
|
|
|
210
212
|
`agentsam init` owns portable repository/project setup. User identity, provider secrets, session history, execution approvals, and provider continuation state are machine/account runtime state and must not be written into portable project configuration.
|
|
211
213
|
|
|
212
|
-
Local development does not require a cloud account. Cloud infrastructure is added intentionally.
|
|
214
|
+
Local development does not require a cloud account. Cloud infrastructure is added intentionally. When Cloudflare Tunnel is selected, Agent Sam delegates discovery and lifecycle to Wrangler (`tunnel list`, `info`, `run`, `create`, and `quick-start`) instead of maintaining a parallel named-tunnel implementation.
|
|
213
215
|
|
|
214
216
|
## Design rule
|
|
215
217
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# CMS Editor — Agent Sam Contextual Composer
|
|
2
|
+
|
|
3
|
+
24 Sept 2026 · build target for `apps/client-cms-editor` (agentsam-sdk), proven on Fuel & Free Time, then brought into Inner Animal Media.
|
|
4
|
+
|
|
5
|
+
## Ideal-state packages (FNF = proving ground)
|
|
6
|
+
|
|
7
|
+
These FNF packages are **examples of the ideal state**, not permanent homes. Each becomes an SDK-packaged prebuild:
|
|
8
|
+
|
|
9
|
+
| Proving ground (FNF) | SDK target | Role |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `packages/agentsam-workbench` | `@inneranimalmedia/agentsam-workbench` | miniAgentSam + contextual composer |
|
|
12
|
+
| `packages/heuristic-theme` | `@inneranimalmedia/heuristic-theme` | **Stock CMS theme preset** |
|
|
13
|
+
| `packages/commerce-analytics` | `@inneranimalmedia/commerce-analytics` | Commerce analytics surfaces |
|
|
14
|
+
|
|
15
|
+
`agentsam create … --preset cms` should land on **heuristic-theme** as the basic stock theme.
|
|
16
|
+
|
|
17
|
+
## Interaction loop (required)
|
|
18
|
+
|
|
19
|
+
1. **Select** an object on the live canvas.
|
|
20
|
+
2. **Ask** (or agent proactively offers) — right panel scopes to selection.
|
|
21
|
+
3. **Suggest** — one primary suggestion card (action title + rationale + chevron), not a chat wall.
|
|
22
|
+
4. **Accept** (card click) → generation starts (no extra confirm).
|
|
23
|
+
5. **Generate** — polished gradient overlay on canvas + contained monospace code stream with soft gradient veil (trust/transparency, not approval UI). Phases: Reading selection → Drafting markup → Writing styles → Wiring settings.
|
|
24
|
+
6. **Land** — gradient cross-fades to real block; left inspector flashes updated fields; composer posts confirmation.
|
|
25
|
+
|
|
26
|
+
Left panel is always a real layers tree + property inspector (text, layout, typography preset, appearance, padding, remove) bound to the **same** block model the agent edits.
|
|
27
|
+
|
|
28
|
+
## Implementation
|
|
29
|
+
|
|
30
|
+
- Primitives: `packages/agentsam-workbench/src/agent/ContextualComposer.tsx` (+ CSS)
|
|
31
|
+
- Host wiring: `apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx` with `contextual`
|
|
32
|
+
- Threads persist per page/site via `localStorage` (survive redock/resize — portable agent)
|
|
33
|
+
|
|
34
|
+
## Open decisions (from spec)
|
|
35
|
+
|
|
36
|
+
- Generation preview dock: default **inside right composer**; canvas keeps the gradient overlay.
|
|
37
|
+
- Threads: persisted per project key; scoped optionally to selection without discarding other threads.
|
|
38
|
+
- Pipeline: host-owned `planSuggestion` / `runGeneration` (AgentSam runtime / MCP) — demos ship with local stubs.
|
package/docs/MERKLE.md
CHANGED
|
@@ -68,3 +68,7 @@ const comparison = diffTrees(baseline, current);
|
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
The library is local filesystem tooling. It adds no Worker bindings, user/workspace identity, or network calls. The interoperable content hash format is specified in [MERKLE_V1](../protocol/MERKLE_V1.md), and semantic identity in [FILEMETA_V1](../protocol/FILEMETA_V1.md).
|
|
71
|
+
|
|
72
|
+
## AutoRAG use
|
|
73
|
+
|
|
74
|
+
AutoRAG consumes this package's content root and optional semantic metadata root as source evidence. During a code plan it compares those roots with the previous generation, reports changed paths, and reuses unchanged parsed chunks/vectors where their content identity still matches. Merkle is deterministic filesystem evidence; it is not a dependency graph, an AST graph, a vector index, or a replacement for Git history.
|