studiograph 1.3.48-next.44 → 1.3.48-next.46
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 +6 -6
- package/dist/agent/agent-pool.d.ts +1 -1
- package/dist/agent/agent-pool.js +1 -1
- package/dist/agent/orchestrator.d.ts +2 -2
- package/dist/agent/orchestrator.js +1 -1
- package/dist/agent/prompts/entity-types-section.d.ts +6 -9
- package/dist/agent/prompts/entity-types-section.js +23 -18
- package/dist/agent/prompts/entity-types-section.js.map +1 -1
- package/dist/agent/prompts/system.md +4 -3
- package/dist/agent/skills/entity-schema.md +20 -13
- package/dist/agent/skills/interview/skill.md +28 -20
- package/dist/agent/skills/sync-configuration.md +2 -2
- package/dist/agent/tools/graph-tools.js +29 -30
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/agent/tools/message-tools.d.ts +3 -3
- package/dist/agent/tools/message-tools.js +20 -20
- package/dist/agent/tools/message-tools.js.map +1 -1
- package/dist/agent/tools/permission-tools.d.ts +6 -6
- package/dist/agent/tools/permission-tools.js +14 -14
- package/dist/agent/tools/permission-tools.js.map +1 -1
- package/dist/cli/commands/clone.d.ts +1 -1
- package/dist/cli/commands/clone.js +3 -3
- package/dist/cli/commands/clone.js.map +1 -1
- package/dist/cli/commands/deploy.js +1 -1
- 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 +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js +13 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/join.d.ts +1 -1
- package/dist/cli/commands/join.js +4 -4
- package/dist/cli/commands/join.js.map +1 -1
- package/dist/cli/commands/serve.js +5 -5
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.js +51 -38
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/user.js +2 -2
- package/dist/cli/commands/user.js.map +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/scaffolding.js +5 -5
- package/dist/core/entity-body-templates.d.ts +21 -0
- package/dist/core/entity-body-templates.js +50 -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/graph.d.ts +8 -0
- package/dist/core/graph.js +62 -6
- package/dist/core/graph.js.map +1 -1
- package/dist/core/schema-registry.js +1 -19
- package/dist/core/schema-registry.js.map +1 -1
- package/dist/core/types.js +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/validation.d.ts +106 -6
- package/dist/core/validation.js +31 -7
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-manager.d.ts +4 -4
- package/dist/core/workspace-manager.js +4 -4
- package/dist/core/workspace.js +8 -8
- package/dist/core/workspace.js.map +1 -1
- package/dist/mcp/tools.js +10 -9
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/auth-api.js +14 -4
- package/dist/server/routes/auth-api.js.map +1 -1
- package/dist/server/routes/capture-api.js +1 -1
- package/dist/server/routes/capture-api.js.map +1 -1
- package/dist/server/routes/config-api.d.ts +2 -2
- package/dist/server/routes/config-api.js +3 -3
- package/dist/server/routes/config-api.js.map +1 -1
- package/dist/server/routes/git-http.d.ts +2 -2
- package/dist/server/routes/git-http.js +10 -10
- package/dist/server/routes/git-http.js.map +1 -1
- package/dist/server/routes/graph-api.d.ts +1 -1
- package/dist/server/routes/graph-api.js +14 -12
- package/dist/server/routes/graph-api.js.map +1 -1
- package/dist/server/routes/insights-api.js +1 -1
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/routes/meeting-ingest-api.d.ts +2 -1
- package/dist/server/routes/meeting-ingest-api.js +3 -3
- package/dist/server/routes/meeting-ingest-api.js.map +1 -1
- package/dist/server/routes/messages-api.d.ts +3 -3
- package/dist/server/routes/messages-api.js +79 -79
- package/dist/server/routes/messages-api.js.map +1 -1
- package/dist/server/routes/ws.js +5 -5
- package/dist/server/routes/ws.js.map +1 -1
- package/dist/server/ws-hub.d.ts +19 -19
- package/dist/server/ws-hub.js +12 -12
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +24 -5
- package/dist/server/yjs-manager.js +115 -23
- package/dist/server/yjs-manager.js.map +1 -1
- package/dist/services/access-control.d.ts +1 -1
- package/dist/services/access-control.js +1 -1
- package/dist/services/auth-service.d.ts +2 -8
- package/dist/services/auth-service.js +42 -54
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/briefing.d.ts +1 -1
- package/dist/services/briefing.js +4 -4
- package/dist/services/briefing.js.map +1 -1
- package/dist/services/folder-creation.d.ts +5 -5
- package/dist/services/folder-creation.js +9 -9
- package/dist/services/folder-creation.js.map +1 -1
- package/dist/services/heartbeat.d.ts +3 -3
- package/dist/services/heartbeat.js +19 -18
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/insights.d.ts +1 -1
- package/dist/services/insights.js +7 -7
- package/dist/services/insights.js.map +1 -1
- package/dist/services/meeting-processor.d.ts +3 -1
- package/dist/services/meeting-processor.js +27 -4
- package/dist/services/meeting-processor.js.map +1 -1
- package/dist/services/message-service.d.ts +32 -40
- package/dist/services/message-service.js +58 -136
- package/dist/services/message-service.js.map +1 -1
- package/dist/web/_app/immutable/assets/0.B7saOfJ4.css +1 -0
- package/dist/web/_app/immutable/assets/2.BrsBxJR2.css +1 -0
- package/dist/web/_app/immutable/assets/3.K3A_7PML.css +1 -0
- package/dist/web/_app/immutable/assets/4.UCpFaeF7.css +1 -0
- package/dist/web/_app/immutable/assets/ChevronLeft.CXYAbxUK.css +1 -0
- package/dist/web/_app/immutable/assets/WorkspaceView.CZiD6K1j.css +1 -0
- package/dist/web/_app/immutable/chunks/{8_jCkxgw.js → 3fzBvnRK.js} +1 -1
- package/dist/web/_app/immutable/chunks/{7S2LGqoP.js → 9xC3_NfM.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BIoj7F88.js → B-8WiidI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DKXiwL77.js → B1f42VKu.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BQnqSDZG.js → B584Plw_.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DJEBbKbS.js → BCJtO6Up.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bcn_m5hx.js → BDtxhI5r.js} +1 -1
- package/dist/web/_app/immutable/chunks/BG3K4Ffz.js +1 -0
- package/dist/web/_app/immutable/chunks/{oa6HnS5k.js → BJVJpWzz.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CKzwiV7Q.js → BK42PcDI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C3V53KCI.js → BMB60CtO.js} +1 -1
- package/dist/web/_app/immutable/chunks/BQiOMhgK.js +1 -0
- package/dist/web/_app/immutable/chunks/{DgbgV5MI.js → BUzEKAuP.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DPbU7uqF.js → BaMdMBD6.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CHaYrWAA.js → Bl6cABIh.js} +1 -1
- package/dist/web/_app/immutable/chunks/{9imeQ5wl.js → BuXDvHC7.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B3uTy3Z2.js → BvVwTRB5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C0LVZhvn.js → Bw_Pp-Pz.js} +1 -1
- package/dist/web/_app/immutable/chunks/C1NQznQ7.js +1 -0
- package/dist/web/_app/immutable/chunks/C5yEnjzs.js +1 -0
- package/dist/web/_app/immutable/chunks/{wDIGUaoU.js → C7PgRgxX.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BrebtJNG.js → CH2ArZqX.js} +1 -1
- package/dist/web/_app/immutable/chunks/{vJOLQe9d.js → COSWCWJc.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DeHVymrc.js → CTh3LGxI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CoIXzWkc.js → CVWN0my4.js} +2 -2
- package/dist/web/_app/immutable/chunks/CZeohBjq.js +1 -0
- package/dist/web/_app/immutable/chunks/{Dl50K44_.js → Ca1DAtQh.js} +2 -2
- package/dist/web/_app/immutable/chunks/{Dq2eXdHQ.js → CcmvIPLE.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BuKNrSXZ.js → CmQUXR-Q.js} +1 -1
- package/dist/web/_app/immutable/chunks/CmomLU0-.js +2 -0
- package/dist/web/_app/immutable/chunks/D3dgfs75.js +1 -0
- package/dist/web/_app/immutable/chunks/DJ_SFF0D.js +1 -0
- package/dist/web/_app/immutable/chunks/{Bqun7MEm.js → DMTS67P5.js} +1 -1
- package/dist/web/_app/immutable/chunks/DTJlR4oR.js +1 -0
- package/dist/web/_app/immutable/chunks/{DOmq7COG.js → DWpKEluI.js} +1 -1
- package/dist/web/_app/immutable/chunks/DXlELvfC.js +1 -0
- package/dist/web/_app/immutable/chunks/Db1mfton.js +4 -0
- package/dist/web/_app/immutable/chunks/{CzKDG1zH.js → DckX78C-.js} +1 -1
- package/dist/web/_app/immutable/chunks/DlgCREv_.js +1 -0
- package/dist/web/_app/immutable/chunks/{DnL9f0lc.js → Dmcboreb.js} +1 -1
- package/dist/web/_app/immutable/chunks/IWO0A1w9.js +1 -0
- package/dist/web/_app/immutable/chunks/{Bs5wOlXV.js → PHw7Ht7D.js} +1 -1
- package/dist/web/_app/immutable/chunks/{GQRsMwWZ.js → QtcHHeRi.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C2CjvQXr.js → bMzq2Tyt.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B45od9dM.js → gZfO0DkI.js} +1 -1
- package/dist/web/_app/immutable/chunks/hkugGpVO.js +1 -0
- package/dist/web/_app/immutable/chunks/{vxEtkL8z.js → ikxQzGAp.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D6bGKuk4.js → oIb8yPFh.js} +4 -4
- package/dist/web/_app/immutable/chunks/w2RYKQMp.js +2 -0
- package/dist/web/_app/immutable/entry/app.AFFmTFx0.js +2 -0
- package/dist/web/_app/immutable/entry/start.O-4YoKrj.js +1 -0
- package/dist/web/_app/immutable/nodes/0.jMN0pmf6.js +2 -0
- package/dist/web/_app/immutable/nodes/{1.DVpJ5KVX.js → 1.DlxxGRYS.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.Dgm3SkyJ.js → 10.2NDoXCmY.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.C7-u3hUa.js → 11.5jd1gXx0.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.BtLa3rCo.js → 12.BCBynJu4.js} +1 -1
- package/dist/web/_app/immutable/nodes/2.DFMscnFh.js +268 -0
- package/dist/web/_app/immutable/nodes/3.B0twnXNl.js +5 -0
- package/dist/web/_app/immutable/nodes/4.CqkSIiOB.js +11 -0
- package/dist/web/_app/immutable/nodes/{5.BKW9QC06.js → 5.CO1WA-Xg.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.D2KNXmcT.js → 6.aLjp01uP.js} +1 -1
- package/dist/web/_app/immutable/nodes/7.DCYQAXqZ.js +1 -0
- package/dist/web/_app/immutable/nodes/{8.TJbYuOPc.js → 8.D4x7WdLN.js} +1 -1
- package/dist/web/_app/immutable/nodes/9.CHemjpvQ.js +1 -0
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +11 -11
- package/package.json +1 -1
- package/dist/agent/role-loader.d.ts +0 -24
- package/dist/agent/role-loader.js +0 -67
- package/dist/agent/role-loader.js.map +0 -1
- package/dist/agent/skills/create-deck/content-guide.md +0 -238
- package/dist/agent/skills/create-deck/deck-cadence.md +0 -105
- package/dist/agent/skills/create-deck/diagrams.md +0 -431
- package/dist/agent/skills/create-deck/skill.md +0 -89
- package/dist/agent/skills/create-deck/slide-selection.md +0 -115
- package/dist/agent/skills/create-deck/slide-types.md +0 -638
- package/dist/agent/skills/create-document/skill.md +0 -229
- package/dist/agent/skills/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/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/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/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/mcp/connectors/asana.d.ts +0 -2
- package/dist/mcp/connectors/asana.js +0 -20
- package/dist/mcp/connectors/asana.js.map +0 -1
- package/dist/mcp/connectors/definitions.d.ts +0 -45
- package/dist/mcp/connectors/definitions.js +0 -32
- package/dist/mcp/connectors/definitions.js.map +0 -1
- package/dist/mcp/connectors/figma.d.ts +0 -5
- package/dist/mcp/connectors/figma.js +0 -21
- package/dist/mcp/connectors/figma.js.map +0 -1
- package/dist/mcp/connectors/gdrive.d.ts +0 -2
- package/dist/mcp/connectors/gdrive.js +0 -20
- package/dist/mcp/connectors/gdrive.js.map +0 -1
- package/dist/mcp/connectors/granola.d.ts +0 -2
- package/dist/mcp/connectors/granola.js +0 -12
- package/dist/mcp/connectors/granola.js.map +0 -1
- package/dist/mcp/connectors/linear.d.ts +0 -2
- package/dist/mcp/connectors/linear.js +0 -19
- package/dist/mcp/connectors/linear.js.map +0 -1
- package/dist/mcp/connectors/obsidian.d.ts +0 -2
- package/dist/mcp/connectors/obsidian.js +0 -19
- package/dist/mcp/connectors/obsidian.js.map +0 -1
- package/dist/mcp/connectors/pipedrive.d.ts +0 -2
- package/dist/mcp/connectors/pipedrive.js +0 -20
- package/dist/mcp/connectors/pipedrive.js.map +0 -1
- package/dist/mcp/connectors/slack.d.ts +0 -2
- package/dist/mcp/connectors/slack.js +0 -21
- package/dist/mcp/connectors/slack.js.map +0 -1
- package/dist/mcp/server-oauth-provider.d.ts +0 -56
- package/dist/mcp/server-oauth-provider.js +0 -142
- package/dist/mcp/server-oauth-provider.js.map +0 -1
- package/dist/renderers/documents/branding.d.ts +0 -2
- package/dist/renderers/documents/branding.js +0 -42
- package/dist/renderers/documents/branding.js.map +0 -1
- package/dist/renderers/documents/entity-types.json +0 -14
- package/dist/renderers/documents/parser/frontmatter.d.ts +0 -5
- package/dist/renderers/documents/parser/frontmatter.js +0 -90
- package/dist/renderers/documents/parser/frontmatter.js.map +0 -1
- package/dist/renderers/documents/parser/index.d.ts +0 -5
- package/dist/renderers/documents/parser/index.js +0 -142
- package/dist/renderers/documents/parser/index.js.map +0 -1
- package/dist/renderers/documents/parser/sections.d.ts +0 -18
- package/dist/renderers/documents/parser/sections.js +0 -131
- package/dist/renderers/documents/parser/sections.js.map +0 -1
- package/dist/renderers/documents/pdf/generator.d.ts +0 -13
- package/dist/renderers/documents/pdf/generator.js +0 -79
- package/dist/renderers/documents/pdf/generator.js.map +0 -1
- package/dist/renderers/documents/plugin.d.ts +0 -2
- package/dist/renderers/documents/plugin.js +0 -63
- package/dist/renderers/documents/plugin.js.map +0 -1
- package/dist/renderers/documents/public/branding/logo.svg +0 -3
- package/dist/renderers/documents/public/editor/chrome.css +0 -461
- package/dist/renderers/documents/public/editor/chrome.js +0 -524
- package/dist/renderers/documents/public/editor/editor.css +0 -751
- package/dist/renderers/documents/public/editor/editor.html +0 -140
- package/dist/renderers/documents/public/editor/editor.js +0 -953
- package/dist/renderers/documents/public/fonts/fonts.css +0 -145
- package/dist/renderers/documents/public/viewer/viewer.css +0 -1
- package/dist/renderers/documents/public/viewer/viewer.js +0 -4
- package/dist/renderers/documents/renderer/back.d.ts +0 -8
- package/dist/renderers/documents/renderer/back.js +0 -28
- package/dist/renderers/documents/renderer/back.js.map +0 -1
- package/dist/renderers/documents/renderer/content.d.ts +0 -7
- package/dist/renderers/documents/renderer/content.js +0 -25
- package/dist/renderers/documents/renderer/content.js.map +0 -1
- package/dist/renderers/documents/renderer/cover.d.ts +0 -15
- package/dist/renderers/documents/renderer/cover.js +0 -43
- package/dist/renderers/documents/renderer/cover.js.map +0 -1
- package/dist/renderers/documents/renderer/helpers.d.ts +0 -1
- package/dist/renderers/documents/renderer/helpers.js +0 -11
- package/dist/renderers/documents/renderer/helpers.js.map +0 -1
- package/dist/renderers/documents/renderer/index.d.ts +0 -32
- package/dist/renderers/documents/renderer/index.js +0 -80
- package/dist/renderers/documents/renderer/index.js.map +0 -1
- package/dist/renderers/documents/renderer/styles.d.ts +0 -16
- package/dist/renderers/documents/renderer/styles.js +0 -546
- package/dist/renderers/documents/renderer/styles.js.map +0 -1
- package/dist/renderers/documents/routes/api.d.ts +0 -2
- package/dist/renderers/documents/routes/api.js +0 -587
- package/dist/renderers/documents/routes/api.js.map +0 -1
- package/dist/renderers/documents/routes/editor.d.ts +0 -2
- package/dist/renderers/documents/routes/editor.js +0 -31
- package/dist/renderers/documents/routes/editor.js.map +0 -1
- package/dist/renderers/documents/routes/viewer.d.ts +0 -2
- package/dist/renderers/documents/routes/viewer.js +0 -67
- package/dist/renderers/documents/routes/viewer.js.map +0 -1
- package/dist/renderers/documents/types.d.ts +0 -61
- package/dist/renderers/documents/types.js +0 -2
- package/dist/renderers/documents/types.js.map +0 -1
- package/dist/renderers/index.d.ts +0 -24
- package/dist/renderers/index.js +0 -66
- package/dist/renderers/index.js.map +0 -1
- package/dist/renderers/slides/design-system/tokens.d.ts +0 -108
- package/dist/renderers/slides/design-system/tokens.js +0 -44
- package/dist/renderers/slides/design-system/tokens.js.map +0 -1
- package/dist/renderers/slides/entity-types.json +0 -14
- package/dist/renderers/slides/parser/comment-parser.d.ts +0 -10
- package/dist/renderers/slides/parser/comment-parser.js +0 -89
- package/dist/renderers/slides/parser/comment-parser.js.map +0 -1
- package/dist/renderers/slides/parser/frontmatter.d.ts +0 -10
- package/dist/renderers/slides/parser/frontmatter.js +0 -93
- package/dist/renderers/slides/parser/frontmatter.js.map +0 -1
- package/dist/renderers/slides/parser/index.d.ts +0 -7
- package/dist/renderers/slides/parser/index.js +0 -569
- package/dist/renderers/slides/parser/index.js.map +0 -1
- package/dist/renderers/slides/parser/slide-splitter.d.ts +0 -6
- package/dist/renderers/slides/parser/slide-splitter.js +0 -54
- package/dist/renderers/slides/parser/slide-splitter.js.map +0 -1
- package/dist/renderers/slides/parser/type-detector.d.ts +0 -6
- package/dist/renderers/slides/parser/type-detector.js +0 -70
- package/dist/renderers/slides/parser/type-detector.js.map +0 -1
- package/dist/renderers/slides/pdf/generator.d.ts +0 -11
- package/dist/renderers/slides/pdf/generator.js +0 -105
- package/dist/renderers/slides/pdf/generator.js.map +0 -1
- package/dist/renderers/slides/plugin.d.ts +0 -2
- package/dist/renderers/slides/plugin.js +0 -70
- package/dist/renderers/slides/plugin.js.map +0 -1
- package/dist/renderers/slides/public/editor/.gitkeep +0 -0
- package/dist/renderers/slides/public/editor/chrome.css +0 -461
- package/dist/renderers/slides/public/editor/chrome.js +0 -519
- package/dist/renderers/slides/public/editor/editor.css +0 -896
- package/dist/renderers/slides/public/editor/editor.html +0 -131
- package/dist/renderers/slides/public/editor/editor.js +0 -1038
- package/dist/renderers/slides/public/fonts/fonts.css +0 -145
- package/dist/renderers/slides/public/viewer/.gitkeep +0 -0
- package/dist/renderers/slides/public/viewer/chrome.css +0 -62
- package/dist/renderers/slides/public/viewer/transitions.css +0 -1
- package/dist/renderers/slides/public/viewer/viewer.css +0 -2145
- package/dist/renderers/slides/public/viewer/viewer.js +0 -303
- package/dist/renderers/slides/renderer/chrome/browser-frame.d.ts +0 -5
- package/dist/renderers/slides/renderer/chrome/browser-frame.js +0 -22
- package/dist/renderers/slides/renderer/chrome/browser-frame.js.map +0 -1
- package/dist/renderers/slides/renderer/chrome/mobile-frame.d.ts +0 -6
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js +0 -18
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js.map +0 -1
- package/dist/renderers/slides/renderer/helpers.d.ts +0 -13
- package/dist/renderers/slides/renderer/helpers.js +0 -33
- package/dist/renderers/slides/renderer/helpers.js.map +0 -1
- package/dist/renderers/slides/renderer/index.d.ts +0 -16
- package/dist/renderers/slides/renderer/index.js +0 -160
- package/dist/renderers/slides/renderer/index.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/agenda.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/agenda.js +0 -18
- package/dist/renderers/slides/renderer/layouts/agenda.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/blank.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/blank.js +0 -4
- package/dist/renderers/slides/renderer/layouts/blank.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/columns.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/columns.js +0 -32
- package/dist/renderers/slides/renderer/layouts/columns.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/cover.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/cover.js +0 -18
- package/dist/renderers/slides/renderer/layouts/cover.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js +0 -120
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js +0 -158
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js +0 -86
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js +0 -146
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram-venn.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js +0 -100
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/diagram.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/diagram.js +0 -21
- package/dist/renderers/slides/renderer/layouts/diagram.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/divider.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/divider.js +0 -4
- package/dist/renderers/slides/renderer/layouts/divider.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/end.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/end.js +0 -8
- package/dist/renderers/slides/renderer/layouts/end.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/framework.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/framework.js +0 -47
- package/dist/renderers/slides/renderer/layouts/framework.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js +0 -38
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js +0 -30
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-browser.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-browser.js +0 -18
- package/dist/renderers/slides/renderer/layouts/image-browser.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-bullets.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-bullets.js +0 -26
- package/dist/renderers/slides/renderer/layouts/image-bullets.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-device-pair.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js +0 -34
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-full.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-full.js +0 -36
- package/dist/renderers/slides/renderer/layouts/image-full.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js +0 -23
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-keywords.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-keywords.js +0 -31
- package/dist/renderers/slides/renderer/layouts/image-keywords.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js +0 -22
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-mobile.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-mobile.js +0 -17
- package/dist/renderers/slides/renderer/layouts/image-mobile.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-split-right.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-split-right.js +0 -19
- package/dist/renderers/slides/renderer/layouts/image-split-right.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/image-split.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/image-split.js +0 -19
- package/dist/renderers/slides/renderer/layouts/image-split.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/introductions.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/introductions.js +0 -41
- package/dist/renderers/slides/renderer/layouts/introductions.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/moodboard.d.ts +0 -15
- package/dist/renderers/slides/renderer/layouts/moodboard.js +0 -63
- package/dist/renderers/slides/renderer/layouts/moodboard.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/next-steps.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/next-steps.js +0 -13
- package/dist/renderers/slides/renderer/layouts/next-steps.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/pullquote.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/pullquote.js +0 -17
- package/dist/renderers/slides/renderer/layouts/pullquote.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/schedule.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/schedule.js +0 -58
- package/dist/renderers/slides/renderer/layouts/schedule.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/section.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/section.js +0 -18
- package/dist/renderers/slides/renderer/layouts/section.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/statement.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/statement.js +0 -13
- package/dist/renderers/slides/renderer/layouts/statement.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/stats.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/stats.js +0 -26
- package/dist/renderers/slides/renderer/layouts/stats.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/table.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/table.js +0 -23
- package/dist/renderers/slides/renderer/layouts/table.js.map +0 -1
- package/dist/renderers/slides/renderer/layouts/text-body.d.ts +0 -2
- package/dist/renderers/slides/renderer/layouts/text-body.js +0 -14
- package/dist/renderers/slides/renderer/layouts/text-body.js.map +0 -1
- package/dist/renderers/slides/renderer/placeholder.d.ts +0 -5
- package/dist/renderers/slides/renderer/placeholder.js +0 -12
- package/dist/renderers/slides/renderer/placeholder.js.map +0 -1
- package/dist/renderers/slides/routes/api.d.ts +0 -2
- package/dist/renderers/slides/routes/api.js +0 -568
- package/dist/renderers/slides/routes/api.js.map +0 -1
- package/dist/renderers/slides/routes/editor.d.ts +0 -2
- package/dist/renderers/slides/routes/editor.js +0 -32
- package/dist/renderers/slides/routes/editor.js.map +0 -1
- package/dist/renderers/slides/routes/viewer.d.ts +0 -2
- package/dist/renderers/slides/routes/viewer.js +0 -67
- package/dist/renderers/slides/routes/viewer.js.map +0 -1
- package/dist/renderers/slides/types.d.ts +0 -111
- package/dist/renderers/slides/types.js +0 -2
- package/dist/renderers/slides/types.js.map +0 -1
- package/dist/server/agents/agent-loader.d.ts +0 -16
- package/dist/server/agents/agent-loader.js +0 -175
- package/dist/server/agents/agent-loader.js.map +0 -1
- package/dist/server/agents/agent-runner.d.ts +0 -33
- package/dist/server/agents/agent-runner.js +0 -187
- package/dist/server/agents/agent-runner.js.map +0 -1
- package/dist/server/agents/agent-runtime.d.ts +0 -39
- package/dist/server/agents/agent-runtime.js +0 -214
- package/dist/server/agents/agent-runtime.js.map +0 -1
- package/dist/server/agents/base-agent.d.ts +0 -30
- package/dist/server/agents/base-agent.js +0 -88
- package/dist/server/agents/base-agent.js.map +0 -1
- package/dist/server/agents/executive-digest.d.ts +0 -16
- package/dist/server/agents/executive-digest.js +0 -115
- package/dist/server/agents/executive-digest.js.map +0 -1
- package/dist/server/agents/graph-steward.d.ts +0 -16
- package/dist/server/agents/graph-steward.js +0 -59
- package/dist/server/agents/graph-steward.js.map +0 -1
- package/dist/server/agents/meeting-followup.d.ts +0 -16
- package/dist/server/agents/meeting-followup.js +0 -88
- package/dist/server/agents/meeting-followup.js.map +0 -1
- package/dist/server/agents/pipeline-monitor.d.ts +0 -15
- package/dist/server/agents/pipeline-monitor.js +0 -86
- package/dist/server/agents/pipeline-monitor.js.map +0 -1
- package/dist/server/agents/types.d.ts +0 -81
- package/dist/server/agents/types.js +0 -41
- package/dist/server/agents/types.js.map +0 -1
- package/dist/server/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/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/share-api.d.ts +0 -10
- package/dist/server/routes/share-api.js +0 -51
- package/dist/server/routes/share-api.js.map +0 -1
- package/dist/server/routes/sync-api.d.ts +0 -26
- package/dist/server/routes/sync-api.js +0 -848
- package/dist/server/routes/sync-api.js.map +0 -1
- package/dist/server/routes/view-public.d.ts +0 -10
- package/dist/server/routes/view-public.js +0 -107
- package/dist/server/routes/view-public.js.map +0 -1
- package/dist/server/routes/webhook.d.ts +0 -14
- package/dist/server/routes/webhook.js +0 -102
- package/dist/server/routes/webhook.js.map +0 -1
- package/dist/services/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/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/web/_app/immutable/assets/0.CvSbjqFP.css +0 -1
- package/dist/web/_app/immutable/assets/2.Bb7mw4vF.css +0 -1
- package/dist/web/_app/immutable/assets/3.D_zO0zOc.css +0 -1
- package/dist/web/_app/immutable/assets/4.D13CFSlL.css +0 -1
- package/dist/web/_app/immutable/assets/ChevronLeft.zIRwTHnM.css +0 -1
- package/dist/web/_app/immutable/assets/WorkspaceView.BPf0xClx.css +0 -1
- package/dist/web/_app/immutable/chunks/5XsjhWqu.js +0 -1
- package/dist/web/_app/immutable/chunks/6yqaA39n.js +0 -1
- package/dist/web/_app/immutable/chunks/B3e9iIRF.js +0 -1
- package/dist/web/_app/immutable/chunks/BE9TEOv4.js +0 -4
- package/dist/web/_app/immutable/chunks/Bb2Ua4uF.js +0 -1
- package/dist/web/_app/immutable/chunks/BbVnBMFa.js +0 -1
- package/dist/web/_app/immutable/chunks/BiMYSjcT.js +0 -1
- package/dist/web/_app/immutable/chunks/C7JDP-Eb.js +0 -2
- package/dist/web/_app/immutable/chunks/CSW2KWqa.js +0 -2
- package/dist/web/_app/immutable/chunks/CbFdWYfQ.js +0 -1
- package/dist/web/_app/immutable/chunks/DZzzgQEQ.js +0 -1
- package/dist/web/_app/immutable/chunks/DjSET2jJ.js +0 -1
- package/dist/web/_app/immutable/chunks/Dji8xvKL.js +0 -1
- package/dist/web/_app/immutable/chunks/RJ4vFPND.js +0 -1
- package/dist/web/_app/immutable/chunks/afizeXor.js +0 -1
- package/dist/web/_app/immutable/entry/app.DLYihMBM.js +0 -2
- package/dist/web/_app/immutable/entry/start.DetCpXhb.js +0 -1
- package/dist/web/_app/immutable/nodes/0.CQTImv6C.js +0 -2
- package/dist/web/_app/immutable/nodes/2.DLxsW8_q.js +0 -271
- package/dist/web/_app/immutable/nodes/3.DZN3YEqv.js +0 -5
- package/dist/web/_app/immutable/nodes/4.BCqfdvhL.js +0 -11
- package/dist/web/_app/immutable/nodes/7.B9RbVnFl.js +0 -1
- package/dist/web/_app/immutable/nodes/9.CSYsyUZv.js +0 -1
package/README.md
CHANGED
|
@@ -57,15 +57,15 @@ A Studiograph workspace is a directory containing a `.studiograph/` configuratio
|
|
|
57
57
|
```
|
|
58
58
|
my-studio/
|
|
59
59
|
├── .studiograph/ # Config repo (workspace.json, team roster, migrations)
|
|
60
|
-
├── acme-rebrand/ #
|
|
61
|
-
├── website-redesign/ #
|
|
62
|
-
├── team-knowledge/ #
|
|
60
|
+
├── acme-rebrand/ # Folder (client project)
|
|
61
|
+
├── website-redesign/ # Folder (another project)
|
|
62
|
+
├── team-knowledge/ # Folder (processes, standards)
|
|
63
63
|
└── private/ # Local-only, gitignored
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
###
|
|
66
|
+
### Folders
|
|
67
67
|
|
|
68
|
-
Each subdirectory is a **
|
|
68
|
+
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
69
|
|
|
70
70
|
### Entities
|
|
71
71
|
|
|
@@ -133,7 +133,7 @@ There are 17 built-in entity types (project, meeting, person, organization, deci
|
|
|
133
133
|
|
|
134
134
|
| Command | Description |
|
|
135
135
|
|---------|-------------|
|
|
136
|
-
| `studiograph
|
|
136
|
+
| `studiograph folder` | Manage folders (add, list, rename, remove) |
|
|
137
137
|
| `studiograph provision` | Push workspace config to GitHub as a separate repo |
|
|
138
138
|
| `studiograph members` | Manage team members and roles |
|
|
139
139
|
| `studiograph index` | Rebuild search index |
|
|
@@ -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
|
*
|
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
|
*
|
|
@@ -23,7 +23,7 @@ export interface AgentConfig {
|
|
|
23
23
|
recentMemory?: string;
|
|
24
24
|
/** Shared WorkspaceManager instance (used by server to share state with agent). */
|
|
25
25
|
workspaceManager?: WorkspaceManager;
|
|
26
|
-
/** Shared MessageService instance (for searching
|
|
26
|
+
/** Shared MessageService instance (for searching folder messages). */
|
|
27
27
|
messageService?: import('../services/message-service.js').MessageService;
|
|
28
28
|
/**
|
|
29
29
|
* Called after the agent mutates an entity on disk, so the server can
|
|
@@ -137,7 +137,7 @@ export declare class AgentOrchestrator {
|
|
|
137
137
|
*/
|
|
138
138
|
getRepoNames(): string[];
|
|
139
139
|
/**
|
|
140
|
-
* Set the current authenticated user for per-
|
|
140
|
+
* Set the current authenticated user for per-folder access filtering.
|
|
141
141
|
* Called per-request by the chat endpoint. Null = full access (API key / open mode).
|
|
142
142
|
*/
|
|
143
143
|
setCurrentUser(user: AuthUser | null): void;
|
|
@@ -525,7 +525,7 @@ ${repoList}`;
|
|
|
525
525
|
return this.workspaceManager.getRepoNames();
|
|
526
526
|
}
|
|
527
527
|
/**
|
|
528
|
-
* Set the current authenticated user for per-
|
|
528
|
+
* Set the current authenticated user for per-folder access filtering.
|
|
529
529
|
* Called per-request by the chat endpoint. Null = full access (API key / open mode).
|
|
530
530
|
*/
|
|
531
531
|
setCurrentUser(user) {
|
|
@@ -4,14 +4,10 @@
|
|
|
4
4
|
* Consumers (orchestrator.ts, cli/commands/start.ts) replace the
|
|
5
5
|
* `{{ENTITY_TYPES}}` placeholder in system.md with the output of this function.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Canonical-but-not-launch-visible types (e.g. case-study, deliverable, role,
|
|
13
|
-
* practice-area, process, guideline, publication, decision, dataset) are
|
|
14
|
-
* intentionally omitted so the agent does not learn or propose them.
|
|
7
|
+
* The agent now has the full curated catalog available at all times. The
|
|
8
|
+
* "basic" vs "show more" distinction is a UI concern in the New Entry
|
|
9
|
+
* picker, not a creation-permission gate. Workspace-defined custom types
|
|
10
|
+
* (via schema_extensions) are appended after the canonical list.
|
|
15
11
|
*/
|
|
16
12
|
export interface EntityTypesSectionOptions {
|
|
17
13
|
/** Custom entity type names defined by the workspace via schema_extensions. */
|
|
@@ -19,7 +15,8 @@ export interface EntityTypesSectionOptions {
|
|
|
19
15
|
}
|
|
20
16
|
export declare function renderEntityTypesSection(options?: EntityTypesSectionOptions): string;
|
|
21
17
|
/**
|
|
22
|
-
* List of entity type names
|
|
18
|
+
* List of entity type names the agent is allowed to create in a given
|
|
19
|
+
* workspace: the full canonical catalog plus any custom workspace types.
|
|
23
20
|
* Used for tool-schema enum construction and runtime guard checks.
|
|
24
21
|
*/
|
|
25
22
|
export declare function getAgentAllowedEntityTypes(customTypes?: string[]): string[];
|
|
@@ -4,27 +4,25 @@
|
|
|
4
4
|
* Consumers (orchestrator.ts, cli/commands/start.ts) replace the
|
|
5
5
|
* `{{ENTITY_TYPES}}` placeholder in system.md with the output of this function.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Canonical-but-not-launch-visible types (e.g. case-study, deliverable, role,
|
|
13
|
-
* practice-area, process, guideline, publication, decision, dataset) are
|
|
14
|
-
* intentionally omitted so the agent does not learn or propose them.
|
|
7
|
+
* The agent now has the full curated catalog available at all times. The
|
|
8
|
+
* "basic" vs "show more" distinction is a UI concern in the New Entry
|
|
9
|
+
* picker, not a creation-permission gate. Workspace-defined custom types
|
|
10
|
+
* (via schema_extensions) are appended after the canonical list.
|
|
15
11
|
*/
|
|
16
|
-
import {
|
|
12
|
+
import { CURATED_ENTITY_TYPES, CURATED_ENTITY_TYPE_DESCRIPTIONS, DEFAULT_BASIC_ENTITY_TYPES, isCuratedEntityType, } from '../../core/entity-types-catalog.js';
|
|
17
13
|
export function renderEntityTypesSection(options = {}) {
|
|
18
14
|
const lines = [];
|
|
19
15
|
lines.push('## Entry Types');
|
|
20
16
|
lines.push('');
|
|
21
|
-
lines.push(`You have access to ${
|
|
22
|
-
`Any
|
|
17
|
+
lines.push(`You have access to ${CURATED_ENTITY_TYPES.length} canonical entry types. ` +
|
|
18
|
+
`Any type can live in any folder. Use the most specific type that fits — ` +
|
|
19
|
+
`don't collapse decisions into notes or documents into notes just because ` +
|
|
20
|
+
`they're simpler.`);
|
|
23
21
|
lines.push('');
|
|
24
|
-
for (const type of
|
|
25
|
-
lines.push(`- \`${type}\`: ${
|
|
22
|
+
for (const type of CURATED_ENTITY_TYPES) {
|
|
23
|
+
lines.push(`- \`${type}\`: ${CURATED_ENTITY_TYPE_DESCRIPTIONS[type]}`);
|
|
26
24
|
}
|
|
27
|
-
const customTypes = (options.customTypes ?? []).filter(t => t && t.trim().length > 0);
|
|
25
|
+
const customTypes = (options.customTypes ?? []).filter(t => t && t.trim().length > 0 && !isCuratedEntityType(t));
|
|
28
26
|
if (customTypes.length > 0) {
|
|
29
27
|
lines.push('');
|
|
30
28
|
lines.push('**Custom types defined in this workspace:**');
|
|
@@ -33,16 +31,23 @@ export function renderEntityTypesSection(options = {}) {
|
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
33
|
lines.push('');
|
|
36
|
-
lines.push('
|
|
37
|
-
|
|
34
|
+
lines.push('**Defaulting and suggestion flow:**');
|
|
35
|
+
lines.push('- For freeform captured content with no obvious fit, use `note`.');
|
|
36
|
+
lines.push('- If the captured content clearly matches a more specific canonical type ' +
|
|
37
|
+
'(for example the user describes a meeting, a decision, a deal, a deck, or a deliverable), ' +
|
|
38
|
+
'ask once before creating: *"This looks like a meeting — want me to save it as a Meeting entry?"* ' +
|
|
39
|
+
'If the user accepts, create it as that type.');
|
|
40
|
+
lines.push(`- The "basic" tier in the user-facing picker starts with ${DEFAULT_BASIC_ENTITY_TYPES.join(', ')}, ` +
|
|
41
|
+
'but you are not restricted to that subset — use whichever canonical type fits.');
|
|
38
42
|
return lines.join('\n');
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
|
-
* List of entity type names
|
|
45
|
+
* List of entity type names the agent is allowed to create in a given
|
|
46
|
+
* workspace: the full canonical catalog plus any custom workspace types.
|
|
42
47
|
* Used for tool-schema enum construction and runtime guard checks.
|
|
43
48
|
*/
|
|
44
49
|
export function getAgentAllowedEntityTypes(customTypes = []) {
|
|
45
|
-
const unique = new Set(
|
|
50
|
+
const unique = new Set(CURATED_ENTITY_TYPES);
|
|
46
51
|
for (const t of customTypes) {
|
|
47
52
|
if (t && t.trim().length > 0)
|
|
48
53
|
unique.add(t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-types-section.js","sourceRoot":"","sources":["../../../src/agent/prompts/entity-types-section.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"entity-types-section.js","sourceRoot":"","sources":["../../../src/agent/prompts/entity-types-section.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,oBAAoB,EACpB,gCAAgC,EAChC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAO5C,MAAM,UAAU,wBAAwB,CAAC,UAAqC,EAAE;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,sBAAsB,oBAAoB,CAAC,MAAM,0BAA0B;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,kBAAkB,CACnB,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACzD,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CACR,kEAAkE,CACnE,CAAC;IACF,KAAK,CAAC,IAAI,CACR,2EAA2E;QAC3E,4FAA4F;QAC5F,mGAAmG;QACnG,8CAA8C,CAC/C,CAAC;IACF,KAAK,CAAC,IAAI,CACR,4DAA4D,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACrG,gFAAgF,CACjF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAAwB,EAAE;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -62,6 +62,7 @@ You can help users with:
|
|
|
62
62
|
- Follow the established entry schemas
|
|
63
63
|
- Maintain consistent naming conventions (kebab-case IDs)
|
|
64
64
|
- Preserve YAML frontmatter formatting
|
|
65
|
+
- Body content starts at `##` (h2). The entry's title lives in the frontmatter `name` field and is rendered above the body by the editor — do not add a redundant `# Title` line at the top of the body.
|
|
65
66
|
- Keep wikilinks properly formatted: `[[entry-id]]` or `[[entry-id|Display Text]]`
|
|
66
67
|
- **Array fields with wikilinks** (attendees, related_people, related_projects, participants, etc.) must have ONE wikilink per array item. Never pack multiple wikilinks into a single string — `attendees: ['[[a]], [[b]]']` is wrong. Emit each as its own item:
|
|
67
68
|
|
|
@@ -70,7 +71,6 @@ You can help users with:
|
|
|
70
71
|
- '[[a]]'
|
|
71
72
|
- '[[b]]'
|
|
72
73
|
```
|
|
73
|
-
- **Supplemental `type:` fields** — when an umbrella entity_type (e.g. `note`) carries a narrower `type:` field for display (e.g. `Decision`, `Brief`, `Insight`), use Title Case. The user-facing UI shows the value verbatim.
|
|
74
74
|
|
|
75
75
|
## Scope Awareness
|
|
76
76
|
|
|
@@ -119,8 +119,9 @@ Every user has a default private folder ("My Entries") auto-created for them. Wh
|
|
|
119
119
|
- Never suggest committing or pushing anything from a private folder
|
|
120
120
|
|
|
121
121
|
**Entry type for generated content:**
|
|
122
|
-
-
|
|
123
|
-
- Freeform thinking, research, scratch notes → use `note
|
|
122
|
+
- Pick the most specific canonical type. Don't collapse a decision into a note, or a deck into a document, just because it's simpler — the catalog has a dedicated type for each. `decision` for decisions, `deck` for decks, `deliverable` for scoped client outputs, `publication` for published content, `case-study` for portfolio narratives, `process` for workflows/SOPs, `guideline` for standards, `reference` for external resources, `document` for general authored documents (reports, proposals, briefs, memos, templates), and so on.
|
|
123
|
+
- Freeform thinking, research, scratch notes → use `note`.
|
|
124
|
+
- If captured content clearly matches a specific canonical type better than `note`, ask the user once before creating: *"This looks like a meeting — want me to save it as a Meeting entry?"* If the user accepts, create it as that type.
|
|
124
125
|
|
|
125
126
|
**Content format:**
|
|
126
127
|
- Text content → markdown body of the entry
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: entity-schema
|
|
3
|
-
description:
|
|
3
|
+
description: Field reference for commonly-used canonical entity types — required/optional fields, status enums, file layout, frontmatter
|
|
4
4
|
loading: on-demand
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Entry Schema Reference
|
|
8
8
|
|
|
9
|
-
Use this reference when creating, validating, or mapping entries. All entries are Markdown files with YAML frontmatter stored in `{
|
|
9
|
+
Use this reference when creating, validating, or mapping entries. All entries are Markdown files with YAML frontmatter stored in `{folder}/{entity_id}/main.md` (entity-folder layout).
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Studiograph has 20 canonical entity types. This file covers the most common ones with their key fields. For any type not covered here (e.g. `decision`, `deliverable`, `process`, `guideline`, `case-study`, `publication`, `deal`, `role`, `practice-area`, `skill`), call `get_entity_schema` to get the authoritative schema. Workspaces may also define custom types via `schema_extensions` in their workspace config.
|
|
12
12
|
|
|
13
13
|
## Base Fields (all entries)
|
|
14
14
|
|
|
@@ -39,12 +39,11 @@ Freeform thinking, research, scratch notes, brainstorms, drafts.
|
|
|
39
39
|
|
|
40
40
|
| Field | Type | Required | Description |
|
|
41
41
|
|-------|------|----------|-------------|
|
|
42
|
-
| `
|
|
43
|
-
| `type` | enum | No | `research` \| `scratch` \| `daily` \| `brainstorm` \| `draft` |
|
|
42
|
+
| `name` | string | Yes | Note name |
|
|
44
43
|
| `related_projects` | string[] | No | Project wikilinks |
|
|
45
44
|
| `related_people` | string[] | No | Person wikilinks |
|
|
46
45
|
|
|
47
|
-
Prefer `note` for freeform thinking.
|
|
46
|
+
Prefer `note` for freeform thinking. For anything that has a more specific canonical type (decision, deck, deliverable, publication, case-study, process, guideline, reference, document), use that type instead of collapsing it into a note.
|
|
48
47
|
|
|
49
48
|
## meeting
|
|
50
49
|
|
|
@@ -88,15 +87,23 @@ Any authored document — reports, proposals, briefs, memos, templates, financia
|
|
|
88
87
|
| Field | Type | Required | Description |
|
|
89
88
|
|-------|------|----------|-------------|
|
|
90
89
|
| `name` | string | Yes | Document name |
|
|
91
|
-
| `
|
|
90
|
+
| `category` | enum | No | `proposal` \| `contract` \| `brief` \| `memo` \| `report` \| `template` \| `other` |
|
|
91
|
+
| `status` | enum | No | `draft` (default) \| `review` \| `final` \| `archived` |
|
|
92
92
|
| `client` | string | No | Client organization wikilink |
|
|
93
93
|
| `project` | string | No | Project wikilink |
|
|
94
|
-
| `status` | enum | No | `draft` (default) \| `sent` \| `signed` \| `completed` |
|
|
95
|
-
| `date` | string | No | Document date |
|
|
96
|
-
| `team` | string[] | No | Person wikilinks |
|
|
97
|
-
| `related_deals` | string[] | No | Deal wikilinks |
|
|
98
94
|
|
|
99
|
-
|
|
95
|
+
Use `document` for structured authored content whose shape doesn't warrant a dedicated canonical type. For presentations/slide decks use `deck` instead. For decisions use `decision`. For case studies use `case-study`. For processes use `process`.
|
|
96
|
+
|
|
97
|
+
## deck
|
|
98
|
+
|
|
99
|
+
Presentations and slide decks. Generic front-matter type independent of any slides renderer — the body holds the outline/narrative.
|
|
100
|
+
|
|
101
|
+
| Field | Type | Required | Description |
|
|
102
|
+
|-------|------|----------|-------------|
|
|
103
|
+
| `name` | string | Yes | Deck name |
|
|
104
|
+
| `audience` | string | No | Intended audience (client, team, board) |
|
|
105
|
+
| `status` | enum | No | `draft` (default) \| `review` \| `final` \| `archived` |
|
|
106
|
+
| `presented_at` | string | No | Date presented or scheduled to present |
|
|
100
107
|
|
|
101
108
|
## dataset
|
|
102
109
|
|
|
@@ -176,7 +183,7 @@ External resources and inspiration.
|
|
|
176
183
|
Entries use the **entity-folder** layout:
|
|
177
184
|
|
|
178
185
|
```
|
|
179
|
-
{
|
|
186
|
+
{folder}/
|
|
180
187
|
{entity_id}/
|
|
181
188
|
main.md # Sentinel file (frontmatter + body)
|
|
182
189
|
notes/ # Optional sub-content
|
|
@@ -12,14 +12,14 @@ You are an interviewer. Your primary job is to build the user's organizational k
|
|
|
12
12
|
|
|
13
13
|
**At the start of every conversation**, assess the graph state by calling `list_entities` across all folders. Then:
|
|
14
14
|
|
|
15
|
-
- **If the
|
|
16
|
-
- **If the
|
|
15
|
+
- **If the workspace has no folders (or no entries):** This is a brand-new workspace. Introduce yourself as their knowledge graph assistant and begin the interview script. Start by asking for their website and organization name. Create the first folder as you go (see "Folder Structure" below).
|
|
16
|
+
- **If the only folder is `meridian-rebrand` (or the graph contains *only* the starter scaffold below):** Treat the workspace as empty. The scaffold is template data created by `studiograph init --demo`, not real user content. Introduce yourself, explain that the workspace currently has example data you'll help replace, and begin the interview by asking for their website and organization name. Offer to delete the `meridian-rebrand` folder once they've added real entries.
|
|
17
17
|
- **If the graph has baseline coverage but gaps remain:** Pick up where the gaps are. Ask the next most valuable question based on what's missing.
|
|
18
18
|
- **If the user asks something unrelated:** Handle their request, then return to the interview with your next question.
|
|
19
19
|
|
|
20
|
-
### Recognizing the starter scaffold
|
|
20
|
+
### Recognizing the starter scaffold (`--demo` workspaces only)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
The default `studiograph init` creates a bare workspace with no scaffolded content — the interview is the primary onboarding surface. Developers and QA sometimes use `studiograph init --demo` to get a populated example project. If you see one folder named `meridian-rebrand` containing exactly these 8 entries:
|
|
23
23
|
|
|
24
24
|
- `meridian-health` (organization, client)
|
|
25
25
|
- `sarah-chen`, `alex-rivera` (people)
|
|
@@ -29,7 +29,7 @@ A freshly-initialized workspace ships with one folder named `meridian-rebrand` c
|
|
|
29
29
|
- `discovery-workshop` (process)
|
|
30
30
|
- `brand-deliverables-checklist` (guideline)
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
…do **not** treat it as the user's real graph. It's a template demonstrating how entries connect. Acknowledge it briefly when relevant ("your workspace has a sample folder showing how things connect — we'll build your real one alongside it") and focus the interview on the user's actual organization. Never ask them to elaborate on Meridian Health, Sarah Chen, or the rebrand project — those aren't theirs.
|
|
33
33
|
|
|
34
34
|
**Always end your response with the next interview question.** The interview is always running. You don't wait for the user to ask you to continue — you proactively drive the conversation forward.
|
|
35
35
|
|
|
@@ -39,18 +39,26 @@ The only time you don't ask a follow-up question is if the user explicitly says
|
|
|
39
39
|
|
|
40
40
|
Always say "entries" when talking to the user, never "entities". "Entities" is an internal term — users see "entries".
|
|
41
41
|
|
|
42
|
-
## Entry
|
|
42
|
+
## Entry Types
|
|
43
43
|
|
|
44
|
-
The canonical list of entry types
|
|
44
|
+
The full canonical list of entry types is in the system prompt's "Entry Types" section. You are not restricted to the defaults — use the most specific canonical type for each topic. Don't collapse a decision into a note or a deliverable into a document just because the default picker tier is smaller; the catalog has dedicated types.
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
- **Standards, guidelines, principles** → create as `note` or `document`. Put the guidelines in the body.
|
|
48
|
-
- **Deals, pipeline, prospects** → create the organization as `organization` (category: prospect). Log any pipeline notes in a `note` linked to that organization.
|
|
49
|
-
- **Capabilities, practice areas, expertise** → capture as `note` entries in a shared folder, or mention inside the organization entry body.
|
|
50
|
-
- **Deliverables, artifacts** → capture as `document` entries linked to the relevant project.
|
|
51
|
-
- **Case studies, portfolio pieces** → capture as `document` entries (with `type: case-study`) linked to their originating project.
|
|
46
|
+
Quick mapping for interview topics:
|
|
52
47
|
|
|
53
|
-
|
|
48
|
+
- **Processes, workflows, SOPs** → `process`
|
|
49
|
+
- **Standards, guidelines, principles** → `guideline`
|
|
50
|
+
- **Decisions (ADR-style records)** → `decision`
|
|
51
|
+
- **Deals, pipeline, prospects** → `deal` (with the prospect as `organization`, category `prospect`)
|
|
52
|
+
- **Capabilities, practice areas, expertise** → `practice-area`, or embed inside the organization entry body
|
|
53
|
+
- **Deliverables, scoped outputs to a client** → `deliverable`, linked to its project
|
|
54
|
+
- **Case studies, portfolio pieces** → `case-study`
|
|
55
|
+
- **Published content (articles, talks, posts)** → `publication`
|
|
56
|
+
- **Presentations, slide decks** → `deck`
|
|
57
|
+
- **Reusable agent instructions the team wants you to follow** → `skill` (see "Listening for Skill-Worthy Patterns" below)
|
|
58
|
+
- **Freeform thinking with no obvious fit** → `note`
|
|
59
|
+
- **Authored docs that don't fit a more specific type** → `document`
|
|
60
|
+
|
|
61
|
+
If `create_entity` rejects a type, the error lists the allowed types (full canonical set + workspace custom types). Pick the closest and carry on — don't loop.
|
|
54
62
|
|
|
55
63
|
## The Script
|
|
56
64
|
|
|
@@ -133,18 +141,18 @@ Don't *ask* about skills as a topic. Listen for them and offer. Many users won't
|
|
|
133
141
|
|
|
134
142
|
## Assessing Graph State
|
|
135
143
|
|
|
136
|
-
Use `list_entities` across all folders to inventory what exists. Map entries to script topics. The
|
|
144
|
+
Use `list_entities` across all folders to inventory what exists. Map entries to script topics. The full canonical type catalog is available — use the dedicated type for each check rather than falling back to tagged notes.
|
|
137
145
|
|
|
138
146
|
- Has an `organization` entry? → Topic 1 covered
|
|
139
147
|
- Has `person` entries with org links? → Topic 2 covered
|
|
140
148
|
- Has client `organization` entries? → Topic 3 covered
|
|
141
149
|
- Has `project` entries? → Topic 4 covered
|
|
142
|
-
- Has
|
|
143
|
-
- Has `
|
|
144
|
-
- Has tool/system `note` entries → Topic 7 covered
|
|
145
|
-
- Has `
|
|
150
|
+
- Has `deal` entries or prospect `organization` entries? → Topic 5 covered
|
|
151
|
+
- Has `process` entries? → Topic 6 covered
|
|
152
|
+
- Has tool/system `reference` or `note` entries → Topic 7 covered
|
|
153
|
+
- Has `practice-area` entries (or capability coverage in the org entry body) → Topic 8 covered
|
|
146
154
|
- Has strategy/goals `note` entries → Topic 9 covered
|
|
147
|
-
- Has
|
|
155
|
+
- Has `guideline` entries or `skill` entries → Topic 10 covered
|
|
148
156
|
|
|
149
157
|
The first uncovered topic is your next question. If all are covered, look for the sparsest entries and deepen those.
|
|
150
158
|
|
|
@@ -41,7 +41,7 @@ Use this reference when helping users build or modify source configs at `.studio
|
|
|
41
41
|
| `list_limit` | No | Override limit param for list tool |
|
|
42
42
|
| `list_params` | No | Extra params for list tool. Pass array for multiple list calls merged |
|
|
43
43
|
| `directory_patterns` | No | Directory patterns for file sources (frontmatter/unstructured) |
|
|
44
|
-
| `write_mode` | No | `"entity"` (default, `id/main.md` folder) or `"
|
|
44
|
+
| `write_mode` | No | `"entity"` (default, `id/main.md` folder) or `"flat"` (flat `id.md` file) |
|
|
45
45
|
| `list_tool` | No | Explicit MCP tool name for listing records (bypasses heuristic matching) |
|
|
46
46
|
| `read_tool` | No | Explicit MCP tool name for reading records (bypasses heuristic matching) |
|
|
47
47
|
|
|
@@ -84,7 +84,7 @@ Result: `["[[alice]]", ...]`
|
|
|
84
84
|
Controls how entities are written to disk:
|
|
85
85
|
|
|
86
86
|
- **`entity`** (default) — `repo/entity-type/entity-id.md` in a typed subfolder. Fully indexed. Use for core types (projects, clients, people).
|
|
87
|
-
- **`
|
|
87
|
+
- **`flat`** — `repo/entity-id.md` flat file at folder root. Use for high-volume types (meetings, notes, references).
|
|
88
88
|
|
|
89
89
|
## Explicit MCP Tool Selection
|
|
90
90
|
|
|
@@ -11,7 +11,7 @@ import { Type as T } from '@sinclair/typebox';
|
|
|
11
11
|
import { ENTITY_SCHEMAS } from '../../core/validation.js';
|
|
12
12
|
import { lintWorkspace } from '../../services/lint-service.js';
|
|
13
13
|
import { findOrphans } from '../../services/orphan-service.js';
|
|
14
|
-
import {
|
|
14
|
+
import { isCuratedEntityType } from '../../core/entity-types-catalog.js';
|
|
15
15
|
import { getAgentAllowedEntityTypes } from '../prompts/entity-types-section.js';
|
|
16
16
|
/**
|
|
17
17
|
* Helper to wrap tool results in AgentToolResult format
|
|
@@ -55,7 +55,7 @@ function sanitizeLlmContent(content) {
|
|
|
55
55
|
/**
|
|
56
56
|
* Per-request user context for folder access filtering.
|
|
57
57
|
* When getCurrentUser returns a user, tools filter results to only
|
|
58
|
-
* folders the user is a member of (via
|
|
58
|
+
* folders the user is a member of (via folder_access).
|
|
59
59
|
*/
|
|
60
60
|
function getAccessibleRepoNames(workspaceManager, getCurrentUser, authService) {
|
|
61
61
|
const user = getCurrentUser();
|
|
@@ -84,7 +84,7 @@ export function createGraphTools(workspaceManager, gitUser, workspacePath, onHig
|
|
|
84
84
|
onContentSync) {
|
|
85
85
|
const getUser = getCurrentUser ?? (() => null);
|
|
86
86
|
const authSvc = authService ?? null;
|
|
87
|
-
/** Resolve "private" or "entries" to the current user's actual private
|
|
87
|
+
/** Resolve "private" or "entries" to the current user's actual private folder name. */
|
|
88
88
|
function resolvePrivateRepo(repoName) {
|
|
89
89
|
if (repoName !== 'private' && repoName !== 'entries')
|
|
90
90
|
return repoName;
|
|
@@ -118,11 +118,10 @@ onContentSync) {
|
|
|
118
118
|
return null;
|
|
119
119
|
return `Creating an eager skill in a shared folder requires folder admin or workspace owner. Save this skill to your private folder (repo: "private") or set loading to "on-demand".`;
|
|
120
120
|
}
|
|
121
|
-
// Compute the set of entity types the agent is allowed to create in this
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
// updatable, and movable — only creation is gated.
|
|
121
|
+
// Compute the set of entity types the agent is allowed to create in this
|
|
122
|
+
// workspace: the full canonical catalog plus any custom types defined via
|
|
123
|
+
// schema_extensions. The launch-time allowlist was removed — the catalog
|
|
124
|
+
// now grows with the user via the New Entry picker's progressive disclosure.
|
|
126
125
|
const builtinTypeKeys = new Set(Object.keys(ENTITY_SCHEMAS));
|
|
127
126
|
const customWorkspaceTypes = workspaceManager.getSchemaRegistry().getAllTypes()
|
|
128
127
|
.filter(t => !builtinTypeKeys.has(t));
|
|
@@ -131,12 +130,12 @@ onContentSync) {
|
|
|
131
130
|
function rejectDisallowedCreateType(entityType) {
|
|
132
131
|
if (agentAllowedTypeSet.has(entityType))
|
|
133
132
|
return null;
|
|
134
|
-
const hint =
|
|
135
|
-
? ''
|
|
133
|
+
const hint = isCuratedEntityType(entityType)
|
|
134
|
+
? '' // shouldn't happen — curated types are always allowed
|
|
136
135
|
: ` Allowed types: ${agentAllowedTypes.join(', ')}.`;
|
|
137
136
|
return wrapToolResult({
|
|
138
137
|
success: false,
|
|
139
|
-
error: `Entry type "${entityType}" is not
|
|
138
|
+
error: `Entry type "${entityType}" is not a known canonical or workspace custom type.${hint}`,
|
|
140
139
|
});
|
|
141
140
|
}
|
|
142
141
|
return [
|
|
@@ -386,14 +385,14 @@ onContentSync) {
|
|
|
386
385
|
description: 'Import a local file as a Studiograph entry. Supports .md and .txt (→ note) and .csv (→ dataset). The file is read from the local filesystem and converted to an entry with appropriate frontmatter.',
|
|
387
386
|
parameters: T.Object({
|
|
388
387
|
path: T.String({ description: 'Absolute path or ~/relative path to the file' }),
|
|
389
|
-
|
|
388
|
+
folder: T.String({ description: 'Target folder name' }),
|
|
390
389
|
entityType: T.Optional(T.String({ description: 'Override entity type (default: auto-detect from extension)' })),
|
|
391
390
|
entityId: T.Optional(T.String({ description: 'Override entity ID (default: from filename)' })),
|
|
392
391
|
}),
|
|
393
392
|
execute: async (toolCallId, params) => {
|
|
394
393
|
try {
|
|
395
|
-
if (!canAccessRepo(params.
|
|
396
|
-
return wrapToolResult({ success: false, error: `Folder "${params.
|
|
394
|
+
if (!canAccessRepo(params.folder, workspaceManager, getUser, authSvc)) {
|
|
395
|
+
return wrapToolResult({ success: false, error: `Folder "${params.folder}" not found` });
|
|
397
396
|
}
|
|
398
397
|
const { readFileSync, existsSync } = await import('fs');
|
|
399
398
|
const { resolve } = await import('path');
|
|
@@ -408,7 +407,7 @@ onContentSync) {
|
|
|
408
407
|
if (!isSupportedFile(filePath)) {
|
|
409
408
|
return wrapToolResult({ success: false, error: `Unsupported file type. Supported: .md, .txt, .csv` });
|
|
410
409
|
}
|
|
411
|
-
const graph = workspaceManager.getGraph(params.
|
|
410
|
+
const graph = workspaceManager.getGraph(params.folder);
|
|
412
411
|
const content = readFileSync(filePath);
|
|
413
412
|
const { basename } = await import('path');
|
|
414
413
|
const result = await importFile(graph, basename(filePath), content, {
|
|
@@ -416,13 +415,13 @@ onContentSync) {
|
|
|
416
415
|
entityId: params.entityId,
|
|
417
416
|
});
|
|
418
417
|
if (result.status === 'created') {
|
|
419
|
-
onMutation?.({ action: 'created', repo: params.
|
|
418
|
+
onMutation?.({ action: 'created', repo: params.folder, entityType: result.entityType, entityId: result.entityId });
|
|
420
419
|
}
|
|
421
420
|
return wrapToolResult({
|
|
422
421
|
success: result.status === 'created',
|
|
423
422
|
...result,
|
|
424
423
|
message: result.status === 'created'
|
|
425
|
-
? `Imported ${basename(filePath)} as ${result.entityType}/${result.entityId} in ${params.
|
|
424
|
+
? `Imported ${basename(filePath)} as ${result.entityType}/${result.entityId} in ${params.folder}`
|
|
426
425
|
: result.error,
|
|
427
426
|
});
|
|
428
427
|
}
|
|
@@ -543,7 +542,7 @@ onContentSync) {
|
|
|
543
542
|
}),
|
|
544
543
|
execute: async (toolCallId, params) => {
|
|
545
544
|
try {
|
|
546
|
-
// Scope search to accessible
|
|
545
|
+
// Scope search to accessible folders
|
|
547
546
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
548
547
|
let repoNames = params.repoNames?.map((r) => resolvePrivateRepo(r));
|
|
549
548
|
if (allowed) {
|
|
@@ -592,7 +591,7 @@ onContentSync) {
|
|
|
592
591
|
execute: async (toolCallId, params) => {
|
|
593
592
|
try {
|
|
594
593
|
let results = workspaceManager.list(params.entityType, params.limit);
|
|
595
|
-
// Filter to accessible
|
|
594
|
+
// Filter to accessible folders
|
|
596
595
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
597
596
|
if (allowed) {
|
|
598
597
|
results = results.filter(r => allowed.has(r.repoName));
|
|
@@ -633,7 +632,7 @@ onContentSync) {
|
|
|
633
632
|
return wrapToolResult({ success: false, error: `Folder "${repo}" not found` });
|
|
634
633
|
}
|
|
635
634
|
let related = workspaceManager.getRelated(repo, params.entityType, params.entityId);
|
|
636
|
-
// Filter cross-
|
|
635
|
+
// Filter cross-folder results to accessible repos
|
|
637
636
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
638
637
|
if (allowed) {
|
|
639
638
|
related = related.filter(r => allowed.has(r.repoName));
|
|
@@ -673,7 +672,7 @@ onContentSync) {
|
|
|
673
672
|
return wrapToolResult({ success: false, error: `Folder "${params.repo}" not found` });
|
|
674
673
|
}
|
|
675
674
|
let backlinks = workspaceManager.getBacklinks(params.repo, params.entityType, params.entityId);
|
|
676
|
-
// Filter cross-
|
|
675
|
+
// Filter cross-folder results to accessible repos
|
|
677
676
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
678
677
|
if (allowed) {
|
|
679
678
|
backlinks = backlinks.filter(r => allowed.has(r.repoName));
|
|
@@ -745,7 +744,7 @@ onContentSync) {
|
|
|
745
744
|
const summary = workspaceManager.getSummary();
|
|
746
745
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
747
746
|
if (allowed) {
|
|
748
|
-
// Filter summary to accessible
|
|
747
|
+
// Filter summary to accessible folders only
|
|
749
748
|
const filteredByRepo = {};
|
|
750
749
|
let filteredTotal = 0;
|
|
751
750
|
for (const [repo, count] of Object.entries(summary.entitiesByRepo)) {
|
|
@@ -757,19 +756,19 @@ onContentSync) {
|
|
|
757
756
|
return wrapToolResult({
|
|
758
757
|
success: true,
|
|
759
758
|
summary: {
|
|
760
|
-
|
|
759
|
+
totalFolders: allowed.size,
|
|
761
760
|
totalEntities: filteredTotal,
|
|
762
|
-
|
|
761
|
+
entitiesByFolder: filteredByRepo,
|
|
763
762
|
},
|
|
764
763
|
});
|
|
765
764
|
}
|
|
766
765
|
return wrapToolResult({
|
|
767
766
|
success: true,
|
|
768
767
|
summary: {
|
|
769
|
-
|
|
768
|
+
totalFolders: summary.totalRepos,
|
|
770
769
|
totalEntities: summary.totalEntities,
|
|
771
770
|
entitiesByType: summary.entitiesByType,
|
|
772
|
-
|
|
771
|
+
entitiesByFolder: summary.entitiesByRepo,
|
|
773
772
|
},
|
|
774
773
|
});
|
|
775
774
|
}
|
|
@@ -781,7 +780,7 @@ onContentSync) {
|
|
|
781
780
|
}
|
|
782
781
|
},
|
|
783
782
|
},
|
|
784
|
-
// List
|
|
783
|
+
// List folders
|
|
785
784
|
{
|
|
786
785
|
name: 'list_repos',
|
|
787
786
|
label: 'List Folders',
|
|
@@ -797,7 +796,7 @@ onContentSync) {
|
|
|
797
796
|
return wrapToolResult({
|
|
798
797
|
success: true,
|
|
799
798
|
count: repos.length,
|
|
800
|
-
|
|
799
|
+
folders: repos.map(r => ({
|
|
801
800
|
name: r.name,
|
|
802
801
|
type: r.type,
|
|
803
802
|
description: r.description,
|
|
@@ -839,7 +838,7 @@ onContentSync) {
|
|
|
839
838
|
workspaceManager.reloadConfig();
|
|
840
839
|
if (user && authSvc)
|
|
841
840
|
authSvc.grantFolderAccess(user.id, repo.name, 'admin');
|
|
842
|
-
onMutation?.({ action: 'created', repo: repo.name, entityType: '
|
|
841
|
+
onMutation?.({ action: 'created', repo: repo.name, entityType: '_folder', entityId: repo.name });
|
|
843
842
|
return wrapToolResult({
|
|
844
843
|
success: true,
|
|
845
844
|
folder: { name: repo.name, path: repo.path, description: repo.description },
|
|
@@ -1033,7 +1032,7 @@ onContentSync) {
|
|
|
1033
1032
|
}),
|
|
1034
1033
|
execute: async (toolCallId, params) => {
|
|
1035
1034
|
try {
|
|
1036
|
-
// Scope to accessible
|
|
1035
|
+
// Scope to accessible folders
|
|
1037
1036
|
const allowed = getAccessibleRepoNames(workspaceManager, getUser, authSvc);
|
|
1038
1037
|
let repos = params.repos;
|
|
1039
1038
|
if (allowed) {
|