studiograph 1.3.48-next.2 → 1.3.48-next.201
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 +26 -16
- package/dist/agent/agent-pool.d.ts +117 -0
- package/dist/agent/agent-pool.js +287 -0
- package/dist/agent/agent-pool.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 +113 -22
- package/dist/agent/orchestrator.js +574 -181
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/prompts/entity-types-section.d.ts +34 -0
- package/dist/agent/prompts/entity-types-section.js +76 -0
- package/dist/agent/prompts/entity-types-section.js.map +1 -0
- package/dist/agent/prompts/system.md +147 -69
- package/dist/agent/skill-loader.d.ts +30 -17
- package/dist/agent/skill-loader.js +63 -30
- package/dist/agent/skill-loader.js.map +1 -1
- package/dist/agent/skills/entity-schema.md +77 -433
- package/dist/agent/skills/interview/entity-templates.md +193 -0
- package/dist/agent/skills/interview/question-domains.md +391 -0
- package/dist/agent/skills/interview/skill.md +204 -0
- package/dist/agent/skills/schema-rules.md +54 -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 +47 -0
- package/dist/agent/tools/folder-tools.js +249 -0
- package/dist/agent/tools/folder-tools.js.map +1 -0
- package/dist/agent/tools/fs-tools.d.ts +7 -6
- package/dist/agent/tools/fs-tools.js +5 -4
- package/dist/agent/tools/fs-tools.js.map +1 -1
- package/dist/agent/tools/graph-tools.d.ts +21 -58
- package/dist/agent/tools/graph-tools.js +664 -333
- 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 +461 -0
- package/dist/agent/tools/history-tools.js.map +1 -0
- package/dist/agent/tools/load-skill.d.ts +6 -5
- package/dist/agent/tools/load-skill.js +3 -3
- package/dist/agent/tools/load-skill.js.map +1 -1
- package/dist/agent/tools/ops-tools.d.ts +5 -4
- package/dist/agent/tools/ops-tools.js +130 -236
- package/dist/agent/tools/ops-tools.js.map +1 -1
- package/dist/agent/tools/permission-tools.d.ts +87 -17
- package/dist/agent/tools/permission-tools.js +233 -38
- 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 +186 -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 +46 -0
- package/dist/cli/commands/admin/index.js.map +1 -0
- package/dist/cli/commands/admin/migrate-assets.d.ts +53 -0
- package/dist/cli/commands/admin/migrate-assets.js +184 -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 +25 -3
- package/dist/cli/commands/clone.js +142 -36
- package/dist/cli/commands/clone.js.map +1 -1
- package/dist/cli/commands/commit.d.ts +1 -1
- package/dist/cli/commands/commit.js +24 -11
- package/dist/cli/commands/commit.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 +215 -68
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/index.js +2 -2
- 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 +12 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/orphans.js +14 -30
- package/dist/cli/commands/orphans.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 +142 -63
- package/dist/cli/commands/reset.js.map +1 -1
- package/dist/cli/commands/serve.js +218 -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 +372 -202
- 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 -35
- 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 +33 -52
- package/dist/cli/setup-wizard.js +43 -68
- package/dist/cli/setup-wizard.js.map +1 -1
- package/dist/core/accent-palette.d.ts +22 -0
- package/dist/core/accent-palette.js +47 -0
- package/dist/core/accent-palette.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 +77 -0
- package/dist/core/embeds.js +147 -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 +53 -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 +140 -0
- package/dist/core/entity-types-catalog.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/format-registry.d.ts +170 -0
- package/dist/core/format-registry.js +404 -0
- package/dist/core/format-registry.js.map +1 -0
- package/dist/core/graph.d.ts +731 -14
- package/dist/core/graph.js +2202 -315
- 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/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 +82 -0
- package/dist/core/schema-registry.js +238 -0
- 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 +188 -0
- package/dist/core/secrets/registry.js +616 -0
- package/dist/core/secrets/registry.js.map +1 -0
- package/dist/core/types.d.ts +80 -475
- package/dist/core/types.js +27 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/user-config.d.ts +75 -7
- package/dist/core/user-config.js +155 -7
- package/dist/core/user-config.js.map +1 -1
- package/dist/core/validation.d.ts +731 -1790
- package/dist/core/validation.js +442 -228
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-manager.d.ts +89 -12
- package/dist/core/workspace-manager.js +225 -73
- package/dist/core/workspace-manager.js.map +1 -1
- package/dist/core/workspace.d.ts +19 -5
- package/dist/core/workspace.js +69 -35
- 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-manager.d.ts +94 -13
- package/dist/mcp/connector-manager.js +283 -62
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/mcp/oauth-provider.d.ts +27 -33
- package/dist/mcp/oauth-provider.js +65 -134
- package/dist/mcp/oauth-provider.js.map +1 -1
- package/dist/mcp/oauth-registry.d.ts +62 -0
- package/dist/mcp/oauth-registry.js +85 -0
- package/dist/mcp/oauth-registry.js.map +1 -0
- package/dist/mcp/server.d.ts +11 -3
- package/dist/mcp/server.js +30 -5
- 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/tools.d.ts +35 -2
- package/dist/mcp/tools.js +1361 -112
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/__tests__/helpers/graph-api.d.ts +16 -0
- package/dist/server/__tests__/helpers/graph-api.js +16 -0
- package/dist/server/__tests__/helpers/graph-api.js.map +1 -0
- package/dist/server/asset-index-queue.d.ts +96 -0
- package/dist/server/asset-index-queue.js +191 -0
- package/dist/server/asset-index-queue.js.map +1 -0
- package/dist/server/body-write-coordinator.d.ts +151 -0
- package/dist/server/body-write-coordinator.js +161 -0
- package/dist/server/body-write-coordinator.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 +22 -3
- package/dist/server/index.js +622 -198
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/sanitize.d.ts +46 -0
- package/dist/server/middleware/sanitize.js +171 -0
- package/dist/server/middleware/sanitize.js.map +1 -0
- package/dist/server/routes/asset-api.d.ts +31 -0
- package/dist/server/routes/asset-api.js +593 -0
- package/dist/server/routes/asset-api.js.map +1 -0
- package/dist/server/routes/audit-api.d.ts +24 -0
- package/dist/server/routes/audit-api.js +117 -0
- package/dist/server/routes/audit-api.js.map +1 -0
- package/dist/server/routes/auth-api.d.ts +3 -2
- package/dist/server/routes/auth-api.js +573 -39
- package/dist/server/routes/auth-api.js.map +1 -1
- package/dist/server/routes/capture-api.d.ts +18 -0
- package/dist/server/routes/capture-api.js +257 -0
- package/dist/server/routes/capture-api.js.map +1 -0
- package/dist/server/routes/chat-sessions-api.d.ts +9 -0
- package/dist/server/routes/chat-sessions-api.js +121 -0
- package/dist/server/routes/chat-sessions-api.js.map +1 -0
- package/dist/server/routes/chat.d.ts +12 -1
- package/dist/server/routes/chat.js +318 -88
- 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 +21 -0
- package/dist/server/routes/config-api.js +256 -0
- package/dist/server/routes/config-api.js.map +1 -0
- package/dist/server/routes/connectors-api.d.ts +17 -0
- package/dist/server/routes/connectors-api.js +410 -0
- package/dist/server/routes/connectors-api.js.map +1 -0
- 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/git-http.d.ts +3 -3
- package/dist/server/routes/git-http.js +86 -38
- package/dist/server/routes/git-http.js.map +1 -1
- package/dist/server/routes/graph-api-access.d.ts +57 -0
- package/dist/server/routes/graph-api-access.js +112 -0
- package/dist/server/routes/graph-api-access.js.map +1 -0
- package/dist/server/routes/graph-api.d.ts +1 -1
- package/dist/server/routes/graph-api.js +1529 -263
- 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 +74 -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 +384 -38
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/routes/mcp.d.ts +7 -3
- package/dist/server/routes/mcp.js +22 -6
- package/dist/server/routes/mcp.js.map +1 -1
- package/dist/server/routes/oauth-api.d.ts +67 -0
- package/dist/server/routes/oauth-api.js +421 -0
- package/dist/server/routes/oauth-api.js.map +1 -0
- package/dist/server/routes/permissions-api.d.ts +9 -2
- package/dist/server/routes/permissions-api.js +87 -30
- 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 +276 -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 +308 -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 +180 -0
- package/dist/server/routes/settings-api.js.map +1 -0
- package/dist/server/routes/share-api.d.ts +32 -0
- package/dist/server/routes/share-api.js +234 -0
- package/dist/server/routes/share-api.js.map +1 -0
- package/dist/server/routes/url-api.d.ts +7 -0
- package/dist/server/routes/url-api.js +74 -0
- package/dist/server/routes/url-api.js.map +1 -0
- package/dist/server/routes/views-api.js +75 -7
- 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 +129 -35
- 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 +68 -16
- 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 -15
- package/dist/server/session-manager.js.map +1 -1
- package/dist/server/ws-hub.d.ts +138 -14
- package/dist/server/ws-hub.js +0 -0
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +285 -7
- package/dist/server/yjs-manager.js +907 -36
- 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 +73 -0
- package/dist/services/access-control.js +165 -0
- package/dist/services/access-control.js.map +1 -0
- package/dist/services/asset-caption-service.d.ts +102 -0
- package/dist/services/asset-caption-service.js +184 -0
- package/dist/services/asset-caption-service.js.map +1 -0
- package/dist/services/asset-delete-authz.d.ts +31 -0
- package/dist/services/asset-delete-authz.js +61 -0
- package/dist/services/asset-delete-authz.js.map +1 -0
- package/dist/services/asset-finalize-service.d.ts +58 -0
- package/dist/services/asset-finalize-service.js +207 -0
- package/dist/services/asset-finalize-service.js.map +1 -0
- package/dist/services/asset-import-service.d.ts +111 -0
- package/dist/services/asset-import-service.js +394 -0
- package/dist/services/asset-import-service.js.map +1 -0
- package/dist/services/asset-index-sweep.d.ts +92 -0
- package/dist/services/asset-index-sweep.js +258 -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 +72 -0
- package/dist/services/asset-listing.js +321 -0
- package/dist/services/asset-listing.js.map +1 -0
- package/dist/services/asset-presign-service.d.ts +68 -0
- package/dist/services/asset-presign-service.js +124 -0
- package/dist/services/asset-presign-service.js.map +1 -0
- package/dist/services/asset-sidecar-service.d.ts +30 -0
- package/dist/services/asset-sidecar-service.js +96 -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 +74 -0
- package/dist/services/asset-upload-service.js +244 -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 +127 -0
- package/dist/services/assets/asset-index-service.js +227 -0
- package/dist/services/assets/asset-index-service.js.map +1 -0
- package/dist/services/assets/base.d.ts +118 -1
- package/dist/services/assets/base.js +77 -1
- package/dist/services/assets/base.js.map +1 -1
- package/dist/services/assets/index.d.ts +103 -1
- package/dist/services/assets/index.js +192 -0
- package/dist/services/assets/index.js.map +1 -1
- package/dist/services/assets/local.d.ts +16 -1
- package/dist/services/assets/local.js +110 -1
- 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 +87 -1
- package/dist/services/assets/r2.js +203 -1
- package/dist/services/assets/r2.js.map +1 -1
- package/dist/services/auth-service.d.ts +350 -36
- package/dist/services/auth-service.js +1179 -140
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/bookmark-import-service.d.ts +49 -0
- package/dist/services/bookmark-import-service.js +250 -0
- package/dist/services/bookmark-import-service.js.map +1 -0
- package/dist/services/chat-session-service.d.ts +96 -0
- package/dist/services/chat-session-service.js +316 -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 +313 -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/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 +210 -0
- package/dist/services/entity-mutations.js +377 -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 +441 -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/git.d.ts +54 -0
- package/dist/services/git.js +188 -54
- package/dist/services/git.js.map +1 -1
- package/dist/services/graph-maintenance.d.ts +42 -0
- package/dist/services/graph-maintenance.js +143 -0
- package/dist/services/graph-maintenance.js.map +1 -0
- package/dist/services/import-service.d.ts +58 -3
- package/dist/services/import-service.js +316 -100
- 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/memory-service.d.ts +22 -14
- package/dist/services/memory-service.js +53 -35
- package/dist/services/memory-service.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/personal-folder.d.ts +40 -0
- package/dist/services/personal-folder.js +101 -0
- package/dist/services/personal-folder.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 +340 -0
- package/dist/services/user-person-bridge.js.map +1 -0
- package/dist/services/vector-service.d.ts +260 -6
- package/dist/services/vector-service.js +574 -31
- package/dist/services/vector-service.js.map +1 -1
- package/dist/services/workspace-access.d.ts +108 -0
- package/dist/services/workspace-access.js +149 -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.BZHoBJEc.css +2 -0
- package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
- package/dist/web/_app/immutable/assets/13.7d-Q37wc.css +1 -0
- package/dist/web/_app/immutable/assets/14.BwBFdc1D.css +1 -0
- package/dist/web/_app/immutable/assets/15.CmLrbzZp.css +1 -0
- package/dist/web/_app/immutable/assets/16.B0GwXar3.css +1 -0
- package/dist/web/_app/immutable/assets/2.C9Vt4JHy.css +1 -0
- package/dist/web/_app/immutable/assets/3.BFvgCYSk.css +1 -0
- package/dist/web/_app/immutable/assets/4.OmdYF47-.css +1 -0
- package/dist/web/_app/immutable/assets/5.C6MySjPq.css +1 -0
- package/dist/web/_app/immutable/assets/BulkActionsBar.Bx7nxMjH.css +1 -0
- package/dist/web/_app/immutable/assets/CalendarView.lBCvS3X5.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.DX1oBeF_.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMutationDialogs.D2B7KrRn.css +1 -0
- package/dist/web/_app/immutable/assets/FolderPicker.B5KdvRYl.css +1 -0
- package/dist/web/_app/immutable/assets/GalleryView.CF48FWYQ.css +1 -0
- package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
- package/dist/web/_app/immutable/assets/KanbanView.BOaI5KFL.css +1 -0
- package/dist/web/_app/immutable/assets/Link.vV0ne105.css +1 -0
- package/dist/web/_app/immutable/assets/Markdown.BqgpZCv5.css +1 -0
- package/dist/web/_app/immutable/assets/Rail.f8lsriOT.css +1 -0
- package/dist/web/_app/immutable/assets/SettingsDialog.DwMus2u2.css +1 -0
- package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
- package/dist/web/_app/immutable/assets/StopFilledAlt.fNlDN65D.css +1 -0
- package/dist/web/_app/immutable/assets/TimelineView.DriOGAKB.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.u5VdwRR6.css +1 -0
- package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
- package/dist/web/_app/immutable/assets/checkbox.DK0MgYgb.css +1 -0
- package/dist/web/_app/immutable/assets/dist.DDCWxn3B.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/inline-list.cqga56xT.css +1 -0
- package/dist/web/_app/immutable/assets/list-columns.DiLB0G5L.css +1 -0
- package/dist/web/_app/immutable/assets/select.BFL238eD.css +1 -0
- package/dist/web/_app/immutable/assets/sheet.4rY4hpfJ.css +1 -0
- package/dist/web/_app/immutable/chunks/2oYV6q4R.js +2 -0
- package/dist/web/_app/immutable/chunks/4XSri7g0.js +1 -0
- package/dist/web/_app/immutable/chunks/4iaT0dG72.js +1 -0
- package/dist/web/_app/immutable/chunks/5_TKU9QS2.js +1 -0
- package/dist/web/_app/immutable/chunks/8Yh26Z9_2.js +1 -0
- package/dist/web/_app/immutable/chunks/Atl8xKOm.js +2 -0
- package/dist/web/_app/immutable/chunks/B-Z_xZy_.js +4 -0
- package/dist/web/_app/immutable/chunks/B0pk0Lyx.js +1 -0
- package/dist/web/_app/immutable/chunks/B1RnjnNt.js +1 -0
- package/dist/web/_app/immutable/chunks/B2n86UNJ.js +1 -0
- package/dist/web/_app/immutable/chunks/B318GEUB2.js +1 -0
- package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
- package/dist/web/_app/immutable/chunks/B8yrQWxT2.js +1 -0
- package/dist/web/_app/immutable/chunks/BADt8daH.js +2 -0
- package/dist/web/_app/immutable/chunks/BBGt-XQo.js +3 -0
- package/dist/web/_app/immutable/chunks/BDIUHcEz.js +1 -0
- package/dist/web/_app/immutable/chunks/BDSuq3KH.js +1 -0
- package/dist/web/_app/immutable/chunks/BGiLU5VN.js +1 -0
- package/dist/web/_app/immutable/chunks/BJgOZTHR.js +1 -0
- package/dist/web/_app/immutable/chunks/BOSiTh-42.js +1 -0
- package/dist/web/_app/immutable/chunks/BPxcCdjn.js +1 -0
- package/dist/web/_app/immutable/chunks/BVPNAzAK.js +1 -0
- package/dist/web/_app/immutable/chunks/BcOvJgjM.js +1 -0
- package/dist/web/_app/immutable/chunks/BdYQewoD.js +1 -0
- package/dist/web/_app/immutable/chunks/BfCWIy8t.js +8 -0
- package/dist/web/_app/immutable/chunks/BgRT-K6w.js +5 -0
- package/dist/web/_app/immutable/chunks/BibveGGd.js +1 -0
- package/dist/web/_app/immutable/chunks/BmM5VZ4W.js +1 -0
- package/dist/web/_app/immutable/chunks/BnIYzuS1.js +66 -0
- package/dist/web/_app/immutable/chunks/BoDmwOTJ.js +1 -0
- package/dist/web/_app/immutable/chunks/BoglwbZW.js +1 -0
- package/dist/web/_app/immutable/chunks/Bqm_YrIg2.js +23 -0
- package/dist/web/_app/immutable/chunks/BtMRrdc4.js +2 -0
- package/dist/web/_app/immutable/chunks/C-AnzvKr.js +7 -0
- package/dist/web/_app/immutable/chunks/C1Y3tUpz.js +1 -0
- package/dist/web/_app/immutable/chunks/C6VZhhwF.js +1 -0
- package/dist/web/_app/immutable/chunks/C8IMrD4G2.js +3 -0
- package/dist/web/_app/immutable/chunks/CAXXrbj52.js +1 -0
- package/dist/web/_app/immutable/chunks/CB-0u-Pc2.js +1 -0
- package/dist/web/_app/immutable/chunks/CEniyZ1Z2.js +6 -0
- package/dist/web/_app/immutable/chunks/CJhElIkU2.js +1 -0
- package/dist/web/_app/immutable/chunks/CK8tIaYT.js +1 -0
- package/dist/web/_app/immutable/chunks/CM8uYli8.js +1 -0
- package/dist/web/_app/immutable/chunks/CTzjJm_m2.js +1 -0
- package/dist/web/_app/immutable/chunks/CUXqa1nn2.js +1 -0
- package/dist/web/_app/immutable/chunks/CY0iY_WO.js +1 -0
- package/dist/web/_app/immutable/chunks/CbCfNNV_2.js +2692 -0
- package/dist/web/_app/immutable/chunks/CbuGIyDu2.js +22 -0
- package/dist/web/_app/immutable/chunks/CcRGXA-t.js +1 -0
- package/dist/web/_app/immutable/chunks/CcXmQaYs2.js +1 -0
- package/dist/web/_app/immutable/chunks/CcaQuaSt2.js +1 -0
- package/dist/web/_app/immutable/chunks/CoHaBDpN2.js +2 -0
- package/dist/web/_app/immutable/chunks/Cvbd3myc2.js +14 -0
- package/dist/web/_app/immutable/chunks/D20C1thX2.js +1 -0
- package/dist/web/_app/immutable/chunks/D3JoMtWC.js +7 -0
- package/dist/web/_app/immutable/chunks/D3ch71s_.js +1 -0
- package/dist/web/_app/immutable/chunks/D4xXlMEU.js +2 -0
- package/dist/web/_app/immutable/chunks/D5GipQqN2.js +1 -0
- package/dist/web/_app/immutable/chunks/D9TyJuu_.js +1 -0
- package/dist/web/_app/immutable/chunks/DBFijAmG.js +1 -0
- package/dist/web/_app/immutable/chunks/DHLjkH7T.js +1 -0
- package/dist/web/_app/immutable/chunks/DIfdPIt_2.js +1 -0
- package/dist/web/_app/immutable/chunks/DO_sw49q2.js +1 -0
- package/dist/web/_app/immutable/chunks/DP69PpIj.js +1 -0
- package/dist/web/_app/immutable/chunks/DQ3HSZMs.js +2 -0
- package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
- package/dist/web/_app/immutable/chunks/DT0wzK622.js +1 -0
- package/dist/web/_app/immutable/chunks/DTnEJArL.js +1 -0
- package/dist/web/_app/immutable/chunks/DToS-G202.js +1 -0
- package/dist/web/_app/immutable/chunks/DZcU6mGe2.js +1 -0
- package/dist/web/_app/immutable/chunks/DbslMybD.js +1 -0
- package/dist/web/_app/immutable/chunks/DcGThsSF.js +1 -0
- package/dist/web/_app/immutable/chunks/DcPrzUMJ.js +1 -0
- package/dist/web/_app/immutable/chunks/De0g5qop2.js +1 -0
- package/dist/web/_app/immutable/chunks/DimS8dbZ2.js +1 -0
- package/dist/web/_app/immutable/chunks/DjuqhOjF.js +1 -0
- package/dist/web/_app/immutable/chunks/Dk6sAhpo.js +3 -0
- package/dist/web/_app/immutable/chunks/Dl6cnwyk.js +1 -0
- package/dist/web/_app/immutable/chunks/DnIQzIOz.js +1 -0
- package/dist/web/_app/immutable/chunks/DnXYAo60.js +1 -0
- package/dist/web/_app/immutable/chunks/DnrImJan.js +1 -0
- package/dist/web/_app/immutable/chunks/Dpuq25vu2.js +1 -0
- package/dist/web/_app/immutable/chunks/DrMZDWru.js +1 -0
- package/dist/web/_app/immutable/chunks/DsVOtl0N.js +1 -0
- package/dist/web/_app/immutable/chunks/DuTXsWdP.js +2 -0
- package/dist/web/_app/immutable/chunks/Dw-frCfE.js +1 -0
- package/dist/web/_app/immutable/chunks/Dz34u8Ie2.js +185 -0
- package/dist/web/_app/immutable/chunks/DzcFeQZU2.js +2 -0
- package/dist/web/_app/immutable/chunks/DzrRTvug.js +1 -0
- package/dist/web/_app/immutable/chunks/G5oUVQa92.js +1 -0
- package/dist/web/_app/immutable/chunks/HyhOhoeq2.js +2 -0
- package/dist/web/_app/immutable/chunks/J5nb9xxj.js +1 -0
- package/dist/web/_app/immutable/chunks/JCjEwqH9.js +1 -0
- package/dist/web/_app/immutable/chunks/JN_nsXUm2.js +1 -0
- package/dist/web/_app/immutable/chunks/JS2_GaB1.js +1 -0
- package/dist/web/_app/immutable/chunks/MtI6dyxu.js +1 -0
- package/dist/web/_app/immutable/chunks/N6vnY5Si2.js +1 -0
- package/dist/web/_app/immutable/chunks/PcEbaKam.js +2 -0
- package/dist/web/_app/immutable/chunks/VTYhCLh9.js +2 -0
- package/dist/web/_app/immutable/chunks/Wowi_89k.js +5 -0
- package/dist/web/_app/immutable/chunks/Y_asqJqs2.js +83 -0
- package/dist/web/_app/immutable/chunks/Yhg5Q4MT.js +1 -0
- package/dist/web/_app/immutable/chunks/f_eYccPf2.js +1 -0
- package/dist/web/_app/immutable/chunks/hm_8RsuL.js +1 -0
- package/dist/web/_app/immutable/chunks/iPCkjliu.js +3 -0
- package/dist/web/_app/immutable/chunks/j2AvgZGz.js +1 -0
- package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
- package/dist/web/_app/immutable/chunks/l1761xxj.js +1 -0
- package/dist/web/_app/immutable/chunks/liGRFQqV2.js +184 -0
- package/dist/web/_app/immutable/chunks/lq1kR86d.js +1 -0
- package/dist/web/_app/immutable/chunks/mIykYR4F2.js +1 -0
- package/dist/web/_app/immutable/chunks/rbhlO_t8.js +1 -0
- package/dist/web/_app/immutable/chunks/tJpAwaTl.js +1 -0
- package/dist/web/_app/immutable/chunks/tcegdii0.js +2 -0
- package/dist/web/_app/immutable/chunks/u8G2EUvz2.js +224 -0
- package/dist/web/_app/immutable/chunks/vgsM0KTm2.js +1 -0
- package/dist/web/_app/immutable/chunks/xcGI4fuV.js +1 -0
- package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/web/_app/immutable/chunks/yEYlhV9G2.js +1 -0
- package/dist/web/_app/immutable/entry/app.DSf_XGp8.js +2 -0
- package/dist/web/_app/immutable/entry/start.B7ScfxPc.js +1 -0
- package/dist/web/_app/immutable/nodes/0.BMSOOETY.js +2 -0
- package/dist/web/_app/immutable/nodes/1.B0lBUpHt.js +1 -0
- package/dist/web/_app/immutable/nodes/10.DmDbUH1j.js +1 -0
- package/dist/web/_app/immutable/nodes/11.gwY7gZdR.js +1 -0
- package/dist/web/_app/immutable/nodes/12.BpGHSr2y.js +1 -0
- package/dist/web/_app/immutable/nodes/13.Bf178QF_.js +1 -0
- package/dist/web/_app/immutable/nodes/14.D_x8-nk9.js +1 -0
- package/dist/web/_app/immutable/nodes/15.DY4XeagL.js +1 -0
- package/dist/web/_app/immutable/nodes/16.DPqftx8x.js +77 -0
- package/dist/web/_app/immutable/nodes/2.OM2LGRpi.js +109 -0
- package/dist/web/_app/immutable/nodes/3.e8ZoPCmC.js +6 -0
- package/dist/web/_app/immutable/nodes/4.BdYR1hNQ.js +11 -0
- package/dist/web/_app/immutable/nodes/5.B8sOFna9.js +5 -0
- package/dist/web/_app/immutable/nodes/6.L1BbYsmo.js +1 -0
- package/dist/web/_app/immutable/nodes/7.B7zoemJD.js +1 -0
- package/dist/web/_app/immutable/nodes/8.B1VtnfMK.js +1 -0
- package/dist/web/_app/immutable/nodes/9.BE3VCQzk.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 +58 -19
- package/dist/web/studiograph-logomark.svg +29 -0
- package/package.json +38 -14
- 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/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 -187
- 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 -589
- 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 -153
- 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/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 -15
- package/dist/integrations/registry.js +0 -27
- package/dist/integrations/registry.js.map +0 -1
- package/dist/integrations/types.d.ts +0 -38
- package/dist/integrations/types.js +0 -9
- 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/server/chrome/chrome.css +0 -691
- 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/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/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 -15
- package/dist/server/routes/meeting-ingest-api.js +0 -323
- package/dist/server/routes/meeting-ingest-api.js.map +0 -1
- package/dist/server/routes/sync-api.d.ts +0 -26
- package/dist/server/routes/sync-api.js +0 -814
- package/dist/server/routes/sync-api.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/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/insights.d.ts +0 -38
- package/dist/services/insights.js +0 -246
- package/dist/services/insights.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.DdizXOKi.css +0 -1
- package/dist/web/_app/immutable/assets/10.BUrHkYry.css +0 -1
- package/dist/web/_app/immutable/assets/2.n7-yW_Fs.css +0 -1
- package/dist/web/_app/immutable/assets/3.BtaZagnv.css +0 -1
- package/dist/web/_app/immutable/assets/4.DT7X0x5S.css +0 -1
- package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
- package/dist/web/_app/immutable/assets/6.CquhUpOu.css +0 -1
- package/dist/web/_app/immutable/assets/7.CjbDRbuG.css +0 -1
- package/dist/web/_app/immutable/assets/8.S1QdUGNM.css +0 -1
- package/dist/web/_app/immutable/assets/9.CT4xL4K3.css +0 -1
- package/dist/web/_app/immutable/assets/Copy.FS8bdfxr.css +0 -1
- package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
- package/dist/web/_app/immutable/assets/ViewToolbar.D-QW2oKe.css +0 -1
- package/dist/web/_app/immutable/assets/index.D6tMDJWk.css +0 -1
- package/dist/web/_app/immutable/chunks/-iaeBIWN.js +0 -1
- package/dist/web/_app/immutable/chunks/37NdyH6G.js +0 -32
- package/dist/web/_app/immutable/chunks/4Hhzb6pv.js +0 -1
- package/dist/web/_app/immutable/chunks/72bZS3G9.js +0 -1
- package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
- package/dist/web/_app/immutable/chunks/B340SUKR.js +0 -1
- package/dist/web/_app/immutable/chunks/B3Z4_Sps.js +0 -1
- package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
- package/dist/web/_app/immutable/chunks/BPWYOQXG.js +0 -1
- package/dist/web/_app/immutable/chunks/BR77jbfR.js +0 -1
- package/dist/web/_app/immutable/chunks/BS2rFAVq.js +0 -1
- package/dist/web/_app/immutable/chunks/BSsDC_p4.js +0 -1
- package/dist/web/_app/immutable/chunks/BTX2Jr8_.js +0 -1
- package/dist/web/_app/immutable/chunks/Bq_KShUL.js +0 -4
- package/dist/web/_app/immutable/chunks/Bsacq2UX.js +0 -1
- package/dist/web/_app/immutable/chunks/ByunV8un.js +0 -1
- package/dist/web/_app/immutable/chunks/BzPu-Eht.js +0 -1
- package/dist/web/_app/immutable/chunks/C7VoTosa.js +0 -2
- package/dist/web/_app/immutable/chunks/CDV5Q7RN.js +0 -1
- package/dist/web/_app/immutable/chunks/CGc1sIb_.js +0 -1
- package/dist/web/_app/immutable/chunks/CJ8__CWt.js +0 -1
- package/dist/web/_app/immutable/chunks/CJUKmosC.js +0 -5
- package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
- package/dist/web/_app/immutable/chunks/CT6oIU-C.js +0 -1
- package/dist/web/_app/immutable/chunks/CTRxNfZk.js +0 -1
- package/dist/web/_app/immutable/chunks/CWQRQXxy.js +0 -1
- package/dist/web/_app/immutable/chunks/CX87mIM8.js +0 -1
- package/dist/web/_app/immutable/chunks/CXH6iFbA.js +0 -1
- 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/CdeYcEuU.js +0 -1
- package/dist/web/_app/immutable/chunks/CmCtpZ1Y.js +0 -1
- package/dist/web/_app/immutable/chunks/Cpsr8-Xy.js +0 -1
- package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
- package/dist/web/_app/immutable/chunks/CrdV0ttd.js +0 -1
- package/dist/web/_app/immutable/chunks/CscoF-YL.js +0 -18
- package/dist/web/_app/immutable/chunks/Cx4YdFMk.js +0 -1
- package/dist/web/_app/immutable/chunks/D7ZqAKi9.js +0 -3
- package/dist/web/_app/immutable/chunks/DGbA7IXh.js +0 -2
- package/dist/web/_app/immutable/chunks/DTZE-yoq.js +0 -2
- package/dist/web/_app/immutable/chunks/DbbB6Up5.js +0 -1
- package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
- package/dist/web/_app/immutable/chunks/DtM5cEDu.js +0 -1
- package/dist/web/_app/immutable/chunks/Eqahi7_S.js +0 -2
- package/dist/web/_app/immutable/chunks/O9Eb9k00.js +0 -1
- package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
- package/dist/web/_app/immutable/chunks/QF8MAmnc.js +0 -1
- package/dist/web/_app/immutable/chunks/UjzxCpxn.js +0 -1
- package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
- package/dist/web/_app/immutable/chunks/Y90OgS-9.js +0 -1
- package/dist/web/_app/immutable/chunks/cLyZlkXv.js +0 -1
- package/dist/web/_app/immutable/chunks/iDtAARVW.js +0 -2
- package/dist/web/_app/immutable/chunks/oC_W7W7p.js +0 -1
- package/dist/web/_app/immutable/chunks/rJdWIgh-.js +0 -1
- package/dist/web/_app/immutable/chunks/tvOsokaa.js +0 -1
- package/dist/web/_app/immutable/chunks/uLEXaPwE.js +0 -1
- package/dist/web/_app/immutable/chunks/vSaooFHB.js +0 -1
- package/dist/web/_app/immutable/entry/app.BeUKh4sD.js +0 -2
- package/dist/web/_app/immutable/entry/start.CZJnFuQn.js +0 -1
- package/dist/web/_app/immutable/nodes/0.DyF_RsLg.js +0 -2
- package/dist/web/_app/immutable/nodes/1.7iDQmMPh.js +0 -1
- package/dist/web/_app/immutable/nodes/10.Btl8d8HT.js +0 -1
- package/dist/web/_app/immutable/nodes/2.LDRE62jN.js +0 -168
- package/dist/web/_app/immutable/nodes/3.BaW1XB1x.js +0 -1
- package/dist/web/_app/immutable/nodes/4.D0Q8kpkI.js +0 -12
- package/dist/web/_app/immutable/nodes/5.n7j2UG9h.js +0 -4
- package/dist/web/_app/immutable/nodes/6.DQYxR0iy.js +0 -2
- package/dist/web/_app/immutable/nodes/7.BsURvFAp.js +0 -2
- package/dist/web/_app/immutable/nodes/8.CsiErG0p.js +0 -1
- package/dist/web/_app/immutable/nodes/9.CnN6OZgC.js +0 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format Registry — the single source of truth for how Studiograph ingests
|
|
3
|
+
* every file type.
|
|
4
|
+
*
|
|
5
|
+
* Framework-free and dependency-free (sits alongside `validation.ts` /
|
|
6
|
+
* `schema-registry.ts`), so it can be imported by server routes, services,
|
|
7
|
+
* the MCP layer, the CLI, and serialized to the web client over
|
|
8
|
+
* `GET /api/formats`. Every ingestion surface reads from here instead of
|
|
9
|
+
* maintaining its own parallel extension / MIME / accept list — that
|
|
10
|
+
* divergence (a stale `.xlsx`, a half-supported `.svg`, a PDF that becomes
|
|
11
|
+
* an asset on one path and a note on another) is exactly what this registry
|
|
12
|
+
* exists to kill.
|
|
13
|
+
*
|
|
14
|
+
* Each `FormatEntry` declares the full disposition of a format: how it's
|
|
15
|
+
* handled, whether the original is retained, what (if anything) it derives
|
|
16
|
+
* to, how it's indexed for search, and which extractor feeds that index.
|
|
17
|
+
* The fields are consumed incrementally across the phased refactor — P0 wires
|
|
18
|
+
* the routing (`handler`, `category`, `extractor`, `sanitize`) and the
|
|
19
|
+
* searchability contract (`indexAs`); later phases consume `deriveTo` /
|
|
20
|
+
* `derive` (conversions, P2), `extractor` for sidecars/captions (indexing,
|
|
21
|
+
* P3), `mimeTypes` (MCP presign, P4), and the serialized shape (client, P5).
|
|
22
|
+
*
|
|
23
|
+
* "Dependency-free" here means no npm packages / no framework — the Node
|
|
24
|
+
* `path` builtin is fine and shared with the rest of `src/core`.
|
|
25
|
+
*/
|
|
26
|
+
/** How a format is dispatched + what it ultimately becomes. */
|
|
27
|
+
export type FormatCategory = 'direct-note' | 'direct-dataset' | 'asset-convertible' | 'asset' | 'bookmarks';
|
|
28
|
+
/** Which server handler ingests the bytes. */
|
|
29
|
+
export type FormatHandler = 'importDirect' | 'uploadAsset' | 'importBookmarks';
|
|
30
|
+
/** The entity a convertible format derives to (entry-primary, D1). */
|
|
31
|
+
export type FormatDeriveTo = 'note' | 'dataset' | 'reference' | null;
|
|
32
|
+
/** When the derivation happens. */
|
|
33
|
+
export type FormatDerive = 'inline' | 'deferred' | 'none';
|
|
34
|
+
/**
|
|
35
|
+
* How the format feeds the search index.
|
|
36
|
+
* - `body` — the entity body itself is the index text (notes, datasets).
|
|
37
|
+
* - `sidecar` — extracted text written to a `.studiograph/assets-text/` sidecar.
|
|
38
|
+
* - `caption` — vision caption + OCR text written to a sidecar.
|
|
39
|
+
* - `none` — opaque; filename + frontmatter only (`indexable: false`).
|
|
40
|
+
*/
|
|
41
|
+
export type FormatIndexAs = 'body' | 'sidecar' | 'caption' | 'none';
|
|
42
|
+
/** The extractor that produces index text for this format (null = none). */
|
|
43
|
+
export type FormatExtractor = 'pdf' | 'docx' | 'xlsx' | 'image-caption' | null;
|
|
44
|
+
export interface FormatEntry {
|
|
45
|
+
/** Lowercased, dot-prefixed extensions (`['.md']`). */
|
|
46
|
+
extensions: string[];
|
|
47
|
+
/** MIME types — drives the MCP presign allowlist (P4) + client hints. */
|
|
48
|
+
mimeTypes: string[];
|
|
49
|
+
category: FormatCategory;
|
|
50
|
+
/** Entry-primary: keep the original binary after deriving (D1). */
|
|
51
|
+
retainSource: boolean;
|
|
52
|
+
deriveTo: FormatDeriveTo;
|
|
53
|
+
derive: FormatDerive;
|
|
54
|
+
/** `'none'` ⇒ `indexable: false` in frontmatter. */
|
|
55
|
+
indexAs: FormatIndexAs;
|
|
56
|
+
handler: FormatHandler;
|
|
57
|
+
extractor: FormatExtractor;
|
|
58
|
+
/** Declarative upper bound (bytes). Not enforced in P0; wired later. */
|
|
59
|
+
maxBytes: number;
|
|
60
|
+
/** Bytes need sanitizing before they're stored/served (SVG XSS, D7). */
|
|
61
|
+
sanitize?: 'svg';
|
|
62
|
+
/**
|
|
63
|
+
* P0 transitional marker: this format's target `handler` isn't wired yet,
|
|
64
|
+
* so it temporarily routes through the legacy agent-extraction path and is
|
|
65
|
+
* excluded from `assetUploadExtensions()` (preserving today's behavior).
|
|
66
|
+
* Remove it when the real handler lands — docx when the deterministic
|
|
67
|
+
* markdown convert ships (P2); svg when `sanitize-html` is wired (P3) — at
|
|
68
|
+
* which point the format flows to `uploadAsset` like every other asset.
|
|
69
|
+
*/
|
|
70
|
+
transitional?: 'agent-extract';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The disposition for any file the registry doesn't recognize: a generic
|
|
74
|
+
* opaque asset, never content-indexed. `resolveFormat` returns this exact
|
|
75
|
+
* (frozen) reference for unknown types so callers can identity-check it —
|
|
76
|
+
* the P0 dispatcher rejects on `entry === FALLBACK_ASSET_ENTRY` to preserve
|
|
77
|
+
* today's reject behavior; P0b removes that guard to accept unknowns
|
|
78
|
+
* leniently (the only behavior change between the two phases).
|
|
79
|
+
*/
|
|
80
|
+
export declare const FALLBACK_ASSET_ENTRY: FormatEntry;
|
|
81
|
+
/** Look up a format by extension (dot-prefixed or bare). */
|
|
82
|
+
export declare function lookupByExtension(ext: string): FormatEntry | undefined;
|
|
83
|
+
/** Look up a format by MIME type. */
|
|
84
|
+
export declare function lookupByMime(mime: string): FormatEntry | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Resolve the disposition for a file. Never returns undefined — unknown
|
|
87
|
+
* types resolve to `FALLBACK_ASSET_ENTRY` (identity-checkable). Extension is
|
|
88
|
+
* the primary key; `mime` is a fallback when the filename carries no usable
|
|
89
|
+
* extension. Bookmark detection is by content (`isNetscapeBookmarkFile`),
|
|
90
|
+
* NOT handled here.
|
|
91
|
+
*/
|
|
92
|
+
export declare function resolveFormat(filename: string, mime?: string): FormatEntry;
|
|
93
|
+
/** A format is searchable when it declares any index extraction. */
|
|
94
|
+
export declare function isIndexable(entry: FormatEntry): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Extensions whose bytes are stored as a binary asset (category `asset` or
|
|
97
|
+
* `asset-convertible`), plus `.csv` — which is a direct-dataset on the web
|
|
98
|
+
* import path but has historically been accepted by `uploadAsset` too (the
|
|
99
|
+
* agent `import_file` tool stores a dropped `.csv` as an opaque asset). Kept
|
|
100
|
+
* in the set so `isAssetUploadExtension` preserves that behavior exactly.
|
|
101
|
+
* Returned WITHOUT the leading dot to match the legacy `base.ts` set.
|
|
102
|
+
*/
|
|
103
|
+
export declare function assetUploadExtensions(): Set<string>;
|
|
104
|
+
/**
|
|
105
|
+
* Extensions the `import-service` text path participates in — verbatim
|
|
106
|
+
* direct-write formats, anything with a text/caption extractor, and the
|
|
107
|
+
* sanitized SVG. Used to derive `import-service`'s `isSupportedFile`.
|
|
108
|
+
*
|
|
109
|
+
* This is a (small) superset of the legacy literal — it additionally
|
|
110
|
+
* includes `.xlsx`, `.avif`, `.heic` — but every one of those extra
|
|
111
|
+
* extensions is an asset-upload extension, so it is caught by
|
|
112
|
+
* `isAssetUploadExtension` *before* `isSupportedFile` is ever consulted in
|
|
113
|
+
* the only live caller (the agent `import_file` tool). The observable
|
|
114
|
+
* behavior is therefore identical to the legacy set. Dot-prefixed.
|
|
115
|
+
*/
|
|
116
|
+
export declare function importServiceExtensions(): Set<string>;
|
|
117
|
+
/**
|
|
118
|
+
* Per-ingress capability (P4, Codex drift-guard). Each ingress path has a
|
|
119
|
+
* different trust model, so "which formats may travel this path" is a property
|
|
120
|
+
* of the format + the path, expressed here in the registry rather than as a
|
|
121
|
+
* special-case in the presign/upload code:
|
|
122
|
+
*
|
|
123
|
+
* - `presign` — MCP pre-signed PUT straight to R2. The app NEVER holds the
|
|
124
|
+
* bytes, so it cannot sanitize them. Only formats that are safe as raw bytes
|
|
125
|
+
* are eligible: image assets with no `sanitize` requirement and not still on
|
|
126
|
+
* the transitional agent path. This is what keeps SVG (sanitize: 'svg') and
|
|
127
|
+
* every doc/video/opaque type OFF the presign path without a hardcoded list.
|
|
128
|
+
* - `inline` — MCP base64 bytes through the app (V3) OR web multipart. The
|
|
129
|
+
* app holds the bytes, so it CAN sanitize — SVG is allowed here (sanitize
|
|
130
|
+
* runs before store). Any asset the upload pipeline accepts is inline-able.
|
|
131
|
+
* - `multipart` — alias of `inline` for the web upload route's perspective.
|
|
132
|
+
*
|
|
133
|
+
* A format is presign-safe iff: it's an image asset, needs no sanitization, and
|
|
134
|
+
* isn't transitional. Today that's png/jpeg/gif/webp/avif/heic — exactly the
|
|
135
|
+
* set the old hardcoded `{png, jpeg}` was a subset of, now derived.
|
|
136
|
+
*/
|
|
137
|
+
export declare function isPresignSafe(entry: FormatEntry): boolean;
|
|
138
|
+
/** A format may travel the inline/multipart path iff the upload pipeline takes
|
|
139
|
+
* it (any asset, including ones that need sanitizing — the app holds the bytes
|
|
140
|
+
* and sanitizes before store). Excludes still-transitional formats. */
|
|
141
|
+
export declare function isInlineUploadAllowed(entry: FormatEntry): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* MIME allowlist for the MCP PRESIGN path (Content-Type gate baked into the PUT
|
|
144
|
+
* signature). Derived from `isPresignSafe` — NOT every asset MIME. The presign
|
|
145
|
+
* service + the MCP tool's mime enum both read this so they can't drift.
|
|
146
|
+
*/
|
|
147
|
+
export declare function presignMimeAllowlist(): string[];
|
|
148
|
+
/**
|
|
149
|
+
* MIME allowlist for the INLINE-bytes / multipart path (V3 — the app holds the
|
|
150
|
+
* bytes and can sanitize). Broader than presign: includes SVG and the
|
|
151
|
+
* convertible docs. Drives the V3 `upload_asset_inline` MCP tool's gate.
|
|
152
|
+
*/
|
|
153
|
+
export declare function inlineUploadMimeAllowlist(): string[];
|
|
154
|
+
/**
|
|
155
|
+
* The HTML `accept` attribute value covering every ingestible format
|
|
156
|
+
* (extensions + MIME types). The single source the client's fragmented
|
|
157
|
+
* accept lists collapse onto (P5).
|
|
158
|
+
*/
|
|
159
|
+
export declare function acceptAttribute(): string;
|
|
160
|
+
/**
|
|
161
|
+
* JSON-safe projection of the registry for `GET /api/formats`. The client
|
|
162
|
+
* builds its accept lists, disposition matrix, and supported-types copy from
|
|
163
|
+
* this — `supported-file-types.ts` becomes a derived view (P5).
|
|
164
|
+
*/
|
|
165
|
+
export declare function serializeForClient(): {
|
|
166
|
+
formats: FormatEntry[];
|
|
167
|
+
accept: string;
|
|
168
|
+
};
|
|
169
|
+
/** All registered entries (read-only view). */
|
|
170
|
+
export declare function allFormats(): FormatEntry[];
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format Registry — the single source of truth for how Studiograph ingests
|
|
3
|
+
* every file type.
|
|
4
|
+
*
|
|
5
|
+
* Framework-free and dependency-free (sits alongside `validation.ts` /
|
|
6
|
+
* `schema-registry.ts`), so it can be imported by server routes, services,
|
|
7
|
+
* the MCP layer, the CLI, and serialized to the web client over
|
|
8
|
+
* `GET /api/formats`. Every ingestion surface reads from here instead of
|
|
9
|
+
* maintaining its own parallel extension / MIME / accept list — that
|
|
10
|
+
* divergence (a stale `.xlsx`, a half-supported `.svg`, a PDF that becomes
|
|
11
|
+
* an asset on one path and a note on another) is exactly what this registry
|
|
12
|
+
* exists to kill.
|
|
13
|
+
*
|
|
14
|
+
* Each `FormatEntry` declares the full disposition of a format: how it's
|
|
15
|
+
* handled, whether the original is retained, what (if anything) it derives
|
|
16
|
+
* to, how it's indexed for search, and which extractor feeds that index.
|
|
17
|
+
* The fields are consumed incrementally across the phased refactor — P0 wires
|
|
18
|
+
* the routing (`handler`, `category`, `extractor`, `sanitize`) and the
|
|
19
|
+
* searchability contract (`indexAs`); later phases consume `deriveTo` /
|
|
20
|
+
* `derive` (conversions, P2), `extractor` for sidecars/captions (indexing,
|
|
21
|
+
* P3), `mimeTypes` (MCP presign, P4), and the serialized shape (client, P5).
|
|
22
|
+
*
|
|
23
|
+
* "Dependency-free" here means no npm packages / no framework — the Node
|
|
24
|
+
* `path` builtin is fine and shared with the rest of `src/core`.
|
|
25
|
+
*/
|
|
26
|
+
import { extname } from 'path';
|
|
27
|
+
const MB = 1024 * 1024;
|
|
28
|
+
/** Matches the 100MB cap enforced inside the asset upload route today. */
|
|
29
|
+
const ASSET_MAX_BYTES = 100 * MB;
|
|
30
|
+
/** Generous bound for verbatim text imports. Declarative in P0. */
|
|
31
|
+
const TEXT_MAX_BYTES = 25 * MB;
|
|
32
|
+
/**
|
|
33
|
+
* The canonical format table. Order is not significant for lookup (maps are
|
|
34
|
+
* built below), but it reads top-to-bottom as: direct text → convertibles →
|
|
35
|
+
* image assets → opaque binary assets → bookmarks.
|
|
36
|
+
*
|
|
37
|
+
* The opaque-asset block intentionally enumerates the FULL set the web import
|
|
38
|
+
* dispatcher already accepts as assets today (video / audio / legacy office /
|
|
39
|
+
* design files / archives). P0 is a parity refactor: those formats stay
|
|
40
|
+
* assets, and genuinely-unlisted extensions stay *rejected* (they resolve to
|
|
41
|
+
* `FALLBACK_ASSET_ENTRY`, which the P0 dispatcher refuses). Accepting unknown
|
|
42
|
+
* types as generic assets is a deliberate, separately-shipped behavior change
|
|
43
|
+
* (P0b) — it flips only how the dispatcher treats the fallback, not this table.
|
|
44
|
+
*/
|
|
45
|
+
const FORMATS = [
|
|
46
|
+
// ── Direct text → entity (verbatim, no LLM) ──────────────────────────────
|
|
47
|
+
{
|
|
48
|
+
extensions: ['.md'],
|
|
49
|
+
mimeTypes: ['text/markdown'],
|
|
50
|
+
category: 'direct-note',
|
|
51
|
+
retainSource: false,
|
|
52
|
+
deriveTo: null,
|
|
53
|
+
derive: 'none',
|
|
54
|
+
indexAs: 'body',
|
|
55
|
+
handler: 'importDirect',
|
|
56
|
+
extractor: null,
|
|
57
|
+
maxBytes: TEXT_MAX_BYTES,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
extensions: ['.txt'],
|
|
61
|
+
mimeTypes: ['text/plain'],
|
|
62
|
+
category: 'direct-note',
|
|
63
|
+
retainSource: false,
|
|
64
|
+
deriveTo: null,
|
|
65
|
+
derive: 'none',
|
|
66
|
+
indexAs: 'body',
|
|
67
|
+
handler: 'importDirect',
|
|
68
|
+
extractor: null,
|
|
69
|
+
maxBytes: TEXT_MAX_BYTES,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
extensions: ['.csv'],
|
|
73
|
+
mimeTypes: ['text/csv'],
|
|
74
|
+
category: 'direct-dataset',
|
|
75
|
+
retainSource: false,
|
|
76
|
+
deriveTo: null,
|
|
77
|
+
derive: 'none',
|
|
78
|
+
indexAs: 'body',
|
|
79
|
+
handler: 'importDirect',
|
|
80
|
+
extractor: null,
|
|
81
|
+
maxBytes: TEXT_MAX_BYTES,
|
|
82
|
+
},
|
|
83
|
+
// ── Asset + optional deferred conversion (entry-primary, D1/D2) ───────────
|
|
84
|
+
{
|
|
85
|
+
extensions: ['.pdf'],
|
|
86
|
+
mimeTypes: ['application/pdf'],
|
|
87
|
+
category: 'asset-convertible',
|
|
88
|
+
retainSource: true,
|
|
89
|
+
deriveTo: 'note',
|
|
90
|
+
derive: 'deferred',
|
|
91
|
+
indexAs: 'sidecar',
|
|
92
|
+
handler: 'uploadAsset',
|
|
93
|
+
extractor: 'pdf',
|
|
94
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
extensions: ['.docx'],
|
|
98
|
+
mimeTypes: ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
|
|
99
|
+
category: 'asset-convertible',
|
|
100
|
+
retainSource: true,
|
|
101
|
+
deriveTo: 'note',
|
|
102
|
+
derive: 'deferred',
|
|
103
|
+
indexAs: 'sidecar',
|
|
104
|
+
handler: 'uploadAsset',
|
|
105
|
+
extractor: 'docx',
|
|
106
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
107
|
+
// P2 flipped docx onto the asset path: it now uploads as an `asset` and
|
|
108
|
+
// converts to a note on demand (convert-service), so it's no longer
|
|
109
|
+
// transitional. (svg stays transitional until sanitize-html lands in P3.)
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
extensions: ['.xlsx'],
|
|
113
|
+
mimeTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
|
|
114
|
+
category: 'asset-convertible',
|
|
115
|
+
retainSource: true,
|
|
116
|
+
deriveTo: 'dataset',
|
|
117
|
+
derive: 'deferred',
|
|
118
|
+
indexAs: 'sidecar',
|
|
119
|
+
handler: 'uploadAsset',
|
|
120
|
+
extractor: 'xlsx',
|
|
121
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
122
|
+
},
|
|
123
|
+
// ── Image assets (caption + OCR indexed, P3) ──────────────────────────────
|
|
124
|
+
...imageAssets(
|
|
125
|
+
// Ordered most-common-first (drives the import modal's "View supported
|
|
126
|
+
// files" list, which preserves this order rather than sorting): the
|
|
127
|
+
// formats people actually have, then the newer avif/heic tail.
|
|
128
|
+
{ exts: ['.jpg', '.jpeg'], mime: 'image/jpeg' }, { exts: ['.png'], mime: 'image/png' }, { exts: ['.gif'], mime: 'image/gif' }, { exts: ['.webp'], mime: 'image/webp' }, { exts: ['.heic'], mime: 'image/heic' }, { exts: ['.avif'], mime: 'image/avif' },
|
|
129
|
+
// SVG is sanitized on ingest where the server holds the bytes (D7).
|
|
130
|
+
// P0 transitional: until `sanitize-html` is wired (P3) it stays on the
|
|
131
|
+
// agent-extraction path and must NOT reach uploadAsset — storing an
|
|
132
|
+
// unsanitized svg reopens the stored-XSS hole the asset route blocks.
|
|
133
|
+
{ exts: ['.svg'], mime: 'image/svg+xml', sanitize: 'svg', transitional: 'agent-extract' }),
|
|
134
|
+
// ── Opaque binary assets (filename/metadata only) ─────────────────────────
|
|
135
|
+
// Enumerated to preserve current dispatcher behavior: these all become
|
|
136
|
+
// assets today via ASSET_UPLOAD_EXTENSIONS. None are content-indexed.
|
|
137
|
+
...opaqueAssets(['.mp4', 'video/mp4'], ['.mov', 'video/quicktime'], ['.webm', 'video/webm'], ['.avi', 'video/x-msvideo'], ['.mkv', 'video/x-matroska'], ['.m4v', 'video/x-m4v'], ['.mp3', 'audio/mpeg'], ['.wav', 'audio/wav'], ['.m4a', 'audio/mp4'], ['.ogg', 'audio/ogg'], ['.flac', 'audio/flac'], ['.aac', 'audio/aac'], ['.xls', 'application/vnd.ms-excel'], ['.numbers', 'application/octet-stream'], ['.tsv', 'text/tab-separated-values'], ['.doc', 'application/msword'], ['.pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'], ['.ppt', 'application/vnd.ms-powerpoint'], ['.key', 'application/octet-stream'], ['.pages', 'application/octet-stream'], ['.indd', 'application/octet-stream'], ['.idml', 'application/octet-stream'], ['.sketch', 'application/octet-stream'], ['.psd', 'image/vnd.adobe.photoshop'], ['.ai', 'application/postscript'], ['.fig', 'application/octet-stream'], ['.zip', 'application/zip'], ['.tar', 'application/x-tar'], ['.gz', 'application/gzip'], ['.7z', 'application/x-7z-compressed'], ['.rar', 'application/vnd.rar']),
|
|
138
|
+
// ── Bookmarks (Netscape HTML → reference entities) ────────────────────────
|
|
139
|
+
// Detected by content (`isNetscapeBookmarkFile`), NOT by extension — a
|
|
140
|
+
// `.html` file is not necessarily a bookmark export. The dispatcher's
|
|
141
|
+
// content-sniff + routing lands in P8; until then bookmark exports use the
|
|
142
|
+
// dedicated `POST /api/repos/:repo/import-bookmarks` endpoint and a bare
|
|
143
|
+
// `.html` resolves to the fallback (rejected in P0). This entry carries no
|
|
144
|
+
// extensions so it is reachable only via the content sniff.
|
|
145
|
+
{
|
|
146
|
+
extensions: [],
|
|
147
|
+
mimeTypes: ['text/html'],
|
|
148
|
+
category: 'bookmarks',
|
|
149
|
+
retainSource: false,
|
|
150
|
+
deriveTo: 'reference',
|
|
151
|
+
derive: 'inline',
|
|
152
|
+
indexAs: 'body',
|
|
153
|
+
handler: 'importBookmarks',
|
|
154
|
+
extractor: null,
|
|
155
|
+
maxBytes: TEXT_MAX_BYTES,
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
/** Concise builder for the caption-indexed image-asset block. */
|
|
159
|
+
function imageAssets(...specs) {
|
|
160
|
+
return specs.map(s => ({
|
|
161
|
+
extensions: s.exts,
|
|
162
|
+
mimeTypes: [s.mime],
|
|
163
|
+
category: 'asset',
|
|
164
|
+
retainSource: true,
|
|
165
|
+
deriveTo: null,
|
|
166
|
+
derive: 'none',
|
|
167
|
+
indexAs: 'caption',
|
|
168
|
+
handler: 'uploadAsset',
|
|
169
|
+
extractor: 'image-caption',
|
|
170
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
171
|
+
...(s.sanitize ? { sanitize: s.sanitize } : {}),
|
|
172
|
+
...(s.transitional ? { transitional: s.transitional } : {}),
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
/** Concise builder for the opaque-asset block. */
|
|
176
|
+
function opaqueAssets(...pairs) {
|
|
177
|
+
return pairs.map(([ext, mime]) => ({
|
|
178
|
+
extensions: [ext],
|
|
179
|
+
mimeTypes: [mime],
|
|
180
|
+
category: 'asset',
|
|
181
|
+
retainSource: true,
|
|
182
|
+
deriveTo: null,
|
|
183
|
+
derive: 'none',
|
|
184
|
+
indexAs: 'none',
|
|
185
|
+
handler: 'uploadAsset',
|
|
186
|
+
extractor: null,
|
|
187
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The disposition for any file the registry doesn't recognize: a generic
|
|
192
|
+
* opaque asset, never content-indexed. `resolveFormat` returns this exact
|
|
193
|
+
* (frozen) reference for unknown types so callers can identity-check it —
|
|
194
|
+
* the P0 dispatcher rejects on `entry === FALLBACK_ASSET_ENTRY` to preserve
|
|
195
|
+
* today's reject behavior; P0b removes that guard to accept unknowns
|
|
196
|
+
* leniently (the only behavior change between the two phases).
|
|
197
|
+
*/
|
|
198
|
+
export const FALLBACK_ASSET_ENTRY = Object.freeze({
|
|
199
|
+
extensions: [],
|
|
200
|
+
mimeTypes: ['application/octet-stream'],
|
|
201
|
+
category: 'asset',
|
|
202
|
+
retainSource: true,
|
|
203
|
+
deriveTo: null,
|
|
204
|
+
derive: 'none',
|
|
205
|
+
indexAs: 'none',
|
|
206
|
+
handler: 'uploadAsset',
|
|
207
|
+
extractor: null,
|
|
208
|
+
maxBytes: ASSET_MAX_BYTES,
|
|
209
|
+
});
|
|
210
|
+
// ── Lookup maps ─────────────────────────────────────────────────────────────
|
|
211
|
+
const byExtension = new Map();
|
|
212
|
+
const byMime = new Map();
|
|
213
|
+
for (const entry of FORMATS) {
|
|
214
|
+
for (const ext of entry.extensions)
|
|
215
|
+
byExtension.set(ext.toLowerCase(), entry);
|
|
216
|
+
for (const mime of entry.mimeTypes) {
|
|
217
|
+
// First entry wins on a shared MIME (e.g. text/csv) so lookupByMime is
|
|
218
|
+
// deterministic; extension lookup is the primary path anyway.
|
|
219
|
+
if (!byMime.has(mime.toLowerCase()))
|
|
220
|
+
byMime.set(mime.toLowerCase(), entry);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Extract the lowercased, dot-prefixed extension from a filename. Delegates
|
|
225
|
+
* to Node's `path.extname` (so dotfiles, multi-dot names, and trailing dots
|
|
226
|
+
* are handled the way the rest of the codebase handles them) and lowercases
|
|
227
|
+
* to match the registry's lowercased lookup keys.
|
|
228
|
+
*/
|
|
229
|
+
function extensionOf(filename) {
|
|
230
|
+
return extname(filename).toLowerCase();
|
|
231
|
+
}
|
|
232
|
+
// ── Public API ──────────────────────────────────────────────────────────────
|
|
233
|
+
/** Look up a format by extension (dot-prefixed or bare). */
|
|
234
|
+
export function lookupByExtension(ext) {
|
|
235
|
+
const norm = ext.startsWith('.') ? ext.toLowerCase() : `.${ext.toLowerCase()}`;
|
|
236
|
+
return byExtension.get(norm);
|
|
237
|
+
}
|
|
238
|
+
/** Look up a format by MIME type. */
|
|
239
|
+
export function lookupByMime(mime) {
|
|
240
|
+
return byMime.get(mime.toLowerCase());
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Resolve the disposition for a file. Never returns undefined — unknown
|
|
244
|
+
* types resolve to `FALLBACK_ASSET_ENTRY` (identity-checkable). Extension is
|
|
245
|
+
* the primary key; `mime` is a fallback when the filename carries no usable
|
|
246
|
+
* extension. Bookmark detection is by content (`isNetscapeBookmarkFile`),
|
|
247
|
+
* NOT handled here.
|
|
248
|
+
*/
|
|
249
|
+
export function resolveFormat(filename, mime) {
|
|
250
|
+
const byExt = byExtension.get(extensionOf(filename));
|
|
251
|
+
if (byExt)
|
|
252
|
+
return byExt;
|
|
253
|
+
if (mime) {
|
|
254
|
+
const m = byMime.get(mime.toLowerCase());
|
|
255
|
+
if (m)
|
|
256
|
+
return m;
|
|
257
|
+
}
|
|
258
|
+
return FALLBACK_ASSET_ENTRY;
|
|
259
|
+
}
|
|
260
|
+
/** A format is searchable when it declares any index extraction. */
|
|
261
|
+
export function isIndexable(entry) {
|
|
262
|
+
return entry.indexAs !== 'none';
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Extensions whose bytes are stored as a binary asset (category `asset` or
|
|
266
|
+
* `asset-convertible`), plus `.csv` — which is a direct-dataset on the web
|
|
267
|
+
* import path but has historically been accepted by `uploadAsset` too (the
|
|
268
|
+
* agent `import_file` tool stores a dropped `.csv` as an opaque asset). Kept
|
|
269
|
+
* in the set so `isAssetUploadExtension` preserves that behavior exactly.
|
|
270
|
+
* Returned WITHOUT the leading dot to match the legacy `base.ts` set.
|
|
271
|
+
*/
|
|
272
|
+
export function assetUploadExtensions() {
|
|
273
|
+
const out = new Set();
|
|
274
|
+
for (const entry of FORMATS) {
|
|
275
|
+
// Transitional formats (docx/svg in P0) target uploadAsset but still
|
|
276
|
+
// route through the legacy agent path, so they are NOT yet asset-upload
|
|
277
|
+
// extensions — excluding them keeps `isAssetUploadExtension` byte-for-byte
|
|
278
|
+
// identical to today's behavior.
|
|
279
|
+
if (entry.transitional)
|
|
280
|
+
continue;
|
|
281
|
+
if (entry.category === 'asset' || entry.category === 'asset-convertible') {
|
|
282
|
+
for (const ext of entry.extensions)
|
|
283
|
+
out.add(ext.replace(/^\./, ''));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
out.add('csv');
|
|
287
|
+
return out;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Extensions the `import-service` text path participates in — verbatim
|
|
291
|
+
* direct-write formats, anything with a text/caption extractor, and the
|
|
292
|
+
* sanitized SVG. Used to derive `import-service`'s `isSupportedFile`.
|
|
293
|
+
*
|
|
294
|
+
* This is a (small) superset of the legacy literal — it additionally
|
|
295
|
+
* includes `.xlsx`, `.avif`, `.heic` — but every one of those extra
|
|
296
|
+
* extensions is an asset-upload extension, so it is caught by
|
|
297
|
+
* `isAssetUploadExtension` *before* `isSupportedFile` is ever consulted in
|
|
298
|
+
* the only live caller (the agent `import_file` tool). The observable
|
|
299
|
+
* behavior is therefore identical to the legacy set. Dot-prefixed.
|
|
300
|
+
*/
|
|
301
|
+
export function importServiceExtensions() {
|
|
302
|
+
const out = new Set();
|
|
303
|
+
for (const entry of FORMATS) {
|
|
304
|
+
if (entry.handler === 'importDirect' || entry.extractor !== null || entry.sanitize === 'svg') {
|
|
305
|
+
for (const ext of entry.extensions)
|
|
306
|
+
out.add(ext.toLowerCase());
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return out;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Per-ingress capability (P4, Codex drift-guard). Each ingress path has a
|
|
313
|
+
* different trust model, so "which formats may travel this path" is a property
|
|
314
|
+
* of the format + the path, expressed here in the registry rather than as a
|
|
315
|
+
* special-case in the presign/upload code:
|
|
316
|
+
*
|
|
317
|
+
* - `presign` — MCP pre-signed PUT straight to R2. The app NEVER holds the
|
|
318
|
+
* bytes, so it cannot sanitize them. Only formats that are safe as raw bytes
|
|
319
|
+
* are eligible: image assets with no `sanitize` requirement and not still on
|
|
320
|
+
* the transitional agent path. This is what keeps SVG (sanitize: 'svg') and
|
|
321
|
+
* every doc/video/opaque type OFF the presign path without a hardcoded list.
|
|
322
|
+
* - `inline` — MCP base64 bytes through the app (V3) OR web multipart. The
|
|
323
|
+
* app holds the bytes, so it CAN sanitize — SVG is allowed here (sanitize
|
|
324
|
+
* runs before store). Any asset the upload pipeline accepts is inline-able.
|
|
325
|
+
* - `multipart` — alias of `inline` for the web upload route's perspective.
|
|
326
|
+
*
|
|
327
|
+
* A format is presign-safe iff: it's an image asset, needs no sanitization, and
|
|
328
|
+
* isn't transitional. Today that's png/jpeg/gif/webp/avif/heic — exactly the
|
|
329
|
+
* set the old hardcoded `{png, jpeg}` was a subset of, now derived.
|
|
330
|
+
*/
|
|
331
|
+
export function isPresignSafe(entry) {
|
|
332
|
+
return entry.category === 'asset'
|
|
333
|
+
&& entry.extractor === 'image-caption' // image, not opaque/doc/video
|
|
334
|
+
&& entry.sanitize === undefined // raw bytes are safe as-is
|
|
335
|
+
&& entry.transitional === undefined; // real handler is wired
|
|
336
|
+
}
|
|
337
|
+
/** A format may travel the inline/multipart path iff the upload pipeline takes
|
|
338
|
+
* it (any asset, including ones that need sanitizing — the app holds the bytes
|
|
339
|
+
* and sanitizes before store). Excludes still-transitional formats. */
|
|
340
|
+
export function isInlineUploadAllowed(entry) {
|
|
341
|
+
return (entry.category === 'asset' || entry.category === 'asset-convertible')
|
|
342
|
+
&& entry.transitional === undefined;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* MIME allowlist for the MCP PRESIGN path (Content-Type gate baked into the PUT
|
|
346
|
+
* signature). Derived from `isPresignSafe` — NOT every asset MIME. The presign
|
|
347
|
+
* service + the MCP tool's mime enum both read this so they can't drift.
|
|
348
|
+
*/
|
|
349
|
+
export function presignMimeAllowlist() {
|
|
350
|
+
const out = new Set();
|
|
351
|
+
for (const entry of FORMATS) {
|
|
352
|
+
if (isPresignSafe(entry)) {
|
|
353
|
+
for (const mime of entry.mimeTypes)
|
|
354
|
+
out.add(mime);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return [...out];
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* MIME allowlist for the INLINE-bytes / multipart path (V3 — the app holds the
|
|
361
|
+
* bytes and can sanitize). Broader than presign: includes SVG and the
|
|
362
|
+
* convertible docs. Drives the V3 `upload_asset_inline` MCP tool's gate.
|
|
363
|
+
*/
|
|
364
|
+
export function inlineUploadMimeAllowlist() {
|
|
365
|
+
const out = new Set();
|
|
366
|
+
for (const entry of FORMATS) {
|
|
367
|
+
if (isInlineUploadAllowed(entry)) {
|
|
368
|
+
for (const mime of entry.mimeTypes)
|
|
369
|
+
out.add(mime);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return [...out];
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* The HTML `accept` attribute value covering every ingestible format
|
|
376
|
+
* (extensions + MIME types). The single source the client's fragmented
|
|
377
|
+
* accept lists collapse onto (P5).
|
|
378
|
+
*/
|
|
379
|
+
export function acceptAttribute() {
|
|
380
|
+
const tokens = new Set();
|
|
381
|
+
for (const entry of FORMATS) {
|
|
382
|
+
for (const ext of entry.extensions)
|
|
383
|
+
tokens.add(ext);
|
|
384
|
+
for (const mime of entry.mimeTypes)
|
|
385
|
+
tokens.add(mime);
|
|
386
|
+
}
|
|
387
|
+
return [...tokens].join(',');
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* JSON-safe projection of the registry for `GET /api/formats`. The client
|
|
391
|
+
* builds its accept lists, disposition matrix, and supported-types copy from
|
|
392
|
+
* this — `supported-file-types.ts` becomes a derived view (P5).
|
|
393
|
+
*/
|
|
394
|
+
export function serializeForClient() {
|
|
395
|
+
return {
|
|
396
|
+
formats: FORMATS.map(e => ({ ...e, extensions: [...e.extensions], mimeTypes: [...e.mimeTypes] })),
|
|
397
|
+
accept: acceptAttribute(),
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
/** All registered entries (read-only view). */
|
|
401
|
+
export function allFormats() {
|
|
402
|
+
return FORMATS;
|
|
403
|
+
}
|
|
404
|
+
//# sourceMappingURL=format-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-registry.js","sourceRoot":"","sources":["../../src/core/format-registry.ts"],"names":[],"mappings":"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"}
|