studiograph 1.3.48-next.21 → 1.3.48-next.210
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 +87 -3
- package/dist/agent/agent-pool.js +188 -15
- package/dist/agent/agent-pool.js.map +1 -1
- 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 +101 -4
- package/dist/agent/orchestrator.js +464 -66
- 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 +112 -54
- 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/artifact-canvas/skill.md +152 -0
- package/dist/agent/skills/entity-schema.md +75 -431
- package/dist/agent/skills/interview/entity-templates.md +38 -37
- package/dist/agent/skills/interview/question-domains.md +54 -49
- package/dist/agent/skills/interview/skill.md +84 -16
- package/dist/agent/skills/schema-rules.md +28 -28
- package/dist/agent/tools/artifact-tools.d.ts +124 -0
- package/dist/agent/tools/artifact-tools.js +207 -0
- package/dist/agent/tools/artifact-tools.js.map +1 -0
- package/dist/agent/tools/capture-tools.d.ts +31 -0
- package/dist/agent/tools/capture-tools.js +40 -0
- package/dist/agent/tools/capture-tools.js.map +1 -0
- package/dist/agent/tools/folder-tools.d.ts +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 +6 -5
- package/dist/agent/tools/fs-tools.js +5 -5
- package/dist/agent/tools/fs-tools.js.map +1 -1
- package/dist/agent/tools/graph-tools.d.ts +48 -72
- package/dist/agent/tools/graph-tools.js +852 -329
- 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 -43
- 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/{collection.js → admin/folder.js} +33 -32
- 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/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 +5 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +10 -30
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/mcp.js +54 -6
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/r2.d.ts +3 -0
- package/dist/cli/commands/r2.js +223 -204
- package/dist/cli/commands/r2.js.map +1 -1
- package/dist/cli/commands/redeploy.js +65 -12
- package/dist/cli/commands/redeploy.js.map +1 -1
- package/dist/cli/commands/reset.d.ts +22 -6
- package/dist/cli/commands/reset.js +132 -34
- package/dist/cli/commands/reset.js.map +1 -1
- package/dist/cli/commands/serve.js +231 -26
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.js +237 -227
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/crypto-bundle.d.ts +39 -0
- package/dist/cli/crypto-bundle.js +94 -0
- package/dist/cli/crypto-bundle.js.map +1 -0
- package/dist/cli/index.js +24 -26
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/railway-pin.d.ts +68 -0
- package/dist/cli/railway-pin.js +96 -0
- package/dist/cli/railway-pin.js.map +1 -0
- package/dist/cli/railway-provisioning.d.ts +53 -0
- package/dist/cli/railway-provisioning.js +85 -0
- package/dist/cli/railway-provisioning.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +30 -49
- package/dist/cli/setup-wizard.js +39 -40
- package/dist/cli/setup-wizard.js.map +1 -1
- package/dist/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/artifact-asset-urls.d.ts +51 -0
- package/dist/core/artifact-asset-urls.js +79 -0
- package/dist/core/artifact-asset-urls.js.map +1 -0
- package/dist/core/artifact-bundle.d.ts +69 -0
- package/dist/core/artifact-bundle.js +305 -0
- package/dist/core/artifact-bundle.js.map +1 -0
- package/dist/core/artifact-escape.d.ts +5 -0
- package/dist/core/artifact-escape.js +26 -0
- package/dist/core/artifact-escape.js.map +1 -0
- package/dist/core/artifact-export.d.ts +17 -0
- package/dist/core/artifact-export.js +529 -0
- package/dist/core/artifact-export.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 +96 -0
- package/dist/core/embeds.js +187 -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 +67 -0
- package/dist/core/entity-body-templates.js.map +1 -0
- package/dist/core/entity-types-catalog.d.ts +65 -0
- package/dist/core/entity-types-catalog.js +142 -0
- package/dist/core/entity-types-catalog.js.map +1 -0
- package/dist/core/field-library.d.ts +62 -0
- package/dist/core/field-library.js +129 -0
- package/dist/core/field-library.js.map +1 -0
- package/dist/core/folder-paths.d.ts +41 -0
- package/dist/core/folder-paths.js +95 -0
- package/dist/core/folder-paths.js.map +1 -0
- package/dist/core/folder-sidecar.d.ts +36 -0
- package/dist/core/folder-sidecar.js +91 -0
- package/dist/core/folder-sidecar.js.map +1 -0
- package/dist/core/format-registry.d.ts +170 -0
- package/dist/core/format-registry.js +412 -0
- package/dist/core/format-registry.js.map +1 -0
- package/dist/core/graph.d.ts +773 -14
- package/dist/core/graph.js +2269 -308
- 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 +66 -0
- package/dist/core/schema-registry.js +198 -37
- package/dist/core/schema-registry.js.map +1 -1
- package/dist/core/schemas/connector.d.ts +67 -0
- package/dist/core/schemas/connector.js +100 -0
- package/dist/core/schemas/connector.js.map +1 -0
- package/dist/core/schemas/workspace.d.ts +122 -0
- package/dist/core/schemas/workspace.js +211 -0
- package/dist/core/schemas/workspace.js.map +1 -0
- package/dist/core/secrets/SecretStore.d.ts +77 -0
- package/dist/core/secrets/SecretStore.js +13 -0
- package/dist/core/secrets/SecretStore.js.map +1 -0
- package/dist/core/secrets/SettingsResolver.d.ts +54 -0
- package/dist/core/secrets/SettingsResolver.js +80 -0
- package/dist/core/secrets/SettingsResolver.js.map +1 -0
- package/dist/core/secrets/SettingsStore.d.ts +30 -0
- package/dist/core/secrets/SettingsStore.js +9 -0
- package/dist/core/secrets/SettingsStore.js.map +1 -0
- package/dist/core/secrets/SqliteEncryptedStore.d.ts +90 -0
- package/dist/core/secrets/SqliteEncryptedStore.js +598 -0
- package/dist/core/secrets/SqliteEncryptedStore.js.map +1 -0
- package/dist/core/secrets/audit.d.ts +36 -0
- package/dist/core/secrets/audit.js +60 -0
- package/dist/core/secrets/audit.js.map +1 -0
- package/dist/core/secrets/auth-db-migration.d.ts +129 -0
- package/dist/core/secrets/auth-db-migration.js +653 -0
- package/dist/core/secrets/auth-db-migration.js.map +1 -0
- package/dist/core/secrets/bundle.d.ts +141 -0
- package/dist/core/secrets/bundle.js +435 -0
- package/dist/core/secrets/bundle.js.map +1 -0
- package/dist/core/secrets/dual-write.d.ts +81 -0
- package/dist/core/secrets/dual-write.js +247 -0
- package/dist/core/secrets/dual-write.js.map +1 -0
- package/dist/core/secrets/encryption.d.ts +44 -0
- package/dist/core/secrets/encryption.js +97 -0
- package/dist/core/secrets/encryption.js.map +1 -0
- package/dist/core/secrets/index.d.ts +49 -0
- package/dist/core/secrets/index.js +74 -0
- package/dist/core/secrets/index.js.map +1 -0
- package/dist/core/secrets/master-key.d.ts +38 -0
- package/dist/core/secrets/master-key.js +122 -0
- package/dist/core/secrets/master-key.js.map +1 -0
- package/dist/core/secrets/probes/anthropic.d.ts +98 -0
- package/dist/core/secrets/probes/anthropic.js +300 -0
- package/dist/core/secrets/probes/anthropic.js.map +1 -0
- package/dist/core/secrets/probes/brave.d.ts +9 -0
- package/dist/core/secrets/probes/brave.js +15 -0
- package/dist/core/secrets/probes/brave.js.map +1 -0
- package/dist/core/secrets/probes/r2.d.ts +15 -0
- package/dist/core/secrets/probes/r2.js +14 -0
- package/dist/core/secrets/probes/r2.js.map +1 -0
- package/dist/core/secrets/probes/tavily.d.ts +18 -0
- package/dist/core/secrets/probes/tavily.js +58 -0
- package/dist/core/secrets/probes/tavily.js.map +1 -0
- package/dist/core/secrets/probes/voyage.d.ts +13 -0
- package/dist/core/secrets/probes/voyage.js +52 -0
- package/dist/core/secrets/probes/voyage.js.map +1 -0
- package/dist/core/secrets/r2-structural-migration.d.ts +39 -0
- package/dist/core/secrets/r2-structural-migration.js +109 -0
- package/dist/core/secrets/r2-structural-migration.js.map +1 -0
- package/dist/core/secrets/read-flip.d.ts +59 -0
- package/dist/core/secrets/read-flip.js +87 -0
- package/dist/core/secrets/read-flip.js.map +1 -0
- package/dist/core/secrets/registry.d.ts +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 +77 -483
- package/dist/core/types.js +25 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/user-config.d.ts +75 -12
- package/dist/core/user-config.js +155 -14
- package/dist/core/user-config.js.map +1 -1
- package/dist/core/validation.d.ts +786 -1373
- package/dist/core/validation.js +458 -147
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-manager.d.ts +87 -14
- package/dist/core/workspace-manager.js +222 -94
- package/dist/core/workspace-manager.js.map +1 -1
- package/dist/core/workspace.d.ts +19 -5
- package/dist/core/workspace.js +67 -39
- 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 +72 -2
- package/dist/mcp/connector-manager.js +211 -32
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/mcp/oauth-provider.d.ts +0 -5
- package/dist/mcp/oauth-provider.js +10 -22
- package/dist/mcp/oauth-provider.js.map +1 -1
- package/dist/mcp/oauth-registry.d.ts +46 -8
- package/dist/mcp/oauth-registry.js +52 -13
- package/dist/mcp/oauth-registry.js.map +1 -1
- package/dist/mcp/server-discovery.d.ts +73 -0
- package/dist/mcp/server-discovery.js +164 -0
- package/dist/mcp/server-discovery.js.map +1 -0
- package/dist/mcp/server.d.ts +24 -3
- package/dist/mcp/server.js +53 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/state-signer.d.ts +62 -0
- package/dist/mcp/state-signer.js +205 -0
- package/dist/mcp/state-signer.js.map +1 -0
- package/dist/mcp/stdio-proxy.d.ts +67 -0
- package/dist/mcp/stdio-proxy.js +149 -0
- package/dist/mcp/stdio-proxy.js.map +1 -0
- package/dist/mcp/tools.d.ts +65 -2
- package/dist/mcp/tools.js +1772 -124
- 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/artifact-asset-mint.d.ts +41 -0
- package/dist/server/artifact-asset-mint.js +59 -0
- package/dist/server/artifact-asset-mint.js.map +1 -0
- package/dist/server/asset-index-queue.d.ts +98 -0
- package/dist/server/asset-index-queue.js +193 -0
- package/dist/server/asset-index-queue.js.map +1 -0
- package/dist/server/body-write-coordinator.d.ts +161 -0
- package/dist/server/body-write-coordinator.js +182 -0
- package/dist/server/body-write-coordinator.js.map +1 -0
- package/dist/server/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 +29 -3
- package/dist/server/index.js +657 -269
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/sanitize.d.ts +46 -0
- package/dist/server/middleware/sanitize.js +182 -0
- package/dist/server/middleware/sanitize.js.map +1 -0
- package/dist/server/routes/artifact-export-api.d.ts +11 -0
- package/dist/server/routes/artifact-export-api.js +159 -0
- package/dist/server/routes/artifact-export-api.js.map +1 -0
- package/dist/server/routes/asset-api.d.ts +76 -1
- package/dist/server/routes/asset-api.js +761 -61
- package/dist/server/routes/asset-api.js.map +1 -1
- package/dist/server/routes/audit-api.d.ts +24 -0
- package/dist/server/routes/audit-api.js +117 -0
- package/dist/server/routes/audit-api.js.map +1 -0
- package/dist/server/routes/auth-api.js +532 -63
- package/dist/server/routes/auth-api.js.map +1 -1
- package/dist/server/routes/capture-api.d.ts +10 -3
- package/dist/server/routes/capture-api.js +213 -25
- package/dist/server/routes/capture-api.js.map +1 -1
- package/dist/server/routes/chat-sessions-api.d.ts +13 -0
- package/dist/server/routes/chat-sessions-api.js +455 -0
- package/dist/server/routes/chat-sessions-api.js.map +1 -0
- package/dist/server/routes/chat.d.ts +35 -1
- package/dist/server/routes/chat.js +699 -54
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/server/routes/comments-api.d.ts +15 -0
- package/dist/server/routes/comments-api.js +444 -0
- package/dist/server/routes/comments-api.js.map +1 -0
- package/dist/server/routes/config-api.d.ts +3 -2
- package/dist/server/routes/config-api.js +179 -49
- package/dist/server/routes/config-api.js.map +1 -1
- package/dist/server/routes/connectors-api.js +177 -42
- package/dist/server/routes/connectors-api.js.map +1 -1
- package/dist/server/routes/event-ingest-api.d.ts +15 -0
- package/dist/server/routes/{meeting-ingest-api.js → event-ingest-api.js} +35 -20
- package/dist/server/routes/event-ingest-api.js.map +1 -0
- package/dist/server/routes/field-library-api.d.ts +28 -0
- package/dist/server/routes/field-library-api.js +126 -0
- package/dist/server/routes/field-library-api.js.map +1 -0
- package/dist/server/routes/git-http.d.ts +2 -2
- package/dist/server/routes/git-http.js +86 -39
- 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 +1455 -325
- 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 +355 -61
- 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 +24 -8
- 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 -31
- 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/views-api.js +51 -0
- 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 +142 -23
- package/dist/server/routes/workspace-api.js.map +1 -1
- package/dist/server/routes/ws.d.ts +3 -2
- package/dist/server/routes/ws.js +68 -17
- package/dist/server/routes/ws.js.map +1 -1
- package/dist/server/session-manager.d.ts +48 -5
- package/dist/server/session-manager.js +182 -14
- package/dist/server/session-manager.js.map +1 -1
- package/dist/server/ws-hub.d.ts +124 -37
- package/dist/server/ws-hub.js +0 -0
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +278 -7
- package/dist/server/yjs-manager.js +830 -38
- 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/artifact-asset-token.d.ts +69 -0
- package/dist/services/artifact-asset-token.js +94 -0
- package/dist/services/artifact-asset-token.js.map +1 -0
- package/dist/services/artifact-library-sources.d.ts +3 -0
- package/dist/services/artifact-library-sources.js +44 -0
- package/dist/services/artifact-library-sources.js.map +1 -0
- package/dist/services/artifact-render-export.d.ts +97 -0
- package/dist/services/artifact-render-export.js +467 -0
- package/dist/services/artifact-render-export.js.map +1 -0
- package/dist/services/asset-caption-service.d.ts +103 -0
- package/dist/services/asset-caption-service.js +186 -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 +216 -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 +95 -0
- package/dist/services/asset-index-sweep.js +249 -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 +28 -0
- package/dist/services/asset-sidecar-service.js +79 -0
- package/dist/services/asset-sidecar-service.js.map +1 -0
- package/dist/services/asset-upload-errors.d.ts +41 -0
- package/dist/services/asset-upload-errors.js +45 -0
- package/dist/services/asset-upload-errors.js.map +1 -0
- package/dist/services/asset-upload-service.d.ts +56 -0
- package/dist/services/asset-upload-service.js +200 -0
- package/dist/services/asset-upload-service.js.map +1 -0
- package/dist/services/asset-upload-token.d.ts +58 -0
- package/dist/services/asset-upload-token.js +75 -0
- package/dist/services/asset-upload-token.js.map +1 -0
- package/dist/services/assets/asset-index-service.d.ts +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 +128 -2
- package/dist/services/assets/base.js +98 -1
- package/dist/services/assets/base.js.map +1 -1
- package/dist/services/assets/index.d.ts +114 -1
- package/dist/services/assets/index.js +221 -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 +312 -45
- package/dist/services/auth-service.js +1011 -195
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/chat-session-service.d.ts +188 -0
- package/dist/services/chat-session-service.js +512 -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/comment-virtual-entity.d.ts +36 -0
- package/dist/services/comment-virtual-entity.js +71 -0
- package/dist/services/comment-virtual-entity.js.map +1 -0
- package/dist/services/convert-service.d.ts +64 -0
- package/dist/services/convert-service.js +68 -0
- package/dist/services/convert-service.js.map +1 -0
- package/dist/services/csv-service.d.ts +22 -17
- package/dist/services/csv-service.js +55 -92
- package/dist/services/csv-service.js.map +1 -1
- package/dist/services/entity-mutations.d.ts +213 -0
- package/dist/services/entity-mutations.js +380 -0
- package/dist/services/entity-mutations.js.map +1 -0
- package/dist/services/{meeting-processor.d.ts → event-processor.d.ts} +15 -8
- package/dist/services/{meeting-processor.js → event-processor.js} +124 -65
- 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 +58 -0
- package/dist/services/git.js +194 -55
- package/dist/services/git.js.map +1 -1
- package/dist/services/graph-maintenance.js +4 -4
- package/dist/services/graph-maintenance.js.map +1 -1
- package/dist/services/import-service.d.ts +51 -2
- package/dist/services/import-service.js +254 -107
- package/dist/services/import-service.js.map +1 -1
- package/dist/services/lint-service.js +10 -17
- package/dist/services/lint-service.js.map +1 -1
- package/dist/services/markdown.d.ts +12 -1
- package/dist/services/markdown.js +77 -9
- package/dist/services/markdown.js.map +1 -1
- package/dist/services/mention-detector.d.ts +23 -0
- package/dist/services/mention-detector.js +47 -0
- package/dist/services/mention-detector.js.map +1 -0
- package/dist/services/model-capabilities.d.ts +41 -0
- package/dist/services/model-capabilities.js +107 -0
- package/dist/services/model-capabilities.js.map +1 -0
- package/dist/services/notification-broadcast.d.ts +32 -0
- package/dist/services/notification-broadcast.js +38 -0
- package/dist/services/notification-broadcast.js.map +1 -0
- package/dist/services/notification-service.d.ts +41 -0
- package/dist/services/notification-service.js +100 -0
- package/dist/services/notification-service.js.map +1 -0
- package/dist/services/oauth-server-store.d.ts +147 -0
- package/dist/services/oauth-server-store.js +319 -0
- package/dist/services/oauth-server-store.js.map +1 -0
- package/dist/services/orphan-service.js +2 -2
- package/dist/services/orphan-service.js.map +1 -1
- package/dist/services/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/scratch-asset-promote.d.ts +57 -0
- package/dist/services/scratch-asset-promote.js +95 -0
- package/dist/services/scratch-asset-promote.js.map +1 -0
- package/dist/services/scratch-attachment-service.d.ts +196 -0
- package/dist/services/scratch-attachment-service.js +347 -0
- package/dist/services/scratch-attachment-service.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 +282 -5
- package/dist/services/vector-service.js +585 -29
- 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.Bs_z3Z86.css +2 -0
- package/dist/web/_app/immutable/assets/12.DlIf1mKh.css +1 -0
- package/dist/web/_app/immutable/assets/14.7d-Q37wc.css +1 -0
- package/dist/web/_app/immutable/assets/15.BwBFdc1D.css +1 -0
- package/dist/web/_app/immutable/assets/16.CmLrbzZp.css +1 -0
- package/dist/web/_app/immutable/assets/17.DcuK5ZVm.css +1 -0
- package/dist/web/_app/immutable/assets/2.DATnR31c.css +1 -0
- package/dist/web/_app/immutable/assets/3.Cz4H8n_O.css +1 -0
- package/dist/web/_app/immutable/assets/4.aDHteTDy.css +1 -0
- package/dist/web/_app/immutable/assets/6.CF1i5Bon.css +1 -0
- package/dist/web/_app/immutable/assets/ArtifactEntityView.C4ooklFD.css +1 -0
- package/dist/web/_app/immutable/assets/AssetLibraryPicker.BOFW0MvF.css +1 -0
- package/dist/web/_app/immutable/assets/BulkActionsBar.cmKvHzRK.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.kiYnDFHu.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
- package/dist/web/_app/immutable/assets/FolderPicker.Cp46GHe2.css +1 -0
- package/dist/web/_app/immutable/assets/GalleryView.WBGxxUQc.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.BZnsSOSf.css +1 -0
- package/dist/web/_app/immutable/assets/Rail.ilusFgD4.css +1 -0
- package/dist/web/_app/immutable/assets/SettingsDialog.D7-BO6S_.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.xAZBJhHw.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.C8ErUJAY.css +1 -0
- package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
- package/dist/web/_app/immutable/assets/history-summary.LpmHXasl.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.BgnafZ4K.css +1 -0
- package/dist/web/_app/immutable/assets/realtime.DDCWxn3B.css +1 -0
- package/dist/web/_app/immutable/assets/select.B90KUqR4.css +1 -0
- package/dist/web/_app/immutable/assets/sheet.RF9RBmml.css +1 -0
- package/dist/web/_app/immutable/chunks/22qYtvr82.js +1 -0
- package/dist/web/_app/immutable/chunks/3anKjXOb.js +1 -0
- package/dist/web/_app/immutable/chunks/6S9WOky52.js +1 -0
- package/dist/web/_app/immutable/chunks/7xJ91z7d.js +2 -0
- package/dist/web/_app/immutable/chunks/9K8VREGP.js +1 -0
- package/dist/web/_app/immutable/chunks/B-TGZnCt2.js +1 -0
- package/dist/web/_app/immutable/chunks/B-n5q6ku.js +1 -0
- package/dist/web/_app/immutable/chunks/B0p2fSEV2.js +1 -0
- package/dist/web/_app/immutable/chunks/B2oi87jG.js +2 -0
- package/dist/web/_app/immutable/chunks/B4DG5QOL.js +1 -0
- package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
- package/dist/web/_app/immutable/chunks/B6qeIQZz.js +2 -0
- package/dist/web/_app/immutable/chunks/B9KfEsQw2.js +1 -0
- package/dist/web/_app/immutable/chunks/B9VRF5aH2.js +1 -0
- package/dist/web/_app/immutable/chunks/BCQQzpbj.js +1 -0
- package/dist/web/_app/immutable/chunks/BF0vIqH9.js +1 -0
- package/dist/web/_app/immutable/chunks/BFp1K70l.js +8 -0
- package/dist/web/_app/immutable/chunks/BFr7Funh.js +1 -0
- package/dist/web/_app/immutable/chunks/BFx32D20.js +2 -0
- package/dist/web/_app/immutable/chunks/BLs1h0Rh2.js +1 -0
- package/dist/web/_app/immutable/chunks/BPzV_xOS2.js +1 -0
- package/dist/web/_app/immutable/chunks/BRvMjAzW.js +2 -0
- package/dist/web/_app/immutable/chunks/BV-iCKqa.js +1 -0
- package/dist/web/_app/immutable/chunks/BZi3uKF4.js +1 -0
- package/dist/web/_app/immutable/chunks/B_PyL87x.js +2 -0
- package/dist/web/_app/immutable/chunks/BbfHGU9n2.js +1 -0
- package/dist/web/_app/immutable/chunks/Bbqu2-5G2.js +1 -0
- package/dist/web/_app/immutable/chunks/BdWZJpmv.js +2 -0
- package/dist/web/_app/immutable/chunks/BfnFtsiY.js +1 -0
- package/dist/web/_app/immutable/chunks/BlgjVmFM2.js +14 -0
- package/dist/web/_app/immutable/chunks/BmgXvmIG.js +5 -0
- package/dist/web/_app/immutable/chunks/BpCG9m962.js +1 -0
- package/dist/web/_app/immutable/chunks/BrveeylZ.js +1 -0
- package/dist/web/_app/immutable/chunks/BsW72fyR2.js +1 -0
- package/dist/web/_app/immutable/chunks/Bti_XKwx.js +2692 -0
- package/dist/web/_app/immutable/chunks/BuhW5Fr0.js +689 -0
- package/dist/web/_app/immutable/chunks/Bx74EEyn2.js +1 -0
- package/dist/web/_app/immutable/chunks/BxPN0T61.js +1 -0
- package/dist/web/_app/immutable/chunks/Bxk27YWG.js +1 -0
- package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +1 -0
- package/dist/web/_app/immutable/chunks/BzaxZ6j12.js +1 -0
- package/dist/web/_app/immutable/chunks/C1B4xDs0.js +1 -0
- package/dist/web/_app/immutable/chunks/C1trcC8M.js +7 -0
- package/dist/web/_app/immutable/chunks/C3F_NMTk.js +3 -0
- package/dist/web/_app/immutable/chunks/C4PZmGUQ.js +2 -0
- package/dist/web/_app/immutable/chunks/C6wYiSz8.js +1 -0
- package/dist/web/_app/immutable/chunks/C70saxIl.js +1 -0
- package/dist/web/_app/immutable/chunks/C9tvkk7Y2.js +22 -0
- package/dist/web/_app/immutable/chunks/CE1XZ5DE.js +1 -0
- package/dist/web/_app/immutable/chunks/CEahbtnP.js +1 -0
- package/dist/web/_app/immutable/chunks/CGkd0a-c2.js +2 -0
- package/dist/web/_app/immutable/chunks/CIoNEHQ82.js +184 -0
- package/dist/web/_app/immutable/chunks/CK4z74w5.js +1 -0
- package/dist/web/_app/immutable/chunks/COo3HgCZ.js +1 -0
- package/dist/web/_app/immutable/chunks/CP8_U450.js +1 -0
- package/dist/web/_app/immutable/chunks/CQ1eQ93t2.js +6 -0
- package/dist/web/_app/immutable/chunks/CQyBDccA.js +1 -0
- package/dist/web/_app/immutable/chunks/CUFQMEBn2.js +1 -0
- package/dist/web/_app/immutable/chunks/CV5OSCJc.js +1 -0
- package/dist/web/_app/immutable/chunks/CYEYDNwO2.js +1 -0
- package/dist/web/_app/immutable/chunks/CZgFaimi2.js +83 -0
- package/dist/web/_app/immutable/chunks/CZqvCTCv.js +1 -0
- package/dist/web/_app/immutable/chunks/CcWaWbrI2.js +1 -0
- package/dist/web/_app/immutable/chunks/CdtzRVZK.js +1 -0
- package/dist/web/_app/immutable/chunks/CfYG72Hc.js +1 -0
- package/dist/web/_app/immutable/chunks/Cg-ND0cl.js +1 -0
- package/dist/web/_app/immutable/chunks/Ch1kmm3J2.js +1 -0
- package/dist/web/_app/immutable/chunks/CjiMLTwX2.js +1 -0
- package/dist/web/_app/immutable/chunks/CkoeSJ8K.js +6 -0
- package/dist/web/_app/immutable/chunks/Cp87MaaW.js +1 -0
- package/dist/web/_app/immutable/chunks/Cqm5wAin.js +1 -0
- package/dist/web/_app/immutable/chunks/Ct1uesdW.js +2 -0
- package/dist/web/_app/immutable/chunks/CuYPXpWU.js +1 -0
- package/dist/web/_app/immutable/chunks/Cuq8J2Td.js +1 -0
- package/dist/web/_app/immutable/chunks/CvSEodTA.js +1 -0
- package/dist/web/_app/immutable/chunks/CvqqrTrj.js +1 -0
- package/dist/web/_app/immutable/chunks/CzXdOgVl2.js +7 -0
- package/dist/web/_app/immutable/chunks/D0W7c6Sg.js +185 -0
- package/dist/web/_app/immutable/chunks/D0rBhnqB2.js +1 -0
- package/dist/web/_app/immutable/chunks/D1-GZSN1.js +1 -0
- package/dist/web/_app/immutable/chunks/D1BLcNJ7.js +1 -0
- package/dist/web/_app/immutable/chunks/D1yvtriI.js +1 -0
- package/dist/web/_app/immutable/chunks/D25NMRpl.js +1 -0
- package/dist/web/_app/immutable/chunks/D3F675fu2.js +2 -0
- package/dist/web/_app/immutable/chunks/D4UrtGC1.js +1 -0
- package/dist/web/_app/immutable/chunks/D8wZ2xul.js +4 -0
- package/dist/web/_app/immutable/chunks/DA3HEX3X.js +1 -0
- package/dist/web/_app/immutable/chunks/DE2TCESD2.js +1 -0
- package/dist/web/_app/immutable/chunks/DN-gIRdd2.js +1 -0
- package/dist/web/_app/immutable/chunks/DPUVu0T0.js +1 -0
- package/dist/web/_app/immutable/chunks/DPcejqKZ.js +1 -0
- package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
- package/dist/web/_app/immutable/chunks/DRPMJ-3M.js +2 -0
- package/dist/web/_app/immutable/chunks/DRPnwQAm.js +1 -0
- package/dist/web/_app/immutable/chunks/DXmfl4Hq2.js +1 -0
- package/dist/web/_app/immutable/chunks/DXsFrDer2.js +1 -0
- package/dist/web/_app/immutable/chunks/DYc5KW3F.js +1 -0
- package/dist/web/_app/immutable/chunks/DcPrzUMJ.js +1 -0
- package/dist/web/_app/immutable/chunks/DdQVGKgM.js +1 -0
- package/dist/web/_app/immutable/chunks/DiFfW--R2.js +2 -0
- package/dist/web/_app/immutable/chunks/DjIqa1_y.js +2 -0
- package/dist/web/_app/immutable/chunks/Dl63IUnH2.js +224 -0
- package/dist/web/_app/immutable/chunks/DmFdD6zT.js +1 -0
- package/dist/web/_app/immutable/chunks/Dn3R8S-U.js +1 -0
- package/dist/web/_app/immutable/chunks/DpNr1GQ2.js +1 -0
- package/dist/web/_app/immutable/chunks/DsFEd8vL2.js +1 -0
- package/dist/web/_app/immutable/chunks/DuxziNnw.js +1 -0
- package/dist/web/_app/immutable/chunks/FuiJnZG0.js +1 -0
- package/dist/web/_app/immutable/chunks/Izkulod7.js +1 -0
- package/dist/web/_app/immutable/chunks/LYL8znYR2.js +23 -0
- package/dist/web/_app/immutable/chunks/ON7Gta0d.js +1 -0
- package/dist/web/_app/immutable/chunks/PhN6tXuJ2.js +1 -0
- package/dist/web/_app/immutable/chunks/PyLyCpuL.js +1 -0
- package/dist/web/_app/immutable/chunks/RG7IUVLn2.js +2 -0
- package/dist/web/_app/immutable/chunks/RK4gCWN0.js +2 -0
- package/dist/web/_app/immutable/chunks/SnzlL4ZV.js +1 -0
- package/dist/web/_app/immutable/chunks/XcWejFm_.js +5 -0
- package/dist/web/_app/immutable/chunks/Xkp5hSA1.js +1 -0
- package/dist/web/_app/immutable/chunks/al_nidE9.js +1 -0
- package/dist/web/_app/immutable/chunks/e50-izZO2.js +1 -0
- package/dist/web/_app/immutable/chunks/golz20La2.js +2 -0
- package/dist/web/_app/immutable/chunks/hG-QCarB.js +1 -0
- package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
- package/dist/web/_app/immutable/chunks/nXReuy-5.js +3 -0
- package/dist/web/_app/immutable/chunks/o61aZZFZ2.js +66 -0
- package/dist/web/_app/immutable/chunks/qwr5boV8.js +1 -0
- package/dist/web/_app/immutable/chunks/rjjyuGhb.js +1 -0
- package/dist/web/_app/immutable/chunks/uBgoVlsx.js +3 -0
- package/dist/web/_app/immutable/chunks/xY0c-UfG.js +3 -0
- package/dist/web/_app/immutable/chunks/xeNvx4Bl2.js +1 -0
- package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/web/_app/immutable/entry/app.dqA31fjy.js +2 -0
- package/dist/web/_app/immutable/entry/start.BB1XrAea.js +1 -0
- package/dist/web/_app/immutable/nodes/0.dALEQAnu.js +2 -0
- package/dist/web/_app/immutable/nodes/1.aFU32Ukj.js +1 -0
- package/dist/web/_app/immutable/nodes/10.C2wB-OnW.js +1 -0
- package/dist/web/_app/immutable/nodes/11.CI3a8Rj5.js +1 -0
- package/dist/web/_app/immutable/nodes/12.CsTvsKzB.js +1 -0
- package/dist/web/_app/immutable/nodes/13.CYrHXCA8.js +1 -0
- package/dist/web/_app/immutable/nodes/14.B31HrQ26.js +1 -0
- package/dist/web/_app/immutable/nodes/15.DxgnZ61h.js +1 -0
- package/dist/web/_app/immutable/nodes/16.DAP8cwVb.js +1 -0
- package/dist/web/_app/immutable/nodes/17.CmwXtCDY.js +77 -0
- package/dist/web/_app/immutable/nodes/2.BuGXEIlN.js +122 -0
- package/dist/web/_app/immutable/nodes/3.CmhZJWHE.js +6 -0
- package/dist/web/_app/immutable/nodes/4.BRfoPTm-.js +11 -0
- package/dist/web/_app/immutable/nodes/5.C7gPuZM_.js +1 -0
- package/dist/web/_app/immutable/nodes/6.qKODVbya.js +6 -0
- package/dist/web/_app/immutable/nodes/7.BZO37zAJ.js +1 -0
- package/dist/web/_app/immutable/nodes/8.xF_Dd1BO.js +1 -0
- package/dist/web/_app/immutable/nodes/9.Bow4UyKV.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 +56 -21
- package/dist/web/studiograph-logomark.svg +29 -0
- package/package.json +35 -14
- package/dist/agent/skills/enrich-entities.md +0 -136
- package/dist/agent/skills/sync-configuration.md +0 -119
- package/dist/agent/skills/sync-setup.md +0 -82
- package/dist/agent/tools/message-tools.d.ts +0 -42
- package/dist/agent/tools/message-tools.js +0 -106
- package/dist/agent/tools/message-tools.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/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.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/start.d.ts +0 -7
- package/dist/cli/commands/start.js +0 -584
- package/dist/cli/commands/start.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 -175
- 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/integrations/registry.d.ts +0 -8
- package/dist/integrations/registry.js +0 -7
- package/dist/integrations/registry.js.map +0 -1
- package/dist/integrations/types.d.ts +0 -43
- package/dist/integrations/types.js +0 -5
- package/dist/integrations/types.js.map +0 -1
- package/dist/lib/lib/utils.d.ts +0 -2
- package/dist/lib/lib/utils.js +0 -6
- package/dist/lib/lib/utils.js.map +0 -1
- package/dist/server/chrome/chrome.css +0 -691
- package/dist/server/chrome/chrome.js +0 -374
- 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/meeting-ingest-api.d.ts +0 -14
- package/dist/server/routes/meeting-ingest-api.js.map +0 -1
- package/dist/server/routes/messages-api.d.ts +0 -15
- package/dist/server/routes/messages-api.js +0 -385
- package/dist/server/routes/messages-api.js.map +0 -1
- package/dist/services/batch-processor.d.ts +0 -49
- package/dist/services/batch-processor.js +0 -166
- package/dist/services/batch-processor.js.map +0 -1
- package/dist/services/briefing.d.ts +0 -26
- package/dist/services/briefing.js +0 -230
- package/dist/services/briefing.js.map +0 -1
- package/dist/services/heartbeat.d.ts +0 -28
- package/dist/services/heartbeat.js +0 -183
- package/dist/services/heartbeat.js.map +0 -1
- package/dist/services/image-import-service.d.ts +0 -24
- package/dist/services/image-import-service.js +0 -108
- package/dist/services/image-import-service.js.map +0 -1
- package/dist/services/insights.d.ts +0 -38
- package/dist/services/insights.js +0 -269
- package/dist/services/insights.js.map +0 -1
- package/dist/services/meeting-processor.js.map +0 -1
- package/dist/services/message-service.d.ts +0 -68
- package/dist/services/message-service.js +0 -220
- package/dist/services/message-service.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.uPSqtsC5.css +0 -1
- package/dist/web/_app/immutable/assets/11.2jzI3cZY.css +0 -1
- package/dist/web/_app/immutable/assets/12.CT4xL4K3.css +0 -1
- package/dist/web/_app/immutable/assets/13.BUrHkYry.css +0 -1
- package/dist/web/_app/immutable/assets/2.DpQWr6q6.css +0 -1
- package/dist/web/_app/immutable/assets/3.BxdqT7zi.css +0 -1
- package/dist/web/_app/immutable/assets/4.DdNqjd0T.css +0 -1
- package/dist/web/_app/immutable/assets/5.DFeGxLYf.css +0 -1
- package/dist/web/_app/immutable/assets/6.DXZr_rI_.css +0 -1
- package/dist/web/_app/immutable/assets/GraphView.D9ePpZez.css +0 -1
- package/dist/web/_app/immutable/assets/Toaster.rN8r_Hzv.css +0 -1
- package/dist/web/_app/immutable/assets/ViewToolbar.BWE03S64.css +0 -1
- package/dist/web/_app/immutable/assets/WorkspaceView.CgGDi_Zb.css +0 -1
- package/dist/web/_app/immutable/assets/wikilinks.CzMBkUMB.css +0 -1
- package/dist/web/_app/immutable/chunks/-jG4Obyh.js +0 -4
- package/dist/web/_app/immutable/chunks/2nrc8f_O.js +0 -1
- package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
- package/dist/web/_app/immutable/chunks/8Q3ZJIYu.js +0 -1
- package/dist/web/_app/immutable/chunks/B8ydT5xX.js +0 -2
- package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
- package/dist/web/_app/immutable/chunks/BEn6N5c2.js +0 -1
- package/dist/web/_app/immutable/chunks/BFNNbCAM.js +0 -1
- package/dist/web/_app/immutable/chunks/BFZZEUd5.js +0 -1
- package/dist/web/_app/immutable/chunks/BGk8kfOE.js +0 -2
- package/dist/web/_app/immutable/chunks/BIBCr278.js +0 -1
- package/dist/web/_app/immutable/chunks/BPCkkwqe.js +0 -1
- package/dist/web/_app/immutable/chunks/BhlvzGQx.js +0 -1
- package/dist/web/_app/immutable/chunks/BlMknQeF.js +0 -1
- package/dist/web/_app/immutable/chunks/BpjqrlCg.js +0 -1
- package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
- package/dist/web/_app/immutable/chunks/ByBZ7JIT.js +0 -1
- package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
- package/dist/web/_app/immutable/chunks/BzJTZOK2.js +0 -1
- package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
- package/dist/web/_app/immutable/chunks/C3uBrOS5.js +0 -1
- package/dist/web/_app/immutable/chunks/C8R1sDpW.js +0 -1
- package/dist/web/_app/immutable/chunks/CDRHrs0g.js +0 -1
- package/dist/web/_app/immutable/chunks/CN5_py1I.js +0 -1
- package/dist/web/_app/immutable/chunks/CPne482a.js +0 -1
- package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
- package/dist/web/_app/immutable/chunks/CWyU-seV.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/ChsiIm-E.js +0 -1
- package/dist/web/_app/immutable/chunks/CojKppbh.js +0 -1
- package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
- package/dist/web/_app/immutable/chunks/CtYLtD7K.js +0 -1
- package/dist/web/_app/immutable/chunks/D-HDy5qS.js +0 -1
- package/dist/web/_app/immutable/chunks/D5aIYSkd.js +0 -1
- package/dist/web/_app/immutable/chunks/DBBXARVf.js +0 -1
- package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
- package/dist/web/_app/immutable/chunks/DKaafS50.js +0 -1
- package/dist/web/_app/immutable/chunks/DUMOo1Pn.js +0 -1
- package/dist/web/_app/immutable/chunks/DWX9f6AF.js +0 -1
- package/dist/web/_app/immutable/chunks/DY8-EONP.js +0 -1
- package/dist/web/_app/immutable/chunks/DkoHPElM.js +0 -1
- package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
- package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
- package/dist/web/_app/immutable/chunks/DujahU3W.js +0 -1
- package/dist/web/_app/immutable/chunks/FBn-ES5k.js +0 -1
- package/dist/web/_app/immutable/chunks/HQpwSOb3.js +0 -1
- package/dist/web/_app/immutable/chunks/KyjzlWRN.js +0 -2
- package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +0 -1
- package/dist/web/_app/immutable/chunks/UwYfmrPx.js +0 -2
- package/dist/web/_app/immutable/chunks/W25ZVI8L.js +0 -2
- package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
- package/dist/web/_app/immutable/chunks/XjsuEnNE.js +0 -5
- package/dist/web/_app/immutable/chunks/ZD6ARAtb.js +0 -1
- package/dist/web/_app/immutable/chunks/pBTf4stg.js +0 -2
- package/dist/web/_app/immutable/chunks/rGIarcnp.js +0 -1
- package/dist/web/_app/immutable/chunks/vxEtkL8z.js +0 -1
- package/dist/web/_app/immutable/chunks/wDIGUaoU.js +0 -3
- package/dist/web/_app/immutable/entry/app.ZHiTM8WS.js +0 -2
- package/dist/web/_app/immutable/entry/start.C9-FfAVc.js +0 -1
- package/dist/web/_app/immutable/nodes/0.D92Orz8k.js +0 -2
- package/dist/web/_app/immutable/nodes/1.BMdyglM_.js +0 -1
- package/dist/web/_app/immutable/nodes/10.BilVDHSL.js +0 -1
- package/dist/web/_app/immutable/nodes/11.CS9E0Hic.js +0 -1
- package/dist/web/_app/immutable/nodes/12.D3BOxYzG.js +0 -1
- package/dist/web/_app/immutable/nodes/13.CClMKYtN.js +0 -1
- package/dist/web/_app/immutable/nodes/2.C8KKElPL.js +0 -267
- package/dist/web/_app/immutable/nodes/3.C5n5uiWU.js +0 -5
- package/dist/web/_app/immutable/nodes/4.DcGVvgiL.js +0 -11
- package/dist/web/_app/immutable/nodes/5.DxIjnFQO.js +0 -4
- package/dist/web/_app/immutable/nodes/6.lkh6kKLj.js +0 -1
- package/dist/web/_app/immutable/nodes/7.Bg7SbfhA.js +0 -1
- package/dist/web/_app/immutable/nodes/8.DcXWCNBE.js +0 -1
- package/dist/web/_app/immutable/nodes/9.Cefi8Jfm.js +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Railway-secret provisioning helpers.
|
|
3
|
+
*
|
|
4
|
+
* Phase 2 of the secrets refactor: every Railway deploy needs both
|
|
5
|
+
* STUDIOGRAPH_JWT_SECRET (existing, plan §1) and STUDIOGRAPH_MASTER_KEY
|
|
6
|
+
* (new — encrypts secrets.db) provisioned. We generate them client-side
|
|
7
|
+
* via crypto.randomBytes(32) and POST through the existing GraphQL
|
|
8
|
+
* variableCollectionUpsert mutation.
|
|
9
|
+
*
|
|
10
|
+
* Idempotent: pulls the current variable list first; only sets the keys
|
|
11
|
+
* that are missing. Caller controls how missing vars are surfaced
|
|
12
|
+
* (auto-provision in deploy.ts, prompt in redeploy.ts).
|
|
13
|
+
*/
|
|
14
|
+
export type RailwayQuery = (query: string, variables?: Record<string, unknown>) => Promise<any>;
|
|
15
|
+
export interface RailwayServiceContext {
|
|
16
|
+
projectId: string;
|
|
17
|
+
serviceId: string;
|
|
18
|
+
environmentId: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Variables our deploy paths must guarantee exist. Pre-approved set.
|
|
22
|
+
* Extend here when a new bootstrap-classified env-var lands in the
|
|
23
|
+
* registry.
|
|
24
|
+
*/
|
|
25
|
+
export declare const REQUIRED_RAILWAY_SECRETS: ReadonlyArray<{
|
|
26
|
+
name: string;
|
|
27
|
+
/** Generator: returns a base64-encoded 32-byte secret. */
|
|
28
|
+
generate: () => string;
|
|
29
|
+
/** Human description for the audit log / runbook. */
|
|
30
|
+
description: string;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Read the current variable map for a Railway service+environment.
|
|
34
|
+
*
|
|
35
|
+
* Railway's GraphQL exposes per-service variables via the `variables`
|
|
36
|
+
* query. The shape changed across API versions; this helper deals with
|
|
37
|
+
* the modern projectId/environmentId/serviceId triple.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fetchRailwayVariables(query: RailwayQuery, ctx: RailwayServiceContext): Promise<Record<string, string>>;
|
|
40
|
+
/**
|
|
41
|
+
* Determine which of the required secrets are missing from the supplied
|
|
42
|
+
* variable map. Empty-string counts as missing — Railway sometimes emits
|
|
43
|
+
* empty values for variables that were defined but never set.
|
|
44
|
+
*/
|
|
45
|
+
export declare function missingRequiredSecrets(existing: Record<string, string>): typeof REQUIRED_RAILWAY_SECRETS;
|
|
46
|
+
/**
|
|
47
|
+
* Provision any required secret that is missing from the service's
|
|
48
|
+
* environment. Returns the names of the secrets that were generated and
|
|
49
|
+
* set on this call (an empty array means everything was already set).
|
|
50
|
+
*
|
|
51
|
+
* Idempotent — a re-deploy that already has both vars set is a no-op.
|
|
52
|
+
*/
|
|
53
|
+
export declare function provisionRequiredRailwaySecrets(query: RailwayQuery, ctx: RailwayServiceContext): Promise<string[]>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Railway-secret provisioning helpers.
|
|
3
|
+
*
|
|
4
|
+
* Phase 2 of the secrets refactor: every Railway deploy needs both
|
|
5
|
+
* STUDIOGRAPH_JWT_SECRET (existing, plan §1) and STUDIOGRAPH_MASTER_KEY
|
|
6
|
+
* (new — encrypts secrets.db) provisioned. We generate them client-side
|
|
7
|
+
* via crypto.randomBytes(32) and POST through the existing GraphQL
|
|
8
|
+
* variableCollectionUpsert mutation.
|
|
9
|
+
*
|
|
10
|
+
* Idempotent: pulls the current variable list first; only sets the keys
|
|
11
|
+
* that are missing. Caller controls how missing vars are surfaced
|
|
12
|
+
* (auto-provision in deploy.ts, prompt in redeploy.ts).
|
|
13
|
+
*/
|
|
14
|
+
import { randomBytes } from 'crypto';
|
|
15
|
+
/**
|
|
16
|
+
* Variables our deploy paths must guarantee exist. Pre-approved set.
|
|
17
|
+
* Extend here when a new bootstrap-classified env-var lands in the
|
|
18
|
+
* registry.
|
|
19
|
+
*/
|
|
20
|
+
export const REQUIRED_RAILWAY_SECRETS = [
|
|
21
|
+
{
|
|
22
|
+
name: 'STUDIOGRAPH_JWT_SECRET',
|
|
23
|
+
generate: () => randomBytes(32).toString('base64'),
|
|
24
|
+
description: 'JWT signing secret (auth-service)',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'STUDIOGRAPH_MASTER_KEY',
|
|
28
|
+
generate: () => randomBytes(32).toString('base64'),
|
|
29
|
+
description: 'Master key (encrypts secrets.db)',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* Read the current variable map for a Railway service+environment.
|
|
34
|
+
*
|
|
35
|
+
* Railway's GraphQL exposes per-service variables via the `variables`
|
|
36
|
+
* query. The shape changed across API versions; this helper deals with
|
|
37
|
+
* the modern projectId/environmentId/serviceId triple.
|
|
38
|
+
*/
|
|
39
|
+
export async function fetchRailwayVariables(query, ctx) {
|
|
40
|
+
const data = await query(`query($projectId: String!, $environmentId: String!, $serviceId: String!) {
|
|
41
|
+
variables(projectId: $projectId, environmentId: $environmentId, serviceId: $serviceId)
|
|
42
|
+
}`, { ...ctx });
|
|
43
|
+
// The `variables` query returns a JSON object map.
|
|
44
|
+
if (data && typeof data.variables === 'object' && data.variables !== null) {
|
|
45
|
+
return data.variables;
|
|
46
|
+
}
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Determine which of the required secrets are missing from the supplied
|
|
51
|
+
* variable map. Empty-string counts as missing — Railway sometimes emits
|
|
52
|
+
* empty values for variables that were defined but never set.
|
|
53
|
+
*/
|
|
54
|
+
export function missingRequiredSecrets(existing) {
|
|
55
|
+
return REQUIRED_RAILWAY_SECRETS.filter((req) => !existing[req.name]?.trim());
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Provision any required secret that is missing from the service's
|
|
59
|
+
* environment. Returns the names of the secrets that were generated and
|
|
60
|
+
* set on this call (an empty array means everything was already set).
|
|
61
|
+
*
|
|
62
|
+
* Idempotent — a re-deploy that already has both vars set is a no-op.
|
|
63
|
+
*/
|
|
64
|
+
export async function provisionRequiredRailwaySecrets(query, ctx) {
|
|
65
|
+
const existing = await fetchRailwayVariables(query, ctx);
|
|
66
|
+
const missing = missingRequiredSecrets(existing);
|
|
67
|
+
if (missing.length === 0)
|
|
68
|
+
return [];
|
|
69
|
+
const variables = {};
|
|
70
|
+
for (const req of missing) {
|
|
71
|
+
variables[req.name] = req.generate();
|
|
72
|
+
}
|
|
73
|
+
await query(`mutation($input: VariableCollectionUpsertInput!) {
|
|
74
|
+
variableCollectionUpsert(input: $input)
|
|
75
|
+
}`, {
|
|
76
|
+
input: {
|
|
77
|
+
projectId: ctx.projectId,
|
|
78
|
+
environmentId: ctx.environmentId,
|
|
79
|
+
serviceId: ctx.serviceId,
|
|
80
|
+
variables,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
return missing.map((m) => m.name);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=railway-provisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"railway-provisioning.js","sourceRoot":"","sources":["../../src/cli/railway-provisioning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAarC;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAMhC;IACH;QACE,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAmB,EACnB,GAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB;;MAEE,EACF,EAAE,GAAG,GAAG,EAAE,CACX,CAAC;IACF,mDAAmD;IACnD,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC,SAAmC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgC;IAEhC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,KAAmB,EACnB,GAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,CACT;;MAEE,EACF;QACE,KAAK,EAAE;YACL,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS;SACV;KACF,CACF,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -9,16 +9,16 @@ export declare const MODEL_PROVIDERS: {
|
|
|
9
9
|
readonly anthropic: {
|
|
10
10
|
readonly name: "Anthropic (Claude)";
|
|
11
11
|
readonly models: readonly [{
|
|
12
|
-
readonly id: "claude-sonnet-4-
|
|
13
|
-
readonly name: "Claude Sonnet 4.
|
|
12
|
+
readonly id: "claude-sonnet-4-6";
|
|
13
|
+
readonly name: "Claude Sonnet 4.6";
|
|
14
14
|
readonly hint: "Recommended";
|
|
15
15
|
}, {
|
|
16
|
-
readonly id: "claude-opus-4-
|
|
17
|
-
readonly name: "Claude Opus 4.
|
|
16
|
+
readonly id: "claude-opus-4-7";
|
|
17
|
+
readonly name: "Claude Opus 4.7";
|
|
18
18
|
readonly hint: "Most capable";
|
|
19
19
|
}, {
|
|
20
|
-
readonly id: "claude-
|
|
21
|
-
readonly name: "Claude
|
|
20
|
+
readonly id: "claude-haiku-4-5-20251001";
|
|
21
|
+
readonly name: "Claude Haiku 4.5";
|
|
22
22
|
readonly hint: "Fastest";
|
|
23
23
|
}];
|
|
24
24
|
readonly envVar: "ANTHROPIC_API_KEY";
|
|
@@ -26,59 +26,40 @@ export declare const MODEL_PROVIDERS: {
|
|
|
26
26
|
readonly openai: {
|
|
27
27
|
readonly name: "OpenAI (GPT)";
|
|
28
28
|
readonly models: readonly [{
|
|
29
|
-
readonly id: "gpt-
|
|
30
|
-
readonly name: "GPT-
|
|
31
|
-
readonly hint: "Recommended";
|
|
29
|
+
readonly id: "gpt-5.5";
|
|
30
|
+
readonly name: "GPT-5.5";
|
|
31
|
+
readonly hint: "Recommended (latest GA)";
|
|
32
|
+
}, {
|
|
33
|
+
readonly id: "gpt-5.5-pro";
|
|
34
|
+
readonly name: "GPT-5.5 Pro";
|
|
35
|
+
readonly hint: "Most capable";
|
|
32
36
|
}, {
|
|
33
|
-
readonly id: "gpt-
|
|
34
|
-
readonly name: "GPT-
|
|
35
|
-
readonly hint: "
|
|
37
|
+
readonly id: "gpt-5.4-mini";
|
|
38
|
+
readonly name: "GPT-5.4 Mini";
|
|
39
|
+
readonly hint: "Fast & cheap";
|
|
36
40
|
}];
|
|
37
41
|
readonly envVar: "OPENAI_API_KEY";
|
|
38
42
|
};
|
|
39
43
|
readonly google: {
|
|
40
44
|
readonly name: "Google (Gemini)";
|
|
41
45
|
readonly models: readonly [{
|
|
42
|
-
readonly id: "gemini-2.
|
|
43
|
-
readonly name: "Gemini 2.
|
|
44
|
-
readonly hint: "
|
|
46
|
+
readonly id: "gemini-2.5-pro";
|
|
47
|
+
readonly name: "Gemini 2.5 Pro";
|
|
48
|
+
readonly hint: "Recommended (GA)";
|
|
45
49
|
}, {
|
|
46
|
-
readonly id: "gemini-1
|
|
47
|
-
readonly name: "Gemini 1
|
|
48
|
-
readonly hint: "
|
|
49
|
-
}];
|
|
50
|
-
readonly envVar: "GOOGLE_API_KEY";
|
|
51
|
-
};
|
|
52
|
-
readonly xai: {
|
|
53
|
-
readonly name: "xAI (Grok)";
|
|
54
|
-
readonly models: readonly [{
|
|
55
|
-
readonly id: "grok-2-1212";
|
|
56
|
-
readonly name: "Grok 2";
|
|
57
|
-
readonly hint: "Latest";
|
|
58
|
-
}];
|
|
59
|
-
readonly envVar: "XAI_API_KEY";
|
|
60
|
-
};
|
|
61
|
-
readonly groq: {
|
|
62
|
-
readonly name: "Groq (Fast Inference)";
|
|
63
|
-
readonly models: readonly [{
|
|
64
|
-
readonly id: "llama-3.3-70b-versatile";
|
|
65
|
-
readonly name: "Llama 3.3 70B";
|
|
66
|
-
readonly hint: "Very fast";
|
|
67
|
-
}];
|
|
68
|
-
readonly envVar: "GROQ_API_KEY";
|
|
69
|
-
};
|
|
70
|
-
readonly openrouter: {
|
|
71
|
-
readonly name: "OpenRouter";
|
|
72
|
-
readonly models: readonly [{
|
|
73
|
-
readonly id: "anthropic/claude-opus-4-6";
|
|
74
|
-
readonly name: "Claude Opus 4.6";
|
|
75
|
-
readonly hint: "Via OpenRouter";
|
|
50
|
+
readonly id: "gemini-3.1-pro-preview";
|
|
51
|
+
readonly name: "Gemini 3.1 Pro Preview";
|
|
52
|
+
readonly hint: "Newest (preview — may rotate)";
|
|
76
53
|
}, {
|
|
77
|
-
readonly id: "
|
|
78
|
-
readonly name: "
|
|
79
|
-
readonly hint: "
|
|
54
|
+
readonly id: "gemini-2.5-flash";
|
|
55
|
+
readonly name: "Gemini 2.5 Flash";
|
|
56
|
+
readonly hint: "Fast & cheap";
|
|
57
|
+
}, {
|
|
58
|
+
readonly id: "gemini-pro-latest";
|
|
59
|
+
readonly name: "Gemini Pro Latest";
|
|
60
|
+
readonly hint: "Rolling alias";
|
|
80
61
|
}];
|
|
81
|
-
readonly envVar: "
|
|
62
|
+
readonly envVar: "GOOGLE_API_KEY";
|
|
82
63
|
};
|
|
83
64
|
};
|
|
84
65
|
/**
|
package/dist/cli/setup-wizard.js
CHANGED
|
@@ -7,54 +7,41 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { confirm, select, password, log, isCancel } from '@clack/prompts';
|
|
9
9
|
import { loadUserConfig, saveUserConfig } from '../core/user-config.js';
|
|
10
|
+
import { tryResolve } from '../core/secrets/read-flip.js';
|
|
10
11
|
export const MODEL_PROVIDERS = {
|
|
11
12
|
anthropic: {
|
|
12
13
|
name: 'Anthropic (Claude)',
|
|
13
14
|
models: [
|
|
14
|
-
{ id: 'claude-sonnet-4-
|
|
15
|
-
{ id: 'claude-opus-4-
|
|
16
|
-
{ id: 'claude-
|
|
15
|
+
{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6', hint: 'Recommended' },
|
|
16
|
+
{ id: 'claude-opus-4-7', name: 'Claude Opus 4.7', hint: 'Most capable' },
|
|
17
|
+
{ id: 'claude-haiku-4-5-20251001', name: 'Claude Haiku 4.5', hint: 'Fastest' },
|
|
17
18
|
],
|
|
18
19
|
envVar: 'ANTHROPIC_API_KEY',
|
|
19
20
|
},
|
|
20
21
|
openai: {
|
|
21
22
|
name: 'OpenAI (GPT)',
|
|
22
23
|
models: [
|
|
23
|
-
{ id: 'gpt-
|
|
24
|
-
{ id: 'gpt-
|
|
24
|
+
{ id: 'gpt-5.5', name: 'GPT-5.5', hint: 'Recommended (latest GA)' },
|
|
25
|
+
{ id: 'gpt-5.5-pro', name: 'GPT-5.5 Pro', hint: 'Most capable' },
|
|
26
|
+
{ id: 'gpt-5.4-mini', name: 'GPT-5.4 Mini', hint: 'Fast & cheap' },
|
|
25
27
|
],
|
|
26
28
|
envVar: 'OPENAI_API_KEY',
|
|
27
29
|
},
|
|
28
30
|
google: {
|
|
29
31
|
name: 'Google (Gemini)',
|
|
30
32
|
models: [
|
|
31
|
-
{ id: 'gemini-2.
|
|
32
|
-
{ id: 'gemini-1
|
|
33
|
+
{ id: 'gemini-2.5-pro', name: 'Gemini 2.5 Pro', hint: 'Recommended (GA)' },
|
|
34
|
+
{ id: 'gemini-3.1-pro-preview', name: 'Gemini 3.1 Pro Preview', hint: 'Newest (preview — may rotate)' },
|
|
35
|
+
{ id: 'gemini-2.5-flash', name: 'Gemini 2.5 Flash', hint: 'Fast & cheap' },
|
|
36
|
+
{ id: 'gemini-pro-latest', name: 'Gemini Pro Latest', hint: 'Rolling alias' },
|
|
33
37
|
],
|
|
34
38
|
envVar: 'GOOGLE_API_KEY',
|
|
35
39
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
envVar: 'XAI_API_KEY',
|
|
42
|
-
},
|
|
43
|
-
groq: {
|
|
44
|
-
name: 'Groq (Fast Inference)',
|
|
45
|
-
models: [
|
|
46
|
-
{ id: 'llama-3.3-70b-versatile', name: 'Llama 3.3 70B', hint: 'Very fast' },
|
|
47
|
-
],
|
|
48
|
-
envVar: 'GROQ_API_KEY',
|
|
49
|
-
},
|
|
50
|
-
openrouter: {
|
|
51
|
-
name: 'OpenRouter',
|
|
52
|
-
models: [
|
|
53
|
-
{ id: 'anthropic/claude-opus-4-6', name: 'Claude Opus 4.6', hint: 'Via OpenRouter' },
|
|
54
|
-
{ id: 'openai/gpt-4o', name: 'GPT-4o', hint: 'Via OpenRouter' },
|
|
55
|
-
],
|
|
56
|
-
envVar: 'OPENROUTER_API_KEY',
|
|
57
|
-
},
|
|
40
|
+
// Note: pi-ai and src/core/user-config.ts:createModel also support xai,
|
|
41
|
+
// groq, and openrouter via OpenAI-compatible endpoints. They're not
|
|
42
|
+
// exposed in the wizard until each has been verified end-to-end against
|
|
43
|
+
// the agent's tool-calling + streaming. Set MODEL_PROVIDER=<id> manually
|
|
44
|
+
// to use them in the meantime.
|
|
58
45
|
};
|
|
59
46
|
/**
|
|
60
47
|
* Prompt for LLM provider setup if not configured.
|
|
@@ -62,6 +49,21 @@ export const MODEL_PROVIDERS = {
|
|
|
62
49
|
*/
|
|
63
50
|
export async function promptLLMSetupIfNeeded() {
|
|
64
51
|
const userConfig = loadUserConfig();
|
|
52
|
+
// Phase 6 read-flip: check the encrypted store first. If the
|
|
53
|
+
// per-provider key is set, treat the model as "already configured"
|
|
54
|
+
// and skip the prompt. We need `model.provider` to know WHICH
|
|
55
|
+
// per-provider slot to read; if provider isn't set, no key is
|
|
56
|
+
// considered configured yet.
|
|
57
|
+
const storeProvider = tryResolve('model.provider');
|
|
58
|
+
if (storeProvider) {
|
|
59
|
+
const storeApiKey = tryResolve(`model.${storeProvider}.api_key`);
|
|
60
|
+
if (storeApiKey) {
|
|
61
|
+
const providerKey = storeProvider;
|
|
62
|
+
const providerLabel = MODEL_PROVIDERS[providerKey]?.name.replace(/\s*\(.*\)/, '') ?? storeProvider;
|
|
63
|
+
log.success(`AI model configured (${providerLabel})`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
65
67
|
// Check if already configured via user config
|
|
66
68
|
if (userConfig.api_key) {
|
|
67
69
|
const providerKey = userConfig.model_provider;
|
|
@@ -71,14 +73,9 @@ export async function promptLLMSetupIfNeeded() {
|
|
|
71
73
|
log.success(`AI model configured (${providerLabel})`);
|
|
72
74
|
return;
|
|
73
75
|
}
|
|
74
|
-
// Check generic MODEL_API_KEY
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const providerLabel = MODEL_PROVIDERS[provider]?.name ?? provider;
|
|
78
|
-
log.success(`AI model configured (${providerLabel} via MODEL_API_KEY)`);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
// Check common env vars
|
|
76
|
+
// Check common per-provider env vars. The generic MODEL_API_KEY env
|
|
77
|
+
// was retired with Phase 12c (2026-05-12) — operators set the
|
|
78
|
+
// provider-specific env directly.
|
|
82
79
|
const envProviders = [
|
|
83
80
|
{ key: 'ANTHROPIC_API_KEY', name: 'Anthropic', provider: 'anthropic' },
|
|
84
81
|
{ key: 'OPENAI_API_KEY', name: 'OpenAI', provider: 'openai' },
|
|
@@ -104,12 +101,14 @@ export async function promptLLMSetupIfNeeded() {
|
|
|
104
101
|
}
|
|
105
102
|
// Skip interactive prompt if no TTY (headless / Railway / CI)
|
|
106
103
|
if (!process.stdout.isTTY) {
|
|
107
|
-
log.info('No AI model configured. Set
|
|
104
|
+
log.info('No AI model configured. Set ANTHROPIC_API_KEY (or another provider env var) and MODEL_PROVIDER environment variables.');
|
|
108
105
|
return;
|
|
109
106
|
}
|
|
110
|
-
// Prompt for setup
|
|
107
|
+
// Prompt for setup. The model is required by the agent runtime that
|
|
108
|
+
// runs inside `studiograph serve` (web chat + tool execution); both
|
|
109
|
+
// `serve` and `clone` invoke this wizard.
|
|
111
110
|
const wantSetup = await confirm({
|
|
112
|
-
message: 'Set up an AI model? (required for
|
|
111
|
+
message: 'Set up an AI model? (required for the agent)',
|
|
113
112
|
initialValue: true,
|
|
114
113
|
});
|
|
115
114
|
if (!wantSetup || typeof wantSetup === 'symbol') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/cli/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,GAAG,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/cli/setup-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared accent color palette — used for user profile color picker and
|
|
3
|
+
* for assigning default colors to newly created users.
|
|
4
|
+
*
|
|
5
|
+
* Each entry is a single color chosen to remain readable on both light and
|
|
6
|
+
* dark surfaces, so the CSS token layer (see applyAccentColor in
|
|
7
|
+
* stores/workspace.svelte.ts) no longer flips foreground vs. background
|
|
8
|
+
* swatches based on theme — one color fills every accent role.
|
|
9
|
+
*/
|
|
10
|
+
export interface AccentColor {
|
|
11
|
+
name: string;
|
|
12
|
+
/** Single swatch used on both light and dark backgrounds. Stored as the
|
|
13
|
+
* identity for a user's chosen accent (preferences.accent_color). */
|
|
14
|
+
color: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const ACCENT_PALETTE: AccentColor[];
|
|
17
|
+
/**
|
|
18
|
+
* Pick a deterministic default accent color for a new user, rotating
|
|
19
|
+
* through the palette based on their user id. Optionally excludes a
|
|
20
|
+
* reserved color (typically the workspace accent) to avoid collision.
|
|
21
|
+
*/
|
|
22
|
+
export declare function pickDefaultAccentColor(userId: number, reserved?: string | null): string;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared accent color palette — used for user profile color picker and
|
|
3
|
+
* for assigning default colors to newly created users.
|
|
4
|
+
*
|
|
5
|
+
* Each entry is a single color chosen to remain readable on both light and
|
|
6
|
+
* dark surfaces, so the CSS token layer (see applyAccentColor in
|
|
7
|
+
* stores/workspace.svelte.ts) no longer flips foreground vs. background
|
|
8
|
+
* swatches based on theme — one color fills every accent role.
|
|
9
|
+
*/
|
|
10
|
+
// The accent palette. Order matches the design source (left to right).
|
|
11
|
+
// Red doubles as --color-accent and Lilac as --color-agent so the global
|
|
12
|
+
// system tokens always have a palette member to match; users can still pick
|
|
13
|
+
// either for their personal avatar.
|
|
14
|
+
// Ordered for the picker: red-family first (Red → Rose → Orange),
|
|
15
|
+
// then earthy/green (Sand → Pistachio → Mint), cool middle (Teal → Sky → Slate),
|
|
16
|
+
// and purples/magenta last (Violet → Lilac → Orchid → Pink).
|
|
17
|
+
export const ACCENT_PALETTE = [
|
|
18
|
+
{ name: 'Red', color: '#FE3C3C' },
|
|
19
|
+
{ name: 'Rose', color: '#C06A6A' },
|
|
20
|
+
{ name: 'Orange', color: '#CC7013' },
|
|
21
|
+
{ name: 'Sand', color: '#AB8630' },
|
|
22
|
+
{ name: 'Pistachio', color: '#5A9A08' },
|
|
23
|
+
{ name: 'Mint', color: '#369770' },
|
|
24
|
+
{ name: 'Teal', color: '#289795' },
|
|
25
|
+
{ name: 'Sky', color: '#4289C4' },
|
|
26
|
+
{ name: 'Slate', color: '#718599' },
|
|
27
|
+
{ name: 'Violet', color: '#7C7CD9' },
|
|
28
|
+
{ name: 'Lilac', color: '#B267F3' },
|
|
29
|
+
{ name: 'Orchid', color: '#B269C0' },
|
|
30
|
+
{ name: 'Pink', color: '#DC6CD4' },
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* Pick a deterministic default accent color for a new user, rotating
|
|
34
|
+
* through the palette based on their user id. Optionally excludes a
|
|
35
|
+
* reserved color (typically the workspace accent) to avoid collision.
|
|
36
|
+
*/
|
|
37
|
+
export function pickDefaultAccentColor(userId, reserved) {
|
|
38
|
+
const reservedLower = reserved?.toLowerCase();
|
|
39
|
+
const pool = reservedLower
|
|
40
|
+
? ACCENT_PALETTE.filter(c => c.color.toLowerCase() !== reservedLower)
|
|
41
|
+
: ACCENT_PALETTE;
|
|
42
|
+
if (pool.length === 0)
|
|
43
|
+
return ACCENT_PALETTE[0].color;
|
|
44
|
+
const idx = ((userId - 1) % pool.length + pool.length) % pool.length;
|
|
45
|
+
return pool[idx].color;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=accent-palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accent-palette.js","sourceRoot":"","sources":["../../src/core/accent-palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,uEAAuE;AACvE,yEAAyE;AACzE,4EAA4E;AAC5E,oCAAoC;AACpC,kEAAkE;AAClE,iFAAiF;AACjF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC5C,EAAE,IAAI,EAAE,KAAK,EAAQ,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,MAAM,EAAO,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAK,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,MAAM,EAAO,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,MAAM,EAAO,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,MAAM,EAAO,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,KAAK,EAAQ,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,OAAO,EAAM,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAK,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,OAAO,EAAM,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAK,KAAK,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,MAAM,EAAO,KAAK,EAAE,SAAS,EAAE;CACvC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAAwB;IAC9E,MAAM,aAAa,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa;QACzB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC;QACrE,CAAC,CAAC,cAAc,CAAC;IAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parser/rewriter for workspace asset URLs embedded in an artifact
|
|
3
|
+
* bundle. One implementation behind every surface that has to reason about
|
|
4
|
+
* `/api/assets/...` references, so they can't drift:
|
|
5
|
+
* - mint → enumerate the exact asset keys an artifact references (allowlist)
|
|
6
|
+
* - in-app srcdoc + headless PNG/PDF render → append the `?at=` capability token
|
|
7
|
+
* - HTML export → rewrite to relative `./assets/...` paths
|
|
8
|
+
*
|
|
9
|
+
* Matches BOTH forms that appear in bundles:
|
|
10
|
+
* - root-relative `/api/assets/<assetId>/<filename>`
|
|
11
|
+
* - absolute `https://host/api/assets/<assetId>/<filename>`
|
|
12
|
+
* in any textual context — `<img src>`, `srcset` descriptors, CSS `url(...)`,
|
|
13
|
+
* inline `style=`, and (acceptably) JS string literals. assetId is a UUID and
|
|
14
|
+
* filenames are upload-sanitized to `[A-Za-z0-9._-]`, so the path never holds a
|
|
15
|
+
* quote/space/paren — we can match the URL token directly without parsing
|
|
16
|
+
* HTML/CSS.
|
|
17
|
+
*
|
|
18
|
+
* Only the IMMUTABLE two-segment scheme is handled. The negative lookahead
|
|
19
|
+
* after the filename means a legacy three-segment `/api/assets/<type>/<id>/<file>`
|
|
20
|
+
* URL is left untouched rather than mis-parsed (legacy is out of scope).
|
|
21
|
+
*/
|
|
22
|
+
export interface ArtifactAssetRef {
|
|
23
|
+
/** The two-segment immutable key: `<assetId>/<filename>`. */
|
|
24
|
+
key: string;
|
|
25
|
+
assetId: string;
|
|
26
|
+
filename: string;
|
|
27
|
+
}
|
|
28
|
+
/** Every distinct asset referenced in the text, in first-seen order. */
|
|
29
|
+
export declare function findArtifactAssetRefs(text: string): ArtifactAssetRef[];
|
|
30
|
+
/**
|
|
31
|
+
* Set the `at=<token>` capability param on every asset URL. Preserves any other
|
|
32
|
+
* existing query params and **replaces** a pre-existing `at` with the fresh
|
|
33
|
+
* token (so a stale or embedded `?at=` in artifact HTML can't shadow a
|
|
34
|
+
* freshly-minted render/preview token). Idempotent: re-applying the same token
|
|
35
|
+
* yields the same string.
|
|
36
|
+
*/
|
|
37
|
+
export declare function appendAssetToken(text: string, token: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Rewrite asset URLs for the self-contained HTML export zip. Refs whose key is
|
|
40
|
+
* in `bundledKeys` (the assets actually written into the zip) become relative
|
|
41
|
+
* `./assets/<id>/<file>` (offline-resolvable); any OTHER `/api/assets/...` ref
|
|
42
|
+
* (cross-repo / unauthorized — not bundled) is left absolute so it still
|
|
43
|
+
* resolves online: an already-absolute URL is kept, a root-relative one is
|
|
44
|
+
* prefixed with `origin`. With no `bundledKeys` every ref is relativized
|
|
45
|
+
* (caller bundles all of them). Legacy 3-segment URLs aren't matched and pass
|
|
46
|
+
* through unchanged.
|
|
47
|
+
*/
|
|
48
|
+
export declare function rewriteAssetsToRelative(text: string, baseDir?: string, opts?: {
|
|
49
|
+
bundledKeys?: Set<string>;
|
|
50
|
+
origin?: string;
|
|
51
|
+
}): string;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parser/rewriter for workspace asset URLs embedded in an artifact
|
|
3
|
+
* bundle. One implementation behind every surface that has to reason about
|
|
4
|
+
* `/api/assets/...` references, so they can't drift:
|
|
5
|
+
* - mint → enumerate the exact asset keys an artifact references (allowlist)
|
|
6
|
+
* - in-app srcdoc + headless PNG/PDF render → append the `?at=` capability token
|
|
7
|
+
* - HTML export → rewrite to relative `./assets/...` paths
|
|
8
|
+
*
|
|
9
|
+
* Matches BOTH forms that appear in bundles:
|
|
10
|
+
* - root-relative `/api/assets/<assetId>/<filename>`
|
|
11
|
+
* - absolute `https://host/api/assets/<assetId>/<filename>`
|
|
12
|
+
* in any textual context — `<img src>`, `srcset` descriptors, CSS `url(...)`,
|
|
13
|
+
* inline `style=`, and (acceptably) JS string literals. assetId is a UUID and
|
|
14
|
+
* filenames are upload-sanitized to `[A-Za-z0-9._-]`, so the path never holds a
|
|
15
|
+
* quote/space/paren — we can match the URL token directly without parsing
|
|
16
|
+
* HTML/CSS.
|
|
17
|
+
*
|
|
18
|
+
* Only the IMMUTABLE two-segment scheme is handled. The negative lookahead
|
|
19
|
+
* after the filename means a legacy three-segment `/api/assets/<type>/<id>/<file>`
|
|
20
|
+
* URL is left untouched rather than mis-parsed (legacy is out of scope).
|
|
21
|
+
*/
|
|
22
|
+
// g1 origin (optional, host has no slash) · g2 assetId · g3 filename · g4 query (incl leading ?)
|
|
23
|
+
// The (?![A-Za-z0-9._%/-]) after the filename forbids ANY trailing path char so
|
|
24
|
+
// the engine can't backtrack the filename into a partial segment — that both
|
|
25
|
+
// stops mid-segment matches and leaves legacy 3-segment URLs untouched.
|
|
26
|
+
const ASSET_URL_RE = /(https?:\/\/[^\s"'()<>\/]+)?\/api\/assets\/([A-Za-z0-9._%-]+)\/([A-Za-z0-9._%-]+)(?![A-Za-z0-9._%/-])(\?[^\s"'()<>]*)?/g;
|
|
27
|
+
/** Every distinct asset referenced in the text, in first-seen order. */
|
|
28
|
+
export function findArtifactAssetRefs(text) {
|
|
29
|
+
const seen = new Map();
|
|
30
|
+
for (const m of text.matchAll(ASSET_URL_RE)) {
|
|
31
|
+
const assetId = m[2];
|
|
32
|
+
const filename = m[3];
|
|
33
|
+
const key = `${assetId}/${filename}`;
|
|
34
|
+
if (!seen.has(key))
|
|
35
|
+
seen.set(key, { key, assetId, filename });
|
|
36
|
+
}
|
|
37
|
+
return [...seen.values()];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Set the `at=<token>` capability param on every asset URL. Preserves any other
|
|
41
|
+
* existing query params and **replaces** a pre-existing `at` with the fresh
|
|
42
|
+
* token (so a stale or embedded `?at=` in artifact HTML can't shadow a
|
|
43
|
+
* freshly-minted render/preview token). Idempotent: re-applying the same token
|
|
44
|
+
* yields the same string.
|
|
45
|
+
*/
|
|
46
|
+
export function appendAssetToken(text, token) {
|
|
47
|
+
const enc = encodeURIComponent(token);
|
|
48
|
+
return text.replace(ASSET_URL_RE, (_full, origin, assetId, filename, query) => {
|
|
49
|
+
const base = `${origin ?? ''}/api/assets/${assetId}/${filename}`;
|
|
50
|
+
const params = query ? query.slice(1).split('&').filter((p) => p && !/^at=/i.test(p)) : [];
|
|
51
|
+
params.push(`at=${enc}`);
|
|
52
|
+
return `${base}?${params.join('&')}`;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Rewrite asset URLs for the self-contained HTML export zip. Refs whose key is
|
|
57
|
+
* in `bundledKeys` (the assets actually written into the zip) become relative
|
|
58
|
+
* `./assets/<id>/<file>` (offline-resolvable); any OTHER `/api/assets/...` ref
|
|
59
|
+
* (cross-repo / unauthorized — not bundled) is left absolute so it still
|
|
60
|
+
* resolves online: an already-absolute URL is kept, a root-relative one is
|
|
61
|
+
* prefixed with `origin`. With no `bundledKeys` every ref is relativized
|
|
62
|
+
* (caller bundles all of them). Legacy 3-segment URLs aren't matched and pass
|
|
63
|
+
* through unchanged.
|
|
64
|
+
*/
|
|
65
|
+
export function rewriteAssetsToRelative(text, baseDir = './assets', opts = {}) {
|
|
66
|
+
const prefix = baseDir.replace(/\/+$/, '');
|
|
67
|
+
const originPrefix = opts.origin ? opts.origin.replace(/\/+$/, '') : null;
|
|
68
|
+
return text.replace(ASSET_URL_RE, (full, origin, assetId, filename, query) => {
|
|
69
|
+
if (!opts.bundledKeys || opts.bundledKeys.has(`${assetId}/${filename}`)) {
|
|
70
|
+
return `${prefix}/${assetId}/${filename}`;
|
|
71
|
+
}
|
|
72
|
+
if (origin)
|
|
73
|
+
return full; // already absolute → resolves online as-is
|
|
74
|
+
if (originPrefix)
|
|
75
|
+
return `${originPrefix}/api/assets/${assetId}/${filename}${query ?? ''}`;
|
|
76
|
+
return full;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=artifact-asset-urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-asset-urls.js","sourceRoot":"","sources":["../../src/core/artifact-asset-urls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,iGAAiG;AACjG,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,YAAY,GAChB,yHAAyH,CAAC;AAE5H,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAyB,EAAE,EAAE;QAChG,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,EAAE,eAAe,OAAO,IAAI,QAAQ,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACzB,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,OAAO,GAAG,UAAU,EACpB,OAAuD,EAAE;IAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAyB,EAAE,EAAE;QAC/F,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,EAAE,CAAC;YACxE,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,2CAA2C;QACpE,IAAI,YAAY;YAAE,OAAO,GAAG,YAAY,eAAe,OAAO,IAAI,QAAQ,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|