studiograph 1.3.48-next.16 → 1.3.48-next.160
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 +20 -16
- package/dist/agent/agent-pool.d.ts +52 -3
- package/dist/agent/agent-pool.js +95 -14
- 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 +47 -4
- package/dist/agent/orchestrator.js +302 -47
- 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 +103 -45
- 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 +74 -430
- 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/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 +19 -72
- package/dist/agent/tools/graph-tools.js +415 -390
- 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/message-tools.d.ts +13 -11
- package/dist/agent/tools/message-tools.js +31 -39
- package/dist/agent/tools/message-tools.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/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/audit.d.ts +21 -0
- package/dist/cli/commands/audit.js +174 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/clear.d.ts +5 -0
- package/dist/cli/commands/clear.js +144 -1
- package/dist/cli/commands/clear.js.map +1 -1
- package/dist/cli/commands/clone.d.ts +1 -1
- package/dist/cli/commands/clone.js +122 -30
- 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 +96 -35
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/folder.d.ts +11 -0
- package/dist/cli/commands/folder.js +186 -0
- package/dist/cli/commands/folder.js.map +1 -0
- 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/join.d.ts +1 -1
- package/dist/cli/commands/join.js +26 -14
- package/dist/cli/commands/join.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/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/secrets.d.ts +23 -0
- package/dist/cli/commands/secrets.js +256 -0
- package/dist/cli/commands/secrets.js.map +1 -0
- package/dist/cli/commands/serve.js +209 -24
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/settings.d.ts +28 -0
- package/dist/cli/commands/settings.js +284 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/start.js +140 -71
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.js +342 -200
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/user.js +27 -21
- package/dist/cli/commands/user.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/scaffolding.d.ts +4 -2
- package/dist/cli/scaffolding.js +43 -48
- package/dist/cli/scaffolding.js.map +1 -1
- 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/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/embeds.d.ts +48 -0
- package/dist/core/embeds.js +93 -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 +48 -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 +138 -0
- package/dist/core/entity-types-catalog.js.map +1 -0
- package/dist/core/feature-flags.d.ts +22 -0
- package/dist/core/feature-flags.js +15 -0
- package/dist/core/feature-flags.js.map +1 -0
- package/dist/core/features.d.ts +16 -0
- package/dist/core/features.js +48 -0
- package/dist/core/features.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 +16 -0
- package/dist/core/folder-sidecar.js +45 -0
- package/dist/core/folder-sidecar.js.map +1 -0
- package/dist/core/graph.d.ts +609 -21
- package/dist/core/graph.js +1864 -343
- package/dist/core/graph.js.map +1 -1
- package/dist/core/schema-registry.d.ts +28 -0
- package/dist/core/schema-registry.js +130 -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/importer.d.ts +94 -0
- package/dist/core/secrets/importer.js +319 -0
- package/dist/core/secrets/importer.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 +594 -0
- package/dist/core/secrets/registry.js.map +1 -0
- package/dist/core/types.d.ts +71 -483
- package/dist/core/types.js +10 -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 +656 -1394
- package/dist/core/validation.js +298 -145
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-manager.d.ts +77 -14
- package/dist/core/workspace-manager.js +207 -95
- package/dist/core/workspace-manager.js.map +1 -1
- package/dist/core/workspace.d.ts +19 -5
- package/dist/core/workspace.js +66 -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 +57 -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.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 +846 -118
- 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/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 +446 -191
- 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.js +313 -66
- 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 +292 -53
- 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 +180 -24
- package/dist/server/routes/capture-api.js.map +1 -1
- package/dist/server/routes/chat.d.ts +4 -1
- package/dist/server/routes/chat.js +178 -46
- 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 +430 -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.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/event-ingest-api.js +125 -0
- package/dist/server/routes/event-ingest-api.js.map +1 -0
- package/dist/server/routes/features-api.d.ts +19 -0
- package/dist/server/routes/features-api.js +28 -0
- package/dist/server/routes/features-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 +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 +1122 -318
- 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.js +120 -34
- 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/messages-api.d.ts +3 -3
- package/dist/server/routes/messages-api.js +325 -128
- package/dist/server/routes/messages-api.js.map +1 -1
- 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/workspace-api.d.ts +2 -1
- package/dist/server/routes/workspace-api.js +131 -20
- 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 -18
- package/dist/server/routes/ws.js.map +1 -1
- package/dist/server/session-manager.d.ts +48 -5
- package/dist/server/session-manager.js +175 -11
- package/dist/server/session-manager.js.map +1 -1
- package/dist/server/ws-hub.d.ts +131 -25
- 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 +854 -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 +72 -0
- package/dist/services/access-control.js +145 -0
- package/dist/services/access-control.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 +232 -36
- package/dist/services/auth-service.js +849 -154
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/briefing.d.ts +1 -1
- package/dist/services/briefing.js +14 -37
- package/dist/services/briefing.js.map +1 -1
- package/dist/services/comment-service.d.ts +90 -0
- package/dist/services/comment-service.js +311 -0
- package/dist/services/comment-service.js.map +1 -0
- 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 +50 -0
- package/dist/services/git.js +178 -55
- package/dist/services/git.js.map +1 -1
- package/dist/services/heartbeat.d.ts +19 -12
- package/dist/services/heartbeat.js +162 -107
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/import-service.d.ts +37 -2
- package/dist/services/import-service.js +222 -123
- package/dist/services/import-service.js.map +1 -1
- package/dist/services/lint-service.js +8 -15
- 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/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/message-service.d.ts +62 -21
- package/dist/services/message-service.js +160 -43
- package/dist/services/message-service.js.map +1 -1
- 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.BfGBDzh2.css +2 -0
- package/dist/web/_app/immutable/assets/11.DlIf1mKh.css +1 -0
- package/dist/web/_app/immutable/assets/12.Dmlt28l2.css +1 -0
- package/dist/web/_app/immutable/assets/13.CmLrbzZp.css +1 -0
- package/dist/web/_app/immutable/assets/2.C011Jt2d.css +1 -0
- package/dist/web/_app/immutable/assets/3.DorhtptO.css +1 -0
- package/dist/web/_app/immutable/assets/4.Cqa6yXvF.css +1 -0
- package/dist/web/_app/immutable/assets/AgentOverlay.JT_P9pGQ.css +1 -0
- package/dist/web/_app/immutable/assets/AssetManagerModal.ZfasE2L3.css +1 -0
- package/dist/web/_app/immutable/assets/CalendarView.2_5KwEnm.css +1 -0
- package/dist/web/_app/immutable/assets/Filters.Cj91P14b.css +1 -0
- package/dist/web/_app/immutable/assets/FolderMembersPanel.BTK40ZV-.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.Dy-qQjEc.css +1 -0
- package/dist/web/_app/immutable/assets/GraphView.BHnGIltS.css +1 -0
- package/dist/web/_app/immutable/assets/KanbanView.BykCv6-6.css +1 -0
- package/dist/web/_app/immutable/assets/SettingsDialog.DWIvReSL.css +1 -0
- package/dist/web/_app/immutable/assets/Spinner.UBfl0pab.css +1 -0
- package/dist/web/_app/immutable/assets/StopFilledAlt.clodJdp5.css +1 -0
- package/dist/web/_app/immutable/assets/TimelineView.D5Vr4f4p.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.DnSxH_xG.css +1 -0
- package/dist/web/_app/immutable/assets/button.BlLm4Dg1.css +1 -0
- package/dist/web/_app/immutable/assets/dialog.BxVal_19.css +1 -0
- package/dist/web/_app/immutable/assets/dist.DDCWxn3B.css +1 -0
- package/dist/web/_app/immutable/assets/dist.U57Jb1b6.css +1 -0
- package/dist/web/_app/immutable/assets/dropdown-menu.BSsUUQ3o.css +1 -0
- package/dist/web/_app/immutable/assets/entity-row.Bl5FyNCt.css +1 -0
- package/dist/web/_app/immutable/assets/formatting.kiXsrt_O.css +1 -0
- package/dist/web/_app/immutable/assets/greeting.Bm7lTneV.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.DORLo4xF.css +1 -0
- package/dist/web/_app/immutable/assets/radio-group.GJJRVPUJ.css +1 -0
- package/dist/web/_app/immutable/assets/select.D_AV992j.css +1 -0
- package/dist/web/_app/immutable/assets/sheet.DJPuqnTg.css +1 -0
- package/dist/web/_app/immutable/chunks/-7b5SlZ_2.js +1 -0
- package/dist/web/_app/immutable/chunks/-KAQXGuI2.js +1 -0
- package/dist/web/_app/immutable/chunks/0723QBRO.js +2487 -0
- package/dist/web/_app/immutable/chunks/6hWRXc3e.js +2 -0
- package/dist/web/_app/immutable/chunks/7hHigL1n.js +64 -0
- package/dist/web/_app/immutable/chunks/8hESCR7R.js +7 -0
- package/dist/web/_app/immutable/chunks/9bCTHkeS.js +1 -0
- package/dist/web/_app/immutable/chunks/AuYfMmg_.js +1 -0
- package/dist/web/_app/immutable/chunks/B092rI6Q.js +1 -0
- package/dist/web/_app/immutable/chunks/B0tDBZVn.js +1 -0
- package/dist/web/_app/immutable/chunks/B1nikO5H.js +5 -0
- package/dist/web/_app/immutable/chunks/B2vt4pY82.js +6 -0
- package/dist/web/_app/immutable/chunks/B3sQ2RC3.js +2 -0
- package/dist/web/_app/immutable/chunks/B8qKPS5P.js +2 -0
- package/dist/web/_app/immutable/chunks/B9iWFAJd2.js +1 -0
- package/dist/web/_app/immutable/chunks/BBsQ4Bg92.js +1 -0
- package/dist/web/_app/immutable/chunks/BFG2Rqyc.js +1 -0
- package/dist/web/_app/immutable/chunks/BG0fIO4l.js +3 -0
- package/dist/web/_app/immutable/chunks/BHApml6D2.js +2 -0
- package/dist/web/_app/immutable/chunks/BHEaUcm-.js +1 -0
- package/dist/web/_app/immutable/chunks/BJDI0CVm2.js +2 -0
- package/dist/web/_app/immutable/chunks/BJqI4HaH.js +22 -0
- package/dist/web/_app/immutable/chunks/BLs2dUan.js +1 -0
- package/dist/web/_app/immutable/chunks/BN5ZYpC02.js +1 -0
- package/dist/web/_app/immutable/chunks/BNTlsKDJ.js +1 -0
- package/dist/web/_app/immutable/chunks/BNjJ851o.js +5 -0
- package/dist/web/_app/immutable/chunks/BRLzUX1D.js +1 -0
- package/dist/web/_app/immutable/chunks/BSUBHpZi2.js +1 -0
- package/dist/web/_app/immutable/chunks/BT3KAag_.js +3 -0
- package/dist/web/_app/immutable/chunks/BUsyxx532.js +1 -0
- package/dist/web/_app/immutable/chunks/BYOGf1N4.js +1 -0
- package/dist/web/_app/immutable/chunks/BZnJ8tbJ.js +1 -0
- package/dist/web/_app/immutable/chunks/BbDv2R_Q2.js +1 -0
- package/dist/web/_app/immutable/chunks/BdFKSMsg.js +9 -0
- package/dist/web/_app/immutable/chunks/BkQpaEc8.js +1 -0
- package/dist/web/_app/immutable/chunks/Bo_rBQks.js +41 -0
- package/dist/web/_app/immutable/chunks/BprI5oad2.js +1 -0
- package/dist/web/_app/immutable/chunks/BuzQceOn.js +1 -0
- package/dist/web/_app/immutable/chunks/Bv2qQFhH2.js +1 -0
- package/dist/web/_app/immutable/chunks/Bvn23yTO2.js +1 -0
- package/dist/web/_app/immutable/chunks/BxPi26f4.js +1 -0
- package/dist/web/_app/immutable/chunks/Bxg9cu21.js +224 -0
- package/dist/web/_app/immutable/chunks/BySYKzgc.js +1 -0
- package/dist/web/_app/immutable/chunks/C-OaypFN.js +1 -0
- package/dist/web/_app/immutable/chunks/C1D7bSxe.js +1 -0
- package/dist/web/_app/immutable/chunks/C3ODDaLP.js +1 -0
- package/dist/web/_app/immutable/chunks/C4Jd7Gs32.js +1 -0
- package/dist/web/_app/immutable/chunks/C4ezn1Zj.js +1 -0
- package/dist/web/_app/immutable/chunks/C4qg8l0L2.js +1 -0
- package/dist/web/_app/immutable/chunks/C5CWubju.js +1 -0
- package/dist/web/_app/immutable/chunks/CBigngPq.js +2 -0
- package/dist/web/_app/immutable/chunks/CCnPVZqI.js +1 -0
- package/dist/web/_app/immutable/chunks/CD4g82zI.js +1 -0
- package/dist/web/_app/immutable/chunks/CFe7UOeB2.js +1 -0
- package/dist/web/_app/immutable/chunks/CH0siYFL.js +1 -0
- package/dist/web/_app/immutable/chunks/CKGCqB1g2.js +1 -0
- package/dist/web/_app/immutable/chunks/CLHWE-_g.js +1 -0
- package/dist/web/_app/immutable/chunks/CNMTMPof2.js +3 -0
- package/dist/web/_app/immutable/chunks/CQ3GQmfw.js +1 -0
- package/dist/web/_app/immutable/chunks/CUITrWFs2.js +4 -0
- package/dist/web/_app/immutable/chunks/CWOIuGBU2.js +1 -0
- package/dist/web/_app/immutable/chunks/CYoW9u1u.js +1 -0
- package/dist/web/_app/immutable/chunks/CYv87mMT.js +1 -0
- package/dist/web/_app/immutable/chunks/CaFXpLX_2.js +1 -0
- package/dist/web/_app/immutable/chunks/CbDbXiRr2.js +1 -0
- package/dist/web/_app/immutable/chunks/CdzREQF-.js +1 -0
- package/dist/web/_app/immutable/chunks/CfW9sM9G.js +2 -0
- package/dist/web/_app/immutable/chunks/CgbHbwwK.js +1 -0
- package/dist/web/_app/immutable/chunks/CgzTYbqv2.js +1 -0
- package/dist/web/_app/immutable/chunks/CiWdXwh3.js +1 -0
- package/dist/web/_app/immutable/chunks/CjoBtNqp2.js +1 -0
- package/dist/web/_app/immutable/chunks/Ck0JafsF.js +1 -0
- package/dist/web/_app/immutable/chunks/CliiLp0y.js +184 -0
- package/dist/web/_app/immutable/chunks/CnXnpq3_.js +1 -0
- package/dist/web/_app/immutable/chunks/CpCRLA6G.js +1 -0
- package/dist/web/_app/immutable/chunks/Csa42kb6.js +1 -0
- package/dist/web/_app/immutable/chunks/CsyTgsme.js +1 -0
- package/dist/web/_app/immutable/chunks/CvbdiY84.js +1 -0
- package/dist/web/_app/immutable/chunks/D-qI5eb4.js +1 -0
- package/dist/web/_app/immutable/chunks/D49uoQef.js +1 -0
- package/dist/web/_app/immutable/chunks/DDyAKcQU2.js +1 -0
- package/dist/web/_app/immutable/chunks/DM_lQbAZ.js +1 -0
- package/dist/web/_app/immutable/chunks/DNc1MBui.js +1 -0
- package/dist/web/_app/immutable/chunks/DQlwZo3G.js +1 -0
- package/dist/web/_app/immutable/chunks/DSEujwM4.js +1 -0
- package/dist/web/_app/immutable/chunks/DX88nj262.js +1 -0
- package/dist/web/_app/immutable/chunks/DZWSKD4B.js +1 -0
- package/dist/web/_app/immutable/chunks/DaV-Rx9B2.js +1 -0
- package/dist/web/_app/immutable/chunks/DbHAGTFm.js +1 -0
- package/dist/web/_app/immutable/chunks/Dbl-jfhI.js +1 -0
- package/dist/web/_app/immutable/chunks/Dc5Pmf-8.js +1 -0
- package/dist/web/_app/immutable/chunks/DfNm5XOu.js +2 -0
- package/dist/web/_app/immutable/chunks/DhuJRrEX2.js +1 -0
- package/dist/web/_app/immutable/chunks/DmnaO2mv.js +1 -0
- package/dist/web/_app/immutable/chunks/Dq4GmbkN2.js +2 -0
- package/dist/web/_app/immutable/chunks/DsC9bt5Z.js +1 -0
- package/dist/web/_app/immutable/chunks/DtKPxO_M.js +1 -0
- package/dist/web/_app/immutable/chunks/DwbbjQ6n2.js +1 -0
- package/dist/web/_app/immutable/chunks/Dxj8Morh2.js +23 -0
- package/dist/web/_app/immutable/chunks/DzMMoIDn.js +83 -0
- package/dist/web/_app/immutable/chunks/GYOd2NYH2.js +1 -0
- package/dist/web/_app/immutable/chunks/GoyJSts-.js +1 -0
- package/dist/web/_app/immutable/chunks/Howp_9cy.js +1 -0
- package/dist/web/_app/immutable/chunks/I_yo_b_S.js +1 -0
- package/dist/web/_app/immutable/chunks/KzTaK8KW2.js +1 -0
- package/dist/web/_app/immutable/chunks/LVnAcnOw.js +1 -0
- package/dist/web/_app/immutable/chunks/LpH9j5OK.js +14 -0
- package/dist/web/_app/immutable/chunks/NIsqtM9X2.js +1 -0
- package/dist/web/_app/immutable/chunks/NxrNOnNd2.js +1 -0
- package/dist/web/_app/immutable/chunks/PKJwETHu.js +1 -0
- package/dist/web/_app/immutable/chunks/PcvOBMDp2.js +1 -0
- package/dist/web/_app/immutable/chunks/QQLvw---.js +1 -0
- package/dist/web/_app/immutable/chunks/QrBNnE2w.js +1 -0
- package/dist/web/_app/immutable/chunks/TUS4xAqz2.js +1 -0
- package/dist/web/_app/immutable/chunks/U6NxB2Vp.js +1 -0
- package/dist/web/_app/immutable/chunks/VKovLyFY.js +1 -0
- package/dist/web/_app/immutable/chunks/XWzRI617.js +1 -0
- package/dist/web/_app/immutable/chunks/_HikmOcu.js +1 -0
- package/dist/web/_app/immutable/chunks/bhP94ABR.js +1 -0
- package/dist/web/_app/immutable/chunks/dt17Bopy2.js +1 -0
- package/dist/web/_app/immutable/chunks/hEijmR6g.js +1 -0
- package/dist/web/_app/immutable/chunks/iDutPqHm.js +1 -0
- package/dist/web/_app/immutable/chunks/ikKa4mia.js +1 -0
- package/dist/web/_app/immutable/chunks/jb3wXG-M2.js +1 -0
- package/dist/web/_app/immutable/chunks/ju1h_QO1.js +3 -0
- package/dist/web/_app/immutable/chunks/k9zo-5e42.js +5 -0
- package/dist/web/_app/immutable/chunks/lj-POVDr.js +156 -0
- package/dist/web/_app/immutable/chunks/lqzqnLEw.js +1 -0
- package/dist/web/_app/immutable/chunks/nIGIWJcM2.js +1 -0
- package/dist/web/_app/immutable/chunks/op8K_5xf2.js +1 -0
- package/dist/web/_app/immutable/chunks/osHKvPM1.js +1 -0
- package/dist/web/_app/immutable/chunks/plR3U6Fv.js +1 -0
- package/dist/web/_app/immutable/chunks/pnE58wTt2.js +1 -0
- package/dist/web/_app/immutable/chunks/qTItX0De.js +11 -0
- package/dist/web/_app/immutable/chunks/qkpDRggH2.js +1 -0
- package/dist/web/_app/immutable/chunks/rzxq47Jy.js +1 -0
- package/dist/web/_app/immutable/chunks/smrJWKGn.js +1 -0
- package/dist/web/_app/immutable/chunks/szy39T1a2.js +1 -0
- package/dist/web/_app/immutable/chunks/t62M88qj.js +1 -0
- package/dist/web/_app/immutable/chunks/tCsvZ8W9.js +1 -0
- package/dist/web/_app/immutable/chunks/uqxmB78b.js +1 -0
- package/dist/web/_app/immutable/chunks/vILwiZkU.js +185 -0
- package/dist/web/_app/immutable/chunks/y0WXY-Gz.js +5 -0
- package/dist/web/_app/immutable/chunks/y1iSrGLY.js +1 -0
- package/dist/web/_app/immutable/chunks/yIlK_U5q.js +1 -0
- package/dist/web/_app/immutable/chunks/z2RtEz86.js +1 -0
- package/dist/web/_app/immutable/entry/app.Cwi1H4LY.js +2 -0
- package/dist/web/_app/immutable/entry/start.CcS2HSd9.js +1 -0
- package/dist/web/_app/immutable/nodes/0.CwO1jvcr.js +2 -0
- package/dist/web/_app/immutable/nodes/1.BERroxw7.js +1 -0
- package/dist/web/_app/immutable/nodes/10.BsylbrUe.js +1 -0
- package/dist/web/_app/immutable/nodes/11.DdIhTp8q.js +1 -0
- package/dist/web/_app/immutable/nodes/12.C0wxFRs1.js +1 -0
- package/dist/web/_app/immutable/nodes/13.JEauZW55.js +1 -0
- package/dist/web/_app/immutable/nodes/2.By9Ms1qQ.js +105 -0
- package/dist/web/_app/immutable/nodes/3.DL8luJ31.js +2 -0
- package/dist/web/_app/immutable/nodes/4.CFIk-YIR.js +5 -0
- package/dist/web/_app/immutable/nodes/5.C9u6VH2G.js +1 -0
- package/dist/web/_app/immutable/nodes/6.BczfG-vE.js +1 -0
- package/dist/web/_app/immutable/nodes/7.JzSONz9T.js +1 -0
- package/dist/web/_app/immutable/nodes/8.B735blqa.js +1 -0
- package/dist/web/_app/immutable/nodes/9.BbCBNgS2.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 +64 -21
- package/dist/web/studiograph-logomark.svg +29 -0
- package/package.json +29 -14
- package/dist/agent/role-loader.d.ts +0 -24
- package/dist/agent/role-loader.js +0 -67
- package/dist/agent/role-loader.js.map +0 -1
- package/dist/agent/skills/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/collection.d.ts +0 -10
- package/dist/cli/commands/collection.js +0 -185
- package/dist/cli/commands/collection.js.map +0 -1
- package/dist/cli/commands/enrich.d.ts +0 -11
- package/dist/cli/commands/enrich.js +0 -135
- package/dist/cli/commands/enrich.js.map +0 -1
- package/dist/cli/commands/graphrag.d.ts +0 -12
- package/dist/cli/commands/graphrag.js +0 -122
- package/dist/cli/commands/graphrag.js.map +0 -1
- package/dist/cli/commands/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/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/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 -8
- package/dist/integrations/registry.js +0 -7
- package/dist/integrations/registry.js.map +0 -1
- package/dist/integrations/types.d.ts +0 -43
- package/dist/integrations/types.js +0 -5
- package/dist/integrations/types.js.map +0 -1
- package/dist/lib/lib/utils.d.ts +0 -2
- package/dist/lib/lib/utils.js +0 -6
- package/dist/lib/lib/utils.js.map +0 -1
- package/dist/mcp/connectors/asana.d.ts +0 -2
- package/dist/mcp/connectors/asana.js +0 -20
- package/dist/mcp/connectors/asana.js.map +0 -1
- package/dist/mcp/connectors/definitions.d.ts +0 -45
- package/dist/mcp/connectors/definitions.js +0 -32
- package/dist/mcp/connectors/definitions.js.map +0 -1
- package/dist/mcp/connectors/figma.d.ts +0 -5
- package/dist/mcp/connectors/figma.js +0 -21
- package/dist/mcp/connectors/figma.js.map +0 -1
- package/dist/mcp/connectors/gdrive.d.ts +0 -2
- package/dist/mcp/connectors/gdrive.js +0 -20
- package/dist/mcp/connectors/gdrive.js.map +0 -1
- package/dist/mcp/connectors/granola.d.ts +0 -2
- package/dist/mcp/connectors/granola.js +0 -12
- package/dist/mcp/connectors/granola.js.map +0 -1
- package/dist/mcp/connectors/linear.d.ts +0 -2
- package/dist/mcp/connectors/linear.js +0 -19
- package/dist/mcp/connectors/linear.js.map +0 -1
- package/dist/mcp/connectors/obsidian.d.ts +0 -2
- package/dist/mcp/connectors/obsidian.js +0 -19
- package/dist/mcp/connectors/obsidian.js.map +0 -1
- package/dist/mcp/connectors/pipedrive.d.ts +0 -2
- package/dist/mcp/connectors/pipedrive.js +0 -20
- package/dist/mcp/connectors/pipedrive.js.map +0 -1
- package/dist/mcp/connectors/slack.d.ts +0 -2
- package/dist/mcp/connectors/slack.js +0 -21
- package/dist/mcp/connectors/slack.js.map +0 -1
- package/dist/mcp/server-oauth-provider.d.ts +0 -56
- package/dist/mcp/server-oauth-provider.js +0 -142
- package/dist/mcp/server-oauth-provider.js.map +0 -1
- package/dist/server/agents/agent-loader.d.ts +0 -16
- package/dist/server/agents/agent-loader.js +0 -175
- package/dist/server/agents/agent-loader.js.map +0 -1
- package/dist/server/agents/agent-runner.d.ts +0 -33
- package/dist/server/agents/agent-runner.js +0 -187
- package/dist/server/agents/agent-runner.js.map +0 -1
- package/dist/server/agents/agent-runtime.d.ts +0 -39
- package/dist/server/agents/agent-runtime.js +0 -214
- package/dist/server/agents/agent-runtime.js.map +0 -1
- package/dist/server/agents/base-agent.d.ts +0 -30
- package/dist/server/agents/base-agent.js +0 -88
- package/dist/server/agents/base-agent.js.map +0 -1
- package/dist/server/agents/executive-digest.d.ts +0 -16
- package/dist/server/agents/executive-digest.js +0 -115
- package/dist/server/agents/executive-digest.js.map +0 -1
- package/dist/server/agents/graph-steward.d.ts +0 -16
- package/dist/server/agents/graph-steward.js +0 -59
- package/dist/server/agents/graph-steward.js.map +0 -1
- package/dist/server/agents/meeting-followup.d.ts +0 -16
- package/dist/server/agents/meeting-followup.js +0 -88
- package/dist/server/agents/meeting-followup.js.map +0 -1
- package/dist/server/agents/pipeline-monitor.d.ts +0 -15
- package/dist/server/agents/pipeline-monitor.js +0 -86
- package/dist/server/agents/pipeline-monitor.js.map +0 -1
- package/dist/server/agents/types.d.ts +0 -81
- package/dist/server/agents/types.js +0 -41
- package/dist/server/agents/types.js.map +0 -1
- package/dist/server/chrome/chrome.css +0 -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/agents-api.d.ts +0 -10
- package/dist/server/routes/agents-api.js +0 -25
- package/dist/server/routes/agents-api.js.map +0 -1
- package/dist/server/routes/collab.d.ts +0 -6
- package/dist/server/routes/collab.js +0 -10
- package/dist/server/routes/collab.js.map +0 -1
- package/dist/server/routes/git-api.d.ts +0 -9
- package/dist/server/routes/git-api.js +0 -82
- package/dist/server/routes/git-api.js.map +0 -1
- package/dist/server/routes/meeting-ingest-api.d.ts +0 -14
- package/dist/server/routes/meeting-ingest-api.js +0 -110
- 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 -848
- 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/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/csv-service.d.ts +0 -36
- package/dist/services/csv-service.js +0 -143
- package/dist/services/csv-service.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/image-import-service.d.ts +0 -24
- package/dist/services/image-import-service.js +0 -108
- package/dist/services/image-import-service.js.map +0 -1
- package/dist/services/insights.d.ts +0 -38
- package/dist/services/insights.js +0 -269
- package/dist/services/insights.js.map +0 -1
- package/dist/services/meeting-processor.d.ts +0 -97
- package/dist/services/meeting-processor.js +0 -401
- package/dist/services/meeting-processor.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.QUqBcyuu.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.r_RsAHPw.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/7JP2op4j.js +0 -5
- package/dist/web/_app/immutable/chunks/7S2LGqoP.js +0 -2
- package/dist/web/_app/immutable/chunks/AhJV-72Z.js +0 -1
- package/dist/web/_app/immutable/chunks/B1jlWVF5.js +0 -1
- package/dist/web/_app/immutable/chunks/B9-smKxa.js +0 -1
- package/dist/web/_app/immutable/chunks/BB_5th5W.js +0 -3383
- package/dist/web/_app/immutable/chunks/BRQCm3SS.js +0 -2
- package/dist/web/_app/immutable/chunks/BSLFz4HC.js +0 -1
- package/dist/web/_app/immutable/chunks/B_X1iBqu.js +0 -1
- package/dist/web/_app/immutable/chunks/B_ZyqFPi.js +0 -1
- package/dist/web/_app/immutable/chunks/Bdbumqd3.js +0 -2
- package/dist/web/_app/immutable/chunks/Bgnb30Ji.js +0 -1
- package/dist/web/_app/immutable/chunks/Bgrtqrwh.js +0 -2
- package/dist/web/_app/immutable/chunks/BhlvzGQx.js +0 -1
- package/dist/web/_app/immutable/chunks/Bm0FuH-R.js +0 -1
- package/dist/web/_app/immutable/chunks/BrebtJNG.js +0 -18
- package/dist/web/_app/immutable/chunks/Bz0ZjVQE.js +0 -2
- package/dist/web/_app/immutable/chunks/C0LVZhvn.js +0 -1
- package/dist/web/_app/immutable/chunks/CB9xHDeY.js +0 -1
- package/dist/web/_app/immutable/chunks/CNkUmOnb.js +0 -1
- package/dist/web/_app/immutable/chunks/CSVbGg_b.js +0 -5
- 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/Cb-Nks-7.js +0 -1
- package/dist/web/_app/immutable/chunks/Cd3qGvWI.js +0 -1
- package/dist/web/_app/immutable/chunks/CqkleIqs.js +0 -1
- package/dist/web/_app/immutable/chunks/CrI7DrSE.js +0 -2
- package/dist/web/_app/immutable/chunks/CwnXmXPu.js +0 -1
- package/dist/web/_app/immutable/chunks/D3Q03VRY.js +0 -1
- package/dist/web/_app/immutable/chunks/D8r3i-lm.js +0 -1
- package/dist/web/_app/immutable/chunks/D9TnjxJd.js +0 -1
- package/dist/web/_app/immutable/chunks/DFYOFE3o.js +0 -1
- package/dist/web/_app/immutable/chunks/DKIFu_7V.js +0 -1
- package/dist/web/_app/immutable/chunks/DTTqj_Kz.js +0 -1
- package/dist/web/_app/immutable/chunks/D_eEzV1s.js +0 -1
- package/dist/web/_app/immutable/chunks/DeiU98NM.js +0 -1
- package/dist/web/_app/immutable/chunks/DnL9f0lc.js +0 -7
- package/dist/web/_app/immutable/chunks/Dqk4GlLU.js +0 -1
- package/dist/web/_app/immutable/chunks/DsnmJJEf.js +0 -1
- package/dist/web/_app/immutable/chunks/GMrfyj_Q.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/RgN0KRHW.js +0 -1
- package/dist/web/_app/immutable/chunks/WSUKABI_.js +0 -1
- package/dist/web/_app/immutable/chunks/Z34gFYYa.js +0 -1
- package/dist/web/_app/immutable/chunks/Zsa-spfB.js +0 -1
- package/dist/web/_app/immutable/chunks/_kyAjKws.js +0 -1
- package/dist/web/_app/immutable/chunks/bdP2WLHk.js +0 -1
- package/dist/web/_app/immutable/chunks/dRKoAEXo.js +0 -1
- package/dist/web/_app/immutable/chunks/nL21pQzP.js +0 -2
- package/dist/web/_app/immutable/chunks/nt0pLrW6.js +0 -1
- package/dist/web/_app/immutable/chunks/qANG15z3.js +0 -1
- package/dist/web/_app/immutable/chunks/qzdnS4I9.js +0 -4
- package/dist/web/_app/immutable/chunks/ugY1uhbK.js +0 -1
- package/dist/web/_app/immutable/chunks/unTe3urq.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.DWdenHFY.js +0 -2
- package/dist/web/_app/immutable/entry/start.aDBYkQ4d.js +0 -1
- package/dist/web/_app/immutable/nodes/0.65NNN8na.js +0 -2
- package/dist/web/_app/immutable/nodes/1.Be5o72-T.js +0 -1
- package/dist/web/_app/immutable/nodes/10.s4ajJ4ol.js +0 -1
- package/dist/web/_app/immutable/nodes/11.CZE_PfgK.js +0 -1
- package/dist/web/_app/immutable/nodes/12.RdVPOZAa.js +0 -1
- package/dist/web/_app/immutable/nodes/13.DqWpmVoA.js +0 -1
- package/dist/web/_app/immutable/nodes/2.N2akqVDc.js +0 -267
- package/dist/web/_app/immutable/nodes/3.CbMtncuI.js +0 -5
- package/dist/web/_app/immutable/nodes/4.CmBjByTL.js +0 -11
- package/dist/web/_app/immutable/nodes/5.DPanEsLe.js +0 -4
- package/dist/web/_app/immutable/nodes/6.DjbgAIE6.js +0 -1
- package/dist/web/_app/immutable/nodes/7.C6WDx3zZ.js +0 -1
- package/dist/web/_app/immutable/nodes/8.BmwzRAb5.js +0 -1
- package/dist/web/_app/immutable/nodes/9.U8iBTKiz.js +0 -1
package/README.md
CHANGED
|
@@ -31,22 +31,27 @@ To create repos on GitHub during init:
|
|
|
31
31
|
studiograph init "My Studio" --github --github-org my-org
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
###
|
|
34
|
+
### Clone an Existing Workspace
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
studiograph
|
|
37
|
+
studiograph clone https://studiograph.example.com /path/to/local/copy
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Authenticates as the workspace owner against a running Studiograph server,
|
|
41
|
+
mints a per-machine API token, persists it to `~/.studiograph/user.json`, and
|
|
42
|
+
clones every accessible repo. Subsequent `pull`/`push` runs are non-interactive
|
|
43
|
+
via the stored token.
|
|
41
44
|
|
|
42
|
-
###
|
|
45
|
+
### Boot the Workspace
|
|
43
46
|
|
|
44
47
|
```bash
|
|
45
48
|
cd my-studio
|
|
46
|
-
studiograph
|
|
49
|
+
studiograph serve
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
This starts the local HTTP server + opens the web UI. The web chat panel is the canonical agent surface: a richer chat UX, real-time graph view, and inline editor. On first boot you'll be prompted to set up an AI provider and model.
|
|
53
|
+
|
|
54
|
+
If you want a terminal-side agent (Claude Desktop / Cursor integration), run `studiograph mcp` — it exposes the same toolset over MCP.
|
|
50
55
|
|
|
51
56
|
## How It Works
|
|
52
57
|
|
|
@@ -57,15 +62,15 @@ A Studiograph workspace is a directory containing a `.studiograph/` configuratio
|
|
|
57
62
|
```
|
|
58
63
|
my-studio/
|
|
59
64
|
├── .studiograph/ # Config repo (workspace.json, team roster, migrations)
|
|
60
|
-
├── acme-rebrand/ #
|
|
61
|
-
├── website-redesign/ #
|
|
62
|
-
├── team-knowledge/ #
|
|
65
|
+
├── acme-rebrand/ # Folder (client project)
|
|
66
|
+
├── website-redesign/ # Folder (another project)
|
|
67
|
+
├── team-knowledge/ # Folder (processes, standards)
|
|
63
68
|
└── private/ # Local-only, gitignored
|
|
64
69
|
```
|
|
65
70
|
|
|
66
|
-
###
|
|
71
|
+
### Folders
|
|
67
72
|
|
|
68
|
-
Each subdirectory is a **
|
|
73
|
+
Each subdirectory is a **folder** — a Git repo containing related entities. Folders are lightweight and flexible: one per project, one for team knowledge, one for business operations, or however your team thinks.
|
|
69
74
|
|
|
70
75
|
### Entities
|
|
71
76
|
|
|
@@ -118,14 +123,13 @@ There are 17 built-in entity types (project, meeting, person, organization, deci
|
|
|
118
123
|
| Command | Description |
|
|
119
124
|
|---------|-------------|
|
|
120
125
|
| `studiograph init <team-name> [dir]` | Initialize a new workspace |
|
|
121
|
-
| `studiograph
|
|
122
|
-
| `studiograph auth` | Manage GitHub authentication |
|
|
126
|
+
| `studiograph clone <url> [dir]` | Clone an existing workspace from a running server |
|
|
123
127
|
|
|
124
128
|
### Daily Workflow
|
|
125
129
|
|
|
126
130
|
| Command | Description |
|
|
127
131
|
|---------|-------------|
|
|
128
|
-
| `studiograph
|
|
132
|
+
| `studiograph serve` | Boot the local HTTP server + open the web UI |
|
|
129
133
|
| `studiograph pull` | Pull latest changes from remote |
|
|
130
134
|
| `studiograph push` | Push local commits to remote |
|
|
131
135
|
|
|
@@ -133,7 +137,7 @@ There are 17 built-in entity types (project, meeting, person, organization, deci
|
|
|
133
137
|
|
|
134
138
|
| Command | Description |
|
|
135
139
|
|---------|-------------|
|
|
136
|
-
| `studiograph
|
|
140
|
+
| `studiograph folder` | Manage folders (add, list, rename, remove) |
|
|
137
141
|
| `studiograph provision` | Push workspace config to GitHub as a separate repo |
|
|
138
142
|
| `studiograph members` | Manage team members and roles |
|
|
139
143
|
| `studiograph index` | Rebuild search index |
|
|
@@ -190,7 +194,7 @@ Studiograph exposes a [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
|
190
194
|
|
|
191
195
|
If you're running from the workspace directory, you can omit the path: `studiograph mcp`.
|
|
192
196
|
|
|
193
|
-
MCP tools available: `list_repos`, `list_entities`, `get_entity`, `search_entities`, `create_entity`, `update_entity`, `delete_entity`.
|
|
197
|
+
MCP tools available: `list_repos`, `create_repo`, `list_entities`, `get_entity`, `search_entities`, `create_entity`, `update_entity`, `delete_entity`.
|
|
194
198
|
|
|
195
199
|
### Third-Party Connectors
|
|
196
200
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent Pool — manages per-session Agent instances for concurrent access.
|
|
3
3
|
*
|
|
4
|
-
* Each session (
|
|
4
|
+
* Each session (folder chat, private chat, capture) gets its own Agent
|
|
5
5
|
* with independent conversation history. Shared resources (tools, system
|
|
6
6
|
* prompt, model) are created once and passed to each new agent.
|
|
7
7
|
*
|
|
@@ -15,12 +15,37 @@ export interface AgentContext {
|
|
|
15
15
|
user: AuthUser | null;
|
|
16
16
|
onHighlight?: ((ids: string[]) => void) | null;
|
|
17
17
|
onMutation?: ((m: MutationEvent) => void) | null;
|
|
18
|
+
/**
|
|
19
|
+
* Called by tool wrappers at the start (`enter`) and end (`leave`) of any
|
|
20
|
+
* mutation that targets a folder. Powers the "X's agent is acting" sidebar
|
|
21
|
+
* chip via wsHub.handleAgentActivity. Optional — no-op if unset.
|
|
22
|
+
*/
|
|
23
|
+
onAgentActivity?: ((action: 'enter' | 'leave' | 'heartbeat', repo: string) => void) | null;
|
|
24
|
+
/**
|
|
25
|
+
* Wired only by the quick-capture flow. When the agent calls the
|
|
26
|
+
* `nothing_to_capture` tool, this receives the structured reason so the
|
|
27
|
+
* UI can render a toast without going through freeform assistant prose
|
|
28
|
+
* (which is variable-quality and leaks the followups marker).
|
|
29
|
+
*/
|
|
30
|
+
onNothingToCapture?: ((reason: string) => void) | null;
|
|
18
31
|
}
|
|
19
32
|
export interface SharedAgentConfig {
|
|
20
33
|
/** Factory to create a fresh Agent instance with tools, prompt, and model. */
|
|
21
34
|
createAgent: (userId?: number) => Agent;
|
|
22
|
-
/**
|
|
23
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Callback to load custom tools async (called once per new agent). The
|
|
37
|
+
* pool passes the session's `userId` so per-user MCP connector OAuth
|
|
38
|
+
* tokens can be resolved at tool-build time — without this, the agent
|
|
39
|
+
* runtime can't read tokens stored under `(user, connector)`.
|
|
40
|
+
*
|
|
41
|
+
* Must return a Promise that resolves when tool loading is done (or
|
|
42
|
+
* rejects on failure — the pool catches and treats it as "load gave
|
|
43
|
+
* up, proceed with bundled tools"). `withAgent` awaits this on the
|
|
44
|
+
* first chat call for the session so the first turn doesn't race
|
|
45
|
+
* against still-loading MCP connector tools. The promise resolves
|
|
46
|
+
* once and subsequent turns see it as a no-op.
|
|
47
|
+
*/
|
|
48
|
+
loadCustomTools?: (agent: Agent, userId?: number) => Promise<void>;
|
|
24
49
|
/** Base sessions directory. */
|
|
25
50
|
sessionsDir: string;
|
|
26
51
|
}
|
|
@@ -52,6 +77,30 @@ export declare class AgentPool {
|
|
|
52
77
|
getAgent(sessionId: string): Agent | null;
|
|
53
78
|
/** Abort the agent for a session. */
|
|
54
79
|
abort(sessionId: string): void;
|
|
80
|
+
/**
|
|
81
|
+
* Evict every cached agent instance. Persists each session's history
|
|
82
|
+
* first so no in-memory transcript is lost. Next chat for any session
|
|
83
|
+
* spins up a fresh agent (via `createAgent` from the config), which
|
|
84
|
+
* re-reads model/provider/api_key via `resolveApiKey` — picking up
|
|
85
|
+
* whatever the store now has.
|
|
86
|
+
*
|
|
87
|
+
* Used as the eviction hook on secret/setting mutations: when the
|
|
88
|
+
* operator rotates an API key or switches providers via Settings UI,
|
|
89
|
+
* the running agent's captured apiKey is stale until restart. This
|
|
90
|
+
* is the surgical fix instead of restarting the whole process.
|
|
91
|
+
*/
|
|
92
|
+
invalidateAll(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Evict every pool entry owned by a specific user. Used as the eviction
|
|
95
|
+
* hook on per-user OAuth mutations: when a user OAuths a new connector
|
|
96
|
+
* (or revokes one), their running agent's tool list — captured at
|
|
97
|
+
* createAgentInstance time — no longer matches reality. Sessions
|
|
98
|
+
* belonging to OTHER users stay in the pool untouched.
|
|
99
|
+
*
|
|
100
|
+
* Saved sessions are written to disk before removal, same as
|
|
101
|
+
* `invalidateAll`, so no transcript is lost.
|
|
102
|
+
*/
|
|
103
|
+
invalidateUser(userId: number): void;
|
|
55
104
|
/** Save all sessions and stop the reaper. */
|
|
56
105
|
shutdown(): Promise<void>;
|
|
57
106
|
/** Clear all saved session files for a user. */
|
package/dist/agent/agent-pool.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent Pool — manages per-session Agent instances for concurrent access.
|
|
3
3
|
*
|
|
4
|
-
* Each session (
|
|
4
|
+
* Each session (folder chat, private chat, capture) gets its own Agent
|
|
5
5
|
* with independent conversation history. Shared resources (tools, system
|
|
6
6
|
* prompt, model) are created once and passed to each new agent.
|
|
7
7
|
*
|
|
@@ -37,8 +37,14 @@ export class AgentPool {
|
|
|
37
37
|
*/
|
|
38
38
|
async withAgent(sessionId, ctx, fn, opts) {
|
|
39
39
|
const entry = this.getOrCreate(sessionId, opts?.userId, opts?.fallbackHistory);
|
|
40
|
-
// Chain on the session's lock to serialize calls
|
|
40
|
+
// Chain on the session's lock to serialize calls. Also await
|
|
41
|
+
// toolsLoaded so the first turn's prompt-to-Anthropic sees the
|
|
42
|
+
// full tool list (bundled + custom + per-user connector). On
|
|
43
|
+
// subsequent turns this promise is already resolved — no wait.
|
|
44
|
+
// Toolloading errors were caught upstream; the await is purely
|
|
45
|
+
// for ordering, never throws.
|
|
41
46
|
const result = entry.lock.then(async () => {
|
|
47
|
+
await entry.toolsLoaded;
|
|
42
48
|
entry.lastUsedAt = Date.now();
|
|
43
49
|
this.contextMap.set(sessionId, ctx);
|
|
44
50
|
try {
|
|
@@ -62,6 +68,43 @@ export class AgentPool {
|
|
|
62
68
|
abort(sessionId) {
|
|
63
69
|
this.pool.get(sessionId)?.agent.abort();
|
|
64
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Evict every cached agent instance. Persists each session's history
|
|
73
|
+
* first so no in-memory transcript is lost. Next chat for any session
|
|
74
|
+
* spins up a fresh agent (via `createAgent` from the config), which
|
|
75
|
+
* re-reads model/provider/api_key via `resolveApiKey` — picking up
|
|
76
|
+
* whatever the store now has.
|
|
77
|
+
*
|
|
78
|
+
* Used as the eviction hook on secret/setting mutations: when the
|
|
79
|
+
* operator rotates an API key or switches providers via Settings UI,
|
|
80
|
+
* the running agent's captured apiKey is stale until restart. This
|
|
81
|
+
* is the surgical fix instead of restarting the whole process.
|
|
82
|
+
*/
|
|
83
|
+
invalidateAll() {
|
|
84
|
+
for (const entry of this.pool.values()) {
|
|
85
|
+
this.saveSession(entry);
|
|
86
|
+
}
|
|
87
|
+
this.pool.clear();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Evict every pool entry owned by a specific user. Used as the eviction
|
|
91
|
+
* hook on per-user OAuth mutations: when a user OAuths a new connector
|
|
92
|
+
* (or revokes one), their running agent's tool list — captured at
|
|
93
|
+
* createAgentInstance time — no longer matches reality. Sessions
|
|
94
|
+
* belonging to OTHER users stay in the pool untouched.
|
|
95
|
+
*
|
|
96
|
+
* Saved sessions are written to disk before removal, same as
|
|
97
|
+
* `invalidateAll`, so no transcript is lost.
|
|
98
|
+
*/
|
|
99
|
+
invalidateUser(userId) {
|
|
100
|
+
for (const [sessionId, entry] of this.pool.entries()) {
|
|
101
|
+
if (entry.userId === userId) {
|
|
102
|
+
this.saveSession(entry);
|
|
103
|
+
this.pool.delete(sessionId);
|
|
104
|
+
this.contextMap.delete(sessionId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
65
108
|
/** Save all sessions and stop the reaper. */
|
|
66
109
|
async shutdown() {
|
|
67
110
|
if (this.reapTimer) {
|
|
@@ -105,20 +148,57 @@ export class AgentPool {
|
|
|
105
148
|
return existing;
|
|
106
149
|
// Create a fresh agent instance (pass userId for per-user context like briefing)
|
|
107
150
|
const agent = this.config.createAgent(userId);
|
|
108
|
-
|
|
151
|
+
// Kick off async tool loading. The returned promise gets stashed on
|
|
152
|
+
// the pool entry so the first withAgent call can await it — that's
|
|
153
|
+
// what closes the timing race between agent construction and the
|
|
154
|
+
// user's first chat turn referencing a connector tool. If the
|
|
155
|
+
// callback returns undefined (legacy or test surfaces that don't
|
|
156
|
+
// need to gate on it), treat it as already-resolved.
|
|
157
|
+
const toolsLoaded = (this.config.loadCustomTools?.(agent, userId) ?? Promise.resolve()).catch((err) => {
|
|
158
|
+
// Swallow the rejection here — the agent should proceed with
|
|
159
|
+
// whatever subset of tools landed. The orchestrator's own
|
|
160
|
+
// catch path already logged the underlying failure.
|
|
161
|
+
// eslint-disable-next-line no-console
|
|
162
|
+
console.warn(`[agent-pool] tool loading rejected, proceeding with bundled tools: ${err instanceof Error ? err.message : err}`);
|
|
163
|
+
});
|
|
109
164
|
// Try loading session from disk
|
|
110
165
|
const loaded = this.loadSession(agent, sessionId, userId);
|
|
111
|
-
// Fallback:
|
|
166
|
+
// Fallback: rebuild the transcript as proper role-tagged messages when
|
|
167
|
+
// the saved session file is missing (cleared, corrupted, or first turn
|
|
168
|
+
// on a fresh container). The previous implementation flattened the
|
|
169
|
+
// entire history into a single role: 'user' message with "Assistant:" /
|
|
170
|
+
// "User:" prefixes embedded as plain text — the model then had to parse
|
|
171
|
+
// those textual prefixes to know what was its own output, and would
|
|
172
|
+
// sometimes mis-attribute its prior turns to the user (e.g. "you
|
|
173
|
+
// mentioned that Watowa consults" when the user had just said "we
|
|
174
|
+
// consult on..."). Mapping each turn to its actual role tag lets the
|
|
175
|
+
// model distinguish reliably without parsing-by-prefix.
|
|
112
176
|
if (!loaded && fallbackHistory && fallbackHistory.length > 0) {
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
role
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
177
|
+
const model = agent.state.model;
|
|
178
|
+
const baseTime = Date.now() - fallbackHistory.length * 1000;
|
|
179
|
+
agent.state.messages = fallbackHistory.map((m, i) => {
|
|
180
|
+
const timestamp = baseTime + i * 1000;
|
|
181
|
+
if (m.role === 'assistant') {
|
|
182
|
+
return {
|
|
183
|
+
role: 'assistant',
|
|
184
|
+
content: [{ type: 'text', text: m.content }],
|
|
185
|
+
api: model.api,
|
|
186
|
+
provider: model.provider,
|
|
187
|
+
model: model.id,
|
|
188
|
+
usage: {
|
|
189
|
+
input: 0, output: 0, cacheRead: 0, cacheWrite: 0, totalTokens: 0,
|
|
190
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
|
|
191
|
+
},
|
|
192
|
+
stopReason: 'stop',
|
|
193
|
+
timestamp,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
role: 'user',
|
|
198
|
+
content: [{ type: 'text', text: m.content }],
|
|
199
|
+
timestamp,
|
|
200
|
+
};
|
|
201
|
+
});
|
|
122
202
|
}
|
|
123
203
|
const entry = {
|
|
124
204
|
agent,
|
|
@@ -126,6 +206,7 @@ export class AgentPool {
|
|
|
126
206
|
userId,
|
|
127
207
|
lastUsedAt: Date.now(),
|
|
128
208
|
lock: Promise.resolve(),
|
|
209
|
+
toolsLoaded,
|
|
129
210
|
};
|
|
130
211
|
this.pool.set(sessionId, entry);
|
|
131
212
|
return entry;
|
|
@@ -140,7 +221,7 @@ export class AgentPool {
|
|
|
140
221
|
try {
|
|
141
222
|
const data = JSON.parse(readFileSync(sessionPath, 'utf-8'));
|
|
142
223
|
if (Array.isArray(data.messages) && data.messages.length > 0) {
|
|
143
|
-
agent.
|
|
224
|
+
agent.state.messages = data.messages;
|
|
144
225
|
return true;
|
|
145
226
|
}
|
|
146
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../../src/agent/agent-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC3G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKrC,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,aAAa;AAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAK,kBAAkB;AACvD,MAAM,qBAAqB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../../src/agent/agent-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Follow-up suggestion marker parsing.
|
|
3
|
+
*
|
|
4
|
+
* The system prompt instructs the agent to end every response with an HTML
|
|
5
|
+
* comment of the form:
|
|
6
|
+
*
|
|
7
|
+
* <!-- followups: ["prompt 1", "prompt 2", "prompt 3"] -->
|
|
8
|
+
*
|
|
9
|
+
* Each transport (web, CLI, MCP) must strip this marker from the content it
|
|
10
|
+
* displays and surface the suggestions in whatever form fits its UI — chips
|
|
11
|
+
* in the web client, a dim numbered list in the CLI, a `suggestions` field
|
|
12
|
+
* in MCP, etc.
|
|
13
|
+
*
|
|
14
|
+
* Keep the parser in one place so a new transport can't silently leak the
|
|
15
|
+
* raw marker.
|
|
16
|
+
*/
|
|
17
|
+
export interface ParsedFollowups {
|
|
18
|
+
/** Response content with the marker removed and trailing whitespace trimmed. */
|
|
19
|
+
content: string;
|
|
20
|
+
/** Parsed suggestions, if the marker was present and valid JSON. */
|
|
21
|
+
suggestions?: string[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse a raw agent response and split it into clean content plus optional
|
|
25
|
+
* follow-up suggestions. Malformed markers are left in place (the caller can
|
|
26
|
+
* choose to strip or render as-is), matching the existing web behaviour.
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseFollowups(raw: string): ParsedFollowups;
|
|
29
|
+
/**
|
|
30
|
+
* Return true if `text` contains an *unclosed* followups marker — used by
|
|
31
|
+
* streaming consumers to know whether to defer rendering the tail of a
|
|
32
|
+
* delta until the closing `-->` arrives.
|
|
33
|
+
*/
|
|
34
|
+
export declare function hasOpenFollowupsMarker(text: string): boolean;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Follow-up suggestion marker parsing.
|
|
3
|
+
*
|
|
4
|
+
* The system prompt instructs the agent to end every response with an HTML
|
|
5
|
+
* comment of the form:
|
|
6
|
+
*
|
|
7
|
+
* <!-- followups: ["prompt 1", "prompt 2", "prompt 3"] -->
|
|
8
|
+
*
|
|
9
|
+
* Each transport (web, CLI, MCP) must strip this marker from the content it
|
|
10
|
+
* displays and surface the suggestions in whatever form fits its UI — chips
|
|
11
|
+
* in the web client, a dim numbered list in the CLI, a `suggestions` field
|
|
12
|
+
* in MCP, etc.
|
|
13
|
+
*
|
|
14
|
+
* Keep the parser in one place so a new transport can't silently leak the
|
|
15
|
+
* raw marker.
|
|
16
|
+
*/
|
|
17
|
+
/** Matches the trailing followups HTML comment at end of text (with optional trailing whitespace). */
|
|
18
|
+
const FOLLOWUPS_RE = /<!--\s*followups:\s*(\[[\s\S]*?\])\s*-->\s*$/;
|
|
19
|
+
/**
|
|
20
|
+
* Parse a raw agent response and split it into clean content plus optional
|
|
21
|
+
* follow-up suggestions. Malformed markers are left in place (the caller can
|
|
22
|
+
* choose to strip or render as-is), matching the existing web behaviour.
|
|
23
|
+
*/
|
|
24
|
+
export function parseFollowups(raw) {
|
|
25
|
+
const match = raw.match(FOLLOWUPS_RE);
|
|
26
|
+
if (!match)
|
|
27
|
+
return { content: raw };
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(match[1]);
|
|
30
|
+
if (!Array.isArray(parsed) || !parsed.every((s) => typeof s === 'string')) {
|
|
31
|
+
return { content: raw };
|
|
32
|
+
}
|
|
33
|
+
const content = raw.slice(0, match.index).trimEnd();
|
|
34
|
+
return { content, suggestions: parsed };
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return { content: raw };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Return true if `text` contains an *unclosed* followups marker — used by
|
|
42
|
+
* streaming consumers to know whether to defer rendering the tail of a
|
|
43
|
+
* delta until the closing `-->` arrives.
|
|
44
|
+
*/
|
|
45
|
+
export function hasOpenFollowupsMarker(text) {
|
|
46
|
+
const lastOpen = text.lastIndexOf('<!--');
|
|
47
|
+
if (lastOpen < 0)
|
|
48
|
+
return false;
|
|
49
|
+
const lastClose = text.lastIndexOf('-->');
|
|
50
|
+
return lastClose < lastOpen;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=followups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"followups.js","sourceRoot":"","sources":["../../src/agent/followups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sGAAsG;AACtG,MAAM,YAAY,GAAG,8CAA8C,CAAC;AASpE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,SAAS,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { WorkspaceManager } from '../core/workspace-manager.js';
|
|
|
9
9
|
import { WorkspaceConfig } from '../core/types.js';
|
|
10
10
|
import { GitUser } from '../services/git.js';
|
|
11
11
|
import { type MutationEvent } from './tools/graph-tools.js';
|
|
12
|
+
import { AuthService } from '../services/auth-service.js';
|
|
12
13
|
import type { AuthUser } from '../services/auth-service.js';
|
|
13
14
|
import { AgentPool } from './agent-pool.js';
|
|
14
15
|
export interface AgentConfig {
|
|
@@ -23,8 +24,24 @@ export interface AgentConfig {
|
|
|
23
24
|
recentMemory?: string;
|
|
24
25
|
/** Shared WorkspaceManager instance (used by server to share state with agent). */
|
|
25
26
|
workspaceManager?: WorkspaceManager;
|
|
26
|
-
/**
|
|
27
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Shared AuthService — pass the route-level instance so the
|
|
29
|
+
* orchestrator participates in the same OAuth-mutation pubsub and uses
|
|
30
|
+
* the master-key-wired crypto path for `oauth_tokens` reads.
|
|
31
|
+
*
|
|
32
|
+
* Without this, the orchestrator constructs a fresh AuthService that
|
|
33
|
+
* (a) has no master key, so reads of encrypted oauth_tokens rows
|
|
34
|
+
* throw; (b) subscribes to a different pubsub channel than the one
|
|
35
|
+
* `connectors-api.ts` fires, so OAuth-mutation invalidations never
|
|
36
|
+
* reach the agent pool. Phase 8 (May 11 2026) wired crypto into the
|
|
37
|
+
* route-level AuthService but missed this instance — latent until
|
|
38
|
+
* the 2026-05-13 per-user OAuth runtime wiring made the orchestrator
|
|
39
|
+
* actually read encrypted oauth_tokens.
|
|
40
|
+
*
|
|
41
|
+
* Tests and CLI surfaces still construct their own — back-compat
|
|
42
|
+
* fallback below.
|
|
43
|
+
*/
|
|
44
|
+
authService?: AuthService;
|
|
28
45
|
}
|
|
29
46
|
export interface AgentResponse {
|
|
30
47
|
content: string;
|
|
@@ -44,7 +61,6 @@ export declare class AgentOrchestrator {
|
|
|
44
61
|
private toolsDirs;
|
|
45
62
|
private registryRef;
|
|
46
63
|
private authService;
|
|
47
|
-
private messageService;
|
|
48
64
|
private recentMemory?;
|
|
49
65
|
private sessionsDir;
|
|
50
66
|
private _currentUser;
|
|
@@ -63,12 +79,32 @@ export declare class AgentOrchestrator {
|
|
|
63
79
|
* Runs async after construction — custom tools may not be available for the
|
|
64
80
|
* very first message if initialisation is extremely fast, but in practice
|
|
65
81
|
* the first user message arrives well after startup.
|
|
82
|
+
*
|
|
83
|
+
* `userId` is forwarded into `ConnectorManager.buildTools` so per-user MCP
|
|
84
|
+
* OAuth tokens are resolved at tool-build time. Without it the runtime
|
|
85
|
+
* silently falls back to workspace-shared static headers (the deferred
|
|
86
|
+
* gap before 2026-05-13). The agent pool keys agents per-session and
|
|
87
|
+
* supplies the session's userId on creation; CLI / non-interactive
|
|
88
|
+
* spawns pass `undefined` and intentionally land on the workspace
|
|
89
|
+
* fallback.
|
|
66
90
|
*/
|
|
67
91
|
private loadCustomToolsAsync;
|
|
68
92
|
/**
|
|
69
93
|
* Build the full system prompt: base prompt + eager skill content + skill index.
|
|
70
94
|
*/
|
|
71
95
|
private buildSystemPrompt;
|
|
96
|
+
/**
|
|
97
|
+
* Enumerate skill entities across all folders the user can access. Each
|
|
98
|
+
* skill becomes a SkillMeta with a `graph://<repo>/<id>` sentinel
|
|
99
|
+
* entrypoint. Priority order: user's private folder first, then shared
|
|
100
|
+
* folders alphabetically. First occurrence of a given name wins.
|
|
101
|
+
*/
|
|
102
|
+
private getPromptRepoScope;
|
|
103
|
+
private enumerateGraphSkills;
|
|
104
|
+
/**
|
|
105
|
+
* Load the markdown body of a skill entity by (repo, id).
|
|
106
|
+
*/
|
|
107
|
+
private readGraphSkillBody;
|
|
72
108
|
/**
|
|
73
109
|
* Build a workspace identity section from graph entities.
|
|
74
110
|
* Reads organization, person, practice-area, and guideline entries
|
|
@@ -76,6 +112,13 @@ export declare class AgentOrchestrator {
|
|
|
76
112
|
* Returns null if no organization entries exist.
|
|
77
113
|
*/
|
|
78
114
|
private buildWorkspaceIdentity;
|
|
115
|
+
/**
|
|
116
|
+
* Per-repo subfolder summary for the system prompt. Lists each accessible
|
|
117
|
+
* repo with up to MAX_PER_REPO subfolder paths so the agent can route new
|
|
118
|
+
* entries into existing folders without calling list_folders for every
|
|
119
|
+
* decision. Refresh cadence is per-session (system prompt is built once).
|
|
120
|
+
*/
|
|
121
|
+
private buildFolderInventory;
|
|
79
122
|
/**
|
|
80
123
|
* Fallback system prompt when prompts/system.md is not found.
|
|
81
124
|
*/
|
|
@@ -118,7 +161,7 @@ export declare class AgentOrchestrator {
|
|
|
118
161
|
*/
|
|
119
162
|
getRepoNames(): string[];
|
|
120
163
|
/**
|
|
121
|
-
* Set the current authenticated user for per-
|
|
164
|
+
* Set the current authenticated user for per-folder access filtering.
|
|
122
165
|
* Called per-request by the chat endpoint. Null = full access (API key / open mode).
|
|
123
166
|
*/
|
|
124
167
|
setCurrentUser(user: AuthUser | null): void;
|