studiograph 1.3.47 → 1.3.48-beta.1
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 +573 -181
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/prompts/entity-types-section.d.ts +36 -0
- package/dist/agent/prompts/entity-types-section.js +90 -0
- package/dist/agent/prompts/entity-types-section.js.map +1 -0
- package/dist/agent/prompts/system.md +148 -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 +635 -332
- 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.d.ts +18 -0
- package/dist/agent/tools/web-tools.js +283 -0
- package/dist/agent/tools/web-tools.js.map +1 -0
- 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 +209 -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 +56 -0
- package/dist/core/embeds.js +103 -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/graph.d.ts +675 -14
- package/dist/core/graph.js +2118 -314
- 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/schema-registry.d.ts +59 -0
- package/dist/core/schema-registry.js +198 -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/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 +598 -0
- package/dist/core/secrets/registry.js.map +1 -0
- package/dist/core/types.d.ts +77 -455
- package/dist/core/types.js +17 -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 +717 -1791
- package/dist/core/validation.js +357 -228
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-manager.d.ts +79 -12
- package/dist/core/workspace-manager.js +213 -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 +41 -0
- package/dist/mcp/state-signer.js +120 -0
- package/dist/mcp/state-signer.js.map +1 -0
- package/dist/mcp/tools.d.ts +35 -2
- package/dist/mcp/tools.js +1051 -117
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/__tests__/helpers/graph-api.d.ts +18 -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/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 +14 -3
- package/dist/server/index.js +451 -193
- 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 +10 -0
- package/dist/server/routes/asset-api.js +294 -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 +519 -38
- 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.d.ts +4 -1
- package/dist/server/routes/chat.js +298 -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 +35 -0
- package/dist/server/routes/graph-api-access.js +105 -0
- package/dist/server/routes/graph-api-access.js.map +1 -0
- package/dist/server/routes/graph-api.d.ts +3 -2
- package/dist/server/routes/graph-api.js +1321 -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/insights-api.d.ts +1 -2
- package/dist/server/routes/insights-api.js +149 -41
- 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/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/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 +81 -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 +124 -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 +64 -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 +146 -0
- package/dist/services/access-control.js.map +1 -0
- package/dist/services/asset-listing.d.ts +39 -0
- package/dist/services/asset-listing.js +125 -0
- package/dist/services/asset-listing.js.map +1 -0
- package/dist/services/asset-upload-service.d.ts +53 -0
- package/dist/services/asset-upload-service.js +201 -0
- package/dist/services/asset-upload-service.js.map +1 -0
- package/dist/services/assets/asset-index-service.d.ts +82 -0
- package/dist/services/assets/asset-index-service.js +167 -0
- package/dist/services/assets/asset-index-service.js.map +1 -0
- package/dist/services/assets/base.d.ts +44 -0
- package/dist/services/assets/base.js +55 -0
- package/dist/services/assets/base.js.map +1 -1
- package/dist/services/assets/index.d.ts +69 -1
- package/dist/services/assets/index.js +125 -0
- package/dist/services/assets/index.js.map +1 -1
- package/dist/services/assets/local.d.ts +12 -1
- package/dist/services/assets/local.js +100 -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 +34 -1
- package/dist/services/assets/r2.js +93 -1
- package/dist/services/assets/r2.js.map +1 -1
- package/dist/services/auth-service.d.ts +314 -36
- package/dist/services/auth-service.js +1126 -139
- 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/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/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 +161 -0
- package/dist/services/entity-mutations.js +296 -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/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 +45 -2
- package/dist/services/import-service.js +304 -100
- package/dist/services/import-service.js.map +1 -1
- package/dist/services/lint-service.js +9 -16
- package/dist/services/lint-service.js.map +1 -1
- package/dist/services/markdown.d.ts +12 -1
- package/dist/services/markdown.js +71 -6
- 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/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/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/user-person-bridge.d.ts +118 -0
- package/dist/services/user-person-bridge.js +306 -0
- package/dist/services/user-person-bridge.js.map +1 -0
- package/dist/services/vector-service.d.ts +146 -6
- package/dist/services/vector-service.js +276 -13
- package/dist/services/vector-service.js.map +1 -1
- package/dist/services/workspace-access.d.ts +106 -0
- package/dist/services/workspace-access.js +149 -0
- package/dist/services/workspace-access.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.DOumm94J.css +2 -0
- package/dist/web/_app/immutable/assets/13.DlIf1mKh.css +1 -0
- package/dist/web/_app/immutable/assets/14.7d-Q37wc.css +1 -0
- package/dist/web/_app/immutable/assets/15.CmLrbzZp.css +1 -0
- package/dist/web/_app/immutable/assets/2.BftNiAA4.css +1 -0
- package/dist/web/_app/immutable/assets/3.CV0abekd.css +1 -0
- package/dist/web/_app/immutable/assets/4.BgXzUTTk.css +1 -0
- package/dist/web/_app/immutable/assets/9.gsF-Ne6_.css +1 -0
- package/dist/web/_app/immutable/assets/AgentOverlay.CpvH9rhf.css +1 -0
- package/dist/web/_app/immutable/assets/AssetManagerModal.BKJfPAPk.css +1 -0
- package/dist/web/_app/immutable/assets/CalendarView.bNewSxkH.css +1 -0
- package/dist/web/_app/immutable/assets/ChevronDown.Bz0FjM7b.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMembersPanel.DX1oBeF_.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMutationDialogs.BMRF6Z3z.css +1 -0
- package/dist/web/_app/immutable/assets/FolderPicker.B5KdvRYl.css +1 -0
- package/dist/web/_app/immutable/assets/GalleryView.DgvSjS0I.css +1 -0
- package/dist/web/_app/immutable/assets/GraphView.BJtGL9py.css +1 -0
- package/dist/web/_app/immutable/assets/KanbanView.D0QbZFd6.css +1 -0
- package/dist/web/_app/immutable/assets/SettingsDialog.DYWYMFSO.css +1 -0
- package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
- package/dist/web/_app/immutable/assets/StopFilledAlt.CkPrHdPD.css +1 -0
- package/dist/web/_app/immutable/assets/TimelineView.DA-H6dvv.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.BS1ildu7.css +1 -0
- package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
- package/dist/web/_app/immutable/assets/formatting.vV0ne105.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.BrRrAiZ7.css +1 -0
- package/dist/web/_app/immutable/assets/realtime.DDCWxn3B.css +1 -0
- package/dist/web/_app/immutable/assets/sheet.DJPuqnTg.css +1 -0
- package/dist/web/_app/immutable/assets/speech-dictation.C5CYFhS1.css +1 -0
- package/dist/web/_app/immutable/chunks/0edH8sO82.js +1 -0
- package/dist/web/_app/immutable/chunks/0iDDDyaZ.js +1 -0
- package/dist/web/_app/immutable/chunks/7-y0CE1z.js +1 -0
- package/dist/web/_app/immutable/chunks/7Bu427my2.js +184 -0
- package/dist/web/_app/immutable/chunks/B-V5eMSw2.js +1 -0
- package/dist/web/_app/immutable/chunks/B-i9_YVM.js +1 -0
- package/dist/web/_app/immutable/chunks/B15-kvCe.js +1 -0
- package/dist/web/_app/immutable/chunks/B4cFqqUS.js +3 -0
- package/dist/web/_app/immutable/chunks/B6Lt-qaJ.js +1 -0
- package/dist/web/_app/immutable/chunks/B7hznOQp.js +1 -0
- package/dist/web/_app/immutable/chunks/B7tbGyiU2.js +1 -0
- package/dist/web/_app/immutable/chunks/B8-Lm86o2.js +1 -0
- package/dist/web/_app/immutable/chunks/BBxt8lpa.js +1 -0
- package/dist/web/_app/immutable/chunks/BCaRi2AF.js +1 -0
- package/dist/web/_app/immutable/chunks/BJReLGMs.js +1 -0
- package/dist/web/_app/immutable/chunks/BKzV82vD2.js +83 -0
- package/dist/web/_app/immutable/chunks/BLHrJvbG.js +1 -0
- package/dist/web/_app/immutable/chunks/BQULA6er.js +4 -0
- package/dist/web/_app/immutable/chunks/BQW-EDgP2.js +224 -0
- package/dist/web/_app/immutable/chunks/BR6jMpLB.js +1 -0
- package/dist/web/_app/immutable/chunks/BUBMGU8t2.js +2 -0
- package/dist/web/_app/immutable/chunks/BVnuLlVg.js +1 -0
- package/dist/web/_app/immutable/chunks/BYokDzwE.js +1 -0
- package/dist/web/_app/immutable/chunks/B_Avv9jQ2.js +1 -0
- package/dist/web/_app/immutable/chunks/Bbp76jaT2.js +1 -0
- package/dist/web/_app/immutable/chunks/BddNmQ8j.js +1 -0
- package/dist/web/_app/immutable/chunks/BiJjH5mJ.js +2 -0
- package/dist/web/_app/immutable/chunks/BlyFGPFV.js +22 -0
- package/dist/web/_app/immutable/chunks/Bt88HrRx.js +1 -0
- package/dist/web/_app/immutable/chunks/Bu2iU6hh.js +67 -0
- package/dist/web/_app/immutable/chunks/Buih1pxI.js +1 -0
- package/dist/web/_app/immutable/chunks/BwwLJVvR.js +1 -0
- package/dist/web/_app/immutable/chunks/C0RpyyYZ.js +7 -0
- package/dist/web/_app/immutable/chunks/C2l-EXsT2.js +1 -0
- package/dist/web/_app/immutable/chunks/C35TIzaB.js +1 -0
- package/dist/web/_app/immutable/chunks/C3OdK8z_2.js +1 -0
- package/dist/web/_app/immutable/chunks/C6Nx0jpM.js +1 -0
- package/dist/web/_app/immutable/chunks/CA7O0J_u2.js +1 -0
- package/dist/web/_app/immutable/chunks/CAwjrHdk.js +23 -0
- package/dist/web/_app/immutable/chunks/CCLR-AJL2.js +185 -0
- package/dist/web/_app/immutable/chunks/CD0X7XPW.js +6 -0
- package/dist/web/_app/immutable/chunks/CDTjuBSm2.js +1 -0
- package/dist/web/_app/immutable/chunks/CSUrYOis.js +1 -0
- package/dist/web/_app/immutable/chunks/CUPSJObs.js +1 -0
- package/dist/web/_app/immutable/chunks/CUoGvuxK2.js +2 -0
- package/dist/web/_app/immutable/chunks/CWh8aehb.js +1 -0
- package/dist/web/_app/immutable/chunks/CY4XVBP0.js +1 -0
- package/dist/web/_app/immutable/chunks/CYTTTma0.js +3 -0
- package/dist/web/_app/immutable/chunks/CaoriuNq.js +1 -0
- package/dist/web/_app/immutable/chunks/CcsSt9AW2.js +1 -0
- package/dist/web/_app/immutable/chunks/Cd4VfAZC.js +2 -0
- package/dist/web/_app/immutable/chunks/CePZ1985.js +1 -0
- package/dist/web/_app/immutable/chunks/Cei8CKT4.js +1 -0
- package/dist/web/_app/immutable/chunks/CheXrbDk.js +1 -0
- package/dist/web/_app/immutable/chunks/CkLfUXwy.js +1 -0
- package/dist/web/_app/immutable/chunks/Cl-W0JYt.js +2 -0
- package/dist/web/_app/immutable/chunks/Cna7tYp-.js +1 -0
- package/dist/web/_app/immutable/chunks/Czwe4sGU2.js +3 -0
- package/dist/web/_app/immutable/chunks/D41CbXmM.js +1 -0
- package/dist/web/_app/immutable/chunks/D83_Ss42.js +1 -0
- package/dist/web/_app/immutable/chunks/D9NgbGbO2.js +9 -0
- package/dist/web/_app/immutable/chunks/DA-BuZei.js +2 -0
- package/dist/web/_app/immutable/chunks/DAXW5iLp.js +1 -0
- package/dist/web/_app/immutable/chunks/DCNJWlho2.js +1 -0
- package/dist/web/_app/immutable/chunks/DCtgLRl52.js +1 -0
- package/dist/web/_app/immutable/chunks/DH0epITQ2.js +1 -0
- package/dist/web/_app/immutable/chunks/DIb5rAPU2.js +1 -0
- package/dist/web/_app/immutable/chunks/DOmH4G9o2.js +14 -0
- package/dist/web/_app/immutable/chunks/DQMWa2t7.js +1 -0
- package/dist/web/_app/immutable/chunks/DQ_Xokap2.js +1 -0
- package/dist/web/_app/immutable/chunks/DR1K6PIm.js +1 -0
- package/dist/web/_app/immutable/chunks/DTCHhxD5.js +1 -0
- package/dist/web/_app/immutable/chunks/DU7XA-cL2.js +1 -0
- package/dist/web/_app/immutable/chunks/DVcy5Pp82.js +1 -0
- package/dist/web/_app/immutable/chunks/DWygwzcO2.js +1 -0
- package/dist/web/_app/immutable/chunks/DYXDRmoo2.js +1 -0
- package/dist/web/_app/immutable/chunks/DZEmjBTb.js +5 -0
- package/dist/web/_app/immutable/chunks/DaoOQFPb.js +1 -0
- package/dist/web/_app/immutable/chunks/DdfvtDOY.js +1 -0
- package/dist/web/_app/immutable/chunks/DevZTY1l.js +1 -0
- package/dist/web/_app/immutable/chunks/DiMQob8p.js +1 -0
- package/dist/web/_app/immutable/chunks/DiQJ9DLy.js +1 -0
- package/dist/web/_app/immutable/chunks/Dj5oP_ik.js +2 -0
- package/dist/web/_app/immutable/chunks/DjTJ4D_0.js +3 -0
- package/dist/web/_app/immutable/chunks/Dk4TeNwu.js +1 -0
- package/dist/web/_app/immutable/chunks/Dng3OcRd2.js +1 -0
- package/dist/web/_app/immutable/chunks/Do1OCNEG.js +1 -0
- package/dist/web/_app/immutable/chunks/Do6qOOng.js +1 -0
- package/dist/web/_app/immutable/chunks/DoQwt-f9.js +1 -0
- package/dist/web/_app/immutable/chunks/Dqg3k9HI2.js +1 -0
- package/dist/web/_app/immutable/chunks/DsnqOT222.js +1 -0
- package/dist/web/_app/immutable/chunks/DvJSCDuZ2.js +1 -0
- package/dist/web/_app/immutable/chunks/DvPuaTCl.js +5 -0
- package/dist/web/_app/immutable/chunks/DvYQu1SV.js +1 -0
- package/dist/web/_app/immutable/chunks/HdjeJPly2.js +1 -0
- package/dist/web/_app/immutable/chunks/JDw4tOUY.js +1 -0
- package/dist/web/_app/immutable/chunks/KBbDg4lS2.js +1 -0
- package/dist/web/_app/immutable/chunks/KQXQLJf32.js +1 -0
- package/dist/web/_app/immutable/chunks/LGnNalpn2.js +2 -0
- package/dist/web/_app/immutable/chunks/SH5Fg0Xu.js +1 -0
- package/dist/web/_app/immutable/chunks/Shyla9c12.js +2 -0
- package/dist/web/_app/immutable/chunks/VQbAelHN.js +1 -0
- package/dist/web/_app/immutable/chunks/apNT0aug2.js +1 -0
- package/dist/web/_app/immutable/chunks/e0ySQvQ6.js +1 -0
- package/dist/web/_app/immutable/chunks/eNB_sIHC2.js +1 -0
- package/dist/web/_app/immutable/chunks/g09ZrevW2.js +1 -0
- package/dist/web/_app/immutable/chunks/h4WWBpcD2.js +2692 -0
- package/dist/web/_app/immutable/chunks/kLub81jO.js +1 -0
- package/dist/web/_app/immutable/chunks/kW0z_eo62.js +1 -0
- package/dist/web/_app/immutable/chunks/oBQOivfH.js +1 -0
- package/dist/web/_app/immutable/chunks/ss8hcwTT.js +1 -0
- package/dist/web/_app/immutable/chunks/sub7ikQV.js +2 -0
- package/dist/web/_app/immutable/chunks/uuFM-ygL.js +1 -0
- package/dist/web/_app/immutable/chunks/v7me-ydg.js +2 -0
- package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/web/_app/immutable/chunks/yWi6xIp8.js +1 -0
- package/dist/web/_app/immutable/chunks/zl16E4yc2.js +1 -0
- package/dist/web/_app/immutable/entry/app.Bgniax9U.js +2 -0
- package/dist/web/_app/immutable/entry/start.DeD3x0AC.js +1 -0
- package/dist/web/_app/immutable/nodes/0.D7f7eDDY.js +2 -0
- package/dist/web/_app/immutable/nodes/1.nDAGsQWA.js +1 -0
- package/dist/web/_app/immutable/nodes/10.DFbhcPKT.js +1 -0
- package/dist/web/_app/immutable/nodes/11.CDErrkBt.js +1 -0
- package/dist/web/_app/immutable/nodes/12.QmphOXE2.js +1 -0
- package/dist/web/_app/immutable/nodes/13.Bq5rDhPs.js +1 -0
- package/dist/web/_app/immutable/nodes/14.BlcHqgr6.js +1 -0
- package/dist/web/_app/immutable/nodes/15.COK_-D-x.js +1 -0
- package/dist/web/_app/immutable/nodes/2.DOsCYNHa.js +109 -0
- package/dist/web/_app/immutable/nodes/3.BgE1sIyr.js +2 -0
- package/dist/web/_app/immutable/nodes/4.DvgaHeI4.js +11 -0
- package/dist/web/_app/immutable/nodes/5.CrjeBZES.js +1 -0
- package/dist/web/_app/immutable/nodes/6.DoHxsiEE.js +1 -0
- package/dist/web/_app/immutable/nodes/7.04fnxKIo.js +1 -0
- package/dist/web/_app/immutable/nodes/8.D35_cY6C.js +1 -0
- package/dist/web/_app/immutable/nodes/9.BRionwW6.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 -19
- package/dist/web/studiograph-logomark.svg +29 -0
- package/package.json +34 -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/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/B-7hHz7B.js +0 -1
- package/dist/web/_app/immutable/chunks/B340SUKR.js +0 -1
- package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
- package/dist/web/_app/immutable/chunks/BDoWDZaG.js +0 -1
- package/dist/web/_app/immutable/chunks/BFyl1ZHO.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/BWNY8zw6.js +0 -2
- package/dist/web/_app/immutable/chunks/BdPUVvAi.js +0 -1
- package/dist/web/_app/immutable/chunks/BmsJVLyy.js +0 -1
- package/dist/web/_app/immutable/chunks/BoAosqzE.js +0 -1
- package/dist/web/_app/immutable/chunks/Bs-tL5OR.js +0 -1
- package/dist/web/_app/immutable/chunks/Bsacq2UX.js +0 -1
- package/dist/web/_app/immutable/chunks/BuewkNdS.js +0 -4
- package/dist/web/_app/immutable/chunks/ByunV8un.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/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/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/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/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/FFlLQIiS.js +0 -1
- 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.DAR-mtfg.js +0 -2
- package/dist/web/_app/immutable/entry/start.xDnyRaR1.js +0 -1
- package/dist/web/_app/immutable/nodes/0.D0aV-Zro.js +0 -2
- package/dist/web/_app/immutable/nodes/1.C7QoM8qD.js +0 -1
- package/dist/web/_app/immutable/nodes/10.DrDOAjOD.js +0 -1
- package/dist/web/_app/immutable/nodes/2.B0OgNuKW.js +0 -168
- package/dist/web/_app/immutable/nodes/3.BZ4qHGZi.js +0 -1
- package/dist/web/_app/immutable/nodes/4.hm-mxuuj.js +0 -12
- package/dist/web/_app/immutable/nodes/5.Bdbt4fjx.js +0 -4
- package/dist/web/_app/immutable/nodes/6.BXrCI40c.js +0 -2
- package/dist/web/_app/immutable/nodes/7.Chd4i9bm.js +0 -2
- package/dist/web/_app/immutable/nodes/8.B8SF-aNs.js +0 -1
- package/dist/web/_app/immutable/nodes/9.YDeu-RnO.js +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated entity-type catalog for Studiograph.
|
|
3
|
+
*
|
|
4
|
+
* The full canonical schema set lives in `validation.ts` (ENTITY_SCHEMAS).
|
|
5
|
+
* This file exposes two cross-cutting concerns:
|
|
6
|
+
*
|
|
7
|
+
* 1. `DEFAULT_BASIC_ENTITY_TYPES` — the small default set every fresh
|
|
8
|
+
* workspace surfaces in the New Entry modal's "basic" tier. The tier
|
|
9
|
+
* grows for each user as entries of other curated types appear in
|
|
10
|
+
* folders that user can access (see the picker in
|
|
11
|
+
* web/src/lib/components/entity/NewEntryTypePicker.svelte). There is no
|
|
12
|
+
* persistent per-workspace "active set" — visibility is derived from
|
|
13
|
+
* graph presence + folder permissions.
|
|
14
|
+
*
|
|
15
|
+
* 2. `CURATED_ENTITY_TYPE_DESCRIPTIONS` — short one-line descriptions for
|
|
16
|
+
* every canonical type. Used by the agent system prompt, tool reference,
|
|
17
|
+
* and the picker's detail pane.
|
|
18
|
+
*
|
|
19
|
+
* This module is pure data — no runtime dependencies on Node APIs or Zod —
|
|
20
|
+
* so it is safe to import from the web bundle via the
|
|
21
|
+
* `@core/entity-types-catalog` alias.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Default "basic" tier for a fresh workspace. Just the three capture
|
|
25
|
+
* primitives — the answer to "what do you want to create right now?".
|
|
26
|
+
* Project / person / organization are organizational types that surface
|
|
27
|
+
* automatically via the presence-based rule the moment someone creates
|
|
28
|
+
* their first one. The picker augments this default with any curated
|
|
29
|
+
* types already present in folders the user can access.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_BASIC_ENTITY_TYPES: readonly ["note", "event", "task"];
|
|
32
|
+
export type DefaultBasicEntityType = typeof DEFAULT_BASIC_ENTITY_TYPES[number];
|
|
33
|
+
export declare function isDefaultBasicEntityType(type: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Notable fields for each canonical type — the ones worth surfacing in the
|
|
36
|
+
* New Entry picker's detail pane as "what this type captures" chips. Not a
|
|
37
|
+
* complete field list; that lives in the Zod schemas. Base fields
|
|
38
|
+
* (entity_type, entity_id, created_at, etc.) are never listed here.
|
|
39
|
+
*
|
|
40
|
+
* Labels are Title Case to match the user-facing property panel.
|
|
41
|
+
*/
|
|
42
|
+
export declare const CURATED_ENTITY_TYPE_FIELDS: Record<string, string[]>;
|
|
43
|
+
export declare function getCuratedEntityTypeFields(type: string): readonly string[];
|
|
44
|
+
/**
|
|
45
|
+
* One-line descriptions for every canonical entity type. Terse on purpose —
|
|
46
|
+
* full schema detail lives in validation.ts and is available on demand via
|
|
47
|
+
* the `get_entity_schema` tool.
|
|
48
|
+
*/
|
|
49
|
+
export declare const CURATED_ENTITY_TYPE_DESCRIPTIONS: Record<string, string>;
|
|
50
|
+
/**
|
|
51
|
+
* The canonical list of curated entity types, in catalog order. Derived
|
|
52
|
+
* from CURATED_ENTITY_TYPE_DESCRIPTIONS so descriptions and the type list
|
|
53
|
+
* stay in sync without this module taking a Zod dependency.
|
|
54
|
+
*/
|
|
55
|
+
export declare const CURATED_ENTITY_TYPES: readonly string[];
|
|
56
|
+
export declare function isCuratedEntityType(type: string): boolean;
|
|
57
|
+
export declare function getCuratedEntityTypeDescription(type: string): string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Compute the "basic" tier of entity types for a given user:
|
|
60
|
+
* defaults ∪ curated types already present in folders the user can access.
|
|
61
|
+
* `presentTypes` comes from the permission-filtered /api/repos response —
|
|
62
|
+
* so this helper respects folder access for free. Non-curated types in
|
|
63
|
+
* `presentTypes` (e.g. workspace custom types) pass through unchanged.
|
|
64
|
+
*/
|
|
65
|
+
export declare function computeBasicEntityTypes(presentTypes: Iterable<string>): string[];
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated entity-type catalog for Studiograph.
|
|
3
|
+
*
|
|
4
|
+
* The full canonical schema set lives in `validation.ts` (ENTITY_SCHEMAS).
|
|
5
|
+
* This file exposes two cross-cutting concerns:
|
|
6
|
+
*
|
|
7
|
+
* 1. `DEFAULT_BASIC_ENTITY_TYPES` — the small default set every fresh
|
|
8
|
+
* workspace surfaces in the New Entry modal's "basic" tier. The tier
|
|
9
|
+
* grows for each user as entries of other curated types appear in
|
|
10
|
+
* folders that user can access (see the picker in
|
|
11
|
+
* web/src/lib/components/entity/NewEntryTypePicker.svelte). There is no
|
|
12
|
+
* persistent per-workspace "active set" — visibility is derived from
|
|
13
|
+
* graph presence + folder permissions.
|
|
14
|
+
*
|
|
15
|
+
* 2. `CURATED_ENTITY_TYPE_DESCRIPTIONS` — short one-line descriptions for
|
|
16
|
+
* every canonical type. Used by the agent system prompt, tool reference,
|
|
17
|
+
* and the picker's detail pane.
|
|
18
|
+
*
|
|
19
|
+
* This module is pure data — no runtime dependencies on Node APIs or Zod —
|
|
20
|
+
* so it is safe to import from the web bundle via the
|
|
21
|
+
* `@core/entity-types-catalog` alias.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Default "basic" tier for a fresh workspace. Just the three capture
|
|
25
|
+
* primitives — the answer to "what do you want to create right now?".
|
|
26
|
+
* Project / person / organization are organizational types that surface
|
|
27
|
+
* automatically via the presence-based rule the moment someone creates
|
|
28
|
+
* their first one. The picker augments this default with any curated
|
|
29
|
+
* types already present in folders the user can access.
|
|
30
|
+
*/
|
|
31
|
+
export const DEFAULT_BASIC_ENTITY_TYPES = [
|
|
32
|
+
'note',
|
|
33
|
+
'event',
|
|
34
|
+
'task',
|
|
35
|
+
];
|
|
36
|
+
const DEFAULT_BASIC_SET = new Set(DEFAULT_BASIC_ENTITY_TYPES);
|
|
37
|
+
export function isDefaultBasicEntityType(type) {
|
|
38
|
+
return DEFAULT_BASIC_SET.has(type);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Notable fields for each canonical type — the ones worth surfacing in the
|
|
42
|
+
* New Entry picker's detail pane as "what this type captures" chips. Not a
|
|
43
|
+
* complete field list; that lives in the Zod schemas. Base fields
|
|
44
|
+
* (entity_type, entity_id, created_at, etc.) are never listed here.
|
|
45
|
+
*
|
|
46
|
+
* Labels are Title Case to match the user-facing property panel.
|
|
47
|
+
*/
|
|
48
|
+
export const CURATED_ENTITY_TYPE_FIELDS = {
|
|
49
|
+
// CRM
|
|
50
|
+
person: ['Name', 'Role', 'Category', 'Status', 'Email', 'Location', 'Organization'],
|
|
51
|
+
organization: ['Name', 'Category', 'Status', 'Industry', 'Website'],
|
|
52
|
+
position: ['Name', 'Department', 'Category', 'Status'],
|
|
53
|
+
deal: ['Name', 'Client', 'Contact', 'Stage', 'Deal value', 'Start date', 'Close date'],
|
|
54
|
+
// PM
|
|
55
|
+
project: ['Name', 'Category', 'Project type', 'Client', 'Services', 'Status', 'Start date', 'End date'],
|
|
56
|
+
event: ['Name', 'Type', 'Attendees', 'Location', 'Start date', 'End date'],
|
|
57
|
+
task: ['Name', 'Status', 'Priority', 'Assignee', 'Phase', 'Start date', 'Due date'],
|
|
58
|
+
deliverable: ['Name', 'Project', 'Status', 'Phase', 'Start date', 'Due date'],
|
|
59
|
+
// KM — authored
|
|
60
|
+
document: ['Name', 'Category', 'Status'],
|
|
61
|
+
deck: ['Name', 'Audience', 'Status'],
|
|
62
|
+
publication: ['Name', 'Platform', 'Status', 'URL'],
|
|
63
|
+
'case-study': ['Name', 'Client', 'Services', 'Date range', 'Status'],
|
|
64
|
+
service: ['Name', 'Service id', 'Sprint', 'Depends on', 'Enables', 'Deliverables', 'Status'],
|
|
65
|
+
skill: ['Name', 'Description', 'Applies to'],
|
|
66
|
+
// Capture
|
|
67
|
+
note: ['Name'],
|
|
68
|
+
reference: ['Name', 'Source', 'Link'],
|
|
69
|
+
dataset: ['Name'],
|
|
70
|
+
// System
|
|
71
|
+
asset: ['Name', 'Asset kind', 'Size', 'Pages (PDF)'],
|
|
72
|
+
comment: ['Body', 'Anchor', 'Resolved'],
|
|
73
|
+
};
|
|
74
|
+
export function getCuratedEntityTypeFields(type) {
|
|
75
|
+
return CURATED_ENTITY_TYPE_FIELDS[type] ?? [];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* One-line descriptions for every canonical entity type. Terse on purpose —
|
|
79
|
+
* full schema detail lives in validation.ts and is available on demand via
|
|
80
|
+
* the `get_entity_schema` tool.
|
|
81
|
+
*/
|
|
82
|
+
export const CURATED_ENTITY_TYPE_DESCRIPTIONS = {
|
|
83
|
+
// CRM
|
|
84
|
+
person: 'An individual — team member, client, or contact',
|
|
85
|
+
organization: 'A company, client, vendor, or partner',
|
|
86
|
+
position: 'A role or job description',
|
|
87
|
+
deal: 'A pre-project sales opportunity',
|
|
88
|
+
// PM
|
|
89
|
+
project: 'A client engagement or internal initiative',
|
|
90
|
+
event: 'A meeting, call, workshop, or other gathering',
|
|
91
|
+
task: 'An action item or to-do',
|
|
92
|
+
deliverable: 'A scoped output promised to a client',
|
|
93
|
+
// KM — authored
|
|
94
|
+
document: 'A proposal, contract, brief, memo, or report',
|
|
95
|
+
deck: 'A presentation or slide deck',
|
|
96
|
+
publication: 'Content published externally',
|
|
97
|
+
'case-study': 'A portfolio narrative',
|
|
98
|
+
service: 'An offering or methodology your team provides',
|
|
99
|
+
skill: 'Reusable agent instructions',
|
|
100
|
+
// Capture
|
|
101
|
+
note: 'A freeform note or thought',
|
|
102
|
+
reference: 'An external resource or piece of inspiration',
|
|
103
|
+
dataset: 'Structured tabular data',
|
|
104
|
+
// System
|
|
105
|
+
asset: 'A hosted binary file (PDF, image, video, spreadsheet, etc.) with a wrapper entity for tagging and search',
|
|
106
|
+
comment: 'A threaded comment anchored to an entry — questions, decisions, objections, approvals',
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* The canonical list of curated entity types, in catalog order. Derived
|
|
110
|
+
* from CURATED_ENTITY_TYPE_DESCRIPTIONS so descriptions and the type list
|
|
111
|
+
* stay in sync without this module taking a Zod dependency.
|
|
112
|
+
*/
|
|
113
|
+
export const CURATED_ENTITY_TYPES = Object.freeze(Object.keys(CURATED_ENTITY_TYPE_DESCRIPTIONS));
|
|
114
|
+
const CURATED_ENTITY_TYPES_SET = new Set(CURATED_ENTITY_TYPES);
|
|
115
|
+
export function isCuratedEntityType(type) {
|
|
116
|
+
return CURATED_ENTITY_TYPES_SET.has(type);
|
|
117
|
+
}
|
|
118
|
+
export function getCuratedEntityTypeDescription(type) {
|
|
119
|
+
return CURATED_ENTITY_TYPE_DESCRIPTIONS[type];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Compute the "basic" tier of entity types for a given user:
|
|
123
|
+
* defaults ∪ curated types already present in folders the user can access.
|
|
124
|
+
* `presentTypes` comes from the permission-filtered /api/repos response —
|
|
125
|
+
* so this helper respects folder access for free. Non-curated types in
|
|
126
|
+
* `presentTypes` (e.g. workspace custom types) pass through unchanged.
|
|
127
|
+
*/
|
|
128
|
+
export function computeBasicEntityTypes(presentTypes) {
|
|
129
|
+
const set = new Set(DEFAULT_BASIC_ENTITY_TYPES);
|
|
130
|
+
// Include every present type so workspace custom types also surface in
|
|
131
|
+
// the basic tier once they have at least one entry. Whitespace-only
|
|
132
|
+
// values are treated as absent — they can sneak in from stale API
|
|
133
|
+
// responses or test fixtures and would pollute the picker otherwise.
|
|
134
|
+
for (const t of presentTypes) {
|
|
135
|
+
if (t && t.trim().length > 0)
|
|
136
|
+
set.add(t);
|
|
137
|
+
}
|
|
138
|
+
return Array.from(set);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=entity-types-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-types-catalog.js","sourceRoot":"","sources":["../../src/core/entity-types-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folder path validation and normalization for nested folders within a repo.
|
|
3
|
+
*
|
|
4
|
+
* Folder paths are repo-relative POSIX strings (e.g. "clients/acme"). They never
|
|
5
|
+
* start or end with "/", and segments must be filesystem-safe. Empty string is
|
|
6
|
+
* the repo root.
|
|
7
|
+
*
|
|
8
|
+
* `folder_path` is derived from the file's location on disk at read time — it's
|
|
9
|
+
* not stored in frontmatter. That keeps the filesystem as the source of truth
|
|
10
|
+
* and avoids the rename-folder-must-update-N-files problem.
|
|
11
|
+
*/
|
|
12
|
+
export declare class InvalidFolderPathError extends Error {
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Validate a single folder segment (one level of the path). Throws on:
|
|
17
|
+
* - empty string
|
|
18
|
+
* - leading/trailing whitespace or dots
|
|
19
|
+
* - path separators
|
|
20
|
+
* - reserved chars or names
|
|
21
|
+
*/
|
|
22
|
+
export declare function validateFolderSegment(name: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Normalize a folder path: trim slashes, collapse repeats. Returns "" for root.
|
|
25
|
+
* Throws on `..` segments (prevents escaping the repo).
|
|
26
|
+
*/
|
|
27
|
+
export declare function normalizeFolderPath(path: string | undefined | null): string;
|
|
28
|
+
/**
|
|
29
|
+
* Validate a full folder path (one or more segments joined by "/"). Returns
|
|
30
|
+
* the normalized form for convenience.
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateFolderPath(path: string | undefined | null): string;
|
|
33
|
+
/**
|
|
34
|
+
* Compute the parent folder path. Returns "" if already at root.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parentFolderPath(path: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Derive the folder_path of a file given its absolute path and the repo root.
|
|
39
|
+
* Returns "" if the file lives at the repo root.
|
|
40
|
+
*/
|
|
41
|
+
export declare function folderPathFromFile(filePath: string, repoPath: string): string;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folder path validation and normalization for nested folders within a repo.
|
|
3
|
+
*
|
|
4
|
+
* Folder paths are repo-relative POSIX strings (e.g. "clients/acme"). They never
|
|
5
|
+
* start or end with "/", and segments must be filesystem-safe. Empty string is
|
|
6
|
+
* the repo root.
|
|
7
|
+
*
|
|
8
|
+
* `folder_path` is derived from the file's location on disk at read time — it's
|
|
9
|
+
* not stored in frontmatter. That keeps the filesystem as the source of truth
|
|
10
|
+
* and avoids the rename-folder-must-update-N-files problem.
|
|
11
|
+
*/
|
|
12
|
+
/** Reserved characters disallowed in any folder segment. */
|
|
13
|
+
const RESERVED_CHARS = /[<>:"|?*\\]/;
|
|
14
|
+
/** Names that are not valid folder segments (filesystem-reserved or special). */
|
|
15
|
+
const RESERVED_NAMES = new Set(['.', '..', '.git', '.studiograph', '.gitkeep']);
|
|
16
|
+
export class InvalidFolderPathError extends Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'InvalidFolderPathError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Validate a single folder segment (one level of the path). Throws on:
|
|
24
|
+
* - empty string
|
|
25
|
+
* - leading/trailing whitespace or dots
|
|
26
|
+
* - path separators
|
|
27
|
+
* - reserved chars or names
|
|
28
|
+
*/
|
|
29
|
+
export function validateFolderSegment(name) {
|
|
30
|
+
if (!name || typeof name !== 'string') {
|
|
31
|
+
throw new InvalidFolderPathError('Folder segment must be a non-empty string');
|
|
32
|
+
}
|
|
33
|
+
if (name !== name.trim()) {
|
|
34
|
+
throw new InvalidFolderPathError(`Folder segment cannot have leading or trailing whitespace: "${name}"`);
|
|
35
|
+
}
|
|
36
|
+
if (name.startsWith('.') || name.endsWith('.')) {
|
|
37
|
+
throw new InvalidFolderPathError(`Folder segment cannot start or end with "." : "${name}"`);
|
|
38
|
+
}
|
|
39
|
+
if (name.includes('/')) {
|
|
40
|
+
throw new InvalidFolderPathError(`Folder segment cannot contain "/" : "${name}"`);
|
|
41
|
+
}
|
|
42
|
+
if (RESERVED_CHARS.test(name)) {
|
|
43
|
+
throw new InvalidFolderPathError(`Folder segment contains reserved characters: "${name}"`);
|
|
44
|
+
}
|
|
45
|
+
if (RESERVED_NAMES.has(name)) {
|
|
46
|
+
throw new InvalidFolderPathError(`Folder segment uses a reserved name: "${name}"`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Normalize a folder path: trim slashes, collapse repeats. Returns "" for root.
|
|
51
|
+
* Throws on `..` segments (prevents escaping the repo).
|
|
52
|
+
*/
|
|
53
|
+
export function normalizeFolderPath(path) {
|
|
54
|
+
if (!path)
|
|
55
|
+
return '';
|
|
56
|
+
// Strip leading/trailing slashes, split, drop empties, validate each.
|
|
57
|
+
const segments = path
|
|
58
|
+
.replace(/^\/+|\/+$/g, '')
|
|
59
|
+
.split('/')
|
|
60
|
+
.filter(s => s.length > 0);
|
|
61
|
+
for (const segment of segments) {
|
|
62
|
+
validateFolderSegment(segment);
|
|
63
|
+
}
|
|
64
|
+
return segments.join('/');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Validate a full folder path (one or more segments joined by "/"). Returns
|
|
68
|
+
* the normalized form for convenience.
|
|
69
|
+
*/
|
|
70
|
+
export function validateFolderPath(path) {
|
|
71
|
+
return normalizeFolderPath(path);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Compute the parent folder path. Returns "" if already at root.
|
|
75
|
+
*/
|
|
76
|
+
export function parentFolderPath(path) {
|
|
77
|
+
const normalized = normalizeFolderPath(path);
|
|
78
|
+
if (!normalized)
|
|
79
|
+
return '';
|
|
80
|
+
const idx = normalized.lastIndexOf('/');
|
|
81
|
+
return idx === -1 ? '' : normalized.slice(0, idx);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Derive the folder_path of a file given its absolute path and the repo root.
|
|
85
|
+
* Returns "" if the file lives at the repo root.
|
|
86
|
+
*/
|
|
87
|
+
export function folderPathFromFile(filePath, repoPath) {
|
|
88
|
+
const normalizedRepo = repoPath.replace(/\/+$/, '');
|
|
89
|
+
if (!filePath.startsWith(normalizedRepo + '/'))
|
|
90
|
+
return '';
|
|
91
|
+
const rel = filePath.slice(normalizedRepo.length + 1);
|
|
92
|
+
const idx = rel.lastIndexOf('/');
|
|
93
|
+
return idx === -1 ? '' : rel.slice(0, idx);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=folder-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-paths.js","sourceRoot":"","sources":["../../src/core/folder-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-folder sidecar carrying an optional `display_name` override and a stable
|
|
3
|
+
* folder `id`. Lives inside the folder itself so it travels atomically with FS
|
|
4
|
+
* rename / move / cross-repo transfer — the same way an entity .md file's
|
|
5
|
+
* frontmatter travels with the file.
|
|
6
|
+
*
|
|
7
|
+
* The `id` is assigned eagerly in mutation paths (folder creation); reads never
|
|
8
|
+
* generate one. Callers that don't find an id fall back to a path-based key.
|
|
9
|
+
*/
|
|
10
|
+
export declare const FOLDER_SIDECAR = ".studiograph-folder.json";
|
|
11
|
+
export interface FolderSidecarData {
|
|
12
|
+
display_name?: string;
|
|
13
|
+
id?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function folderSidecarPath(absDir: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Read the full sidecar object for a folder, or null when the sidecar is
|
|
18
|
+
* absent / unreadable / malformed. Only the recognized fields are surfaced.
|
|
19
|
+
*/
|
|
20
|
+
export declare function readFolderSidecarData(absDir: string): FolderSidecarData | null;
|
|
21
|
+
/** Read just the display_name override, or null. (Back-compat helper.) */
|
|
22
|
+
export declare function readFolderSidecar(absDir: string): string | null;
|
|
23
|
+
/** Read just the stable folder id, or null when unassigned. */
|
|
24
|
+
export declare function readFolderSidecarId(absDir: string): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Merge-safe write: reads the existing sidecar, applies the patch, and writes
|
|
27
|
+
* the result — so writing one field never clobbers the other. A field present
|
|
28
|
+
* in `patch` but empty/undefined is removed; a field absent from `patch` is
|
|
29
|
+
* left untouched. If the merge leaves the sidecar empty, the file is removed.
|
|
30
|
+
* Returns the sidecar path (for git staging), or null when the file was
|
|
31
|
+
* removed because nothing remained.
|
|
32
|
+
*/
|
|
33
|
+
export declare function writeFolderSidecarData(absDir: string, patch: FolderSidecarData): string | null;
|
|
34
|
+
/** Write/merge a display_name override (preserves any existing id). */
|
|
35
|
+
export declare function writeFolderSidecar(absDir: string, displayName: string): string;
|
|
36
|
+
export declare function removeFolderSidecar(absDir: string): string | null;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Per-folder sidecar carrying an optional `display_name` override and a stable
|
|
5
|
+
* folder `id`. Lives inside the folder itself so it travels atomically with FS
|
|
6
|
+
* rename / move / cross-repo transfer — the same way an entity .md file's
|
|
7
|
+
* frontmatter travels with the file.
|
|
8
|
+
*
|
|
9
|
+
* The `id` is assigned eagerly in mutation paths (folder creation); reads never
|
|
10
|
+
* generate one. Callers that don't find an id fall back to a path-based key.
|
|
11
|
+
*/
|
|
12
|
+
export const FOLDER_SIDECAR = '.studiograph-folder.json';
|
|
13
|
+
export function folderSidecarPath(absDir) {
|
|
14
|
+
return join(absDir, FOLDER_SIDECAR);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Read the full sidecar object for a folder, or null when the sidecar is
|
|
18
|
+
* absent / unreadable / malformed. Only the recognized fields are surfaced.
|
|
19
|
+
*/
|
|
20
|
+
export function readFolderSidecarData(absDir) {
|
|
21
|
+
const sidecarPath = folderSidecarPath(absDir);
|
|
22
|
+
if (!existsSync(sidecarPath))
|
|
23
|
+
return null;
|
|
24
|
+
try {
|
|
25
|
+
const parsed = JSON.parse(readFileSync(sidecarPath, 'utf-8'));
|
|
26
|
+
const data = {};
|
|
27
|
+
if (typeof parsed?.display_name === 'string' && parsed.display_name.trim()) {
|
|
28
|
+
data.display_name = parsed.display_name.trim();
|
|
29
|
+
}
|
|
30
|
+
if (typeof parsed?.id === 'string' && parsed.id.trim()) {
|
|
31
|
+
data.id = parsed.id.trim();
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Read just the display_name override, or null. (Back-compat helper.) */
|
|
40
|
+
export function readFolderSidecar(absDir) {
|
|
41
|
+
return readFolderSidecarData(absDir)?.display_name ?? null;
|
|
42
|
+
}
|
|
43
|
+
/** Read just the stable folder id, or null when unassigned. */
|
|
44
|
+
export function readFolderSidecarId(absDir) {
|
|
45
|
+
return readFolderSidecarData(absDir)?.id ?? null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Merge-safe write: reads the existing sidecar, applies the patch, and writes
|
|
49
|
+
* the result — so writing one field never clobbers the other. A field present
|
|
50
|
+
* in `patch` but empty/undefined is removed; a field absent from `patch` is
|
|
51
|
+
* left untouched. If the merge leaves the sidecar empty, the file is removed.
|
|
52
|
+
* Returns the sidecar path (for git staging), or null when the file was
|
|
53
|
+
* removed because nothing remained.
|
|
54
|
+
*/
|
|
55
|
+
export function writeFolderSidecarData(absDir, patch) {
|
|
56
|
+
const merged = { ...(readFolderSidecarData(absDir) ?? {}) };
|
|
57
|
+
if ('display_name' in patch) {
|
|
58
|
+
const dn = patch.display_name?.trim();
|
|
59
|
+
if (dn)
|
|
60
|
+
merged.display_name = dn;
|
|
61
|
+
else
|
|
62
|
+
delete merged.display_name;
|
|
63
|
+
}
|
|
64
|
+
if ('id' in patch) {
|
|
65
|
+
const id = patch.id?.trim();
|
|
66
|
+
if (id)
|
|
67
|
+
merged.id = id;
|
|
68
|
+
else
|
|
69
|
+
delete merged.id;
|
|
70
|
+
}
|
|
71
|
+
const sidecarPath = folderSidecarPath(absDir);
|
|
72
|
+
if (Object.keys(merged).length === 0) {
|
|
73
|
+
return removeFolderSidecar(absDir);
|
|
74
|
+
}
|
|
75
|
+
mkdirSync(absDir, { recursive: true });
|
|
76
|
+
writeFileSync(sidecarPath, JSON.stringify(merged, null, 2) + '\n', 'utf-8');
|
|
77
|
+
return sidecarPath;
|
|
78
|
+
}
|
|
79
|
+
/** Write/merge a display_name override (preserves any existing id). */
|
|
80
|
+
export function writeFolderSidecar(absDir, displayName) {
|
|
81
|
+
// Non-null: a non-empty displayName always leaves the sidecar non-empty.
|
|
82
|
+
return writeFolderSidecarData(absDir, { display_name: displayName });
|
|
83
|
+
}
|
|
84
|
+
export function removeFolderSidecar(absDir) {
|
|
85
|
+
const sidecarPath = folderSidecarPath(absDir);
|
|
86
|
+
if (!existsSync(sidecarPath))
|
|
87
|
+
return null;
|
|
88
|
+
rmSync(sidecarPath, { force: true });
|
|
89
|
+
return sidecarPath;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=folder-sidecar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-sidecar.js","sourceRoot":"","sources":["../../src/core/folder-sidecar.ts"],"names":[],"mappings":"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"}
|