studiograph 1.3.48-next.28 → 1.3.48-next.280
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/README.md +27 -17
- package/dist/agent/agent-pool.d.ts +120 -4
- package/dist/agent/agent-pool.js +358 -18
- package/dist/agent/agent-pool.js.map +1 -1
- package/dist/agent/context-window.d.ts +113 -0
- package/dist/agent/context-window.js +459 -0
- package/dist/agent/context-window.js.map +1 -0
- package/dist/agent/followups.d.ts +34 -0
- package/dist/agent/followups.js +52 -0
- package/dist/agent/followups.js.map +1 -0
- package/dist/agent/orchestrator.d.ts +110 -11
- package/dist/agent/orchestrator.js +555 -75
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/prompts/entity-types-section.d.ts +18 -9
- package/dist/agent/prompts/entity-types-section.js +42 -18
- package/dist/agent/prompts/entity-types-section.js.map +1 -1
- package/dist/agent/prompts/system.md +109 -19
- package/dist/agent/skill-loader.js +3 -9
- package/dist/agent/skill-loader.js.map +1 -1
- package/dist/agent/skills/artifact-canvas/skill.md +267 -0
- package/dist/agent/skills/create-skill.md +39 -0
- package/dist/agent/skills/entity-schema.md +67 -150
- package/dist/agent/skills/interview/skill.md +44 -29
- package/dist/agent/skills/paged-documents/skill.md +149 -0
- package/dist/agent/skills/schema-rules.md +28 -28
- package/dist/agent/tools/artifact-tools.d.ts +237 -0
- package/dist/agent/tools/artifact-tools.js +408 -0
- package/dist/agent/tools/artifact-tools.js.map +1 -0
- package/dist/agent/tools/capture-tools.d.ts +31 -0
- package/dist/agent/tools/capture-tools.js +40 -0
- package/dist/agent/tools/capture-tools.js.map +1 -0
- package/dist/agent/tools/folder-tools.d.ts +50 -0
- package/dist/agent/tools/folder-tools.js +340 -0
- package/dist/agent/tools/folder-tools.js.map +1 -0
- package/dist/agent/tools/fs-tools.d.ts +6 -5
- package/dist/agent/tools/fs-tools.js +1 -1
- package/dist/agent/tools/fs-tools.js.map +1 -1
- package/dist/agent/tools/graph-tools.d.ts +45 -73
- package/dist/agent/tools/graph-tools.js +765 -239
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/agent/tools/history-tools.d.ts +95 -0
- package/dist/agent/tools/history-tools.js +465 -0
- package/dist/agent/tools/history-tools.js.map +1 -0
- package/dist/agent/tools/load-skill.d.ts +4 -3
- package/dist/agent/tools/load-skill.js +1 -1
- package/dist/agent/tools/load-skill.js.map +1 -1
- package/dist/agent/tools/ops-tools.d.ts +2 -1
- package/dist/agent/tools/ops-tools.js +125 -25
- package/dist/agent/tools/ops-tools.js.map +1 -1
- package/dist/agent/tools/pdf-tools.d.ts +65 -0
- package/dist/agent/tools/pdf-tools.js +119 -0
- package/dist/agent/tools/pdf-tools.js.map +1 -0
- package/dist/agent/tools/permission-tools.d.ts +69 -21
- package/dist/agent/tools/permission-tools.js +183 -18
- package/dist/agent/tools/permission-tools.js.map +1 -1
- package/dist/agent/tools/tool-loader.js +5 -4
- package/dist/agent/tools/tool-loader.js.map +1 -1
- package/dist/agent/tools/web-tools.js +58 -9
- package/dist/agent/tools/web-tools.js.map +1 -1
- package/dist/cli/commands/about.d.ts +1 -0
- package/dist/cli/commands/about.js +55 -3
- package/dist/cli/commands/about.js.map +1 -1
- package/dist/cli/commands/admin/audit-workspace.d.ts +23 -0
- package/dist/cli/commands/admin/audit-workspace.js +133 -0
- package/dist/cli/commands/admin/audit-workspace.js.map +1 -0
- package/dist/cli/commands/admin/audit.d.ts +21 -0
- package/dist/cli/commands/admin/audit.js +174 -0
- package/dist/cli/commands/admin/audit.js.map +1 -0
- package/dist/cli/commands/admin/backup.d.ts +54 -0
- package/dist/cli/commands/admin/backup.js +207 -0
- package/dist/cli/commands/admin/backup.js.map +1 -0
- package/dist/cli/commands/admin/folder.d.ts +11 -0
- package/dist/cli/commands/admin/folder.js +187 -0
- package/dist/cli/commands/admin/folder.js.map +1 -0
- package/dist/cli/commands/admin/index.d.ts +16 -0
- package/dist/cli/commands/admin/index.js +48 -0
- package/dist/cli/commands/admin/index.js.map +1 -0
- package/dist/cli/commands/admin/migrate-asset-owners.d.ts +56 -0
- package/dist/cli/commands/admin/migrate-asset-owners.js +86 -0
- package/dist/cli/commands/admin/migrate-asset-owners.js.map +1 -0
- package/dist/cli/commands/admin/migrate-assets.d.ts +62 -0
- package/dist/cli/commands/admin/migrate-assets.js +237 -0
- package/dist/cli/commands/admin/migrate-assets.js.map +1 -0
- package/dist/cli/commands/admin/migrate.d.ts +56 -0
- package/dist/cli/commands/admin/migrate.js +263 -0
- package/dist/cli/commands/admin/migrate.js.map +1 -0
- package/dist/cli/commands/admin/restore.d.ts +24 -0
- package/dist/cli/commands/admin/restore.js +228 -0
- package/dist/cli/commands/admin/restore.js.map +1 -0
- package/dist/cli/commands/admin/secrets.d.ts +23 -0
- package/dist/cli/commands/admin/secrets.js +256 -0
- package/dist/cli/commands/admin/secrets.js.map +1 -0
- package/dist/cli/commands/admin/settings.d.ts +28 -0
- package/dist/cli/commands/admin/settings.js +284 -0
- package/dist/cli/commands/admin/settings.js.map +1 -0
- package/dist/cli/commands/admin/token.d.ts +42 -0
- package/dist/cli/commands/admin/token.js +126 -0
- package/dist/cli/commands/admin/token.js.map +1 -0
- package/dist/cli/commands/admin/transfer-ownership.d.ts +15 -0
- package/dist/cli/commands/admin/transfer-ownership.js +106 -0
- package/dist/cli/commands/admin/transfer-ownership.js.map +1 -0
- package/dist/cli/commands/admin/user.d.ts +11 -0
- package/dist/cli/commands/admin/user.js +187 -0
- package/dist/cli/commands/admin/user.js.map +1 -0
- package/dist/cli/commands/clone.d.ts +23 -3
- package/dist/cli/commands/clone.js +140 -36
- package/dist/cli/commands/clone.js.map +1 -1
- package/dist/cli/commands/config.d.ts +23 -107
- package/dist/cli/commands/config.js +52 -260
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/connector.d.ts +10 -13
- package/dist/cli/commands/connector.js +16 -58
- package/dist/cli/commands/connector.js.map +1 -1
- package/dist/cli/commands/deploy.js +218 -71
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/index.js +7 -4
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +10 -30
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/mcp.js +54 -6
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/r2.d.ts +3 -0
- package/dist/cli/commands/r2.js +223 -204
- package/dist/cli/commands/r2.js.map +1 -1
- package/dist/cli/commands/redeploy.js +65 -12
- package/dist/cli/commands/redeploy.js.map +1 -1
- package/dist/cli/commands/reset.d.ts +22 -6
- package/dist/cli/commands/reset.js +132 -34
- package/dist/cli/commands/reset.js.map +1 -1
- package/dist/cli/commands/serve.js +242 -24
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.js +230 -227
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/crypto-bundle.d.ts +39 -0
- package/dist/cli/crypto-bundle.js +94 -0
- package/dist/cli/crypto-bundle.js.map +1 -0
- package/dist/cli/index.js +24 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/railway-pin.d.ts +68 -0
- package/dist/cli/railway-pin.js +96 -0
- package/dist/cli/railway-pin.js.map +1 -0
- package/dist/cli/railway-provisioning.d.ts +53 -0
- package/dist/cli/railway-provisioning.js +85 -0
- package/dist/cli/railway-provisioning.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +30 -49
- package/dist/cli/setup-wizard.js +39 -40
- package/dist/cli/setup-wizard.js.map +1 -1
- package/dist/cli/theme.d.ts +1 -1
- package/dist/core/accent-palette.d.ts +7 -18
- package/dist/core/accent-palette.js +27 -38
- package/dist/core/accent-palette.js.map +1 -1
- package/dist/core/artifact-asset-resolution.d.ts +90 -0
- package/dist/core/artifact-asset-resolution.js +138 -0
- package/dist/core/artifact-asset-resolution.js.map +1 -0
- package/dist/core/artifact-asset-urls.d.ts +111 -0
- package/dist/core/artifact-asset-urls.js +174 -0
- package/dist/core/artifact-asset-urls.js.map +1 -0
- package/dist/core/artifact-bundle.d.ts +69 -0
- package/dist/core/artifact-bundle.js +305 -0
- package/dist/core/artifact-bundle.js.map +1 -0
- package/dist/core/artifact-columns-css.d.ts +38 -0
- package/dist/core/artifact-columns-css.js +157 -0
- package/dist/core/artifact-columns-css.js.map +1 -0
- package/dist/core/artifact-escape.d.ts +5 -0
- package/dist/core/artifact-escape.js +26 -0
- package/dist/core/artifact-escape.js.map +1 -0
- package/dist/core/artifact-export.d.ts +83 -0
- package/dist/core/artifact-export.js +1567 -0
- package/dist/core/artifact-export.js.map +1 -0
- package/dist/core/artifact-frame-document.d.ts +147 -0
- package/dist/core/artifact-frame-document.js +1570 -0
- package/dist/core/artifact-frame-document.js.map +1 -0
- package/dist/core/artifact-frame-layout.d.ts +79 -0
- package/dist/core/artifact-frame-layout.js +94 -0
- package/dist/core/artifact-frame-layout.js.map +1 -0
- package/dist/core/artifact-frame-model.d.ts +271 -0
- package/dist/core/artifact-frame-model.js +824 -0
- package/dist/core/artifact-frame-model.js.map +1 -0
- package/dist/core/artifact-frame-selectors.d.ts +42 -0
- package/dist/core/artifact-frame-selectors.js +65 -0
- package/dist/core/artifact-frame-selectors.js.map +1 -0
- package/dist/core/artifact-libraries.d.ts +23 -0
- package/dist/core/artifact-libraries.js +229 -0
- package/dist/core/artifact-libraries.js.map +1 -0
- package/dist/core/artifact-manifest.d.ts +64 -0
- package/dist/core/artifact-manifest.js +88 -0
- package/dist/core/artifact-manifest.js.map +1 -0
- package/dist/core/artifact-paged-css.d.ts +64 -0
- package/dist/core/artifact-paged-css.js +253 -0
- package/dist/core/artifact-paged-css.js.map +1 -0
- package/dist/core/artifact-patch.d.ts +58 -0
- package/dist/core/artifact-patch.js +327 -0
- package/dist/core/artifact-patch.js.map +1 -0
- package/dist/core/artifact-warnings.d.ts +51 -0
- package/dist/core/artifact-warnings.js +165 -0
- package/dist/core/artifact-warnings.js.map +1 -0
- package/dist/core/breakpoints.d.ts +27 -0
- package/dist/core/breakpoints.js +28 -0
- package/dist/core/breakpoints.js.map +1 -0
- package/dist/core/cell-anchor.d.ts +29 -0
- package/dist/core/cell-anchor.js +53 -0
- package/dist/core/cell-anchor.js.map +1 -0
- package/dist/core/comment-anchor.d.ts +41 -0
- package/dist/core/comment-anchor.js +147 -0
- package/dist/core/comment-anchor.js.map +1 -0
- package/dist/core/commit-messages.d.ts +57 -0
- package/dist/core/commit-messages.js +85 -0
- package/dist/core/commit-messages.js.map +1 -0
- package/dist/core/embeds.d.ts +108 -0
- package/dist/core/embeds.js +226 -0
- package/dist/core/embeds.js.map +1 -0
- package/dist/core/entity-body-templates.d.ts +21 -0
- package/dist/core/entity-body-templates.js +66 -0
- package/dist/core/entity-body-templates.js.map +1 -0
- package/dist/core/entity-types-catalog.d.ts +65 -0
- package/dist/core/entity-types-catalog.js +142 -0
- package/dist/core/entity-types-catalog.js.map +1 -0
- package/dist/core/field-library.d.ts +62 -0
- package/dist/core/field-library.js +129 -0
- package/dist/core/field-library.js.map +1 -0
- package/dist/core/folder-paths.d.ts +41 -0
- package/dist/core/folder-paths.js +95 -0
- package/dist/core/folder-paths.js.map +1 -0
- package/dist/core/folder-sidecar.d.ts +36 -0
- package/dist/core/folder-sidecar.js +91 -0
- package/dist/core/folder-sidecar.js.map +1 -0
- package/dist/core/font-family.d.ts +62 -0
- package/dist/core/font-family.js +84 -0
- package/dist/core/font-family.js.map +1 -0
- package/dist/core/format-registry.d.ts +196 -0
- package/dist/core/format-registry.js +449 -0
- package/dist/core/format-registry.js.map +1 -0
- package/dist/core/graph.d.ts +770 -30
- package/dist/core/graph.js +2282 -386
- package/dist/core/graph.js.map +1 -1
- package/dist/core/history-diff.d.ts +35 -0
- package/dist/core/history-diff.js +114 -0
- package/dist/core/history-diff.js.map +1 -0
- package/dist/core/markdown-strip.d.ts +22 -0
- package/dist/core/markdown-strip.js +51 -0
- package/dist/core/markdown-strip.js.map +1 -0
- package/dist/core/refs.d.ts +41 -0
- package/dist/core/refs.js +80 -0
- package/dist/core/refs.js.map +1 -0
- package/dist/core/schema-registry.d.ts +66 -0
- package/dist/core/schema-registry.js +198 -37
- package/dist/core/schema-registry.js.map +1 -1
- package/dist/core/schemas/connector.d.ts +67 -0
- package/dist/core/schemas/connector.js +100 -0
- package/dist/core/schemas/connector.js.map +1 -0
- package/dist/core/schemas/workspace.d.ts +122 -0
- package/dist/core/schemas/workspace.js +211 -0
- package/dist/core/schemas/workspace.js.map +1 -0
- package/dist/core/secrets/SecretStore.d.ts +77 -0
- package/dist/core/secrets/SecretStore.js +13 -0
- package/dist/core/secrets/SecretStore.js.map +1 -0
- package/dist/core/secrets/SettingsResolver.d.ts +54 -0
- package/dist/core/secrets/SettingsResolver.js +80 -0
- package/dist/core/secrets/SettingsResolver.js.map +1 -0
- package/dist/core/secrets/SettingsStore.d.ts +30 -0
- package/dist/core/secrets/SettingsStore.js +9 -0
- package/dist/core/secrets/SettingsStore.js.map +1 -0
- package/dist/core/secrets/SqliteEncryptedStore.d.ts +90 -0
- package/dist/core/secrets/SqliteEncryptedStore.js +598 -0
- package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
- package/dist/core/secrets/audit.d.ts +36 -0
- package/dist/core/secrets/audit.js +60 -0
- package/dist/core/secrets/audit.js.map +1 -0
- package/dist/core/secrets/auth-db-migration.d.ts +129 -0
- package/dist/core/secrets/auth-db-migration.js +653 -0
- package/dist/core/secrets/auth-db-migration.js.map +1 -0
- package/dist/core/secrets/bundle.d.ts +141 -0
- package/dist/core/secrets/bundle.js +435 -0
- package/dist/core/secrets/bundle.js.map +1 -0
- package/dist/core/secrets/dual-write.d.ts +81 -0
- package/dist/core/secrets/dual-write.js +247 -0
- package/dist/core/secrets/dual-write.js.map +1 -0
- package/dist/core/secrets/encryption.d.ts +44 -0
- package/dist/core/secrets/encryption.js +97 -0
- package/dist/core/secrets/encryption.js.map +1 -0
- package/dist/core/secrets/index.d.ts +49 -0
- package/dist/core/secrets/index.js +74 -0
- package/dist/core/secrets/index.js.map +1 -0
- package/dist/core/secrets/master-key.d.ts +38 -0
- package/dist/core/secrets/master-key.js +122 -0
- package/dist/core/secrets/master-key.js.map +1 -0
- package/dist/core/secrets/probes/anthropic.d.ts +98 -0
- package/dist/core/secrets/probes/anthropic.js +300 -0
- package/dist/core/secrets/probes/anthropic.js.map +1 -0
- package/dist/core/secrets/probes/brave.d.ts +9 -0
- package/dist/core/secrets/probes/brave.js +15 -0
- package/dist/core/secrets/probes/brave.js.map +1 -0
- package/dist/core/secrets/probes/r2.d.ts +15 -0
- package/dist/core/secrets/probes/r2.js +14 -0
- package/dist/core/secrets/probes/r2.js.map +1 -0
- package/dist/core/secrets/probes/tavily.d.ts +18 -0
- package/dist/core/secrets/probes/tavily.js +58 -0
- package/dist/core/secrets/probes/tavily.js.map +1 -0
- package/dist/core/secrets/probes/voyage.d.ts +13 -0
- package/dist/core/secrets/probes/voyage.js +52 -0
- package/dist/core/secrets/probes/voyage.js.map +1 -0
- package/dist/core/secrets/r2-structural-migration.d.ts +39 -0
- package/dist/core/secrets/r2-structural-migration.js +109 -0
- package/dist/core/secrets/r2-structural-migration.js.map +1 -0
- package/dist/core/secrets/read-flip.d.ts +59 -0
- package/dist/core/secrets/read-flip.js +87 -0
- package/dist/core/secrets/read-flip.js.map +1 -0
- package/dist/core/secrets/registry.d.ts +237 -0
- package/dist/core/secrets/registry.js +710 -0
- package/dist/core/secrets/registry.js.map +1 -0
- package/dist/core/seed-folder.d.ts +59 -0
- package/dist/core/seed-folder.js +76 -0
- package/dist/core/seed-folder.js.map +1 -0
- package/dist/core/types.d.ts +88 -480
- package/dist/core/types.js +53 -6
- package/dist/core/types.js.map +1 -1
- package/dist/core/user-config.d.ts +81 -14
- package/dist/core/user-config.js +147 -17
- package/dist/core/user-config.js.map +1 -1
- package/dist/core/validation.d.ts +828 -1472
- package/dist/core/validation.js +475 -163
- package/dist/core/validation.js.map +1 -1
- package/dist/core/view-scope.d.ts +88 -0
- package/dist/core/view-scope.js +71 -0
- package/dist/core/view-scope.js.map +1 -0
- package/dist/core/workspace-manager.d.ts +156 -11
- package/dist/core/workspace-manager.js +364 -92
- package/dist/core/workspace-manager.js.map +1 -1
- package/dist/core/workspace.d.ts +19 -5
- package/dist/core/workspace.js +72 -56
- package/dist/core/workspace.js.map +1 -1
- package/dist/mcp/comment-virtual-entity.d.ts +36 -0
- package/dist/mcp/comment-virtual-entity.js +71 -0
- package/dist/mcp/comment-virtual-entity.js.map +1 -0
- package/dist/mcp/connector-catalog.d.ts +100 -0
- package/dist/mcp/connector-catalog.js +393 -0
- package/dist/mcp/connector-catalog.js.map +1 -0
- package/dist/mcp/connector-manager.d.ts +72 -2
- package/dist/mcp/connector-manager.js +216 -32
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/mcp/oauth-provider.d.ts +0 -5
- package/dist/mcp/oauth-provider.js +31 -25
- package/dist/mcp/oauth-provider.js.map +1 -1
- package/dist/mcp/oauth-registry.d.ts +46 -8
- package/dist/mcp/oauth-registry.js +52 -13
- package/dist/mcp/oauth-registry.js.map +1 -1
- package/dist/mcp/server-discovery.d.ts +73 -0
- package/dist/mcp/server-discovery.js +164 -0
- package/dist/mcp/server-discovery.js.map +1 -0
- package/dist/mcp/server.d.ts +24 -3
- package/dist/mcp/server.js +53 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/state-signer.d.ts +62 -0
- package/dist/mcp/state-signer.js +205 -0
- package/dist/mcp/state-signer.js.map +1 -0
- package/dist/mcp/stdio-proxy.d.ts +67 -0
- package/dist/mcp/stdio-proxy.js +149 -0
- package/dist/mcp/stdio-proxy.js.map +1 -0
- package/dist/mcp/tools.d.ts +73 -2
- package/dist/mcp/tools.js +2317 -115
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/__tests__/helpers/graph-api.d.ts +17 -0
- package/dist/server/__tests__/helpers/graph-api.js +17 -0
- package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
- package/dist/server/__tests__/helpers/multipart.d.ts +9 -0
- package/dist/server/__tests__/helpers/multipart.js +14 -0
- package/dist/server/__tests__/helpers/multipart.js.map +1 -0
- package/dist/server/agent-task-executor.d.ts +30 -0
- package/dist/server/agent-task-executor.js +139 -0
- package/dist/server/agent-task-executor.js.map +1 -0
- package/dist/server/agent-task-runner.d.ts +126 -0
- package/dist/server/agent-task-runner.js +351 -0
- package/dist/server/agent-task-runner.js.map +1 -0
- package/dist/server/artifact-asset-mint.d.ts +59 -0
- package/dist/server/artifact-asset-mint.js +127 -0
- package/dist/server/artifact-asset-mint.js.map +1 -0
- package/dist/server/asset-index-queue.d.ts +98 -0
- package/dist/server/asset-index-queue.js +193 -0
- package/dist/server/asset-index-queue.js.map +1 -0
- package/dist/server/body-write-coordinator.d.ts +161 -0
- package/dist/server/body-write-coordinator.js +182 -0
- package/dist/server/body-write-coordinator.js.map +1 -0
- package/dist/server/canonical-origin.d.ts +41 -0
- package/dist/server/canonical-origin.js +62 -0
- package/dist/server/canonical-origin.js.map +1 -0
- package/dist/server/cloud-billing-flow.d.ts +32 -0
- package/dist/server/cloud-billing-flow.js +75 -0
- package/dist/server/cloud-billing-flow.js.map +1 -0
- package/dist/server/commit-audit.d.ts +26 -0
- package/dist/server/commit-audit.js +30 -0
- package/dist/server/commit-audit.js.map +1 -0
- package/dist/server/index.d.ts +50 -1
- package/dist/server/index.js +811 -229
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/sanitize.d.ts +46 -0
- package/dist/server/middleware/sanitize.js +195 -0
- package/dist/server/middleware/sanitize.js.map +1 -0
- package/dist/server/process-guards.d.ts +37 -0
- package/dist/server/process-guards.js +44 -0
- package/dist/server/process-guards.js.map +1 -0
- package/dist/server/routes/ai-usage-api.d.ts +24 -0
- package/dist/server/routes/ai-usage-api.js +68 -0
- package/dist/server/routes/ai-usage-api.js.map +1 -0
- package/dist/server/routes/artifact-export-api.d.ts +11 -0
- package/dist/server/routes/artifact-export-api.js +179 -0
- package/dist/server/routes/artifact-export-api.js.map +1 -0
- package/dist/server/routes/artifact-patch-api.d.ts +19 -0
- package/dist/server/routes/artifact-patch-api.js +114 -0
- package/dist/server/routes/artifact-patch-api.js.map +1 -0
- package/dist/server/routes/artifact-selection-api.d.ts +15 -0
- package/dist/server/routes/artifact-selection-api.js +90 -0
- package/dist/server/routes/artifact-selection-api.js.map +1 -0
- package/dist/server/routes/asset-api.d.ts +88 -2
- package/dist/server/routes/asset-api.js +858 -112
- package/dist/server/routes/asset-api.js.map +1 -1
- package/dist/server/routes/audit-api.d.ts +24 -0
- package/dist/server/routes/audit-api.js +113 -0
- package/dist/server/routes/audit-api.js.map +1 -0
- package/dist/server/routes/auth-api.js +536 -44
- package/dist/server/routes/auth-api.js.map +1 -1
- package/dist/server/routes/capture-api.js +81 -9
- package/dist/server/routes/capture-api.js.map +1 -1
- package/dist/server/routes/chat-sessions-api.d.ts +13 -0
- package/dist/server/routes/chat-sessions-api.js +500 -0
- package/dist/server/routes/chat-sessions-api.js.map +1 -0
- package/dist/server/routes/chat-turn-outcome.d.ts +129 -0
- package/dist/server/routes/chat-turn-outcome.js +169 -0
- package/dist/server/routes/chat-turn-outcome.js.map +1 -0
- package/dist/server/routes/chat.d.ts +35 -1
- package/dist/server/routes/chat.js +1173 -80
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/server/routes/comments-api.d.ts +15 -0
- package/dist/server/routes/comments-api.js +444 -0
- package/dist/server/routes/comments-api.js.map +1 -0
- package/dist/server/routes/config-api.d.ts +3 -2
- package/dist/server/routes/config-api.js +183 -57
- package/dist/server/routes/config-api.js.map +1 -1
- package/dist/server/routes/connectors-api.js +213 -56
- package/dist/server/routes/connectors-api.js.map +1 -1
- package/dist/server/routes/event-ingest-api.d.ts +15 -0
- package/dist/server/routes/event-ingest-api.js +125 -0
- package/dist/server/routes/event-ingest-api.js.map +1 -0
- package/dist/server/routes/field-library-api.d.ts +28 -0
- package/dist/server/routes/field-library-api.js +126 -0
- package/dist/server/routes/field-library-api.js.map +1 -0
- package/dist/server/routes/git-http.d.ts +3 -3
- package/dist/server/routes/git-http.js +90 -30
- package/dist/server/routes/git-http.js.map +1 -1
- package/dist/server/routes/graph-api-access.d.ts +63 -0
- package/dist/server/routes/graph-api-access.js +115 -0
- package/dist/server/routes/graph-api-access.js.map +1 -0
- package/dist/server/routes/graph-api.d.ts +2 -3
- package/dist/server/routes/graph-api.js +1476 -417
- package/dist/server/routes/graph-api.js.map +1 -1
- package/dist/server/routes/health.d.ts +18 -0
- package/dist/server/routes/health.js +116 -0
- package/dist/server/routes/health.js.map +1 -0
- package/dist/server/routes/import-batch.d.ts +24 -0
- package/dist/server/routes/import-batch.js +33 -0
- package/dist/server/routes/import-batch.js.map +1 -0
- package/dist/server/routes/insights-api.d.ts +9 -2
- package/dist/server/routes/insights-api.js +352 -66
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/routes/mcp.d.ts +8 -3
- package/dist/server/routes/mcp.js +24 -8
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/oauth-api.d.ts +63 -0
- package/dist/server/routes/oauth-api.js +413 -0
- package/dist/server/routes/oauth-api.js.map +1 -0
- package/dist/server/routes/permissions-api.d.ts +8 -3
- package/dist/server/routes/permissions-api.js +43 -12
- package/dist/server/routes/permissions-api.js.map +1 -1
- package/dist/server/routes/r2-api.d.ts +25 -0
- package/dist/server/routes/r2-api.js +273 -0
- package/dist/server/routes/r2-api.js.map +1 -0
- package/dist/server/routes/secrets-api.d.ts +36 -0
- package/dist/server/routes/secrets-api.js +305 -0
- package/dist/server/routes/secrets-api.js.map +1 -0
- package/dist/server/routes/settings-api.d.ts +29 -0
- package/dist/server/routes/settings-api.js +177 -0
- package/dist/server/routes/settings-api.js.map +1 -0
- package/dist/server/routes/share-api.d.ts +30 -6
- package/dist/server/routes/share-api.js +240 -31
- package/dist/server/routes/share-api.js.map +1 -1
- package/dist/server/routes/views-api.d.ts +11 -2
- package/dist/server/routes/views-api.js +123 -22
- package/dist/server/routes/views-api.js.map +1 -1
- package/dist/server/routes/workspace-api.d.ts +2 -1
- package/dist/server/routes/workspace-api.js +150 -23
- package/dist/server/routes/workspace-api.js.map +1 -1
- package/dist/server/routes/ws.d.ts +2 -1
- package/dist/server/routes/ws.js +73 -20
- package/dist/server/routes/ws.js.map +1 -1
- package/dist/server/session-manager.d.ts +48 -5
- package/dist/server/session-manager.js +182 -14
- package/dist/server/session-manager.js.map +1 -1
- package/dist/server/ws-hub.d.ts +135 -56
- package/dist/server/ws-hub.js +0 -0
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +275 -18
- package/dist/server/yjs-manager.js +819 -70
- package/dist/server/yjs-manager.js.map +1 -1
- package/dist/server/yjs-persistence.d.ts +165 -0
- package/dist/server/yjs-persistence.js +557 -0
- package/dist/server/yjs-persistence.js.map +1 -0
- package/dist/server/yjs-text-diff.d.ts +32 -0
- package/dist/server/yjs-text-diff.js +61 -0
- package/dist/server/yjs-text-diff.js.map +1 -0
- package/dist/services/access-control.d.ts +121 -0
- package/dist/services/access-control.js +194 -0
- package/dist/services/access-control.js.map +1 -0
- package/dist/services/agent-task-store.d.ts +96 -0
- package/dist/services/agent-task-store.js +184 -0
- package/dist/services/agent-task-store.js.map +1 -0
- package/dist/services/ai-usage-ledger.d.ts +75 -0
- package/dist/services/ai-usage-ledger.js +250 -0
- package/dist/services/ai-usage-ledger.js.map +1 -0
- package/dist/services/artifact-asset-token.d.ts +69 -0
- package/dist/services/artifact-asset-token.js +94 -0
- package/dist/services/artifact-asset-token.js.map +1 -0
- package/dist/services/artifact-inspect-metadata.d.ts +21 -0
- package/dist/services/artifact-inspect-metadata.js +66 -0
- package/dist/services/artifact-inspect-metadata.js.map +1 -0
- package/dist/services/artifact-library-sources.d.ts +28 -0
- package/dist/services/artifact-library-sources.js +83 -0
- package/dist/services/artifact-library-sources.js.map +1 -0
- package/dist/services/artifact-patch-runner.d.ts +52 -0
- package/dist/services/artifact-patch-runner.js +74 -0
- package/dist/services/artifact-patch-runner.js.map +1 -0
- package/dist/services/artifact-render-export.d.ts +261 -0
- package/dist/services/artifact-render-export.js +1088 -0
- package/dist/services/artifact-render-export.js.map +1 -0
- package/dist/services/artifact-selection-store.d.ts +68 -0
- package/dist/services/artifact-selection-store.js +90 -0
- package/dist/services/artifact-selection-store.js.map +1 -0
- package/dist/services/artifact-store.d.ts +124 -0
- package/dist/services/artifact-store.js +260 -0
- package/dist/services/artifact-store.js.map +1 -0
- package/dist/services/asset-caption-service.d.ts +103 -0
- package/dist/services/asset-caption-service.js +200 -0
- package/dist/services/asset-caption-service.js.map +1 -0
- package/dist/services/asset-delete-authz.d.ts +32 -0
- package/dist/services/asset-delete-authz.js +62 -0
- package/dist/services/asset-delete-authz.js.map +1 -0
- package/dist/services/asset-delete-impact.d.ts +63 -0
- package/dist/services/asset-delete-impact.js +96 -0
- package/dist/services/asset-delete-impact.js.map +1 -0
- package/dist/services/asset-finalize-service.d.ts +58 -0
- package/dist/services/asset-finalize-service.js +216 -0
- package/dist/services/asset-finalize-service.js.map +1 -0
- package/dist/services/asset-import-service.d.ts +116 -0
- package/dist/services/asset-import-service.js +486 -0
- package/dist/services/asset-import-service.js.map +1 -0
- package/dist/services/asset-index-sweep.d.ts +95 -0
- package/dist/services/asset-index-sweep.js +271 -0
- package/dist/services/asset-index-sweep.js.map +1 -0
- package/dist/services/asset-lifecycle-check.d.ts +22 -0
- package/dist/services/asset-lifecycle-check.js +80 -0
- package/dist/services/asset-lifecycle-check.js.map +1 -0
- package/dist/services/asset-listing.d.ts +63 -0
- package/dist/services/asset-listing.js +124 -0
- package/dist/services/asset-listing.js.map +1 -0
- package/dist/services/asset-move-impact.d.ts +49 -0
- package/dist/services/asset-move-impact.js +62 -0
- package/dist/services/asset-move-impact.js.map +1 -0
- package/dist/services/asset-presign-service.d.ts +62 -0
- package/dist/services/asset-presign-service.js +126 -0
- package/dist/services/asset-presign-service.js.map +1 -0
- package/dist/services/asset-reference-index.d.ts +39 -0
- package/dist/services/asset-reference-index.js +33 -0
- package/dist/services/asset-reference-index.js.map +1 -0
- package/dist/services/asset-reference-scan.d.ts +57 -0
- package/dist/services/asset-reference-scan.js +150 -0
- package/dist/services/asset-reference-scan.js.map +1 -0
- package/dist/services/asset-sidecar-service.d.ts +28 -0
- package/dist/services/asset-sidecar-service.js +79 -0
- package/dist/services/asset-sidecar-service.js.map +1 -0
- package/dist/services/asset-upload-errors.d.ts +41 -0
- package/dist/services/asset-upload-errors.js +45 -0
- package/dist/services/asset-upload-errors.js.map +1 -0
- package/dist/services/asset-upload-service.d.ts +56 -0
- package/dist/services/asset-upload-service.js +200 -0
- package/dist/services/asset-upload-service.js.map +1 -0
- package/dist/services/asset-upload-token.d.ts +58 -0
- package/dist/services/asset-upload-token.js +75 -0
- package/dist/services/asset-upload-token.js.map +1 -0
- package/dist/services/assets/asset-index-service.d.ts +158 -0
- package/dist/services/assets/asset-index-service.js +293 -0
- package/dist/services/assets/asset-index-service.js.map +1 -0
- package/dist/services/assets/base.d.ts +119 -4
- package/dist/services/assets/base.js +148 -3
- package/dist/services/assets/base.js.map +1 -1
- package/dist/services/assets/index.d.ts +90 -0
- package/dist/services/assets/index.js +202 -0
- package/dist/services/assets/index.js.map +1 -1
- package/dist/services/assets/local.d.ts +9 -0
- package/dist/services/assets/local.js +30 -4
- package/dist/services/assets/local.js.map +1 -1
- package/dist/services/assets/r2-sync.d.ts +88 -0
- package/dist/services/assets/r2-sync.js +412 -0
- package/dist/services/assets/r2-sync.js.map +1 -0
- package/dist/services/assets/r2.d.ts +80 -0
- package/dist/services/assets/r2.js +159 -4
- package/dist/services/assets/r2.js.map +1 -1
- package/dist/services/auth-service.d.ts +278 -51
- package/dist/services/auth-service.js +995 -272
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/chat-session-service.d.ts +197 -0
- package/dist/services/chat-session-service.js +552 -0
- package/dist/services/chat-session-service.js.map +1 -0
- package/dist/services/cloud-inference-billing.d.ts +64 -0
- package/dist/services/cloud-inference-billing.js +321 -0
- package/dist/services/cloud-inference-billing.js.map +1 -0
- package/dist/services/comment-service.d.ts +97 -0
- package/dist/services/comment-service.js +341 -0
- package/dist/services/comment-service.js.map +1 -0
- package/dist/services/comment-virtual-entity.d.ts +36 -0
- package/dist/services/comment-virtual-entity.js +71 -0
- package/dist/services/comment-virtual-entity.js.map +1 -0
- package/dist/services/convert-service.d.ts +64 -0
- package/dist/services/convert-service.js +68 -0
- package/dist/services/convert-service.js.map +1 -0
- package/dist/services/csv-service.d.ts +22 -17
- package/dist/services/csv-service.js +55 -92
- package/dist/services/csv-service.js.map +1 -1
- package/dist/services/entity-mutations.d.ts +313 -0
- package/dist/services/entity-mutations.js +531 -0
- package/dist/services/entity-mutations.js.map +1 -0
- package/dist/services/event-processor.d.ts +104 -0
- package/dist/services/event-processor.js +451 -0
- package/dist/services/event-processor.js.map +1 -0
- package/dist/services/extract/docx.d.ts +1 -0
- package/dist/services/extract/docx.js +233 -0
- package/dist/services/extract/docx.js.map +1 -0
- package/dist/services/extract/index.d.ts +9 -0
- package/dist/services/extract/index.js +10 -0
- package/dist/services/extract/index.js.map +1 -0
- package/dist/services/extract/pdf.d.ts +13 -0
- package/dist/services/extract/pdf.js +69 -0
- package/dist/services/extract/pdf.js.map +1 -0
- package/dist/services/folder-creation.d.ts +33 -0
- package/dist/services/folder-creation.js +103 -0
- package/dist/services/folder-creation.js.map +1 -0
- package/dist/services/fonts/font-metadata.d.ts +42 -0
- package/dist/services/fonts/font-metadata.js +126 -0
- package/dist/services/fonts/font-metadata.js.map +1 -0
- package/dist/services/fonts/font-skill-service.d.ts +66 -0
- package/dist/services/fonts/font-skill-service.js +137 -0
- package/dist/services/fonts/font-skill-service.js.map +1 -0
- package/dist/services/git.d.ts +58 -0
- package/dist/services/git.js +194 -55
- package/dist/services/git.js.map +1 -1
- package/dist/services/graph-maintenance.js +4 -4
- package/dist/services/graph-maintenance.js.map +1 -1
- package/dist/services/import-service.d.ts +51 -2
- package/dist/services/import-service.js +271 -109
- package/dist/services/import-service.js.map +1 -1
- package/dist/services/lint-service.js +10 -17
- package/dist/services/lint-service.js.map +1 -1
- package/dist/services/markdown.d.ts +12 -1
- package/dist/services/markdown.js +77 -9
- package/dist/services/markdown.js.map +1 -1
- package/dist/services/mention-detector.d.ts +23 -0
- package/dist/services/mention-detector.js +47 -0
- package/dist/services/mention-detector.js.map +1 -0
- package/dist/services/model-capabilities.d.ts +41 -0
- package/dist/services/model-capabilities.js +107 -0
- package/dist/services/model-capabilities.js.map +1 -0
- package/dist/services/notification-broadcast.d.ts +32 -0
- package/dist/services/notification-broadcast.js +38 -0
- package/dist/services/notification-broadcast.js.map +1 -0
- package/dist/services/notification-service.d.ts +41 -0
- package/dist/services/notification-service.js +100 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/oauth-server-store.d.ts +147 -0
- package/dist/services/oauth-server-store.js +319 -0
- package/dist/services/oauth-server-store.js.map +1 -0
- package/dist/services/orphan-service.js +2 -2
- package/dist/services/orphan-service.js.map +1 -1
- package/dist/services/pdf-raster-service.d.ts +95 -0
- package/dist/services/pdf-raster-service.js +361 -0
- package/dist/services/pdf-raster-service.js.map +1 -0
- package/dist/services/personal-folder.d.ts +49 -0
- package/dist/services/personal-folder.js +122 -0
- package/dist/services/personal-folder.js.map +1 -0
- package/dist/services/playwright-bootstrap.d.ts +78 -0
- package/dist/services/playwright-bootstrap.js +219 -0
- package/dist/services/playwright-bootstrap.js.map +1 -0
- package/dist/services/scratch-asset-promote.d.ts +57 -0
- package/dist/services/scratch-asset-promote.js +95 -0
- package/dist/services/scratch-asset-promote.js.map +1 -0
- package/dist/services/scratch-attachment-service.d.ts +247 -0
- package/dist/services/scratch-attachment-service.js +478 -0
- package/dist/services/scratch-attachment-service.js.map +1 -0
- package/dist/services/scratch-blob.d.ts +16 -0
- package/dist/services/scratch-blob.js +31 -0
- package/dist/services/scratch-blob.js.map +1 -0
- package/dist/services/share-link-service.d.ts +57 -0
- package/dist/services/share-link-service.js +142 -0
- package/dist/services/share-link-service.js.map +1 -0
- package/dist/services/user-person-bridge.d.ts +136 -0
- package/dist/services/user-person-bridge.js +341 -0
- package/dist/services/user-person-bridge.js.map +1 -0
- package/dist/services/utility-model-resolver.d.ts +37 -0
- package/dist/services/utility-model-resolver.js +67 -0
- package/dist/services/utility-model-resolver.js.map +1 -0
- package/dist/services/vector-service.d.ts +282 -5
- package/dist/services/vector-service.js +594 -39
- package/dist/services/vector-service.js.map +1 -1
- package/dist/services/workspace-access.d.ts +115 -0
- package/dist/services/workspace-access.js +154 -0
- package/dist/services/workspace-access.js.map +1 -0
- package/dist/services/workspace-assets-folder.d.ts +46 -0
- package/dist/services/workspace-assets-folder.js +75 -0
- package/dist/services/workspace-assets-folder.js.map +1 -0
- package/dist/utils/git.d.ts +17 -2
- package/dist/utils/git.js +23 -7
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/log.d.ts +42 -0
- package/dist/utils/log.js +137 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/preflight.js +2 -2
- package/dist/utils/preflight.js.map +1 -1
- package/dist/utils/version-checker.d.ts +12 -19
- package/dist/utils/version-checker.js +14 -104
- package/dist/utils/version-checker.js.map +1 -1
- package/dist/web/_app/immutable/assets/0.EQ13aeT7.css +2 -0
- package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
- package/dist/web/_app/immutable/assets/13.WUaKJbVc.css +1 -0
- package/dist/web/_app/immutable/assets/15.CItnu3nw.css +1 -0
- package/dist/web/_app/immutable/assets/16.C3czeWWx.css +1 -0
- package/dist/web/_app/immutable/assets/17.CHiwoAMO.css +1 -0
- package/dist/web/_app/immutable/assets/18.fUGuXQ0K.css +1 -0
- package/dist/web/_app/immutable/assets/19.DcuK5ZVm.css +1 -0
- package/dist/web/_app/immutable/assets/2.D-t-UF92.css +1 -0
- package/dist/web/_app/immutable/assets/3.NwBs3e5P.css +1 -0
- package/dist/web/_app/immutable/assets/4.BS2tc0bg.css +1 -0
- package/dist/web/_app/immutable/assets/6.qYwAAyw6.css +1 -0
- package/dist/web/_app/immutable/assets/AssetLibraryPicker.BWH260L8.css +1 -0
- package/dist/web/_app/immutable/assets/BulkActionsBar.C7rAqpQH.css +1 -0
- package/dist/web/_app/immutable/assets/CalendarView.BPjGVS79.css +1 -0
- package/dist/web/_app/immutable/assets/CodeMirrorEditor.D6hf2pNJ.css +1 -0
- package/dist/web/_app/immutable/assets/CopyField.DVGZtw4U.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMembersPanel.BvV1lBCg.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMutationDialogs.De2NQ55E.css +1 -0
- package/dist/web/_app/immutable/assets/FolderPicker.Cq1tMnu_.css +1 -0
- package/dist/web/_app/immutable/assets/FolderTreeField.DTSzn15s.css +1 -0
- package/dist/web/_app/immutable/assets/FrameCanvas.Clh5Xdr7.css +1 -0
- package/dist/web/_app/immutable/assets/GalleryView.Dmr8-vDv.css +1 -0
- package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
- package/dist/web/_app/immutable/assets/GridCell.DnKM4Fcp.css +1 -0
- package/dist/web/_app/immutable/assets/KanbanView.CRc-eYXO.css +1 -0
- package/dist/web/_app/immutable/assets/Link.vV0ne105.css +1 -0
- package/dist/web/_app/immutable/assets/Markdown.CSYKSAm0.css +1 -0
- package/dist/web/_app/immutable/assets/Rail.CCPxL1o_.css +1 -0
- package/dist/web/_app/immutable/assets/RepoCheckList.BLeJ79Eg.css +1 -0
- package/dist/web/_app/immutable/assets/RowSelectSlot.BKY62Bks.css +1 -0
- package/dist/web/_app/immutable/assets/SaveViewDialog.Bb9E81xd.css +1 -0
- package/dist/web/_app/immutable/assets/SearchInput.DTB6W35f.css +1 -0
- package/dist/web/_app/immutable/assets/SettingsDialog.CFukBBGR.css +1 -0
- package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
- package/dist/web/_app/immutable/assets/StopFilledAlt.CjuwgVxu.css +1 -0
- package/dist/web/_app/immutable/assets/TimelineView.u4YqiztR.css +1 -0
- package/dist/web/_app/immutable/assets/Version.BQq1Fihu.css +1 -0
- package/dist/web/_app/immutable/assets/ViewBanner.DWswnFdi.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.CONYOyXk.css +1 -0
- package/dist/web/_app/immutable/assets/button.DOg1smbV.css +1 -0
- package/dist/web/_app/immutable/assets/checkbox.CAcHq8G6.css +1 -0
- package/dist/web/_app/immutable/assets/download-with-progress.BZlFTn09.css +1 -0
- package/dist/web/_app/immutable/assets/filters.RgfXKVpA.css +1 -0
- package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.BNK2_mGO.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-italic.DpEwFAQM.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2 +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff +0 -0
- package/dist/web/_app/immutable/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2 +0 -0
- package/dist/web/_app/immutable/assets/list-columns.BgnafZ4K.css +1 -0
- package/dist/web/_app/immutable/chunks/-MYqXlc3.js +185 -0
- package/dist/web/_app/immutable/chunks/0iYgHjxP2.js +2 -0
- package/dist/web/_app/immutable/chunks/1_BWKAKA2.js +23 -0
- package/dist/web/_app/immutable/chunks/6guf_P8c.js +1 -0
- package/dist/web/_app/immutable/chunks/AdUGDNY9.js +2 -0
- package/dist/web/_app/immutable/chunks/B0BPsOkj2.js +1 -0
- package/dist/web/_app/immutable/chunks/B2cjR0rG.js +83 -0
- package/dist/web/_app/immutable/chunks/B41i8cw52.js +2 -0
- package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
- package/dist/web/_app/immutable/chunks/B8gdzLRB2.js +1041 -0
- package/dist/web/_app/immutable/chunks/B9KfEsQw2.js +1 -0
- package/dist/web/_app/immutable/chunks/B9MY422N.js +1 -0
- package/dist/web/_app/immutable/chunks/BCMCHGnl2.js +1 -0
- package/dist/web/_app/immutable/chunks/BEnhEpl4.js +2 -0
- package/dist/web/_app/immutable/chunks/BEyPhM3C.js +1 -0
- package/dist/web/_app/immutable/chunks/BKZ9xpix2.js +1 -0
- package/dist/web/_app/immutable/chunks/BO6-nRV9.js +1 -0
- package/dist/web/_app/immutable/chunks/BPILs-6H.js +1 -0
- package/dist/web/_app/immutable/chunks/BPRQzMGs.js +1 -0
- package/dist/web/_app/immutable/chunks/BQE7bWgF.js +1 -0
- package/dist/web/_app/immutable/chunks/BQQaOOf3.js +1 -0
- package/dist/web/_app/immutable/chunks/BTFf1mFm.js +1 -0
- package/dist/web/_app/immutable/chunks/BUcmsNfi.js +3 -0
- package/dist/web/_app/immutable/chunks/BVKswxB62.js +66 -0
- package/dist/web/_app/immutable/chunks/B_H-sCl92.js +1 -0
- package/dist/web/_app/immutable/chunks/B_d4zq-4.js +2 -0
- package/dist/web/_app/immutable/chunks/B_y9A6Kg.js +4 -0
- package/dist/web/_app/immutable/chunks/Ba53qoVO.js +1 -0
- package/dist/web/_app/immutable/chunks/BdR7t2GN.js +3 -0
- package/dist/web/_app/immutable/chunks/BeF_YrEc2.js +1 -0
- package/dist/web/_app/immutable/chunks/BlsIMcBq.js +1 -0
- package/dist/web/_app/immutable/chunks/BnYohOts2.js +1 -0
- package/dist/web/_app/immutable/chunks/BqButnP4.js +1 -0
- package/dist/web/_app/immutable/chunks/BsKd-PCm.js +1 -0
- package/dist/web/_app/immutable/chunks/BtDSRU36.js +1 -0
- package/dist/web/_app/immutable/chunks/BuHbdNQt2.js +1 -0
- package/dist/web/_app/immutable/chunks/Bvr6nSm92.js +1 -0
- package/dist/web/_app/immutable/chunks/BvyVm7-j.js +184 -0
- package/dist/web/_app/immutable/chunks/Bx6T8G5n2.js +1 -0
- package/dist/web/_app/immutable/chunks/BxeOdaUQ.js +1 -0
- package/dist/web/_app/immutable/chunks/C1B4xDs0.js +1 -0
- package/dist/web/_app/immutable/chunks/C2yz630b.js +2 -0
- package/dist/web/_app/immutable/chunks/C45ocJQC2.js +1 -0
- package/dist/web/_app/immutable/chunks/C5YoDj-e.js +1 -0
- package/dist/web/_app/immutable/chunks/C6d9nn3k.js +1 -0
- package/dist/web/_app/immutable/chunks/C8ZiSqQm.js +1 -0
- package/dist/web/_app/immutable/chunks/CA8NGDnJ.js +1 -0
- package/dist/web/_app/immutable/chunks/CB-t1Bv-.js +1 -0
- package/dist/web/_app/immutable/chunks/CBDveU8k.js +6 -0
- package/dist/web/_app/immutable/chunks/CEQy5B8f2.js +1 -0
- package/dist/web/_app/immutable/chunks/CI12Gaeg.js +1 -0
- package/dist/web/_app/immutable/chunks/CIvNZDmy.js +1 -0
- package/dist/web/_app/immutable/chunks/CKGHeJzq.js +1 -0
- package/dist/web/_app/immutable/chunks/CL_APTyv.js +1 -0
- package/dist/web/_app/immutable/chunks/CM400nLL.js +7 -0
- package/dist/web/_app/immutable/chunks/CMttYaeT2.js +2 -0
- package/dist/web/_app/immutable/chunks/CPvxN2G62.js +1 -0
- package/dist/web/_app/immutable/chunks/CT35tdLp.js +1 -0
- package/dist/web/_app/immutable/chunks/CWIHttTH.js +1 -0
- package/dist/web/_app/immutable/chunks/CWZSexLW.js +1 -0
- package/dist/web/_app/immutable/chunks/CXPMb3zd.js +1 -0
- package/dist/web/_app/immutable/chunks/CX_WuP2f.js +1 -0
- package/dist/web/_app/immutable/chunks/CZWZNDRS2.js +1 -0
- package/dist/web/_app/immutable/chunks/C_A_y7x5.js +2 -0
- package/dist/web/_app/immutable/chunks/CaimSvvF.js +5 -0
- package/dist/web/_app/immutable/chunks/Cakxkuk5.js +1 -0
- package/dist/web/_app/immutable/chunks/CbOk_o5_.js +2 -0
- package/dist/web/_app/immutable/chunks/Cbl4aytm2.js +1 -0
- package/dist/web/_app/immutable/chunks/CcWaWbrI2.js +1 -0
- package/dist/web/_app/immutable/chunks/CgCz4Fj6.js +1 -0
- package/dist/web/_app/immutable/chunks/CgOgBK5j.js +1 -0
- package/dist/web/_app/immutable/chunks/ChuPYjb5.js +1 -0
- package/dist/web/_app/immutable/chunks/ClIEtyi4.js +1 -0
- package/dist/web/_app/immutable/chunks/CmWflMFc.js +1 -0
- package/dist/web/_app/immutable/chunks/Cm_yhEon2.js +1 -0
- package/dist/web/_app/immutable/chunks/CoyEQ_5V.js +1 -0
- package/dist/web/_app/immutable/chunks/CqyFdLMa.js +1 -0
- package/dist/web/_app/immutable/chunks/CrM8HKY2.js +5 -0
- package/dist/web/_app/immutable/chunks/CsIWxmio2.js +22 -0
- package/dist/web/_app/immutable/chunks/CswcvBI22.js +1 -0
- package/dist/web/_app/immutable/chunks/CtgdtZ0G2.js +1 -0
- package/dist/web/_app/immutable/chunks/CyTgggiM2.js +1 -0
- package/dist/web/_app/immutable/chunks/D6toh9Mr.js +1 -0
- package/dist/web/_app/immutable/chunks/DBGaXAP8.js +1 -0
- package/dist/web/_app/immutable/chunks/DCgKWtld.js +1 -0
- package/dist/web/_app/immutable/chunks/DHepCXpt.js +2 -0
- package/dist/web/_app/immutable/chunks/DIsSxB_C.js +1 -0
- package/dist/web/_app/immutable/chunks/DJTvBXur.js +2 -0
- package/dist/web/_app/immutable/chunks/DLuIHCPq.js +1 -0
- package/dist/web/_app/immutable/chunks/DNLoQniz.js +1 -0
- package/dist/web/_app/immutable/chunks/DO_V9Cgc.js +1 -0
- package/dist/web/_app/immutable/chunks/DPI7dnke.js +2692 -0
- package/dist/web/_app/immutable/chunks/DPLkAijI2.js +1 -0
- package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
- package/dist/web/_app/immutable/chunks/DWH6DgCd2.js +2 -0
- package/dist/web/_app/immutable/chunks/DYi0TLhD.js +1 -0
- package/dist/web/_app/immutable/chunks/DZ2Zr5zb.js +1 -0
- package/dist/web/_app/immutable/chunks/DbOFiaoY.js +1 -0
- package/dist/web/_app/immutable/chunks/Ddgu2Sjp.js +1 -0
- package/dist/web/_app/immutable/chunks/DfUXQOZ92.js +1 -0
- package/dist/web/_app/immutable/chunks/DgP0Pxes.js +224 -0
- package/dist/web/_app/immutable/chunks/Dhmw5GUH.js +1 -0
- package/dist/web/_app/immutable/chunks/DiMsLIh3.js +1 -0
- package/dist/web/_app/immutable/chunks/DiiXREv7.js +1 -0
- package/dist/web/_app/immutable/chunks/Dk2-JtmU2.js +1 -0
- package/dist/web/_app/immutable/chunks/Dl0bYyV_.js +1 -0
- package/dist/web/_app/immutable/chunks/DurEh4us2.js +1 -0
- package/dist/web/_app/immutable/chunks/DvMpJfpG.js +12 -0
- package/dist/web/_app/immutable/chunks/Dvj33Rn2.js +1 -0
- package/dist/web/_app/immutable/chunks/DvylWUzx.js +1 -0
- package/dist/web/_app/immutable/chunks/DwuBUEvU.js +1 -0
- package/dist/web/_app/immutable/chunks/DzaWUnWv.js +3 -0
- package/dist/web/_app/immutable/chunks/F92HmKX8.js +1 -0
- package/dist/web/_app/immutable/chunks/FISIvbqq.js +3 -0
- package/dist/web/_app/immutable/chunks/GC5Izn9E2.js +1 -0
- package/dist/web/_app/immutable/chunks/G_Qn9TDJ.js +1 -0
- package/dist/web/_app/immutable/chunks/Gk29olsw2.js +2 -0
- package/dist/web/_app/immutable/chunks/HDLg5UkK.js +2 -0
- package/dist/web/_app/immutable/chunks/IMJutqSu2.js +1 -0
- package/dist/web/_app/immutable/chunks/MAYbL-xn2.js +6 -0
- package/dist/web/_app/immutable/chunks/MMtHlrry.js +1 -0
- package/dist/web/_app/immutable/chunks/MtN4vJa02.js +1 -0
- package/dist/web/_app/immutable/chunks/NhtQS20X.js +1 -0
- package/dist/web/_app/immutable/chunks/Oglnp7sm2.js +14 -0
- package/dist/web/_app/immutable/chunks/QsO256-z.js +1 -0
- package/dist/web/_app/immutable/chunks/RA-JwTzo.js +1 -0
- package/dist/web/_app/immutable/chunks/aSBc8N1l.js +1 -0
- package/dist/web/_app/immutable/chunks/dCZb8Wbu.js +1 -0
- package/dist/web/_app/immutable/chunks/j6ZT0Fzw2.js +2 -0
- package/dist/web/_app/immutable/chunks/jB_mSyDz.js +1 -0
- package/dist/web/_app/immutable/chunks/j_uHTBnD.js +1 -0
- package/dist/web/_app/immutable/chunks/joKsoiFC.js +1 -0
- package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
- package/dist/web/_app/immutable/chunks/nqo2e2Yv.js +1 -0
- package/dist/web/_app/immutable/chunks/qevfNcid.js +1 -0
- package/dist/web/_app/immutable/chunks/rW9JG922.js +2 -0
- package/dist/web/_app/immutable/chunks/rjjyuGhb.js +1 -0
- package/dist/web/_app/immutable/chunks/sE-xIBIx2.js +1 -0
- package/dist/web/_app/immutable/chunks/uHaS74te.js +1 -0
- package/dist/web/_app/immutable/chunks/w5tsuIav.js +5 -0
- package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/web/_app/immutable/entry/app.B7VOZHNw.js +2 -0
- package/dist/web/_app/immutable/entry/start.CJX1xbb4.js +1 -0
- package/dist/web/_app/immutable/nodes/0.DPFQMkmA.js +2 -0
- package/dist/web/_app/immutable/nodes/1.BUg3EbJ_.js +1 -0
- package/dist/web/_app/immutable/nodes/10.CZbTqhAj.js +1 -0
- package/dist/web/_app/immutable/nodes/11.Z-Ou8FlB.js +1 -0
- package/dist/web/_app/immutable/nodes/12.BUp8Zhqh.js +1 -0
- package/dist/web/_app/immutable/nodes/13.Po2Xe1O2.js +1 -0
- package/dist/web/_app/immutable/nodes/14.DJwakC0o.js +1 -0
- package/dist/web/_app/immutable/nodes/15.Cn6zcfI1.js +1 -0
- package/dist/web/_app/immutable/nodes/16.Dal2-WQp.js +1 -0
- package/dist/web/_app/immutable/nodes/17.BI2F37bS.js +1 -0
- package/dist/web/_app/immutable/nodes/18.BzDlENiF.js +1 -0
- package/dist/web/_app/immutable/nodes/19.CQhngMoM.js +77 -0
- package/dist/web/_app/immutable/nodes/2.BxjWYHmV.js +124 -0
- package/dist/web/_app/immutable/nodes/3.B4lvM3dS.js +6 -0
- package/dist/web/_app/immutable/nodes/4.CC_fNxyS.js +16 -0
- package/dist/web/_app/immutable/nodes/5.DlfbHz3H.js +1 -0
- package/dist/web/_app/immutable/nodes/6.BuwXsPuz.js +6 -0
- package/dist/web/_app/immutable/nodes/7.CWkwNeVy.js +1 -0
- package/dist/web/_app/immutable/nodes/8.bQx8gIIK.js +1 -0
- package/dist/web/_app/immutable/nodes/9.3Mk3Iduz.js +1 -0
- package/dist/web/_app/version.json +1 -1
- package/dist/web/favicon-16.png +0 -0
- package/dist/web/favicon-180.png +0 -0
- package/dist/web/favicon-32.png +0 -0
- package/dist/web/favicon-48.png +0 -0
- package/dist/web/favicon-512.png +0 -0
- package/dist/web/favicon.ico +0 -0
- package/dist/web/favicon.svg +8 -0
- package/dist/web/index.html +59 -20
- package/dist/web/studiograph-logomark.svg +29 -0
- package/package.json +44 -15
- package/dist/agent/role-loader.d.ts +0 -24
- package/dist/agent/role-loader.js +0 -67
- package/dist/agent/role-loader.js.map +0 -1
- package/dist/agent/skills/create-deck/content-guide.md +0 -238
- package/dist/agent/skills/create-deck/deck-cadence.md +0 -105
- package/dist/agent/skills/create-deck/diagrams.md +0 -431
- package/dist/agent/skills/create-deck/skill.md +0 -89
- package/dist/agent/skills/create-deck/slide-selection.md +0 -115
- package/dist/agent/skills/create-deck/slide-types.md +0 -638
- package/dist/agent/skills/create-document/skill.md +0 -229
- package/dist/agent/skills/enrich-entities.md +0 -136
- package/dist/agent/skills/obsidian-source-setup.md +0 -246
- package/dist/agent/skills/skill-loader.d.ts +0 -48
- package/dist/agent/skills/skill-loader.js +0 -166
- package/dist/agent/skills/skill-loader.js.map +0 -1
- package/dist/agent/skills/sync-configuration.md +0 -119
- package/dist/agent/skills/sync-setup.md +0 -82
- package/dist/agent/tools/message-tools.d.ts +0 -42
- package/dist/agent/tools/message-tools.js +0 -96
- package/dist/agent/tools/message-tools.js.map +0 -1
- package/dist/agent/tools/sync-tools.d.ts +0 -35
- package/dist/agent/tools/sync-tools.js +0 -992
- package/dist/agent/tools/sync-tools.js.map +0 -1
- package/dist/auth/github.d.ts +0 -56
- package/dist/auth/github.js +0 -169
- package/dist/auth/github.js.map +0 -1
- package/dist/cli/commands/access.d.ts +0 -11
- package/dist/cli/commands/access.js +0 -156
- package/dist/cli/commands/access.js.map +0 -1
- package/dist/cli/commands/app.d.ts +0 -7
- package/dist/cli/commands/app.js +0 -268
- package/dist/cli/commands/app.js.map +0 -1
- package/dist/cli/commands/auth.d.ts +0 -10
- package/dist/cli/commands/auth.js +0 -79
- package/dist/cli/commands/auth.js.map +0 -1
- package/dist/cli/commands/clear.d.ts +0 -5
- package/dist/cli/commands/clear.js +0 -36
- package/dist/cli/commands/clear.js.map +0 -1
- package/dist/cli/commands/collection.d.ts +0 -10
- package/dist/cli/commands/collection.js +0 -185
- package/dist/cli/commands/collection.js.map +0 -1
- package/dist/cli/commands/enrich.d.ts +0 -11
- package/dist/cli/commands/enrich.js +0 -135
- package/dist/cli/commands/enrich.js.map +0 -1
- package/dist/cli/commands/graphrag.d.ts +0 -12
- package/dist/cli/commands/graphrag.js +0 -122
- package/dist/cli/commands/graphrag.js.map +0 -1
- package/dist/cli/commands/join.d.ts +0 -9
- package/dist/cli/commands/join.js +0 -255
- package/dist/cli/commands/join.js.map +0 -1
- package/dist/cli/commands/members.d.ts +0 -11
- package/dist/cli/commands/members.js +0 -230
- package/dist/cli/commands/members.js.map +0 -1
- package/dist/cli/commands/org.d.ts +0 -10
- package/dist/cli/commands/org.js +0 -132
- package/dist/cli/commands/org.js.map +0 -1
- package/dist/cli/commands/provision.d.ts +0 -8
- package/dist/cli/commands/provision.js +0 -116
- package/dist/cli/commands/provision.js.map +0 -1
- package/dist/cli/commands/resolve.d.ts +0 -8
- package/dist/cli/commands/resolve.js +0 -85
- package/dist/cli/commands/resolve.js.map +0 -1
- package/dist/cli/commands/review.d.ts +0 -19
- package/dist/cli/commands/review.js +0 -128
- package/dist/cli/commands/review.js.map +0 -1
- package/dist/cli/commands/source.d.ts +0 -16
- package/dist/cli/commands/source.js +0 -159
- package/dist/cli/commands/source.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -7
- package/dist/cli/commands/start.js +0 -576
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/sync-collection.d.ts +0 -14
- package/dist/cli/commands/sync-collection.js +0 -355
- package/dist/cli/commands/sync-collection.js.map +0 -1
- package/dist/cli/commands/sync-entities.d.ts +0 -13
- package/dist/cli/commands/sync-entities.js +0 -242
- package/dist/cli/commands/sync-entities.js.map +0 -1
- package/dist/cli/commands/team.d.ts +0 -12
- package/dist/cli/commands/team.js +0 -185
- package/dist/cli/commands/team.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -8
- package/dist/cli/commands/update.js +0 -155
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/user.d.ts +0 -7
- package/dist/cli/commands/user.js +0 -169
- package/dist/cli/commands/user.js.map +0 -1
- package/dist/cli/scaffolding.d.ts +0 -12
- package/dist/cli/scaffolding.js +0 -397
- package/dist/cli/scaffolding.js.map +0 -1
- package/dist/cli/sync-review-interactive.d.ts +0 -31
- package/dist/cli/sync-review-interactive.js +0 -393
- package/dist/cli/sync-review-interactive.js.map +0 -1
- package/dist/core/feature-flags.d.ts +0 -17
- package/dist/core/feature-flags.js +0 -15
- package/dist/core/feature-flags.js.map +0 -1
- package/dist/core/features.d.ts +0 -16
- package/dist/core/features.js +0 -48
- package/dist/core/features.js.map +0 -1
- package/dist/core/launch-entity-types.d.ts +0 -23
- package/dist/core/launch-entity-types.js +0 -48
- package/dist/core/launch-entity-types.js.map +0 -1
- package/dist/core/migration-runner.d.ts +0 -42
- package/dist/core/migration-runner.js +0 -232
- package/dist/core/migration-runner.js.map +0 -1
- package/dist/core/migration-types.d.ts +0 -101
- package/dist/core/migration-types.js +0 -21
- package/dist/core/migration-types.js.map +0 -1
- package/dist/core/migrations/20260219-formalize-memory-location.d.ts +0 -2
- package/dist/core/migrations/20260219-formalize-memory-location.js +0 -35
- package/dist/core/migrations/20260219-formalize-memory-location.js.map +0 -1
- package/dist/core/migrations/20260220-add-workspace-metadata.d.ts +0 -12
- package/dist/core/migrations/20260220-add-workspace-metadata.js +0 -65
- package/dist/core/migrations/20260220-add-workspace-metadata.js.map +0 -1
- package/dist/core/migrations/20260220-add-workspace-readme.d.ts +0 -11
- package/dist/core/migrations/20260220-add-workspace-readme.js +0 -82
- package/dist/core/migrations/20260220-add-workspace-readme.js.map +0 -1
- package/dist/core/migrations/20260220-migrate-yaml-to-json.d.ts +0 -9
- package/dist/core/migrations/20260220-migrate-yaml-to-json.js +0 -64
- package/dist/core/migrations/20260220-migrate-yaml-to-json.js.map +0 -1
- package/dist/core/migrations/index.d.ts +0 -11
- package/dist/core/migrations/index.js +0 -23
- package/dist/core/migrations/index.js.map +0 -1
- package/dist/integrations/asana.d.ts +0 -26
- package/dist/integrations/asana.js +0 -78
- package/dist/integrations/asana.js.map +0 -1
- package/dist/integrations/figma-local.d.ts +0 -16
- package/dist/integrations/figma-local.js +0 -10
- package/dist/integrations/figma-local.js.map +0 -1
- package/dist/integrations/figma.d.ts +0 -17
- package/dist/integrations/figma.js +0 -17
- package/dist/integrations/figma.js.map +0 -1
- package/dist/integrations/granola.d.ts +0 -24
- package/dist/integrations/granola.js +0 -60
- package/dist/integrations/granola.js.map +0 -1
- package/dist/integrations/linear.d.ts +0 -14
- package/dist/integrations/linear.js +0 -80
- package/dist/integrations/linear.js.map +0 -1
- package/dist/integrations/paper-local.d.ts +0 -14
- package/dist/integrations/paper-local.js +0 -10
- package/dist/integrations/paper-local.js.map +0 -1
- package/dist/integrations/paper.d.ts +0 -2
- package/dist/integrations/paper.js +0 -10
- package/dist/integrations/paper.js.map +0 -1
- package/dist/integrations/pipedrive.d.ts +0 -26
- package/dist/integrations/pipedrive.js +0 -97
- package/dist/integrations/pipedrive.js.map +0 -1
- package/dist/integrations/registry.d.ts +0 -8
- package/dist/integrations/registry.js +0 -7
- package/dist/integrations/registry.js.map +0 -1
- package/dist/integrations/types.d.ts +0 -43
- package/dist/integrations/types.js +0 -5
- package/dist/integrations/types.js.map +0 -1
- package/dist/lib/lib/utils.d.ts +0 -2
- package/dist/lib/lib/utils.js +0 -6
- package/dist/lib/lib/utils.js.map +0 -1
- package/dist/mcp/connectors/asana.d.ts +0 -2
- package/dist/mcp/connectors/asana.js +0 -20
- package/dist/mcp/connectors/asana.js.map +0 -1
- package/dist/mcp/connectors/definitions.d.ts +0 -45
- package/dist/mcp/connectors/definitions.js +0 -32
- package/dist/mcp/connectors/definitions.js.map +0 -1
- package/dist/mcp/connectors/figma.d.ts +0 -5
- package/dist/mcp/connectors/figma.js +0 -21
- package/dist/mcp/connectors/figma.js.map +0 -1
- package/dist/mcp/connectors/gdrive.d.ts +0 -2
- package/dist/mcp/connectors/gdrive.js +0 -20
- package/dist/mcp/connectors/gdrive.js.map +0 -1
- package/dist/mcp/connectors/granola.d.ts +0 -2
- package/dist/mcp/connectors/granola.js +0 -12
- package/dist/mcp/connectors/granola.js.map +0 -1
- package/dist/mcp/connectors/linear.d.ts +0 -2
- package/dist/mcp/connectors/linear.js +0 -19
- package/dist/mcp/connectors/linear.js.map +0 -1
- package/dist/mcp/connectors/obsidian.d.ts +0 -2
- package/dist/mcp/connectors/obsidian.js +0 -19
- package/dist/mcp/connectors/obsidian.js.map +0 -1
- package/dist/mcp/connectors/pipedrive.d.ts +0 -2
- package/dist/mcp/connectors/pipedrive.js +0 -20
- package/dist/mcp/connectors/pipedrive.js.map +0 -1
- package/dist/mcp/connectors/slack.d.ts +0 -2
- package/dist/mcp/connectors/slack.js +0 -21
- package/dist/mcp/connectors/slack.js.map +0 -1
- package/dist/mcp/server-oauth-provider.d.ts +0 -56
- package/dist/mcp/server-oauth-provider.js +0 -142
- package/dist/mcp/server-oauth-provider.js.map +0 -1
- package/dist/renderers/documents/branding.d.ts +0 -2
- package/dist/renderers/documents/branding.js +0 -42
- package/dist/renderers/documents/branding.js.map +0 -1
- package/dist/renderers/documents/entity-types.json +0 -14
- package/dist/renderers/documents/parser/frontmatter.d.ts +0 -5
- package/dist/renderers/documents/parser/frontmatter.js +0 -90
- package/dist/renderers/documents/parser/frontmatter.js.map +0 -1
- package/dist/renderers/documents/parser/index.d.ts +0 -5
- package/dist/renderers/documents/parser/index.js +0 -142
- package/dist/renderers/documents/parser/index.js.map +0 -1
- package/dist/renderers/documents/parser/sections.d.ts +0 -18
- package/dist/renderers/documents/parser/sections.js +0 -131
- package/dist/renderers/documents/parser/sections.js.map +0 -1
- package/dist/renderers/documents/pdf/generator.d.ts +0 -13
- package/dist/renderers/documents/pdf/generator.js +0 -79
- package/dist/renderers/documents/pdf/generator.js.map +0 -1
- package/dist/renderers/documents/plugin.d.ts +0 -2
- package/dist/renderers/documents/plugin.js +0 -63
- package/dist/renderers/documents/plugin.js.map +0 -1
- package/dist/renderers/documents/public/branding/logo.svg +0 -3
- package/dist/renderers/documents/public/editor/chrome.css +0 -461
- package/dist/renderers/documents/public/editor/chrome.js +0 -524
- package/dist/renderers/documents/public/editor/editor.css +0 -751
- package/dist/renderers/documents/public/editor/editor.html +0 -140
- package/dist/renderers/documents/public/editor/editor.js +0 -953
- package/dist/renderers/documents/public/fonts/fonts.css +0 -145
- package/dist/renderers/documents/public/viewer/viewer.css +0 -1
- package/dist/renderers/documents/public/viewer/viewer.js +0 -4
- package/dist/renderers/documents/renderer/back.d.ts +0 -8
- package/dist/renderers/documents/renderer/back.js +0 -28
- package/dist/renderers/documents/renderer/back.js.map +0 -1
- package/dist/renderers/documents/renderer/content.d.ts +0 -7
- package/dist/renderers/documents/renderer/content.js +0 -25
- package/dist/renderers/documents/renderer/content.js.map +0 -1
- package/dist/renderers/documents/renderer/cover.d.ts +0 -15
- package/dist/renderers/documents/renderer/cover.js +0 -43
- package/dist/renderers/documents/renderer/cover.js.map +0 -1
- package/dist/renderers/documents/renderer/helpers.d.ts +0 -1
- package/dist/renderers/documents/renderer/helpers.js +0 -11
- package/dist/renderers/documents/renderer/helpers.js.map +0 -1
- package/dist/renderers/documents/renderer/index.d.ts +0 -32
- package/dist/renderers/documents/renderer/index.js +0 -80
- package/dist/renderers/documents/renderer/index.js.map +0 -1
- package/dist/renderers/documents/renderer/styles.d.ts +0 -16
- package/dist/renderers/documents/renderer/styles.js +0 -546
- package/dist/renderers/documents/renderer/styles.js.map +0 -1
- package/dist/renderers/documents/routes/api.d.ts +0 -2
- package/dist/renderers/documents/routes/api.js +0 -587
- package/dist/renderers/documents/routes/api.js.map +0 -1
- package/dist/renderers/documents/routes/editor.d.ts +0 -2
- package/dist/renderers/documents/routes/editor.js +0 -31
- package/dist/renderers/documents/routes/editor.js.map +0 -1
- package/dist/renderers/documents/routes/viewer.d.ts +0 -2
- package/dist/renderers/documents/routes/viewer.js +0 -67
- package/dist/renderers/documents/routes/viewer.js.map +0 -1
- package/dist/renderers/documents/types.d.ts +0 -61
- package/dist/renderers/documents/types.js +0 -2
- package/dist/renderers/documents/types.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -24
- package/dist/renderers/index.js +0 -66
- package/dist/renderers/index.js.map +0 -1
- package/dist/renderers/slides/design-system/tokens.d.ts +0 -108
- package/dist/renderers/slides/design-system/tokens.js +0 -44
- package/dist/renderers/slides/design-system/tokens.js.map +0 -1
- package/dist/renderers/slides/entity-types.json +0 -14
- package/dist/renderers/slides/parser/comment-parser.d.ts +0 -10
- package/dist/renderers/slides/parser/comment-parser.js +0 -89
- package/dist/renderers/slides/parser/comment-parser.js.map +0 -1
- package/dist/renderers/slides/parser/frontmatter.d.ts +0 -10
- package/dist/renderers/slides/parser/frontmatter.js +0 -93
- package/dist/renderers/slides/parser/frontmatter.js.map +0 -1
- package/dist/renderers/slides/parser/index.d.ts +0 -7
- package/dist/renderers/slides/parser/index.js +0 -569
- package/dist/renderers/slides/parser/index.js.map +0 -1
- package/dist/renderers/slides/parser/slide-splitter.d.ts +0 -6
- package/dist/renderers/slides/parser/slide-splitter.js +0 -54
- package/dist/renderers/slides/parser/slide-splitter.js.map +0 -1
- package/dist/renderers/slides/parser/type-detector.d.ts +0 -6
- package/dist/renderers/slides/parser/type-detector.js +0 -70
- package/dist/renderers/slides/parser/type-detector.js.map +0 -1
- package/dist/renderers/slides/pdf/generator.d.ts +0 -11
- package/dist/renderers/slides/pdf/generator.js +0 -105
- package/dist/renderers/slides/pdf/generator.js.map +0 -1
- package/dist/renderers/slides/plugin.d.ts +0 -2
- package/dist/renderers/slides/plugin.js +0 -70
- package/dist/renderers/slides/plugin.js.map +0 -1
- package/dist/renderers/slides/public/editor/.gitkeep +0 -0
- package/dist/renderers/slides/public/editor/chrome.css +0 -461
- package/dist/renderers/slides/public/editor/chrome.js +0 -519
- package/dist/renderers/slides/public/editor/editor.css +0 -896
- package/dist/renderers/slides/public/editor/editor.html +0 -131
- package/dist/renderers/slides/public/editor/editor.js +0 -1038
- package/dist/renderers/slides/public/fonts/fonts.css +0 -145
- package/dist/renderers/slides/public/viewer/.gitkeep +0 -0
- package/dist/renderers/slides/public/viewer/chrome.css +0 -62
- package/dist/renderers/slides/public/viewer/transitions.css +0 -1
- package/dist/renderers/slides/public/viewer/viewer.css +0 -2145
- package/dist/renderers/slides/public/viewer/viewer.js +0 -303
- package/dist/renderers/slides/renderer/chrome/browser-frame.d.ts +0 -5
- package/dist/renderers/slides/renderer/chrome/browser-frame.js +0 -22
- package/dist/renderers/slides/renderer/chrome/browser-frame.js.map +0 -1
- package/dist/renderers/slides/renderer/chrome/mobile-frame.d.ts +0 -6
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js +0 -18
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js.map +0 -1
- package/dist/renderers/slides/renderer/helpers.d.ts +0 -13
- package/dist/renderers/slides/renderer/helpers.js +0 -33
- package/dist/renderers/slides/renderer/helpers.js.map +0 -1
- package/dist/renderers/slides/renderer/index.d.ts +0 -16
- package/dist/renderers/slides/renderer/index.js +0 -160
- package/dist/renderers/slides/renderer/index.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/agenda.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/agenda.js +0 -18
- package/dist/renderers/slides/renderer/layouts/agenda.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/blank.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/blank.js +0 -4
- package/dist/renderers/slides/renderer/layouts/blank.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/columns.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/columns.js +0 -32
- package/dist/renderers/slides/renderer/layouts/columns.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/cover.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/cover.js +0 -18
- package/dist/renderers/slides/renderer/layouts/cover.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js +0 -120
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js +0 -158
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js +0 -86
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js +0 -146
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-venn.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js +0 -100
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram.js +0 -21
- package/dist/renderers/slides/renderer/layouts/diagram.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/divider.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/divider.js +0 -4
- package/dist/renderers/slides/renderer/layouts/divider.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/end.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/end.js +0 -8
- package/dist/renderers/slides/renderer/layouts/end.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/framework.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/framework.js +0 -47
- package/dist/renderers/slides/renderer/layouts/framework.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js +0 -38
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js +0 -30
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser.js +0 -18
- package/dist/renderers/slides/renderer/layouts/image-browser.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-bullets.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-bullets.js +0 -26
- package/dist/renderers/slides/renderer/layouts/image-bullets.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-device-pair.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js +0 -34
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-full.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-full.js +0 -36
- package/dist/renderers/slides/renderer/layouts/image-full.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js +0 -23
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-keywords.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-keywords.js +0 -31
- package/dist/renderers/slides/renderer/layouts/image-keywords.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js +0 -22
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-mobile.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-mobile.js +0 -17
- package/dist/renderers/slides/renderer/layouts/image-mobile.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-split-right.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-split-right.js +0 -19
- package/dist/renderers/slides/renderer/layouts/image-split-right.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-split.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-split.js +0 -19
- package/dist/renderers/slides/renderer/layouts/image-split.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/introductions.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/introductions.js +0 -41
- package/dist/renderers/slides/renderer/layouts/introductions.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/moodboard.d.ts +0 -15
- package/dist/renderers/slides/renderer/layouts/moodboard.js +0 -63
- package/dist/renderers/slides/renderer/layouts/moodboard.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/next-steps.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/next-steps.js +0 -13
- package/dist/renderers/slides/renderer/layouts/next-steps.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/pullquote.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/pullquote.js +0 -17
- package/dist/renderers/slides/renderer/layouts/pullquote.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/schedule.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/schedule.js +0 -58
- package/dist/renderers/slides/renderer/layouts/schedule.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/section.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/section.js +0 -18
- package/dist/renderers/slides/renderer/layouts/section.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/statement.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/statement.js +0 -13
- package/dist/renderers/slides/renderer/layouts/statement.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/stats.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/stats.js +0 -26
- package/dist/renderers/slides/renderer/layouts/stats.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/table.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/table.js +0 -23
- package/dist/renderers/slides/renderer/layouts/table.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/text-body.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/text-body.js +0 -14
- package/dist/renderers/slides/renderer/layouts/text-body.js.map +0 -1
- package/dist/renderers/slides/renderer/placeholder.d.ts +0 -5
- package/dist/renderers/slides/renderer/placeholder.js +0 -12
- package/dist/renderers/slides/renderer/placeholder.js.map +0 -1
- package/dist/renderers/slides/routes/api.d.ts +0 -2
- package/dist/renderers/slides/routes/api.js +0 -568
- package/dist/renderers/slides/routes/api.js.map +0 -1
- package/dist/renderers/slides/routes/editor.d.ts +0 -2
- package/dist/renderers/slides/routes/editor.js +0 -32
- package/dist/renderers/slides/routes/editor.js.map +0 -1
- package/dist/renderers/slides/routes/viewer.d.ts +0 -2
- package/dist/renderers/slides/routes/viewer.js +0 -67
- package/dist/renderers/slides/routes/viewer.js.map +0 -1
- package/dist/renderers/slides/types.d.ts +0 -111
- package/dist/renderers/slides/types.js +0 -2
- package/dist/renderers/slides/types.js.map +0 -1
- package/dist/server/agents/agent-loader.d.ts +0 -16
- package/dist/server/agents/agent-loader.js +0 -175
- package/dist/server/agents/agent-loader.js.map +0 -1
- package/dist/server/agents/agent-runner.d.ts +0 -33
- package/dist/server/agents/agent-runner.js +0 -187
- package/dist/server/agents/agent-runner.js.map +0 -1
- package/dist/server/agents/agent-runtime.d.ts +0 -39
- package/dist/server/agents/agent-runtime.js +0 -214
- package/dist/server/agents/agent-runtime.js.map +0 -1
- package/dist/server/agents/base-agent.d.ts +0 -30
- package/dist/server/agents/base-agent.js +0 -88
- package/dist/server/agents/base-agent.js.map +0 -1
- package/dist/server/agents/executive-digest.d.ts +0 -16
- package/dist/server/agents/executive-digest.js +0 -115
- package/dist/server/agents/executive-digest.js.map +0 -1
- package/dist/server/agents/graph-steward.d.ts +0 -16
- package/dist/server/agents/graph-steward.js +0 -59
- package/dist/server/agents/graph-steward.js.map +0 -1
- package/dist/server/agents/meeting-followup.d.ts +0 -16
- package/dist/server/agents/meeting-followup.js +0 -88
- package/dist/server/agents/meeting-followup.js.map +0 -1
- package/dist/server/agents/pipeline-monitor.d.ts +0 -15
- package/dist/server/agents/pipeline-monitor.js +0 -86
- package/dist/server/agents/pipeline-monitor.js.map +0 -1
- package/dist/server/agents/types.d.ts +0 -81
- package/dist/server/agents/types.js +0 -41
- package/dist/server/agents/types.js.map +0 -1
- package/dist/server/chrome/chrome.css +0 -701
- package/dist/server/chrome/chrome.js +0 -374
- package/dist/server/collab-authority.d.ts +0 -70
- package/dist/server/collab-authority.js +0 -218
- package/dist/server/collab-authority.js.map +0 -1
- package/dist/server/collab.d.ts +0 -29
- package/dist/server/collab.js +0 -195
- package/dist/server/collab.js.map +0 -1
- package/dist/server/commit-scheduler.d.ts +0 -39
- package/dist/server/commit-scheduler.js +0 -113
- package/dist/server/commit-scheduler.js.map +0 -1
- package/dist/server/plugin-loader.d.ts +0 -53
- package/dist/server/plugin-loader.js +0 -155
- package/dist/server/plugin-loader.js.map +0 -1
- package/dist/server/routes/agents-api.d.ts +0 -10
- package/dist/server/routes/agents-api.js +0 -25
- package/dist/server/routes/agents-api.js.map +0 -1
- package/dist/server/routes/collab.d.ts +0 -6
- package/dist/server/routes/collab.js +0 -10
- package/dist/server/routes/collab.js.map +0 -1
- package/dist/server/routes/features-api.d.ts +0 -10
- package/dist/server/routes/features-api.js +0 -15
- package/dist/server/routes/features-api.js.map +0 -1
- package/dist/server/routes/git-api.d.ts +0 -9
- package/dist/server/routes/git-api.js +0 -82
- package/dist/server/routes/git-api.js.map +0 -1
- package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
- package/dist/server/routes/meeting-ingest-api.js +0 -117
- package/dist/server/routes/meeting-ingest-api.js.map +0 -1
- package/dist/server/routes/messages-api.d.ts +0 -15
- package/dist/server/routes/messages-api.js +0 -569
- package/dist/server/routes/messages-api.js.map +0 -1
- package/dist/server/routes/sync-api.d.ts +0 -26
- package/dist/server/routes/sync-api.js +0 -848
- package/dist/server/routes/sync-api.js.map +0 -1
- package/dist/server/routes/view-public.d.ts +0 -10
- package/dist/server/routes/view-public.js +0 -107
- package/dist/server/routes/view-public.js.map +0 -1
- package/dist/server/routes/webhook.d.ts +0 -14
- package/dist/server/routes/webhook.js +0 -102
- package/dist/server/routes/webhook.js.map +0 -1
- package/dist/services/batch-processor.d.ts +0 -49
- package/dist/services/batch-processor.js +0 -166
- package/dist/services/batch-processor.js.map +0 -1
- package/dist/services/briefing.d.ts +0 -26
- package/dist/services/briefing.js +0 -206
- package/dist/services/briefing.js.map +0 -1
- package/dist/services/github-provisioner.d.ts +0 -36
- package/dist/services/github-provisioner.js +0 -126
- package/dist/services/github-provisioner.js.map +0 -1
- package/dist/services/github-service.d.ts +0 -99
- package/dist/services/github-service.js +0 -310
- package/dist/services/github-service.js.map +0 -1
- package/dist/services/heartbeat.d.ts +0 -35
- package/dist/services/heartbeat.js +0 -236
- package/dist/services/heartbeat.js.map +0 -1
- package/dist/services/image-import-service.d.ts +0 -24
- package/dist/services/image-import-service.js +0 -108
- package/dist/services/image-import-service.js.map +0 -1
- package/dist/services/insights.d.ts +0 -38
- package/dist/services/insights.js +0 -269
- package/dist/services/insights.js.map +0 -1
- package/dist/services/meeting-processor.d.ts +0 -97
- package/dist/services/meeting-processor.js +0 -382
- package/dist/services/meeting-processor.js.map +0 -1
- package/dist/services/message-service.d.ts +0 -117
- package/dist/services/message-service.js +0 -414
- package/dist/services/message-service.js.map +0 -1
- package/dist/services/sync/collection-sync.d.ts +0 -60
- package/dist/services/sync/collection-sync.js +0 -509
- package/dist/services/sync/collection-sync.js.map +0 -1
- package/dist/services/sync/commit.d.ts +0 -60
- package/dist/services/sync/commit.js +0 -354
- package/dist/services/sync/commit.js.map +0 -1
- package/dist/services/sync/context-index.d.ts +0 -69
- package/dist/services/sync/context-index.js +0 -280
- package/dist/services/sync/context-index.js.map +0 -1
- package/dist/services/sync/data-fetcher.d.ts +0 -31
- package/dist/services/sync/data-fetcher.js +0 -12
- package/dist/services/sync/data-fetcher.js.map +0 -1
- package/dist/services/sync/derive.d.ts +0 -34
- package/dist/services/sync/derive.js +0 -164
- package/dist/services/sync/derive.js.map +0 -1
- package/dist/services/sync/enrichment-state.d.ts +0 -31
- package/dist/services/sync/enrichment-state.js +0 -63
- package/dist/services/sync/enrichment-state.js.map +0 -1
- package/dist/services/sync/enrichment.d.ts +0 -25
- package/dist/services/sync/enrichment.js +0 -121
- package/dist/services/sync/enrichment.js.map +0 -1
- package/dist/services/sync/entity-refresh.d.ts +0 -30
- package/dist/services/sync/entity-refresh.js +0 -275
- package/dist/services/sync/entity-refresh.js.map +0 -1
- package/dist/services/sync/frontmatter-extractor.d.ts +0 -40
- package/dist/services/sync/frontmatter-extractor.js +0 -279
- package/dist/services/sync/frontmatter-extractor.js.map +0 -1
- package/dist/services/sync/graph-match-state.d.ts +0 -33
- package/dist/services/sync/graph-match-state.js +0 -61
- package/dist/services/sync/graph-match-state.js.map +0 -1
- package/dist/services/sync/graph-match.d.ts +0 -53
- package/dist/services/sync/graph-match.js +0 -316
- package/dist/services/sync/graph-match.js.map +0 -1
- package/dist/services/sync/graphrag-client.d.ts +0 -43
- package/dist/services/sync/graphrag-client.js +0 -94
- package/dist/services/sync/graphrag-client.js.map +0 -1
- package/dist/services/sync/graphrag-config.d.ts +0 -16
- package/dist/services/sync/graphrag-config.js +0 -39
- package/dist/services/sync/graphrag-config.js.map +0 -1
- package/dist/services/sync/graphrag-context.d.ts +0 -14
- package/dist/services/sync/graphrag-context.js +0 -109
- package/dist/services/sync/graphrag-context.js.map +0 -1
- package/dist/services/sync/graphrag-indexer.d.ts +0 -30
- package/dist/services/sync/graphrag-indexer.js +0 -358
- package/dist/services/sync/graphrag-indexer.js.map +0 -1
- package/dist/services/sync/llm.d.ts +0 -32
- package/dist/services/sync/llm.js +0 -115
- package/dist/services/sync/llm.js.map +0 -1
- package/dist/services/sync/mcp-client.d.ts +0 -71
- package/dist/services/sync/mcp-client.js +0 -299
- package/dist/services/sync/mcp-client.js.map +0 -1
- package/dist/services/sync/model-factory.d.ts +0 -13
- package/dist/services/sync/model-factory.js +0 -38
- package/dist/services/sync/model-factory.js.map +0 -1
- package/dist/services/sync/name-quality.d.ts +0 -31
- package/dist/services/sync/name-quality.js +0 -60
- package/dist/services/sync/name-quality.js.map +0 -1
- package/dist/services/sync/output-schemas.d.ts +0 -92
- package/dist/services/sync/output-schemas.js +0 -43
- package/dist/services/sync/output-schemas.js.map +0 -1
- package/dist/services/sync/prompts.d.ts +0 -19
- package/dist/services/sync/prompts.js +0 -128
- package/dist/services/sync/prompts.js.map +0 -1
- package/dist/services/sync/reconciler.d.ts +0 -48
- package/dist/services/sync/reconciler.js +0 -294
- package/dist/services/sync/reconciler.js.map +0 -1
- package/dist/services/sync/rest-client.d.ts +0 -40
- package/dist/services/sync/rest-client.js +0 -100
- package/dist/services/sync/rest-client.js.map +0 -1
- package/dist/services/sync/source-config.d.ts +0 -67
- package/dist/services/sync/source-config.js +0 -304
- package/dist/services/sync/source-config.js.map +0 -1
- package/dist/services/sync/source-definitions/asana.d.ts +0 -14
- package/dist/services/sync/source-definitions/asana.js +0 -42
- package/dist/services/sync/source-definitions/asana.js.map +0 -1
- package/dist/services/sync/source-definitions/definitions.d.ts +0 -8
- package/dist/services/sync/source-definitions/definitions.js +0 -8
- package/dist/services/sync/source-definitions/definitions.js.map +0 -1
- package/dist/services/sync/source-definitions/gdrive.d.ts +0 -16
- package/dist/services/sync/source-definitions/gdrive.js +0 -68
- package/dist/services/sync/source-definitions/gdrive.js.map +0 -1
- package/dist/services/sync/source-definitions/granola.d.ts +0 -2
- package/dist/services/sync/source-definitions/granola.js +0 -21
- package/dist/services/sync/source-definitions/granola.js.map +0 -1
- package/dist/services/sync/source-definitions/linear.d.ts +0 -2
- package/dist/services/sync/source-definitions/linear.js +0 -62
- package/dist/services/sync/source-definitions/linear.js.map +0 -1
- package/dist/services/sync/source-definitions/obsidian.d.ts +0 -2
- package/dist/services/sync/source-definitions/obsidian.js +0 -55
- package/dist/services/sync/source-definitions/obsidian.js.map +0 -1
- package/dist/services/sync/source-definitions/pipedrive.d.ts +0 -2
- package/dist/services/sync/source-definitions/pipedrive.js +0 -43
- package/dist/services/sync/source-definitions/pipedrive.js.map +0 -1
- package/dist/services/sync/staging.d.ts +0 -53
- package/dist/services/sync/staging.js +0 -130
- package/dist/services/sync/staging.js.map +0 -1
- package/dist/services/sync/structured-extractor.d.ts +0 -57
- package/dist/services/sync/structured-extractor.js +0 -584
- package/dist/services/sync/structured-extractor.js.map +0 -1
- package/dist/services/sync/sync-runner.d.ts +0 -32
- package/dist/services/sync/sync-runner.js +0 -195
- package/dist/services/sync/sync-runner.js.map +0 -1
- package/dist/services/sync/sync-state.d.ts +0 -43
- package/dist/services/sync/sync-state.js +0 -154
- package/dist/services/sync/sync-state.js.map +0 -1
- package/dist/services/sync/types.d.ts +0 -381
- package/dist/services/sync/types.js +0 -8
- package/dist/services/sync/types.js.map +0 -1
- package/dist/services/sync/unstructured-extractor.d.ts +0 -27
- package/dist/services/sync/unstructured-extractor.js +0 -185
- package/dist/services/sync/unstructured-extractor.js.map +0 -1
- package/dist/utils/merge-resolver.d.ts +0 -59
- package/dist/utils/merge-resolver.js +0 -303
- package/dist/utils/merge-resolver.js.map +0 -1
- package/dist/utils/workspace-config.d.ts +0 -8
- package/dist/utils/workspace-config.js +0 -22
- package/dist/utils/workspace-config.js.map +0 -1
- package/dist/web/_app/immutable/assets/0.B3eM5J6m.css +0 -1
- package/dist/web/_app/immutable/assets/10.2jzI3cZY.css +0 -1
- package/dist/web/_app/immutable/assets/11.Cb9eS4rw.css +0 -1
- package/dist/web/_app/immutable/assets/12.DSXdDCt2.css +0 -1
- package/dist/web/_app/immutable/assets/2.DrPprHoK.css +0 -1
- package/dist/web/_app/immutable/assets/3.Ih7su2rl.css +0 -1
- package/dist/web/_app/immutable/assets/4.CwXIQz3p.css +0 -1
- package/dist/web/_app/immutable/assets/ChevronLeft.BwM9mwS4.css +0 -1
- package/dist/web/_app/immutable/assets/GraphView.CRV5cekT.css +0 -1
- package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
- package/dist/web/_app/immutable/assets/ViewToolbar.CsWTe0yn.css +0 -1
- package/dist/web/_app/immutable/assets/WorkspaceView.iWtzksrr.css +0 -1
- package/dist/web/_app/immutable/chunks/0kuZ2gtb.js +0 -1
- package/dist/web/_app/immutable/chunks/1Ea1UXwM.js +0 -2
- package/dist/web/_app/immutable/chunks/284Zhbif.js +0 -1
- package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
- package/dist/web/_app/immutable/chunks/B0qHb2ee.js +0 -1
- package/dist/web/_app/immutable/chunks/B2_KIZWs.js +0 -1
- package/dist/web/_app/immutable/chunks/B45od9dM.js +0 -2
- package/dist/web/_app/immutable/chunks/B93Il9VC.js +0 -1
- package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
- package/dist/web/_app/immutable/chunks/BDvg8O5k.js +0 -5
- package/dist/web/_app/immutable/chunks/BHb8xKxs.js +0 -1
- package/dist/web/_app/immutable/chunks/BHgT2Ede.js +0 -1
- package/dist/web/_app/immutable/chunks/BQ1nK9ru.js +0 -1
- package/dist/web/_app/immutable/chunks/BbFPiyww.js +0 -1
- package/dist/web/_app/immutable/chunks/BkxW0BJZ.js +0 -1
- package/dist/web/_app/immutable/chunks/Bp7FKkGt.js +0 -1
- package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
- package/dist/web/_app/immutable/chunks/BtoubqOl.js +0 -1
- package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
- package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
- package/dist/web/_app/immutable/chunks/C0Zx4tMe.js +0 -1
- package/dist/web/_app/immutable/chunks/CIlFznwy.js +0 -2
- package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
- package/dist/web/_app/immutable/chunks/CUo0CDSW.js +0 -2
- package/dist/web/_app/immutable/chunks/CX_61fY8.js +0 -5
- package/dist/web/_app/immutable/chunks/CYrVHOHA.js +0 -1
- package/dist/web/_app/immutable/chunks/CdIKiXW6.js +0 -1
- package/dist/web/_app/immutable/chunks/CqT1x-Gw.js +0 -1
- package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
- package/dist/web/_app/immutable/chunks/CtbsDVo3.js +0 -1
- package/dist/web/_app/immutable/chunks/CvEgdftB.js +0 -1
- package/dist/web/_app/immutable/chunks/D14M5KlG.js +0 -1
- package/dist/web/_app/immutable/chunks/D71c9o7J.js +0 -2
- package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
- package/dist/web/_app/immutable/chunks/DHJAqtPb.js +0 -1
- package/dist/web/_app/immutable/chunks/DHms3TGS.js +0 -2
- package/dist/web/_app/immutable/chunks/DOqcDZIJ.js +0 -1
- package/dist/web/_app/immutable/chunks/DUfIcKIt.js +0 -1
- package/dist/web/_app/immutable/chunks/DZHWps9n.js +0 -1
- package/dist/web/_app/immutable/chunks/DjLrjK2H.js +0 -1
- package/dist/web/_app/immutable/chunks/DjvJRtva.js +0 -1
- package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
- package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
- package/dist/web/_app/immutable/chunks/DtG1tx2A.js +0 -1
- package/dist/web/_app/immutable/chunks/Dxmmz-Kc.js +0 -1
- package/dist/web/_app/immutable/chunks/Dzm0X5CJ.js +0 -1
- package/dist/web/_app/immutable/chunks/Ee5s0qSS.js +0 -5
- package/dist/web/_app/immutable/chunks/KlRV1tKP.js +0 -1
- package/dist/web/_app/immutable/chunks/L7dfS1-w.js +0 -1
- package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
- package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
- package/dist/web/_app/immutable/chunks/lzCjGQTf.js +0 -4
- package/dist/web/_app/immutable/chunks/qE6Hm01v.js +0 -1
- package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
- package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
- package/dist/web/_app/immutable/chunks/wZWzupWT.js +0 -1
- package/dist/web/_app/immutable/entry/app.CzJR64ww.js +0 -2
- package/dist/web/_app/immutable/entry/start.DZVHSAiD.js +0 -1
- package/dist/web/_app/immutable/nodes/0.BxI98Rw5.js +0 -2
- package/dist/web/_app/immutable/nodes/1.BKnk3c99.js +0 -1
- package/dist/web/_app/immutable/nodes/10.CaRwejbK.js +0 -1
- package/dist/web/_app/immutable/nodes/11.B2Euwc9a.js +0 -1
- package/dist/web/_app/immutable/nodes/12.CGKYzHxA.js +0 -1
- package/dist/web/_app/immutable/nodes/2.CYXLieW2.js +0 -269
- package/dist/web/_app/immutable/nodes/3.C84fxKvm.js +0 -5
- package/dist/web/_app/immutable/nodes/4.ChSsp8k0.js +0 -11
- package/dist/web/_app/immutable/nodes/5.CvaaNMAf.js +0 -1
- package/dist/web/_app/immutable/nodes/6.D6IvoFSs.js +0 -1
- package/dist/web/_app/immutable/nodes/7.Byu1_fh1.js +0 -1
- package/dist/web/_app/immutable/nodes/8.CxwYH2kI.js +0 -1
- package/dist/web/_app/immutable/nodes/9.dAR1N8tA.js +0 -1
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frame-addressable artifact patching (P4.1).
|
|
3
|
+
*
|
|
4
|
+
* `applyArtifactPatch` is the pure, surface-neutral core that lets an agent edit
|
|
5
|
+
* ONE frame (or one shared file / the token map) of a v2 artifact without
|
|
6
|
+
* re-emitting the whole bundle. Both `patch_artifact` surfaces — the in-app chat
|
|
7
|
+
* tool and the MCP tool — load the current bundle, call this to apply an ordered
|
|
8
|
+
* op list to a working copy, then hand the result to {@link
|
|
9
|
+
* (ArtifactStore:class).write} (the single write path, which re-validates as the
|
|
10
|
+
* authority and enforces the same OCC as a `create_artifact` update).
|
|
11
|
+
*
|
|
12
|
+
* The win is addressing, not storage: the bundle is still persisted whole, but
|
|
13
|
+
* the AGENT names "frame 7" instead of re-sending the deck. `patch_frame_content`
|
|
14
|
+
* is bounded to a single frame's text, so a substring edit can never corrupt the
|
|
15
|
+
* JSON envelope or a sibling frame — the failure mode that made `patch_entity` on
|
|
16
|
+
* an artifact body unsafe.
|
|
17
|
+
*
|
|
18
|
+
* This module owns op SHAPE + ADDRESSING validation only (unknown frame id, no
|
|
19
|
+
* substring match, non-permutation reorder, unsafe path, ...). It does NOT run
|
|
20
|
+
* the whole-bundle {@link validateArtifactBundle} — that stays the store's job,
|
|
21
|
+
* the single validation authority, so geometry/library/byte-cap rules are
|
|
22
|
+
* checked in exactly one place. Op input is accepted untyped (the tool boundary
|
|
23
|
+
* passes it through, mirroring how the `bundle` param is `unknown`) and parsed
|
|
24
|
+
* here, so the zod/typebox schemas never drift from the real contract.
|
|
25
|
+
*/
|
|
26
|
+
import { ARTIFACT_FRAME_LAYOUTS, ARTIFACT_DISPLAY_BACKGROUNDS, normalizeBackgroundValue, } from './artifact-frame-model.js';
|
|
27
|
+
/** Op-level failure — a bad addressing/shape problem the agent can fix and
|
|
28
|
+
* retry (unknown frame id, zero/ambiguous substring match, non-permutation
|
|
29
|
+
* reorder, malformed op). Surface tools map this to a recoverable tool error,
|
|
30
|
+
* never a thrown turn. Distinct from the store's whole-bundle
|
|
31
|
+
* `ArtifactWriteError('invalid')`. */
|
|
32
|
+
export class ArtifactPatchError extends Error {
|
|
33
|
+
constructor(message) {
|
|
34
|
+
super(message);
|
|
35
|
+
this.name = 'ArtifactPatchError';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export const ARTIFACT_PATCH_OP_KINDS = [
|
|
39
|
+
'set_frame_content',
|
|
40
|
+
'patch_frame_content',
|
|
41
|
+
'set_frame_meta',
|
|
42
|
+
'add_frame',
|
|
43
|
+
'remove_frame',
|
|
44
|
+
'reorder_frames',
|
|
45
|
+
'set_shared_file',
|
|
46
|
+
'remove_shared_file',
|
|
47
|
+
'set_tokens',
|
|
48
|
+
];
|
|
49
|
+
function isRecord(value) {
|
|
50
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
51
|
+
}
|
|
52
|
+
/** Deep clone via JSON round-trip — the bundle is pure JSON (frames, shared
|
|
53
|
+
* files, tokens are all strings/numbers), so this is exact and keeps the input
|
|
54
|
+
* bundle untouched (ops mutate the copy). */
|
|
55
|
+
function cloneBundle(bundle) {
|
|
56
|
+
return JSON.parse(JSON.stringify(bundle));
|
|
57
|
+
}
|
|
58
|
+
function frameLabel(frame) {
|
|
59
|
+
return frame.title ? `"${frame.title}" (${frame.id})` : frame.id;
|
|
60
|
+
}
|
|
61
|
+
function requireString(value, field, opKind) {
|
|
62
|
+
if (typeof value !== 'string') {
|
|
63
|
+
throw new ArtifactPatchError(`${opKind}.${field} must be a string`);
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
function findFrame(bundle, frameId, opKind) {
|
|
68
|
+
if (typeof frameId !== 'string' || !frameId.trim()) {
|
|
69
|
+
throw new ArtifactPatchError(`${opKind}.frameId must be a non-empty string`);
|
|
70
|
+
}
|
|
71
|
+
const frame = bundle.frames.find((f) => f.id === frameId);
|
|
72
|
+
if (!frame) {
|
|
73
|
+
const ids = bundle.frames.map((f) => f.id).join(', ');
|
|
74
|
+
throw new ArtifactPatchError(`${opKind}: no frame with id "${frameId}". Existing frame ids: ${ids}.`);
|
|
75
|
+
}
|
|
76
|
+
return frame;
|
|
77
|
+
}
|
|
78
|
+
/** Apply one op to the working bundle. Records touched/removed ids and the
|
|
79
|
+
* reorder flag back through `acc`. Throws {@link ArtifactPatchError} on any
|
|
80
|
+
* addressing/shape problem. */
|
|
81
|
+
function applyOp(bundle, rawOp, index, acc) {
|
|
82
|
+
if (!isRecord(rawOp)) {
|
|
83
|
+
throw new ArtifactPatchError(`ops[${index}] must be an object`);
|
|
84
|
+
}
|
|
85
|
+
const kind = rawOp.op;
|
|
86
|
+
if (typeof kind !== 'string' || !ARTIFACT_PATCH_OP_KINDS.includes(kind)) {
|
|
87
|
+
throw new ArtifactPatchError(`ops[${index}].op must be one of: ${ARTIFACT_PATCH_OP_KINDS.join(', ')} (got ${JSON.stringify(rawOp.op)})`);
|
|
88
|
+
}
|
|
89
|
+
switch (kind) {
|
|
90
|
+
case 'set_frame_content': {
|
|
91
|
+
const frame = findFrame(bundle, rawOp.frameId, kind);
|
|
92
|
+
frame.content = requireString(rawOp.content, 'content', kind);
|
|
93
|
+
acc.changed.add(frame.id);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
case 'patch_frame_content': {
|
|
97
|
+
const frame = findFrame(bundle, rawOp.frameId, kind);
|
|
98
|
+
const find = requireString(rawOp.find, 'find', kind);
|
|
99
|
+
const replace = requireString(rawOp.replace, 'replace', kind);
|
|
100
|
+
if (find === '') {
|
|
101
|
+
throw new ArtifactPatchError(`${kind}: \`find\` must be a non-empty string`);
|
|
102
|
+
}
|
|
103
|
+
if (find === replace) {
|
|
104
|
+
throw new ArtifactPatchError(`${kind}: \`find\` and \`replace\` are identical — nothing to do on frame ${frameLabel(frame)}`);
|
|
105
|
+
}
|
|
106
|
+
const occurrences = countOccurrences(frame.content, find);
|
|
107
|
+
if (occurrences === 0) {
|
|
108
|
+
throw new ArtifactPatchError(`${kind}: \`find\` substring not present in frame ${frameLabel(frame)}.`);
|
|
109
|
+
}
|
|
110
|
+
if (rawOp.expectedCount !== undefined) {
|
|
111
|
+
if (typeof rawOp.expectedCount !== 'number' || !Number.isInteger(rawOp.expectedCount) || rawOp.expectedCount < 1) {
|
|
112
|
+
throw new ArtifactPatchError(`${kind}.expectedCount must be a positive integer`);
|
|
113
|
+
}
|
|
114
|
+
if (rawOp.expectedCount !== occurrences) {
|
|
115
|
+
throw new ArtifactPatchError(`${kind}: expected ${rawOp.expectedCount} occurrence(s) of \`find\` in frame ${frameLabel(frame)}, found ${occurrences}. Refine \`find\` or fix expectedCount so you don't edit the wrong text.`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Replace ALL occurrences (parity with patch_entity); literal, not regex.
|
|
119
|
+
frame.content = frame.content.split(find).join(replace);
|
|
120
|
+
acc.changed.add(frame.id);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
case 'set_frame_meta': {
|
|
124
|
+
const frame = findFrame(bundle, rawOp.frameId, kind);
|
|
125
|
+
let touched = false;
|
|
126
|
+
if (rawOp.title !== undefined) {
|
|
127
|
+
const title = requireString(rawOp.title, 'title', kind);
|
|
128
|
+
// Empty/whitespace title CLEARS it (falls back to "Frame N" chrome);
|
|
129
|
+
// a non-empty value sets it (the store re-validates length).
|
|
130
|
+
if (title.trim() === '')
|
|
131
|
+
delete frame.title;
|
|
132
|
+
else
|
|
133
|
+
frame.title = title.trim();
|
|
134
|
+
touched = true;
|
|
135
|
+
}
|
|
136
|
+
if (rawOp.layout !== undefined) {
|
|
137
|
+
if (typeof rawOp.layout !== 'string' || !ARTIFACT_FRAME_LAYOUTS.includes(rawOp.layout)) {
|
|
138
|
+
throw new ArtifactPatchError(`${kind}.layout must be one of: ${ARTIFACT_FRAME_LAYOUTS.join(', ')}`);
|
|
139
|
+
}
|
|
140
|
+
frame.layout = rawOp.layout;
|
|
141
|
+
touched = true;
|
|
142
|
+
}
|
|
143
|
+
if (rawOp.geometry !== undefined) {
|
|
144
|
+
// geometry is REPLACED wholesale, not merged — require both fields so a
|
|
145
|
+
// `{ width }`-only op fails with a clear message here instead of a
|
|
146
|
+
// low-level "geometry.height must be…" from the store after it has
|
|
147
|
+
// silently dropped the existing height. Numeric bounds stay the store's
|
|
148
|
+
// whole-bundle validate (single authority for the geometry rules).
|
|
149
|
+
if (!isRecord(rawOp.geometry) || rawOp.geometry.width === undefined || rawOp.geometry.height === undefined) {
|
|
150
|
+
throw new ArtifactPatchError(`${kind}.geometry must be a full { width, height } object (it replaces the frame's geometry, it does not merge)`);
|
|
151
|
+
}
|
|
152
|
+
frame.geometry = rawOp.geometry;
|
|
153
|
+
touched = true;
|
|
154
|
+
}
|
|
155
|
+
if (rawOp.background !== undefined) {
|
|
156
|
+
const bg = rawOp.background;
|
|
157
|
+
// Empty string clears the per-frame override (inherits display default).
|
|
158
|
+
if (bg === '' || bg === null) {
|
|
159
|
+
delete frame.background;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
// Same grammar as create_artifact: a keyword OR a safe custom CSS
|
|
163
|
+
// color/gradient (shared normalizer — set_frame_meta used to reject
|
|
164
|
+
// custom colors that create accepted, forcing a `transparent` workaround).
|
|
165
|
+
const normalized = normalizeBackgroundValue(bg);
|
|
166
|
+
if (normalized === null) {
|
|
167
|
+
throw new ArtifactPatchError(`${kind}.background must be ${ARTIFACT_DISPLAY_BACKGROUNDS.join(' / ')}, a safe CSS color/gradient, or "" to clear`);
|
|
168
|
+
}
|
|
169
|
+
frame.background = normalized;
|
|
170
|
+
}
|
|
171
|
+
touched = true;
|
|
172
|
+
}
|
|
173
|
+
// `pages`-document letterhead/pagination frame fields — pageNumbers,
|
|
174
|
+
// furniture, pageMargins. Each is REPLACED wholesale by a provided object
|
|
175
|
+
// (merging a single sub-field is not expressible — re-send the field), or
|
|
176
|
+
// CLEARED by `null`/`''` (the field is removed → reverts to the platform
|
|
177
|
+
// default). Just like geometry, the value's shape/bounds AND the
|
|
178
|
+
// `pages`-only rule are enforced by the store's whole-bundle
|
|
179
|
+
// validateArtifactBundle (the single authority) — not re-checked here, so
|
|
180
|
+
// an invalid value or a non-`pages` frame fails the whole patch (fail-closed,
|
|
181
|
+
// no partial application).
|
|
182
|
+
for (const key of ['pageNumbers', 'furniture', 'pageMargins']) {
|
|
183
|
+
if (rawOp[key] !== undefined) {
|
|
184
|
+
if (rawOp[key] === '' || rawOp[key] === null)
|
|
185
|
+
delete frame[key];
|
|
186
|
+
else
|
|
187
|
+
frame[key] = rawOp[key];
|
|
188
|
+
touched = true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (!touched) {
|
|
192
|
+
throw new ArtifactPatchError(`${kind}: nothing to change — pass at least one of title, layout, geometry, background, pageNumbers, furniture, pageMargins.`);
|
|
193
|
+
}
|
|
194
|
+
acc.changed.add(frame.id);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
case 'add_frame': {
|
|
198
|
+
if (!isRecord(rawOp.frame)) {
|
|
199
|
+
throw new ArtifactPatchError(`${kind}.frame must be a frame object ({ id, layout, geometry, content, ... })`);
|
|
200
|
+
}
|
|
201
|
+
const newId = rawOp.frame.id;
|
|
202
|
+
if (typeof newId !== 'string' || !newId.trim()) {
|
|
203
|
+
throw new ArtifactPatchError(`${kind}.frame.id must be a non-empty string`);
|
|
204
|
+
}
|
|
205
|
+
if (bundle.frames.some((f) => f.id === newId)) {
|
|
206
|
+
throw new ArtifactPatchError(`${kind}: a frame with id "${newId}" already exists. Pick a unique id.`);
|
|
207
|
+
}
|
|
208
|
+
// `content` must be a string up front: a later op in this batch (e.g.
|
|
209
|
+
// patch_frame_content on the new frame) would otherwise hit a generic
|
|
210
|
+
// TypeError instead of a recoverable ArtifactPatchError. The store's
|
|
211
|
+
// whole-bundle validate enforces the rest (layout enum, geometry bounds).
|
|
212
|
+
if (typeof rawOp.frame.content !== 'string') {
|
|
213
|
+
throw new ArtifactPatchError(`${kind}.frame.content must be a string`);
|
|
214
|
+
}
|
|
215
|
+
const frame = rawOp.frame;
|
|
216
|
+
let at = bundle.frames.length;
|
|
217
|
+
if (rawOp.atIndex !== undefined) {
|
|
218
|
+
if (typeof rawOp.atIndex !== 'number' || !Number.isInteger(rawOp.atIndex) || rawOp.atIndex < 0) {
|
|
219
|
+
throw new ArtifactPatchError(`${kind}.atIndex must be a non-negative integer`);
|
|
220
|
+
}
|
|
221
|
+
at = Math.min(rawOp.atIndex, bundle.frames.length);
|
|
222
|
+
}
|
|
223
|
+
bundle.frames.splice(at, 0, frame);
|
|
224
|
+
acc.changed.add(newId);
|
|
225
|
+
// If this id was removed earlier in the same batch, it's a replacement,
|
|
226
|
+
// not a removal — don't report it as both removed and changed.
|
|
227
|
+
acc.removed.delete(newId);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
case 'remove_frame': {
|
|
231
|
+
const frame = findFrame(bundle, rawOp.frameId, kind);
|
|
232
|
+
if (bundle.frames.length === 1) {
|
|
233
|
+
throw new ArtifactPatchError(`${kind}: cannot remove the only frame — an artifact must have at least one frame. Replace its content instead, or delete the whole artifact entry.`);
|
|
234
|
+
}
|
|
235
|
+
bundle.frames = bundle.frames.filter((f) => f.id !== frame.id);
|
|
236
|
+
acc.removed.add(frame.id);
|
|
237
|
+
// A frame removed earlier in the batch should not also count as "changed".
|
|
238
|
+
acc.changed.delete(frame.id);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
case 'reorder_frames': {
|
|
242
|
+
if (!Array.isArray(rawOp.order) || rawOp.order.some((id) => typeof id !== 'string')) {
|
|
243
|
+
throw new ArtifactPatchError(`${kind}.order must be an array of frame ids`);
|
|
244
|
+
}
|
|
245
|
+
const order = rawOp.order;
|
|
246
|
+
const current = bundle.frames.map((f) => f.id);
|
|
247
|
+
if (order.length !== current.length || new Set(order).size !== order.length || !current.every((id) => order.includes(id))) {
|
|
248
|
+
throw new ArtifactPatchError(`${kind}.order must be a permutation of the current frame ids (each exactly once). Current order: [${current.join(', ')}].`);
|
|
249
|
+
}
|
|
250
|
+
const byId = new Map(bundle.frames.map((f) => [f.id, f]));
|
|
251
|
+
const next = order.map((id) => byId.get(id));
|
|
252
|
+
// OR, never assign: a later identity-reorder in the same batch must not
|
|
253
|
+
// clear an earlier real reorder's flag.
|
|
254
|
+
acc.reordered = acc.reordered || current.some((id, i) => id !== order[i]);
|
|
255
|
+
bundle.frames = next;
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
case 'set_shared_file': {
|
|
259
|
+
const path = requireString(rawOp.path, 'path', kind);
|
|
260
|
+
const content = requireString(rawOp.content, 'content', kind);
|
|
261
|
+
// Path safety + extension allowlist is the store's whole-bundle validate.
|
|
262
|
+
const shared = bundle.shared ?? (bundle.shared = {});
|
|
263
|
+
const files = shared.files ?? (shared.files = {});
|
|
264
|
+
files[path] = content;
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
case 'remove_shared_file': {
|
|
268
|
+
const path = requireString(rawOp.path, 'path', kind);
|
|
269
|
+
const files = bundle.shared?.files;
|
|
270
|
+
if (!files || !(path in files)) {
|
|
271
|
+
const existing = files ? Object.keys(files).join(', ') : '(none)';
|
|
272
|
+
throw new ArtifactPatchError(`${kind}: no shared file at "${path}". Existing shared files: ${existing}.`);
|
|
273
|
+
}
|
|
274
|
+
delete files[path];
|
|
275
|
+
if (Object.keys(files).length === 0)
|
|
276
|
+
delete bundle.shared.files;
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
case 'set_tokens': {
|
|
280
|
+
if (!isRecord(rawOp.tokens)) {
|
|
281
|
+
throw new ArtifactPatchError(`${kind}.tokens must be an object of name → CSS value`);
|
|
282
|
+
}
|
|
283
|
+
// Replace the whole token map (it's a small global). Token-name/value
|
|
284
|
+
// validation is the store's whole-bundle validate. An empty object clears
|
|
285
|
+
// tokens (the store drops an empty map).
|
|
286
|
+
bundle.tokens = rawOp.tokens;
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
function countOccurrences(haystack, needle) {
|
|
292
|
+
if (needle === '')
|
|
293
|
+
return 0;
|
|
294
|
+
let count = 0;
|
|
295
|
+
let from = 0;
|
|
296
|
+
for (;;) {
|
|
297
|
+
const at = haystack.indexOf(needle, from);
|
|
298
|
+
if (at === -1)
|
|
299
|
+
break;
|
|
300
|
+
count++;
|
|
301
|
+
from = at + needle.length;
|
|
302
|
+
}
|
|
303
|
+
return count;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Apply an ordered op list to a COPY of `bundle`, returning the mutated bundle +
|
|
307
|
+
* a change summary. Ops apply in order against the running result, so a later op
|
|
308
|
+
* sees an earlier op's edits (e.g. add_frame then reorder_frames including the
|
|
309
|
+
* new id). Throws {@link ArtifactPatchError} on the first op-level problem,
|
|
310
|
+
* leaving the input bundle untouched (it is never mutated; the copy is
|
|
311
|
+
* discarded by the caller on throw).
|
|
312
|
+
*/
|
|
313
|
+
export function applyArtifactPatch(bundle, ops) {
|
|
314
|
+
if (!Array.isArray(ops) || ops.length === 0) {
|
|
315
|
+
throw new ArtifactPatchError('ops must be a non-empty array of patch operations');
|
|
316
|
+
}
|
|
317
|
+
const working = cloneBundle(bundle);
|
|
318
|
+
const acc = { changed: new Set(), removed: new Set(), reordered: false };
|
|
319
|
+
ops.forEach((op, index) => applyOp(working, op, index, acc));
|
|
320
|
+
return {
|
|
321
|
+
bundle: working,
|
|
322
|
+
changedFrameIds: [...acc.changed],
|
|
323
|
+
removedFrameIds: [...acc.removed],
|
|
324
|
+
reordered: acc.reordered,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=artifact-patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-patch.js","sourceRoot":"","sources":["../../src/core/artifact-patch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural warnings for an artifact write (P4.3) — browser-free lints that let
|
|
3
|
+
* the agent self-verify what it just produced, in the SAME turn, without a
|
|
4
|
+
* Playwright render.
|
|
5
|
+
*
|
|
6
|
+
* Paired with the P4.2 frame manifest, these back the "return-rich" create/patch
|
|
7
|
+
* returns: `summarizeArtifactWrite` hands both surfaces (agent chat + MCP) ONE
|
|
8
|
+
* identical `{ manifest, warnings }` payload so the two can't drift. The manifest
|
|
9
|
+
* is built WITHOUT a `frameId`, so it carries no per-frame `content` — the return
|
|
10
|
+
* is structure-only and safe to persist across turns (it does NOT trip the
|
|
11
|
+
* `compactArtifactHistory` MUST-NOT-PERSIST rule that elides full artifact source).
|
|
12
|
+
*
|
|
13
|
+
* The lints are deliberately conservative — high precision over recall — so a
|
|
14
|
+
* legitimate single-`app` artifact is never nagged into being split:
|
|
15
|
+
* - `packed-slides` — ONE non-deck frame whose content carries the fingerprints
|
|
16
|
+
* of a hand-rolled DECK (the agent freelancing a stepper
|
|
17
|
+
* inside one frame instead of one frame per slide).
|
|
18
|
+
* - `packed-pages` — ONE non-document frame whose content carries the
|
|
19
|
+
* fingerprints of a hand-rolled multi-page DOCUMENT (forced
|
|
20
|
+
* page breaks or a page-column grid, e.g. the observed
|
|
21
|
+
* `app` frame with a `repeat(var(--page-cols),816px)` grid)
|
|
22
|
+
* instead of a `pages` frame the platform paginates.
|
|
23
|
+
* - `empty-frame` — a frame that will render blank (objective).
|
|
24
|
+
* - `near-byte-cap` — the bundle is close to the 512KB ceiling, so the NEXT
|
|
25
|
+
* edit may be rejected (objective).
|
|
26
|
+
*/
|
|
27
|
+
import { type ArtifactBundle } from './artifact-frame-model.js';
|
|
28
|
+
import { type ArtifactManifest } from './artifact-manifest.js';
|
|
29
|
+
export type ArtifactWarningCode = 'packed-slides' | 'packed-pages' | 'empty-frame' | 'near-byte-cap';
|
|
30
|
+
export interface ArtifactWarning {
|
|
31
|
+
code: ArtifactWarningCode;
|
|
32
|
+
message: string;
|
|
33
|
+
/** Present for frame-scoped warnings (`empty-frame`, `packed-slides`, `packed-pages`). */
|
|
34
|
+
frameId?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Compute the structural warnings for a (already-validated) bundle. Pure — no IO,
|
|
38
|
+
* no browser. Order: the headline adherence lint first, then per-frame blanks,
|
|
39
|
+
* then the size ceiling.
|
|
40
|
+
*/
|
|
41
|
+
export declare function artifactStructuralWarnings(bundle: ArtifactBundle): ArtifactWarning[];
|
|
42
|
+
/**
|
|
43
|
+
* THE return-rich payload both write surfaces attach to a create/patch result:
|
|
44
|
+
* the structural manifest (P4.2) + the lints. Built from the WRITTEN bundle so it
|
|
45
|
+
* reflects exactly what was persisted. The manifest carries no per-frame
|
|
46
|
+
* `content` (no `frameId` option) → the result is structure-only and persist-safe.
|
|
47
|
+
*/
|
|
48
|
+
export declare function summarizeArtifactWrite(bundle: ArtifactBundle): {
|
|
49
|
+
manifest: ArtifactManifest;
|
|
50
|
+
warnings: ArtifactWarning[];
|
|
51
|
+
};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural warnings for an artifact write (P4.3) — browser-free lints that let
|
|
3
|
+
* the agent self-verify what it just produced, in the SAME turn, without a
|
|
4
|
+
* Playwright render.
|
|
5
|
+
*
|
|
6
|
+
* Paired with the P4.2 frame manifest, these back the "return-rich" create/patch
|
|
7
|
+
* returns: `summarizeArtifactWrite` hands both surfaces (agent chat + MCP) ONE
|
|
8
|
+
* identical `{ manifest, warnings }` payload so the two can't drift. The manifest
|
|
9
|
+
* is built WITHOUT a `frameId`, so it carries no per-frame `content` — the return
|
|
10
|
+
* is structure-only and safe to persist across turns (it does NOT trip the
|
|
11
|
+
* `compactArtifactHistory` MUST-NOT-PERSIST rule that elides full artifact source).
|
|
12
|
+
*
|
|
13
|
+
* The lints are deliberately conservative — high precision over recall — so a
|
|
14
|
+
* legitimate single-`app` artifact is never nagged into being split:
|
|
15
|
+
* - `packed-slides` — ONE non-deck frame whose content carries the fingerprints
|
|
16
|
+
* of a hand-rolled DECK (the agent freelancing a stepper
|
|
17
|
+
* inside one frame instead of one frame per slide).
|
|
18
|
+
* - `packed-pages` — ONE non-document frame whose content carries the
|
|
19
|
+
* fingerprints of a hand-rolled multi-page DOCUMENT (forced
|
|
20
|
+
* page breaks or a page-column grid, e.g. the observed
|
|
21
|
+
* `app` frame with a `repeat(var(--page-cols),816px)` grid)
|
|
22
|
+
* instead of a `pages` frame the platform paginates.
|
|
23
|
+
* - `empty-frame` — a frame that will render blank (objective).
|
|
24
|
+
* - `near-byte-cap` — the bundle is close to the 512KB ceiling, so the NEXT
|
|
25
|
+
* edit may be rejected (objective).
|
|
26
|
+
*/
|
|
27
|
+
import { ARTIFACT_BUNDLE_MAX_BYTES, } from './artifact-frame-model.js';
|
|
28
|
+
import { buildArtifactManifest } from './artifact-manifest.js';
|
|
29
|
+
/** Fraction of the hard byte cap at which `near-byte-cap` starts warning. */
|
|
30
|
+
const NEAR_CAP_FRACTION = 0.9;
|
|
31
|
+
/** `data-artifact-frame` is the PLATFORM's own frame-splitting attribute — a
|
|
32
|
+
* single authored frame should never contain it. Two or more inside ONE frame's
|
|
33
|
+
* content means the agent hand-declared multiple frames in one (the exact
|
|
34
|
+
* hand-rolled-deck failure `packed-slides` exists to catch). */
|
|
35
|
+
const PACKED_SUBFRAME_THRESHOLD = 2;
|
|
36
|
+
/** ...or this many FORCED page breaks: a multi-page document crammed into a
|
|
37
|
+
* non-`pages` frame instead of authored as a paginating `pages` frame. */
|
|
38
|
+
const PACKED_PAGEBREAK_THRESHOLD = 2;
|
|
39
|
+
/** Bound the regex scans so a pathological multi-hundred-KB frame can't stall the
|
|
40
|
+
* event loop (mirrors artifact-manifest's KEY_TEXT_SCAN_LIMIT rationale). A cut
|
|
41
|
+
* match can only UNDERcount → at worst a missed warning, never a false positive. */
|
|
42
|
+
const PACKED_SCAN_LIMIT = 64 * 1024;
|
|
43
|
+
/** Forced page break, old (`page-break-before:always`) and modern
|
|
44
|
+
* (`break-before:page`) syntax — the fingerprint of paginating by hand. */
|
|
45
|
+
const PAGE_BREAK_RE = /(?:page-break-(?:before|after)\s*:\s*always|break-(?:before|after)\s*:\s*page)/gi;
|
|
46
|
+
/** A MULTI-page CSS variable — `--page-cols`, `--page-count`, etc. The observed
|
|
47
|
+
* bug grid was `grid-template-columns: repeat(var(--page-cols),816px)`; a var that
|
|
48
|
+
* names a page COUNT/COLUMN only exists to fake a multi-page grid. Deliberately
|
|
49
|
+
* excludes the SINGULAR `--page-width`/`--page-height`/`--page-size` (a legit
|
|
50
|
+
* single content column declares its own page dimensions) and `--page-color`
|
|
51
|
+
* (the `\b` after the keyword guards it). */
|
|
52
|
+
const PAGE_COLUMN_VAR_RE = /--page-(?:col|cols|count|num)\b/i;
|
|
53
|
+
/** ...or a `repeat()` whose track is a BARE page-width px literal
|
|
54
|
+
* (US-Letter/A4/Legal @96dpi) directly after a count of TWO OR MORE — `repeat(3,
|
|
55
|
+
* 816px)`, the shape of a hand-built MULTI-page-column grid. Kept tight for
|
|
56
|
+
* precision: the count must be ≥2 (or `auto-fill`/`auto-fit`) so a single
|
|
57
|
+
* page-width content column `repeat(1, 816px)` does NOT match; the page literal
|
|
58
|
+
* must follow the comma with a left boundary, so a card grid whose track is
|
|
59
|
+
* `minmax(1056px, 1fr)` (the literal is nested, not bare) does NOT match, and
|
|
60
|
+
* `21056px` does not match `1056`. The `repeat(var(--page-cols),816px)` form is
|
|
61
|
+
* caught by PAGE_COLUMN_VAR_RE instead. */
|
|
62
|
+
const PAGE_COLUMN_GRID_RE = /repeat\(\s*(?:[2-9]|\d{2,}|auto-fill|auto-fit)\s*,\s*(?:816|1056|794|1123|1344)px\b/i;
|
|
63
|
+
function byteSizeOf(bundle) {
|
|
64
|
+
// Compact JSON — byte-identical to validateArtifactBundle's cap measurement, so
|
|
65
|
+
// the advisory tracks the exact ceiling the next edit's validator enforces.
|
|
66
|
+
return new TextEncoder().encode(JSON.stringify(bundle)).length;
|
|
67
|
+
}
|
|
68
|
+
function countMatches(text, re) {
|
|
69
|
+
const matches = text.match(re);
|
|
70
|
+
return matches ? matches.length : 0;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Classify a SINGLE non-deck/non-document frame whose content looks like a deck or
|
|
74
|
+
* a multi-page document hand-rolled inside one frame. High precision over recall
|
|
75
|
+
* (the founder's explicit priority): only the unambiguous fingerprints, NOT signals
|
|
76
|
+
* a legitimate single-`app` artifact uses for its own reasons — a `.slide` class
|
|
77
|
+
* (image carousels), repeated `height:100vh` (landing-page sections), or a plain
|
|
78
|
+
* `repeat(3,1fr)` card grid are common in real apps, so they are NOT counted.
|
|
79
|
+
*
|
|
80
|
+
* Returns the kind of artifact the frame is impersonating, or null. `pages` is
|
|
81
|
+
* checked first: a forced-page-break / page-grid document is the headline observed
|
|
82
|
+
* bug, and it can also carry stray `data-artifact-frame` markers.
|
|
83
|
+
*/
|
|
84
|
+
function packedKind(frame) {
|
|
85
|
+
if (frame.layout !== 'app' && frame.layout !== 'artboard')
|
|
86
|
+
return null;
|
|
87
|
+
const scan = frame.content.length > PACKED_SCAN_LIMIT
|
|
88
|
+
? frame.content.slice(0, PACKED_SCAN_LIMIT)
|
|
89
|
+
: frame.content;
|
|
90
|
+
// pages: a multi-page document faked inside one frame.
|
|
91
|
+
if (countMatches(scan, PAGE_BREAK_RE) >= PACKED_PAGEBREAK_THRESHOLD)
|
|
92
|
+
return 'pages';
|
|
93
|
+
if (PAGE_COLUMN_VAR_RE.test(scan) || PAGE_COLUMN_GRID_RE.test(scan))
|
|
94
|
+
return 'pages';
|
|
95
|
+
// slides: the platform frame-splitter attribute hand-declared multiple times.
|
|
96
|
+
if (countMatches(scan, /data-artifact-frame/gi) >= PACKED_SUBFRAME_THRESHOLD)
|
|
97
|
+
return 'slides';
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Compute the structural warnings for a (already-validated) bundle. Pure — no IO,
|
|
102
|
+
* no browser. Order: the headline adherence lint first, then per-frame blanks,
|
|
103
|
+
* then the size ceiling.
|
|
104
|
+
*/
|
|
105
|
+
export function artifactStructuralWarnings(bundle) {
|
|
106
|
+
const warnings = [];
|
|
107
|
+
// packed-slides / packed-pages: only a SINGLE frame can be "a deck/document
|
|
108
|
+
// crammed into one frame"; a real multi-frame artifact is already doing the
|
|
109
|
+
// right thing.
|
|
110
|
+
if (bundle.frames.length === 1) {
|
|
111
|
+
const only = bundle.frames[0];
|
|
112
|
+
const kind = packedKind(only);
|
|
113
|
+
if (kind === 'slides') {
|
|
114
|
+
warnings.push({
|
|
115
|
+
code: 'packed-slides',
|
|
116
|
+
frameId: only.id,
|
|
117
|
+
message: `This is a single "${only.layout}" frame but its content looks like multiple slides. `
|
|
118
|
+
+ 'If you meant a deck, author one "slides" frame per slide so the platform steps, '
|
|
119
|
+
+ 'arranges, and exports them — do not hand-roll a stepper/filmstrip inside one frame.',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
else if (kind === 'pages') {
|
|
123
|
+
warnings.push({
|
|
124
|
+
code: 'packed-pages',
|
|
125
|
+
frameId: only.id,
|
|
126
|
+
message: `This is a single "${only.layout}" frame but its content looks like a multi-page document `
|
|
127
|
+
+ '(forced page breaks or a page-column grid). Author a "pages" frame (a fixed page box, '
|
|
128
|
+
+ 'e.g. 816×1056 US-Letter) holding the document body and let the platform paginate, number, '
|
|
129
|
+
+ 'and PDF-scroll it — do not build your own page grid or page breaks inside an app/artboard frame.',
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
bundle.frames.forEach((frame, index) => {
|
|
134
|
+
if (frame.content.trim().length === 0) {
|
|
135
|
+
warnings.push({
|
|
136
|
+
code: 'empty-frame',
|
|
137
|
+
frameId: frame.id,
|
|
138
|
+
message: `Frame "${frame.id}" (index ${index}) has no content — it will render blank.`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
const byteSize = byteSizeOf(bundle);
|
|
143
|
+
if (byteSize > NEAR_CAP_FRACTION * ARTIFACT_BUNDLE_MAX_BYTES) {
|
|
144
|
+
const kb = Math.round(byteSize / 1024);
|
|
145
|
+
const capKb = Math.round(ARTIFACT_BUNDLE_MAX_BYTES / 1024);
|
|
146
|
+
warnings.push({
|
|
147
|
+
code: 'near-byte-cap',
|
|
148
|
+
message: `Bundle is ${kb}KB, near the ${capKb}KB limit — the next edit may be rejected; split or trim content.`,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return warnings;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* THE return-rich payload both write surfaces attach to a create/patch result:
|
|
155
|
+
* the structural manifest (P4.2) + the lints. Built from the WRITTEN bundle so it
|
|
156
|
+
* reflects exactly what was persisted. The manifest carries no per-frame
|
|
157
|
+
* `content` (no `frameId` option) → the result is structure-only and persist-safe.
|
|
158
|
+
*/
|
|
159
|
+
export function summarizeArtifactWrite(bundle) {
|
|
160
|
+
return {
|
|
161
|
+
manifest: buildArtifactManifest(bundle),
|
|
162
|
+
warnings: artifactStructuralWarnings(bundle),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=artifact-warnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-warnings.js","sourceRoot":"","sources":["../../src/core/artifact-warnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical responsive breakpoint queries — the single source of truth for
|
|
3
|
+
* BOTH CSS and JS so they can never drift.
|
|
4
|
+
*
|
|
5
|
+
* - CSS consumes the same strings as `@custom-media --mobile / --touch`,
|
|
6
|
+
* declared in `web/src/styles/media.css` (for component <style> blocks, via
|
|
7
|
+
* @csstools/postcss-global-data) AND in-file at the top of `web/src/app.css`
|
|
8
|
+
* (for the Tailwind/lightningcss pass — see the plan's build-pipeline note).
|
|
9
|
+
* - JS consumes them via `matchMedia(MOBILE_MEDIA_QUERY)` and Svelte 5
|
|
10
|
+
* `new MediaQuery(MOBILE_MEDIA_QUERY)`. Web code imports through the
|
|
11
|
+
* `@core/breakpoints` alias.
|
|
12
|
+
*
|
|
13
|
+
* `src/core/__tests__/breakpoints-sync.test.ts` asserts all three CSS copies
|
|
14
|
+
* stay byte-identical to these constants.
|
|
15
|
+
*
|
|
16
|
+
* --mobile = LAYOUT TOPOLOGY (drawers vs docked). Primary `pointer: coarse`, so
|
|
17
|
+
* a keyboard-attached iPad (trackpad primary) reads as desktop. `767.98px` (not
|
|
18
|
+
* 768) dodges the exact overlap with Tailwind's `md` = min-width:768 and keeps a
|
|
19
|
+
* classic 768px iPad on desktop. The `max-height: 500px` arm catches landscape
|
|
20
|
+
* phones (≤~480 tall) while letting short tablets (≥600) fall through to desktop.
|
|
21
|
+
*
|
|
22
|
+
* --touch = TOUCH ERGONOMICS (44px tap targets, 16px inputs to dodge iOS focus
|
|
23
|
+
* auto-zoom). `any-pointer: coarse` so a touch device still counts even when its
|
|
24
|
+
* PRIMARY pointer is a trackpad (keyboard-attached iPad).
|
|
25
|
+
*/
|
|
26
|
+
export declare const MOBILE_MEDIA_QUERY = "(max-width: 767.98px), (hover: none) and (pointer: coarse) and (max-height: 500px)";
|
|
27
|
+
export declare const TOUCH_MEDIA_QUERY = "(any-pointer: coarse)";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical responsive breakpoint queries — the single source of truth for
|
|
3
|
+
* BOTH CSS and JS so they can never drift.
|
|
4
|
+
*
|
|
5
|
+
* - CSS consumes the same strings as `@custom-media --mobile / --touch`,
|
|
6
|
+
* declared in `web/src/styles/media.css` (for component <style> blocks, via
|
|
7
|
+
* @csstools/postcss-global-data) AND in-file at the top of `web/src/app.css`
|
|
8
|
+
* (for the Tailwind/lightningcss pass — see the plan's build-pipeline note).
|
|
9
|
+
* - JS consumes them via `matchMedia(MOBILE_MEDIA_QUERY)` and Svelte 5
|
|
10
|
+
* `new MediaQuery(MOBILE_MEDIA_QUERY)`. Web code imports through the
|
|
11
|
+
* `@core/breakpoints` alias.
|
|
12
|
+
*
|
|
13
|
+
* `src/core/__tests__/breakpoints-sync.test.ts` asserts all three CSS copies
|
|
14
|
+
* stay byte-identical to these constants.
|
|
15
|
+
*
|
|
16
|
+
* --mobile = LAYOUT TOPOLOGY (drawers vs docked). Primary `pointer: coarse`, so
|
|
17
|
+
* a keyboard-attached iPad (trackpad primary) reads as desktop. `767.98px` (not
|
|
18
|
+
* 768) dodges the exact overlap with Tailwind's `md` = min-width:768 and keeps a
|
|
19
|
+
* classic 768px iPad on desktop. The `max-height: 500px` arm catches landscape
|
|
20
|
+
* phones (≤~480 tall) while letting short tablets (≥600) fall through to desktop.
|
|
21
|
+
*
|
|
22
|
+
* --touch = TOUCH ERGONOMICS (44px tap targets, 16px inputs to dodge iOS focus
|
|
23
|
+
* auto-zoom). `any-pointer: coarse` so a touch device still counts even when its
|
|
24
|
+
* PRIMARY pointer is a trackpad (keyboard-attached iPad).
|
|
25
|
+
*/
|
|
26
|
+
export const MOBILE_MEDIA_QUERY = '(max-width: 767.98px), (hover: none) and (pointer: coarse) and (max-height: 500px)';
|
|
27
|
+
export const TOUCH_MEDIA_QUERY = '(any-pointer: coarse)';
|
|
28
|
+
//# sourceMappingURL=breakpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../../src/core/breakpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC9B,oFAAoF,CAAC;AAEtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC"}
|