@inneranimalmedia/agentsam-sdk 2.6.1 → 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/AUTH_IDENTITY_CONTRACT.md +25 -27
- 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/SDK_WORKER.md +4 -3
- 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 +4 -3
- 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/auth-config.js +23 -40
- 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/auth-config.test.mjs +14 -23
- 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 +129 -31
- 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/account-auth.js +1 -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/deploy.js +2 -2
- 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 +389 -0
- package/src/commands/resume.js +9 -5
- package/src/commands/runtime-status.js +154 -0
- package/src/commands/shell.js +469 -54
- package/src/commands/status.js +82 -7
- package/src/commands/tunnel.js +228 -195
- package/src/commands/whoami.js +115 -22
- 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 -50
- 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 +100 -25
- package/src/lib/agent-instructions.js +3 -0
- package/src/lib/auth.js +318 -51
- 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 +97 -33
- package/src/lib/deploy/local-studio.js +6 -5
- package/src/lib/detect-context.js +14 -16
- 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 +233 -55
- 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 +10 -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 +59 -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 +14 -5
- package/src/ui/wireframes.js +166 -0
- package/test/account-session.test.mjs +76 -11
- package/test/apps-scaffold-contract.test.mjs +58 -0
- 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/sdk-worker-contract.test.mjs +5 -1
- package/test/shell.test.mjs +149 -4
- package/test/smoke.mjs +4 -3
- package/test/tools-search.test.mjs +33 -0
- package/test/unit/website-assets-bindings.test.mjs +60 -0
- package/test/whoami-resume.test.mjs +87 -7
- package/examples/gorilla-shell/README.md +0 -15
- package/src/lib/gorilla-template.js +0 -54
- package/src/lib/prompt-byok.js +0 -57
- package/src/lib/save-sdk-token.js +0 -19
- 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
|
+
|
|
@@ -6,47 +6,45 @@ The `agentsam-sdk` package owns the portable public configuration contract. Cons
|
|
|
6
6
|
|
|
7
7
|
| Variable | Meaning |
|
|
8
8
|
| --- | --- |
|
|
9
|
-
| `
|
|
9
|
+
| `IAM_OAUTH_ISSUER` | Canonical IAM authority/issuer for browser OAuth and platform account requests. |
|
|
10
|
+
| `IAM_ORIGIN` | Migration fallback for the IAM issuer. New code resolves `IAM_OAUTH_ISSUER` first. |
|
|
10
11
|
| `IAM_CLIENT_ID` | OAuth client id for an application using IAM identity. |
|
|
11
12
|
| `IAM_CLIENT_SECRET` | OAuth client secret. Keep it server-side. |
|
|
12
|
-
| `
|
|
13
|
-
| `AGENTSAM_BRIDGE_KEY` |
|
|
13
|
+
| `AGENTSAM_API_KEY` | Reusable account/delegated API credential. Raw values use the `aak_` prefix and are sent as `Authorization: Bearer …`. |
|
|
14
|
+
| `AGENTSAM_BRIDGE_KEY` | Infrastructure/machine integration trust. It is never a substitute for account authentication. |
|
|
14
15
|
|
|
15
|
-
The host-side durable verifier for
|
|
16
|
+
The host-side durable verifier for reusable AgentSam API credentials is `agentsam_api_credentials`. The SDK defines the public credential semantics; the host owns credential issuance, hashing, storage, revocation, and authorization.
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
Interactive browser login is intentionally separate from `AGENTSAM_API_KEY`. The CLI stores an opaque machine-local browser session under `~/.agentsam/auth/session.json`; it does not turn that session into a reusable API key.
|
|
18
19
|
|
|
19
20
|
## Migration compatibility
|
|
20
21
|
|
|
21
|
-
The
|
|
22
|
+
The issuer resolver accepts `IAM_ORIGIN` only when `IAM_OAUTH_ISSUER` is absent. The retired `AGENTSAM_SDK_KEY`, `AGENTSAM_SDK_TOKEN`, `sdk_` bearer, and `agentsam_sdk_tokens` account-auth contract is not read by the current SDK.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
IAM_ORIGIN
|
|
25
|
-
fallback: IAM_OAUTH_ISSUER
|
|
26
|
-
|
|
27
|
-
AGENTSAM_SDK_KEY
|
|
28
|
-
fallback: AGENTSAM_SDK_TOKEN
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Canonical names always win when both are present. New scaffolds, docs, and writes emit only the canonical names. Compatibility aliases are intentionally not a permanent parallel configuration surface.
|
|
32
|
-
|
|
33
|
-
Older platform-base aliases (`IAM_CORE_URL`, `AGENTSAM_CORE_URL`, `AGENTSAM_BASE_URL`) are compatibility-only. SDK clients prefer `IAM_ORIGIN`.
|
|
24
|
+
Older platform-base aliases (`IAM_CORE_URL`, `AGENTSAM_CORE_URL`, `AGENTSAM_BASE_URL`) remain compatibility-only where legacy clients still consume them.
|
|
34
25
|
|
|
35
26
|
## Credential boundaries
|
|
36
27
|
|
|
37
28
|
```text
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
->
|
|
41
|
-
-> Authorization: Bearer <
|
|
29
|
+
reusable account API lane
|
|
30
|
+
AGENTSAM_API_KEY
|
|
31
|
+
-> aak_* bearer
|
|
32
|
+
-> Authorization: Bearer <aak_*>
|
|
42
33
|
-> account/delegated authority
|
|
43
|
-
->
|
|
34
|
+
-> agentsam_api_credentials (hashed verifier on the host)
|
|
35
|
+
|
|
36
|
+
interactive browser lane
|
|
37
|
+
agentsam login
|
|
38
|
+
-> opaque browser session credential
|
|
39
|
+
-> ~/.agentsam/auth/session.json
|
|
40
|
+
-> interactive account authority
|
|
41
|
+
-> never rewritten as AGENTSAM_API_KEY
|
|
44
42
|
|
|
45
|
-
machine/
|
|
46
|
-
|
|
43
|
+
machine/infrastructure lane
|
|
44
|
+
enrolled opaque machine credential / infrastructure bridge trust
|
|
47
45
|
-> machine principal
|
|
48
|
-
->
|
|
49
|
-
->
|
|
46
|
+
-> server resolves connection -> instance -> account
|
|
47
|
+
-> never accepted as account API auth
|
|
50
48
|
```
|
|
51
49
|
|
|
52
|
-
|
|
50
|
+
Repository identity, workspace labels, terminal instance ids, and machine trust do not prove reusable account authority. Provider credentials such as `OPENAI_API_KEY`, `GEMINI_API_KEY`, `CURSOR_API_KEY`, and Cloudflare credentials are managed separately by the machine provider-credential service.
|
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.
|