studiograph 1.3.3-next.9 → 1.3.4
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/dist/agent/orchestrator.d.ts +2 -0
- package/dist/agent/orchestrator.js +13 -5
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/skills/sync-configuration.md +4 -29
- package/dist/agent/skills/sync-setup.md +2 -4
- package/dist/agent/tools/ops-tools.js +15 -126
- package/dist/agent/tools/ops-tools.js.map +1 -1
- package/dist/agent/tools/sync-tools.d.ts +7 -6
- package/dist/agent/tools/sync-tools.js +205 -178
- package/dist/agent/tools/sync-tools.js.map +1 -1
- package/dist/cli/commands/about.d.ts +13 -0
- package/dist/cli/commands/about.js +97 -0
- package/dist/cli/commands/about.js.map +1 -0
- package/dist/cli/commands/clone.d.ts +5 -2
- package/dist/cli/commands/clone.js +131 -62
- package/dist/cli/commands/clone.js.map +1 -1
- package/dist/cli/commands/connector.d.ts +2 -16
- package/dist/cli/commands/connector.js +32 -109
- package/dist/cli/commands/connector.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts +0 -1
- package/dist/cli/commands/deploy.js +13 -103
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/init.js +6 -93
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/join.js +51 -1
- package/dist/cli/commands/join.js.map +1 -1
- package/dist/cli/commands/redeploy.js +1 -2
- package/dist/cli/commands/redeploy.js.map +1 -1
- package/dist/cli/commands/serve.d.ts +1 -3
- package/dist/cli/commands/serve.js +29 -109
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/start.js +1 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/sync-collection.d.ts +14 -0
- package/dist/cli/commands/sync-collection.js +366 -0
- package/dist/cli/commands/sync-collection.js.map +1 -0
- package/dist/cli/commands/sync.js +518 -82
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/index.js +12 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup-wizard.d.ts +0 -13
- package/dist/cli/setup-wizard.js +6 -81
- package/dist/cli/setup-wizard.js.map +1 -1
- package/dist/core/types.d.ts +140 -21
- package/dist/core/types.js +15 -4
- package/dist/core/types.js.map +1 -1
- package/dist/core/workspace.d.ts +11 -4
- package/dist/core/workspace.js +61 -26
- package/dist/core/workspace.js.map +1 -1
- package/dist/integrations/asana.d.ts +26 -0
- package/dist/integrations/asana.js +77 -0
- package/dist/integrations/asana.js.map +1 -0
- package/dist/integrations/figma-local.d.ts +16 -0
- package/dist/integrations/figma-local.js +10 -0
- package/dist/integrations/figma-local.js.map +1 -0
- package/dist/integrations/figma.d.ts +17 -0
- package/dist/integrations/figma.js +16 -0
- package/dist/integrations/figma.js.map +1 -0
- package/dist/integrations/granola.d.ts +24 -0
- package/dist/integrations/granola.js +59 -0
- package/dist/integrations/granola.js.map +1 -0
- package/dist/integrations/linear.d.ts +14 -0
- package/dist/integrations/linear.js +70 -0
- package/dist/integrations/linear.js.map +1 -0
- package/dist/integrations/paper-local.d.ts +14 -0
- package/dist/integrations/paper-local.js +10 -0
- package/dist/integrations/paper-local.js.map +1 -0
- package/dist/integrations/paper.d.ts +2 -0
- package/dist/integrations/paper.js +10 -0
- package/dist/integrations/paper.js.map +1 -0
- package/dist/integrations/pipedrive.d.ts +26 -0
- package/dist/integrations/pipedrive.js +97 -0
- package/dist/integrations/pipedrive.js.map +1 -0
- package/dist/integrations/registry.d.ts +15 -0
- package/dist/integrations/registry.js +27 -0
- package/dist/integrations/registry.js.map +1 -0
- package/dist/integrations/types.d.ts +34 -0
- package/dist/integrations/types.js +9 -0
- package/dist/integrations/types.js.map +1 -0
- package/dist/mcp/connector-manager.d.ts +45 -31
- package/dist/mcp/connector-manager.js +164 -116
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/mcp/server-oauth-provider.d.ts +56 -0
- package/dist/mcp/server-oauth-provider.js +138 -0
- package/dist/mcp/server-oauth-provider.js.map +1 -0
- package/dist/server/chrome/chrome.css +142 -28
- package/dist/server/chrome/chrome.js +51 -25
- package/dist/server/collab-authority.d.ts +70 -0
- package/dist/server/collab-authority.js +218 -0
- package/dist/server/collab-authority.js.map +1 -0
- package/dist/server/collab.d.ts +29 -0
- package/dist/server/collab.js +195 -0
- package/dist/server/collab.js.map +1 -0
- package/dist/server/commit-scheduler.d.ts +1 -1
- package/dist/server/commit-scheduler.js +18 -4
- package/dist/server/commit-scheduler.js.map +1 -1
- package/dist/server/index.d.ts +0 -2
- package/dist/server/index.js +89 -18
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/auth-api.d.ts +6 -0
- package/dist/server/routes/auth-api.js +55 -0
- package/dist/server/routes/auth-api.js.map +1 -1
- package/dist/server/routes/collab.d.ts +6 -0
- package/dist/server/routes/collab.js +10 -0
- package/dist/server/routes/collab.js.map +1 -0
- package/dist/server/routes/git-http.d.ts +1 -1
- package/dist/server/routes/git-http.js +53 -15
- package/dist/server/routes/git-http.js.map +1 -1
- package/dist/server/routes/graph-api.d.ts +2 -2
- package/dist/server/routes/graph-api.js +59 -55
- package/dist/server/routes/graph-api.js.map +1 -1
- package/dist/server/routes/mcp.d.ts +12 -0
- package/dist/server/routes/mcp.js +35 -0
- package/dist/server/routes/mcp.js.map +1 -0
- package/dist/server/routes/permissions-api.d.ts +2 -1
- package/dist/server/routes/permissions-api.js +16 -2
- package/dist/server/routes/permissions-api.js.map +1 -1
- package/dist/server/routes/sync-api.d.ts +26 -0
- package/dist/server/routes/sync-api.js +757 -0
- package/dist/server/routes/sync-api.js.map +1 -0
- package/dist/server/routes/ws.d.ts +4 -2
- package/dist/server/routes/ws.js +100 -4
- package/dist/server/routes/ws.js.map +1 -1
- package/dist/server/session-manager.d.ts +40 -0
- package/dist/server/session-manager.js +132 -0
- package/dist/server/session-manager.js.map +1 -0
- package/dist/server/ws-hub.d.ts +95 -1
- package/dist/server/ws-hub.js +192 -5
- package/dist/server/ws-hub.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +59 -0
- package/dist/server/yjs-manager.js +194 -0
- package/dist/server/yjs-manager.js.map +1 -0
- package/dist/services/auth-service.d.ts +30 -2
- package/dist/services/auth-service.js +116 -11
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/git.d.ts +6 -0
- package/dist/services/git.js +32 -2
- package/dist/services/git.js.map +1 -1
- package/dist/services/sync/collection-sync.d.ts +73 -0
- package/dist/services/sync/collection-sync.js +726 -0
- package/dist/services/sync/collection-sync.js.map +1 -0
- package/dist/services/sync/commit.js +5 -20
- package/dist/services/sync/commit.js.map +1 -1
- package/dist/services/sync/data-fetcher.d.ts +31 -0
- package/dist/services/sync/data-fetcher.js +12 -0
- package/dist/services/sync/data-fetcher.js.map +1 -0
- package/dist/services/sync/entity-refresh.d.ts +30 -0
- package/dist/services/sync/entity-refresh.js +275 -0
- package/dist/services/sync/entity-refresh.js.map +1 -0
- package/dist/services/sync/frontmatter-extractor.d.ts +2 -2
- package/dist/services/sync/frontmatter-extractor.js +1 -2
- package/dist/services/sync/frontmatter-extractor.js.map +1 -1
- package/dist/services/sync/graph-match.js +1 -1
- package/dist/services/sync/graph-match.js.map +1 -1
- package/dist/services/sync/mcp-client.d.ts +16 -4
- package/dist/services/sync/mcp-client.js +34 -20
- package/dist/services/sync/mcp-client.js.map +1 -1
- package/dist/services/sync/prompts.js +1 -1
- package/dist/services/sync/reconciler.js +1 -2
- package/dist/services/sync/reconciler.js.map +1 -1
- package/dist/services/sync/rest-client.d.ts +40 -0
- package/dist/services/sync/rest-client.js +100 -0
- package/dist/services/sync/rest-client.js.map +1 -0
- package/dist/services/sync/source-config.d.ts +23 -1
- package/dist/services/sync/source-config.js +112 -16
- package/dist/services/sync/source-config.js.map +1 -1
- package/dist/services/sync/source-definitions/asana.d.ts +3 -4
- package/dist/services/sync/source-definitions/asana.js +7 -13
- package/dist/services/sync/source-definitions/asana.js.map +1 -1
- package/dist/services/sync/source-definitions/definitions.d.ts +5 -18
- package/dist/services/sync/source-definitions/definitions.js +4 -22
- package/dist/services/sync/source-definitions/definitions.js.map +1 -1
- package/dist/services/sync/source-definitions/granola.d.ts +1 -1
- package/dist/services/sync/source-definitions/granola.js +11 -18
- package/dist/services/sync/source-definitions/granola.js.map +1 -1
- package/dist/services/sync/source-definitions/linear.d.ts +1 -1
- package/dist/services/sync/source-definitions/linear.js +17 -15
- package/dist/services/sync/source-definitions/linear.js.map +1 -1
- package/dist/services/sync/source-definitions/pipedrive.d.ts +1 -1
- package/dist/services/sync/source-definitions/pipedrive.js +6 -15
- package/dist/services/sync/source-definitions/pipedrive.js.map +1 -1
- package/dist/services/sync/staging.js +1 -2
- package/dist/services/sync/staging.js.map +1 -1
- package/dist/services/sync/structured-extractor.d.ts +8 -2
- package/dist/services/sync/structured-extractor.js +243 -35
- package/dist/services/sync/structured-extractor.js.map +1 -1
- package/dist/services/sync/types.d.ts +192 -23
- package/dist/services/sync/unstructured-extractor.d.ts +1 -3
- package/dist/services/sync/unstructured-extractor.js +2 -14
- package/dist/services/sync/unstructured-extractor.js.map +1 -1
- package/dist/utils/git.d.ts +24 -20
- package/dist/utils/git.js +99 -65
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/preflight.d.ts +1 -15
- package/dist/utils/preflight.js +1 -35
- package/dist/utils/preflight.js.map +1 -1
- package/dist/web/_app/immutable/assets/0.CupILLQs.css +1 -0
- package/dist/web/_app/immutable/assets/3.CtJi4Cy9.css +1 -0
- package/dist/web/_app/immutable/assets/5.CydFyZSu.css +1 -0
- package/dist/web/_app/immutable/assets/6.kqeOo0OW.css +1 -0
- package/dist/web/_app/immutable/assets/7.CseIx7qQ.css +1 -0
- package/dist/web/_app/immutable/assets/{8.Sm6jB3a0.css → 8.BYpFDZHK.css} +1 -1
- package/dist/web/_app/immutable/assets/AppShell.Ch_ef9hJ.css +1 -0
- package/dist/web/_app/immutable/assets/ChatPanel.CP-_8txt.css +1 -0
- package/dist/web/_app/immutable/chunks/0oxpWEgM.js +1 -0
- package/dist/web/_app/immutable/chunks/B1y7Wy5O.js +18 -0
- package/dist/web/_app/immutable/chunks/B7eduG_j.js +64 -0
- package/dist/web/_app/immutable/chunks/BBLgaWN8.js +1 -0
- package/dist/web/_app/immutable/chunks/BCB5cYCz.js +2 -0
- package/dist/web/_app/immutable/chunks/{aosHekRC.js → BPUy9_sS.js} +1 -1
- package/dist/web/_app/immutable/chunks/BVBRzmeQ.js +7 -0
- package/dist/web/_app/immutable/chunks/{CUzqHQY_.js → BXuvR8Ks.js} +2 -1
- package/dist/web/_app/immutable/chunks/BeBar3OL.js +1 -0
- package/dist/web/_app/immutable/chunks/BuOTIbJu.js +1 -0
- package/dist/web/_app/immutable/chunks/CLFba8FK.js +5 -0
- package/dist/web/_app/immutable/chunks/CQCkXCml.js +1 -0
- package/dist/web/_app/immutable/chunks/CXuhHL4d.js +1 -0
- package/dist/web/_app/immutable/chunks/Cg9NOuOl.js +27 -0
- package/dist/web/_app/immutable/chunks/Cs5oz2oJ.js +5 -0
- package/dist/web/_app/immutable/chunks/Cs_ROD7H.js +2 -0
- package/dist/web/_app/immutable/chunks/D2aTbzFm.js +3 -0
- package/dist/web/_app/immutable/chunks/D4FXhiC2.js +1 -0
- package/dist/web/_app/immutable/chunks/D4VHRYeB.js +1 -0
- package/dist/web/_app/immutable/chunks/DCGSm8Hl.js +1 -0
- package/dist/web/_app/immutable/chunks/DP09rP34.js +2 -0
- package/dist/web/_app/immutable/chunks/DiP47fAp.js +1 -0
- package/dist/web/_app/immutable/chunks/DptGlK8O.js +1 -0
- package/dist/web/_app/immutable/chunks/O0fx2ss6.js +1 -0
- package/dist/web/_app/immutable/chunks/xBRYfpah.js +1 -0
- package/dist/web/_app/immutable/entry/app.FgnywZP_.js +2 -0
- package/dist/web/_app/immutable/entry/start.Bsa-zlPf.js +1 -0
- package/dist/web/_app/immutable/nodes/0.D3SW-LMc.js +10 -0
- package/dist/web/_app/immutable/nodes/1.y0c5TQTP.js +1 -0
- package/dist/web/_app/immutable/nodes/2.BQfSep9-.js +1 -0
- package/dist/web/_app/immutable/nodes/3.CC4Y-xMM.js +11 -0
- package/dist/web/_app/immutable/nodes/4.Dp0Z-oPW.js +4 -0
- package/dist/web/_app/immutable/nodes/5.gjZ03DON.js +2 -0
- package/dist/web/_app/immutable/nodes/6.dRNIwcJQ.js +1 -0
- package/dist/web/_app/immutable/nodes/7.I4Gjes3o.js +2 -0
- package/dist/web/_app/immutable/nodes/8.Dj14D7uH.js +1 -0
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +10 -12
- package/package.json +4 -2
- package/dist/web/_app/immutable/assets/0.CF0XhAap.css +0 -1
- package/dist/web/_app/immutable/assets/3.BJy7pVXi.css +0 -1
- package/dist/web/_app/immutable/assets/4.Ad16uh9o.css +0 -1
- package/dist/web/_app/immutable/assets/6.Bm2i7O0j.css +0 -1
- package/dist/web/_app/immutable/assets/7.Cn2DG-J6.css +0 -1
- package/dist/web/_app/immutable/assets/AppShell.CztjTuKY.css +0 -1
- package/dist/web/_app/immutable/assets/ChatPanel.RFD5GGYI.css +0 -1
- package/dist/web/_app/immutable/assets/editor.CPAf2SRV.css +0 -1
- package/dist/web/_app/immutable/chunks/4QY4j-jX.js +0 -1
- package/dist/web/_app/immutable/chunks/B3Kdf1r4.js +0 -6
- package/dist/web/_app/immutable/chunks/BIo3H1KR.js +0 -2
- package/dist/web/_app/immutable/chunks/BJLM1w2L.js +0 -23
- package/dist/web/_app/immutable/chunks/BLCwEMdm.js +0 -1
- package/dist/web/_app/immutable/chunks/BSYvCVJt.js +0 -1
- package/dist/web/_app/immutable/chunks/Ba5JX1o9.js +0 -1
- package/dist/web/_app/immutable/chunks/Bj34y868.js +0 -64
- package/dist/web/_app/immutable/chunks/BrWpHgBJ.js +0 -1
- package/dist/web/_app/immutable/chunks/C3g_lwol.js +0 -1
- package/dist/web/_app/immutable/chunks/CXnPm09s.js +0 -1
- package/dist/web/_app/immutable/chunks/ClOTom10.js +0 -1
- package/dist/web/_app/immutable/chunks/CtT4aw_G.js +0 -1
- package/dist/web/_app/immutable/chunks/Dh_H7Owr.js +0 -18
- package/dist/web/_app/immutable/chunks/DnlgZ_Tk.js +0 -5
- package/dist/web/_app/immutable/chunks/DtVH--hH.js +0 -6
- package/dist/web/_app/immutable/chunks/Dzd9kdLj.js +0 -2
- package/dist/web/_app/immutable/chunks/L91a_BGe.js +0 -1
- package/dist/web/_app/immutable/chunks/bHAllEMt.js +0 -1
- package/dist/web/_app/immutable/entry/app.CdrgaaFb.js +0 -2
- package/dist/web/_app/immutable/entry/start.t9LMjt48.js +0 -1
- package/dist/web/_app/immutable/nodes/0.P-Xfebn4.js +0 -2
- package/dist/web/_app/immutable/nodes/1.DiZlq1e6.js +0 -1
- package/dist/web/_app/immutable/nodes/2.ByIZ5J2p.js +0 -1
- package/dist/web/_app/immutable/nodes/3.D7JhktsZ.js +0 -1
- package/dist/web/_app/immutable/nodes/4.BtMeWbPx.js +0 -16
- package/dist/web/_app/immutable/nodes/5.CCYG1pbQ.js +0 -4
- package/dist/web/_app/immutable/nodes/6.CL_Ah04j.js +0 -2
- package/dist/web/_app/immutable/nodes/7.BMTaosAj.js +0 -1
- package/dist/web/_app/immutable/nodes/8.mrPg67cz.js +0 -1
- /package/dist/web/_app/immutable/assets/{5.BhKgiXd2.css → 4.BhKgiXd2.css} +0 -0
package/dist/core/types.js
CHANGED
|
@@ -22,9 +22,13 @@ export const RepoConfigSchema = z.object({
|
|
|
22
22
|
type: z.string().optional(), // Legacy field — ignored but tolerated for old configs
|
|
23
23
|
path: z.string(), // Relative to workspace root
|
|
24
24
|
description: z.string().optional(),
|
|
25
|
-
github_url: z.string().optional(),
|
|
26
25
|
private: z.boolean().optional(), // Local-only, excluded from push/pull, immutable after creation
|
|
27
26
|
owner_id: z.number().optional(), // User ID of the owner (private collections only)
|
|
27
|
+
sync: z.array(z.object({
|
|
28
|
+
source: z.string(),
|
|
29
|
+
entity_type: z.string().optional(),
|
|
30
|
+
filter: z.record(z.string(), z.any()).optional(),
|
|
31
|
+
})).optional(),
|
|
28
32
|
});
|
|
29
33
|
/**
|
|
30
34
|
* Workspace configuration
|
|
@@ -49,6 +53,15 @@ export const SchemaExtensionSchema = z.object({
|
|
|
49
53
|
additional_fields: z.array(FieldDefinitionSchema).optional(), // for extending existing types
|
|
50
54
|
fields: z.array(FieldDefinitionSchema).optional(), // for defining new custom types
|
|
51
55
|
});
|
|
56
|
+
export const WorkspaceSyncTargetSchema = z.object({
|
|
57
|
+
repo: z.string(),
|
|
58
|
+
filter: z.record(z.string(), z.any()).optional(),
|
|
59
|
+
});
|
|
60
|
+
export const WorkspaceSyncRuleSchema = z.object({
|
|
61
|
+
source: z.string(),
|
|
62
|
+
entity_type: z.string().optional(),
|
|
63
|
+
targets: z.array(WorkspaceSyncTargetSchema).min(1),
|
|
64
|
+
});
|
|
52
65
|
export const WorkspaceConfigSchema = z.object({
|
|
53
66
|
version: z.string(),
|
|
54
67
|
team_name: z.string(),
|
|
@@ -65,9 +78,7 @@ export const WorkspaceConfigSchema = z.object({
|
|
|
65
78
|
access_key_id: z.string().optional(),
|
|
66
79
|
secret_access_key: z.string().optional(),
|
|
67
80
|
}).optional(),
|
|
68
|
-
github: z.object({
|
|
69
|
-
org: z.string().optional(),
|
|
70
|
-
}).optional(),
|
|
71
81
|
schema_extensions: z.record(z.string(), SchemaExtensionSchema).optional(),
|
|
82
|
+
sync: z.array(WorkspaceSyncRuleSchema).optional(),
|
|
72
83
|
});
|
|
73
84
|
//# sourceMappingURL=types.js.map
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,sBAAsB;AAIxC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAK,uDAAuD;IACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAe,6BAA6B;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,sBAAsB;AAIxC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAK,uDAAuD;IACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAe,6BAA6B;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,gEAAgE;IACjG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,kDAAkD;IACnF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;KACjD,CAAC,CAAC,CAAC,QAAQ,EAAE;CACf,CAAC,CAAC;AAUH;;GAEG;AACH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAS,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACxE,QAAQ,EAAK,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAM,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAc,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,+BAA+B;IAC7F,MAAM,EAAa,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,EAAE,gCAAgC;CAC/F,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnD,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAChC,sBAAsB;IACtB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,wCAAwC;IAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,qCAAqC;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,wBAAwB;IACxD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC,CAAC,QAAQ,EAAE;IACb,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACzE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}
|
package/dist/core/workspace.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class Workspace {
|
|
|
20
20
|
private workspacePath;
|
|
21
21
|
private jsonConfigPath;
|
|
22
22
|
private membersPath;
|
|
23
|
+
private aboutPath;
|
|
23
24
|
private config;
|
|
24
25
|
/** Suppress migration output (used during init where the caller owns the spinner) */
|
|
25
26
|
quietMigrations: boolean;
|
|
@@ -40,6 +41,12 @@ export declare class Workspace {
|
|
|
40
41
|
* Write workspace config as workspace.json
|
|
41
42
|
*/
|
|
42
43
|
writeConfig(config: WorkspaceConfig): void;
|
|
44
|
+
/**
|
|
45
|
+
* Commit workspace.json and push to the config repo remote (if one exists).
|
|
46
|
+
* Mirrors the same pattern used by AuthService.pushSeed() for auth-seed.json.
|
|
47
|
+
* Non-fatal — logs warnings but never throws.
|
|
48
|
+
*/
|
|
49
|
+
pushWorkspaceConfig(message: string): void;
|
|
43
50
|
/**
|
|
44
51
|
* Load team members from team/members.json
|
|
45
52
|
*/
|
|
@@ -49,13 +56,13 @@ export declare class Workspace {
|
|
|
49
56
|
*/
|
|
50
57
|
writeMembers(members: TeamMember[]): void;
|
|
51
58
|
/**
|
|
52
|
-
*
|
|
59
|
+
* Load ABOUT.md content. Returns null if file doesn't exist.
|
|
53
60
|
*/
|
|
54
|
-
|
|
61
|
+
loadAbout(): string | null;
|
|
55
62
|
/**
|
|
56
|
-
*
|
|
63
|
+
* Write ABOUT.md content.
|
|
57
64
|
*/
|
|
58
|
-
|
|
65
|
+
writeAbout(content: string): void;
|
|
59
66
|
/**
|
|
60
67
|
* Update model configuration.
|
|
61
68
|
*
|
package/dist/core/workspace.js
CHANGED
|
@@ -12,6 +12,7 @@ export class Workspace {
|
|
|
12
12
|
workspacePath;
|
|
13
13
|
jsonConfigPath;
|
|
14
14
|
membersPath;
|
|
15
|
+
aboutPath;
|
|
15
16
|
config = null;
|
|
16
17
|
/** Suppress migration output (used during init where the caller owns the spinner) */
|
|
17
18
|
quietMigrations = false;
|
|
@@ -19,6 +20,7 @@ export class Workspace {
|
|
|
19
20
|
this.workspacePath = workspacePath;
|
|
20
21
|
this.jsonConfigPath = join(workspacePath, '.studiograph', 'workspace.json');
|
|
21
22
|
this.membersPath = join(workspacePath, '.studiograph', 'team', 'members.json');
|
|
23
|
+
this.aboutPath = join(workspacePath, '.studiograph', 'ABOUT.md');
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Check if current directory is a Studiograph workspace
|
|
@@ -51,7 +53,9 @@ export class Workspace {
|
|
|
51
53
|
writeFileSync(this.membersPath, JSON.stringify(initialMembers, null, 2), 'utf-8');
|
|
52
54
|
// Create .gitignore for .studiograph
|
|
53
55
|
const gitignorePath = join(studiographDir, '.gitignore');
|
|
54
|
-
writeFileSync(gitignorePath, '# Ignore sensitive local config\n*.local\nauth.db\nauth.db-wal\nauth.db-shm\nauth-secret\n');
|
|
56
|
+
writeFileSync(gitignorePath, '# Ignore sensitive local config\n*.local\nauth.db\nauth.db-wal\nauth.db-shm\nauth-secret\napi-keys\n');
|
|
57
|
+
// Create scaffolded ABOUT.md
|
|
58
|
+
this.writeAbout('## Vision\n\n## Mission\n\n## Profile\n\n## Capabilities\n\n## Values\n');
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* Load workspace config from workspace.json
|
|
@@ -73,6 +77,52 @@ export class Workspace {
|
|
|
73
77
|
writeConfig(config) {
|
|
74
78
|
writeFileSync(this.jsonConfigPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
75
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Commit workspace.json and push to the config repo remote (if one exists).
|
|
82
|
+
* Mirrors the same pattern used by AuthService.pushSeed() for auth-seed.json.
|
|
83
|
+
* Non-fatal — logs warnings but never throws.
|
|
84
|
+
*/
|
|
85
|
+
pushWorkspaceConfig(message) {
|
|
86
|
+
const sgDir = join(this.workspacePath, '.studiograph');
|
|
87
|
+
try {
|
|
88
|
+
const isRepo = spawnSync('git', ['rev-parse', '--git-dir'], {
|
|
89
|
+
cwd: sgDir, encoding: 'utf-8', stdio: 'pipe',
|
|
90
|
+
});
|
|
91
|
+
if (isRepo.status !== 0)
|
|
92
|
+
return;
|
|
93
|
+
const hasRemote = spawnSync('git', ['remote'], {
|
|
94
|
+
cwd: sgDir, encoding: 'utf-8', stdio: 'pipe',
|
|
95
|
+
});
|
|
96
|
+
if (hasRemote.status !== 0 || !hasRemote.stdout.trim())
|
|
97
|
+
return;
|
|
98
|
+
spawnSync('git', ['add', 'workspace.json'], {
|
|
99
|
+
cwd: sgDir, encoding: 'utf-8', stdio: 'pipe',
|
|
100
|
+
});
|
|
101
|
+
const diff = spawnSync('git', ['diff', '--cached', '--quiet'], {
|
|
102
|
+
cwd: sgDir, encoding: 'utf-8', stdio: 'pipe',
|
|
103
|
+
});
|
|
104
|
+
if (diff.status === 0)
|
|
105
|
+
return; // nothing staged
|
|
106
|
+
const commit = spawnSync('git', [
|
|
107
|
+
'-c', 'user.name=Studiograph',
|
|
108
|
+
'-c', 'user.email=noreply@studiograph.local',
|
|
109
|
+
'commit', '-m', message,
|
|
110
|
+
], { cwd: sgDir, encoding: 'utf-8', stdio: 'pipe' });
|
|
111
|
+
if (commit.status !== 0) {
|
|
112
|
+
console.warn(`Workspace: failed to commit workspace.json — ${(commit.stderr || '').trim()}`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const push = spawnSync('git', ['push'], {
|
|
116
|
+
cwd: sgDir, encoding: 'utf-8', stdio: 'pipe', timeout: 30_000,
|
|
117
|
+
});
|
|
118
|
+
if (push.status !== 0) {
|
|
119
|
+
console.warn(`Workspace: failed to push workspace.json — ${(push.stderr || '').trim()}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
console.warn(`Workspace: config sync failed — ${err.message}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
76
126
|
/**
|
|
77
127
|
* Load team members from team/members.json
|
|
78
128
|
*/
|
|
@@ -93,20 +143,18 @@ export class Workspace {
|
|
|
93
143
|
writeFileSync(this.membersPath, JSON.stringify({ members }, null, 2), 'utf-8');
|
|
94
144
|
}
|
|
95
145
|
/**
|
|
96
|
-
*
|
|
146
|
+
* Load ABOUT.md content. Returns null if file doesn't exist.
|
|
97
147
|
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
148
|
+
loadAbout() {
|
|
149
|
+
if (!existsSync(this.aboutPath))
|
|
150
|
+
return null;
|
|
151
|
+
return readFileSync(this.aboutPath, 'utf-8');
|
|
101
152
|
}
|
|
102
153
|
/**
|
|
103
|
-
*
|
|
154
|
+
* Write ABOUT.md content.
|
|
104
155
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
config.github = { ...config.github, org };
|
|
108
|
-
this.writeConfig(config);
|
|
109
|
-
this.config = config;
|
|
156
|
+
writeAbout(content) {
|
|
157
|
+
writeFileSync(this.aboutPath, content, 'utf-8');
|
|
110
158
|
}
|
|
111
159
|
/**
|
|
112
160
|
* Update model configuration.
|
|
@@ -151,6 +199,7 @@ Use \`[[wikilinks]]\` to link entities across collections.
|
|
|
151
199
|
config.repos.push(repoConfig);
|
|
152
200
|
this.writeConfig(config);
|
|
153
201
|
this.config = config;
|
|
202
|
+
this.pushWorkspaceConfig(`Add collection: ${repo.name}`);
|
|
154
203
|
// Create repo directory
|
|
155
204
|
const repoPath = join(this.workspacePath, repo.name);
|
|
156
205
|
mkdirSync(repoPath, { recursive: true });
|
|
@@ -187,7 +236,7 @@ Use \`[[wikilinks]]\` to link entities across collections.
|
|
|
187
236
|
writeFileSync(gitignorePath, '.DS_Store\n*.tmp\n*.log\n', 'utf-8');
|
|
188
237
|
}
|
|
189
238
|
run('git add -A');
|
|
190
|
-
run('git commit -m "Initialize repo"');
|
|
239
|
+
run('git -c user.name="Studiograph" -c user.email="noreply@studiograph.dev" commit -m "Initialize repo"');
|
|
191
240
|
}
|
|
192
241
|
return repoConfig;
|
|
193
242
|
}
|
|
@@ -262,23 +311,9 @@ Use \`[[wikilinks]]\` to link entities across collections.
|
|
|
262
311
|
catch {
|
|
263
312
|
// Marker unreadable — use defaults
|
|
264
313
|
}
|
|
265
|
-
// Try to read github_url from git remote
|
|
266
|
-
let githubUrl;
|
|
267
|
-
try {
|
|
268
|
-
const result = spawnSync('git', ['remote', 'get-url', 'origin'], {
|
|
269
|
-
cwd: dirPath, encoding: 'utf-8',
|
|
270
|
-
});
|
|
271
|
-
if (result.status === 0 && result.stdout.trim()) {
|
|
272
|
-
githubUrl = result.stdout.trim();
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
catch {
|
|
276
|
-
// no remote — fine
|
|
277
|
-
}
|
|
278
314
|
const repoConfig = {
|
|
279
315
|
name: repoName,
|
|
280
316
|
path: entry.name,
|
|
281
|
-
...(githubUrl ? { github_url: githubUrl } : {}),
|
|
282
317
|
};
|
|
283
318
|
config.repos.push(repoConfig);
|
|
284
319
|
added.push(repoName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/core/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asana — project management integration.
|
|
3
|
+
*
|
|
4
|
+
* Agent: MCP via mcp.asana.com (OAuth, pre-registered MCP app)
|
|
5
|
+
* OAuth app registered at app.asana.com/0/my-apps (type: "MCP app").
|
|
6
|
+
* Callback: https://auth.studiograph.com/callback/asana
|
|
7
|
+
* Distribution: set to "Any workspace" in Manage Distribution.
|
|
8
|
+
* Env: ASANA_CLIENT_SECRET
|
|
9
|
+
*
|
|
10
|
+
* Sync: REST adapter via app.asana.com/api/1.0 (Bearer PAT in connector headers)
|
|
11
|
+
* Env: ASANA_PAT (Personal Access Token from Asana > Settings > Apps > Developer Apps)
|
|
12
|
+
* Set in connector config: headers.Authorization = "Bearer $ASANA_PAT"
|
|
13
|
+
*
|
|
14
|
+
* Entities: task (primary), project
|
|
15
|
+
* Filters: project (server-side, required for tasks — Asana API won't list tasks
|
|
16
|
+
* without a project or assignee scope)
|
|
17
|
+
*
|
|
18
|
+
* Important: Asana uses `gid` not `id` for record identifiers. The id_field is set
|
|
19
|
+
* accordingly. Pagination uses cursor-based next_page.offset (JWT tokens).
|
|
20
|
+
* The opt_fields param requests only needed fields to reduce payload.
|
|
21
|
+
*
|
|
22
|
+
* Task status: Derived from the `completed` boolean (true → done, false → open).
|
|
23
|
+
* Asana doesn't expose custom status fields through the basic tasks endpoint.
|
|
24
|
+
*/
|
|
25
|
+
import type { Integration } from './types.js';
|
|
26
|
+
export declare const asana: Integration;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const asana = {
|
|
2
|
+
name: 'asana',
|
|
3
|
+
connector: {
|
|
4
|
+
url: 'https://mcp.asana.com/v2/mcp',
|
|
5
|
+
description: 'Asana project management',
|
|
6
|
+
auth: 'oauth',
|
|
7
|
+
oauth: {
|
|
8
|
+
client_id: '1213777861806842',
|
|
9
|
+
client_secret_env: 'ASANA_CLIENT_SECRET',
|
|
10
|
+
authorization_endpoint: 'https://app.asana.com/-/oauth_authorize',
|
|
11
|
+
token_endpoint: 'https://app.asana.com/-/oauth_token',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
source: {
|
|
15
|
+
connector: 'asana',
|
|
16
|
+
adapter: 'rest',
|
|
17
|
+
rest: { base_url: 'https://app.asana.com/api/1.0' },
|
|
18
|
+
filter_fields: [
|
|
19
|
+
// Tasks require a project ID. Find it in the Asana project URL:
|
|
20
|
+
// https://app.asana.com/0/<PROJECT_GID>/...
|
|
21
|
+
{
|
|
22
|
+
key: 'project',
|
|
23
|
+
label: 'Asana project ID',
|
|
24
|
+
placeholder: 'Project GID from the URL (required)',
|
|
25
|
+
type: 'text',
|
|
26
|
+
mode: 'server',
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
entities: {
|
|
30
|
+
task: {
|
|
31
|
+
primary: true,
|
|
32
|
+
list_endpoint: '/tasks',
|
|
33
|
+
detail_endpoint: '/tasks/{gid}',
|
|
34
|
+
// opt_fields requests only the fields we need
|
|
35
|
+
list_params: {
|
|
36
|
+
opt_fields: 'name,assignee.name,due_on,completed,notes,memberships.project.name,tags.name',
|
|
37
|
+
},
|
|
38
|
+
pagination: 'cursor',
|
|
39
|
+
page_size: 100,
|
|
40
|
+
id_field: 'gid',
|
|
41
|
+
id_from: 'name',
|
|
42
|
+
content_from: 'notes',
|
|
43
|
+
field_map: {
|
|
44
|
+
'name': 'name',
|
|
45
|
+
'assignee.name': { field: 'assignee', transform: 'wikilink' },
|
|
46
|
+
'due_on': 'due_date',
|
|
47
|
+
'memberships.0.project.name': { field: 'project', transform: 'wikilink' },
|
|
48
|
+
'tags': { field: 'tags', transform: 'string-array', subfield: 'name' },
|
|
49
|
+
},
|
|
50
|
+
status_map: {
|
|
51
|
+
'true': 'done',
|
|
52
|
+
'false': 'open',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
project: {
|
|
56
|
+
list_endpoint: '/projects',
|
|
57
|
+
detail_endpoint: '/projects/{gid}',
|
|
58
|
+
list_params: {
|
|
59
|
+
opt_fields: 'name,notes,start_on,due_on,owner.name,members.name',
|
|
60
|
+
},
|
|
61
|
+
pagination: 'cursor',
|
|
62
|
+
page_size: 100,
|
|
63
|
+
id_field: 'gid',
|
|
64
|
+
id_from: 'name',
|
|
65
|
+
content_from: 'notes',
|
|
66
|
+
field_map: {
|
|
67
|
+
'name': 'name',
|
|
68
|
+
'start_on': 'start_date',
|
|
69
|
+
'due_on': 'target_completion',
|
|
70
|
+
'owner.name': { field: 'lead', transform: 'wikilink' },
|
|
71
|
+
'members': { field: 'team', transform: 'wikilink-array', subfield: 'name' },
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=asana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asana.js","sourceRoot":"","sources":["../../src/integrations/asana.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,KAAK,GAAgB;IAChC,IAAI,EAAE,OAAO;IACb,SAAS,EAAE;QACT,GAAG,EAAE,8BAA8B;QACnC,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,SAAS,EAAE,kBAAkB;YAC7B,iBAAiB,EAAE,qBAAqB;YACxC,sBAAsB,EAAE,yCAAyC;YACjE,cAAc,EAAE,qCAAqC;SACtD;KACF;IACD,MAAM,EAAE;QACN,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,EAAE,QAAQ,EAAE,+BAA+B,EAAE;QACnD,aAAa,EAAE;YACb,gEAAgE;YAChE,4CAA4C;YAC5C;gBACE,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;aACf;SACF;QACD,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,QAAQ;gBACvB,eAAe,EAAE,cAAc;gBAC/B,8CAA8C;gBAC9C,WAAW,EAAE;oBACX,UAAU,EAAE,8EAA8E;iBAC3F;gBACD,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAE;oBACT,MAAM,EAAE,MAAM;oBACd,eAAe,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;oBAC7D,QAAQ,EAAE,UAAU;oBACpB,4BAA4B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;oBACzE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE;iBACvE;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,WAAW;gBAC1B,eAAe,EAAE,iBAAiB;gBAClC,WAAW,EAAE;oBACX,UAAU,EAAE,oDAAoD;iBACjE;gBACD,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAE;oBACT,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,mBAAmB;oBAC7B,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE;oBACtD,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE;iBAC5E;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Figma Desktop — local MCP connector for read/write access.
|
|
3
|
+
*
|
|
4
|
+
* Agent: MCP via localhost:3845 (no auth, requires Figma Desktop electron app running)
|
|
5
|
+
* The MCP server is "Figma Dev Mode MCP Server" — exposes tools for reading
|
|
6
|
+
* and writing to the currently open Figma document.
|
|
7
|
+
*
|
|
8
|
+
* Sync: None — design tool, interactive use only.
|
|
9
|
+
*
|
|
10
|
+
* Note: The port (3845) is determined by the Figma Desktop app, not configurable.
|
|
11
|
+
* Connection will fail gracefully if the app is not running.
|
|
12
|
+
*
|
|
13
|
+
* See also: figma (figma.ts) for remote read-only access via mcp.figma.com.
|
|
14
|
+
*/
|
|
15
|
+
import type { Integration } from './types.js';
|
|
16
|
+
export declare const figmaDesktop: Integration;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const figmaDesktop = {
|
|
2
|
+
name: 'figma-desktop',
|
|
3
|
+
connector: {
|
|
4
|
+
url: 'http://127.0.0.1:3845/mcp',
|
|
5
|
+
description: 'Figma Desktop (local, read/write)',
|
|
6
|
+
auth: 'none',
|
|
7
|
+
},
|
|
8
|
+
// No sync source — Figma is for interactive agent use only
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=figma-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma-local.js","sourceRoot":"","sources":["../../src/integrations/figma-local.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE;QACT,GAAG,EAAE,2BAA2B;QAChC,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,MAAM;KACb;IACD,2DAA2D;CAC5D,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Figma — remote design files integration (read-only).
|
|
3
|
+
*
|
|
4
|
+
* Agent: MCP via mcp.figma.com (OAuth, pre-registered public app — pending Figma review)
|
|
5
|
+
* OAuth app registered at figma.com/developers. Requires 2FA on the developer account.
|
|
6
|
+
* Callback: https://auth.studiograph.com/callback/figma
|
|
7
|
+
* Scopes: file_comments:read, file_comments:write, file_content:read,
|
|
8
|
+
* file_metadata:read, file_versions:read
|
|
9
|
+
* Env: FIGMA_CLIENT_SECRET
|
|
10
|
+
*
|
|
11
|
+
* Sync: None — Figma is for interactive agent queries only (search files,
|
|
12
|
+
* inspect components, read comments).
|
|
13
|
+
*
|
|
14
|
+
* See also: figma-desktop (figma-local.ts) for local read/write access via Figma Desktop.
|
|
15
|
+
*/
|
|
16
|
+
import type { Integration } from './types.js';
|
|
17
|
+
export declare const figma: Integration;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const figma = {
|
|
2
|
+
name: 'figma',
|
|
3
|
+
connector: {
|
|
4
|
+
url: 'https://mcp.figma.com/mcp',
|
|
5
|
+
description: 'Figma design files',
|
|
6
|
+
auth: 'oauth',
|
|
7
|
+
oauth: {
|
|
8
|
+
client_id: 'mrcqjuFebFq9PpsVB4MPVY',
|
|
9
|
+
client_secret_env: 'FIGMA_CLIENT_SECRET',
|
|
10
|
+
authorization_endpoint: 'https://www.figma.com/oauth',
|
|
11
|
+
token_endpoint: 'https://api.figma.com/v1/oauth/token',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
// No sync source — Figma is for interactive agent queries only
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=figma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma.js","sourceRoot":"","sources":["../../src/integrations/figma.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,KAAK,GAAgB;IAChC,IAAI,EAAE,OAAO;IACb,SAAS,EAAE;QACT,GAAG,EAAE,2BAA2B;QAChC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,SAAS,EAAE,wBAAwB;YACnC,iBAAiB,EAAE,qBAAqB;YACxC,sBAAsB,EAAE,6BAA6B;YACrD,cAAc,EAAE,sCAAsC;SACvD;KACF;IACD,+DAA+D;CAChE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Granola — meeting notes integration.
|
|
3
|
+
*
|
|
4
|
+
* Agent: MCP via mcp.granola.ai (OAuth, dynamic client registration)
|
|
5
|
+
* Sync: REST adapter via public-api.granola.ai (Bearer API key from connector headers)
|
|
6
|
+
*
|
|
7
|
+
* Why REST over MCP for sync: Granola's MCP server returns XML, has aggressive rate limiting
|
|
8
|
+
* (1 request then throttled), and no control over pagination. The REST API returns native JSON,
|
|
9
|
+
* allows 5 req/s sustained, and supports cursor pagination with page_size up to 30.
|
|
10
|
+
*
|
|
11
|
+
* Auth: API key required (Enterprise plan). Set in connector config:
|
|
12
|
+
* headers.Authorization = "Bearer $GRANOLA_API_KEY"
|
|
13
|
+
* The API key is separate from MCP OAuth tokens — both can coexist.
|
|
14
|
+
*
|
|
15
|
+
* Entities: meeting (from notes)
|
|
16
|
+
* Filters: folder (client-side, exact match on folder_membership names from detail response),
|
|
17
|
+
* created_after/created_before (server-side, YYYY-MM-DD format)
|
|
18
|
+
*
|
|
19
|
+
* Folder filtering: Granola's API doesn't support server-side folder filtering.
|
|
20
|
+
* All notes are fetched with details, then filtered client-side by folder name.
|
|
21
|
+
* Use created_after/created_before to reduce the fetch set.
|
|
22
|
+
*/
|
|
23
|
+
import type { Integration } from './types.js';
|
|
24
|
+
export declare const granola: Integration;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const granola = {
|
|
2
|
+
name: 'granola',
|
|
3
|
+
connector: {
|
|
4
|
+
url: 'https://mcp.granola.ai/mcp',
|
|
5
|
+
description: 'Granola meeting notes',
|
|
6
|
+
auth: 'oauth',
|
|
7
|
+
},
|
|
8
|
+
source: {
|
|
9
|
+
connector: 'granola',
|
|
10
|
+
adapter: 'rest',
|
|
11
|
+
rest: { base_url: 'https://public-api.granola.ai' },
|
|
12
|
+
filter_fields: [
|
|
13
|
+
{
|
|
14
|
+
key: 'folder',
|
|
15
|
+
label: 'Folder',
|
|
16
|
+
placeholder: 'Folder name (e.g. Acme Corp)',
|
|
17
|
+
type: 'text',
|
|
18
|
+
mode: 'client',
|
|
19
|
+
fields: ['folders'],
|
|
20
|
+
op: 'exact',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: 'created_after',
|
|
24
|
+
label: 'Created after',
|
|
25
|
+
placeholder: 'YYYY-MM-DD (e.g. 2026-01-01)',
|
|
26
|
+
type: 'text',
|
|
27
|
+
mode: 'server',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'created_before',
|
|
31
|
+
label: 'Created before',
|
|
32
|
+
placeholder: 'YYYY-MM-DD (e.g. 2026-04-01)',
|
|
33
|
+
type: 'text',
|
|
34
|
+
mode: 'server',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
entities: {
|
|
38
|
+
meeting: {
|
|
39
|
+
primary: true,
|
|
40
|
+
list_endpoint: '/v1/notes',
|
|
41
|
+
detail_endpoint: '/v1/notes/{note_id}',
|
|
42
|
+
detail_params: { include: 'transcript' },
|
|
43
|
+
pagination: 'cursor',
|
|
44
|
+
page_size: 30,
|
|
45
|
+
id_field: 'id',
|
|
46
|
+
id_from: 'title',
|
|
47
|
+
content_from: 'summary_markdown',
|
|
48
|
+
fetch_details: true,
|
|
49
|
+
field_map: {
|
|
50
|
+
'title': 'name',
|
|
51
|
+
'created_at': { field: 'date', transform: 'date-iso' },
|
|
52
|
+
'attendees': { field: 'attendees', transform: 'wikilink-array', subfield: 'name' },
|
|
53
|
+
'folder_membership': { field: 'folders', transform: 'string-array', subfield: 'name' },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=granola.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"granola.js","sourceRoot":"","sources":["../../src/integrations/granola.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,OAAO,GAAgB;IAClC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE;QACT,GAAG,EAAE,4BAA4B;QACjC,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,OAAO;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,EAAE,QAAQ,EAAE,+BAA+B,EAAE;QACnD,aAAa,EAAE;YACb;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,SAAS,CAAC;gBACnB,EAAE,EAAE,OAAO;aACZ;YACD;gBACE,GAAG,EAAE,eAAe;gBACpB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;aACf;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,WAAW;gBAC1B,eAAe,EAAE,qBAAqB;gBACtC,aAAa,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;gBACxC,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,OAAO;gBAChB,YAAY,EAAE,kBAAkB;gBAChC,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE;oBACT,OAAO,EAAE,MAAM;oBACf,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE;oBACtD,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE;oBAClF,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE;iBACvF;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linear — issue tracker integration.
|
|
3
|
+
*
|
|
4
|
+
* Agent: MCP via mcp.linear.app (OAuth, dynamic client registration — no pre-registered app needed)
|
|
5
|
+
* Sync: MCP adapter (default) — Linear's MCP server returns clean JSON with no rate limiting issues
|
|
6
|
+
*
|
|
7
|
+
* Entities: task (from issues), project
|
|
8
|
+
* Filters: project (client-side, contains match on project name)
|
|
9
|
+
*
|
|
10
|
+
* Note: Linear has a GraphQL API that could be more efficient for sync (server-side filtering,
|
|
11
|
+
* field selection). See STU-206 for the GraphQL adapter proposal. MCP works well enough for now.
|
|
12
|
+
*/
|
|
13
|
+
import type { Integration } from './types.js';
|
|
14
|
+
export declare const linear: Integration;
|