studiograph 1.1.3 → 1.2.0-beta.2
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 +2 -8
- package/dist/agent/orchestrator.js +56 -11
- package/dist/agent/orchestrator.js.map +1 -1
- package/dist/agent/prompts/system.md +28 -10
- package/dist/agent/skill-loader.d.ts +48 -0
- package/dist/agent/skill-loader.js +166 -0
- package/dist/agent/skill-loader.js.map +1 -0
- package/dist/agent/skills/{bundled/enrich-entities.md → enrich-entities.md} +12 -0
- package/dist/agent/skills/entity-schema.md +502 -0
- package/dist/agent/skills/obsidian-source-setup.md +246 -0
- package/dist/agent/skills/sync-configuration.md +144 -0
- package/dist/agent/skills/sync-setup.md +68 -0
- package/dist/agent/tools/connector-tools.d.ts +37 -0
- package/dist/agent/tools/connector-tools.js +132 -0
- package/dist/agent/tools/connector-tools.js.map +1 -0
- package/dist/agent/tools/fs-tools.d.ts +39 -0
- package/dist/agent/tools/fs-tools.js +106 -0
- package/dist/agent/tools/fs-tools.js.map +1 -0
- package/dist/agent/tools/graph-tools.d.ts +11 -1
- package/dist/agent/tools/graph-tools.js +90 -29
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/agent/tools/load-skill.d.ts +1 -1
- package/dist/agent/tools/load-skill.js +1 -1
- package/dist/agent/tools/load-skill.js.map +1 -1
- package/dist/agent/tools/sync-tools.d.ts +25 -0
- package/dist/agent/tools/sync-tools.js +691 -0
- package/dist/agent/tools/sync-tools.js.map +1 -0
- package/dist/auth/github.d.ts +11 -8
- package/dist/auth/github.js +56 -75
- package/dist/auth/github.js.map +1 -1
- package/dist/cli/colors.d.ts +54 -0
- package/dist/cli/colors.js +133 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +1 -1
- package/dist/cli/commands/auth.js +26 -10
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/clone.d.ts +9 -0
- package/dist/cli/commands/clone.js +167 -0
- package/dist/cli/commands/clone.js.map +1 -0
- package/dist/cli/commands/commit.d.ts +8 -0
- package/dist/cli/commands/commit.js +43 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/connector.js +10 -2
- package/dist/cli/commands/connector.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts +4 -6
- package/dist/cli/commands/deploy.js +262 -112
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/enrich.d.ts +11 -0
- package/dist/cli/commands/enrich.js +135 -0
- package/dist/cli/commands/enrich.js.map +1 -0
- package/dist/cli/commands/graphrag.d.ts +12 -0
- package/dist/cli/commands/graphrag.js +122 -0
- package/dist/cli/commands/graphrag.js.map +1 -0
- package/dist/cli/commands/init.js +21 -203
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/join.js +23 -3
- package/dist/cli/commands/join.js.map +1 -1
- package/dist/cli/commands/orphans.d.ts +8 -0
- package/dist/cli/commands/orphans.js +125 -0
- package/dist/cli/commands/orphans.js.map +1 -0
- package/dist/cli/commands/provision.js +11 -7
- package/dist/cli/commands/provision.js.map +1 -1
- package/dist/cli/commands/r2.js +8 -2
- package/dist/cli/commands/r2.js.map +1 -1
- package/dist/cli/commands/reset.d.ts +12 -0
- package/dist/cli/commands/reset.js +137 -0
- package/dist/cli/commands/reset.js.map +1 -0
- package/dist/cli/commands/review.d.ts +19 -0
- package/dist/cli/commands/review.js +128 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/source.d.ts +16 -0
- package/dist/cli/commands/source.js +159 -0
- package/dist/cli/commands/source.js.map +1 -0
- package/dist/cli/commands/start.js +285 -55
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/sync-entities.d.ts +13 -0
- package/dist/cli/commands/sync-entities.js +242 -0
- package/dist/cli/commands/sync-entities.js.map +1 -0
- package/dist/cli/commands/sync.js +36 -5
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/scaffolding.d.ts +2 -1
- package/dist/cli/scaffolding.js +36 -22
- package/dist/cli/scaffolding.js.map +1 -1
- package/dist/cli/setup-wizard.d.ts +30 -0
- package/dist/cli/setup-wizard.js +244 -0
- package/dist/cli/setup-wizard.js.map +1 -0
- package/dist/cli/sync-review-interactive.d.ts +31 -0
- package/dist/cli/sync-review-interactive.js +393 -0
- package/dist/cli/sync-review-interactive.js.map +1 -0
- package/dist/cli/theme.d.ts +31 -0
- package/dist/cli/theme.js +116 -0
- package/dist/cli/theme.js.map +1 -0
- package/dist/core/graph.d.ts +4 -8
- package/dist/core/graph.js +145 -96
- package/dist/core/graph.js.map +1 -1
- package/dist/core/migration-runner.d.ts +4 -1
- package/dist/core/migration-runner.js +14 -3
- package/dist/core/migration-runner.js.map +1 -1
- package/dist/core/types.d.ts +0 -3
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +1 -1
- package/dist/core/user-config.d.ts +6 -0
- package/dist/core/user-config.js.map +1 -1
- package/dist/core/workspace.d.ts +13 -5
- package/dist/core/workspace.js +110 -33
- package/dist/core/workspace.js.map +1 -1
- package/dist/mcp/connector-manager.d.ts +7 -3
- package/dist/mcp/connector-manager.js +61 -16
- package/dist/mcp/connector-manager.js.map +1 -1
- package/dist/mcp/connectors/asana.d.ts +2 -0
- package/dist/mcp/connectors/asana.js +20 -0
- package/dist/mcp/connectors/asana.js.map +1 -0
- package/dist/mcp/connectors/definitions.d.ts +3 -1
- package/dist/mcp/connectors/definitions.js +19 -127
- package/dist/mcp/connectors/definitions.js.map +1 -1
- package/dist/mcp/connectors/figma.d.ts +5 -0
- package/dist/mcp/connectors/figma.js +21 -0
- package/dist/mcp/connectors/figma.js.map +1 -0
- package/dist/mcp/connectors/gdrive.d.ts +2 -0
- package/dist/mcp/connectors/gdrive.js +20 -0
- package/dist/mcp/connectors/gdrive.js.map +1 -0
- package/dist/mcp/connectors/granola.d.ts +2 -0
- package/dist/mcp/connectors/granola.js +12 -0
- package/dist/mcp/connectors/granola.js.map +1 -0
- package/dist/mcp/connectors/linear.d.ts +2 -0
- package/dist/mcp/connectors/linear.js +19 -0
- package/dist/mcp/connectors/linear.js.map +1 -0
- package/dist/mcp/connectors/obsidian.d.ts +2 -0
- package/dist/mcp/connectors/obsidian.js +19 -0
- package/dist/mcp/connectors/obsidian.js.map +1 -0
- package/dist/mcp/connectors/pipedrive.d.ts +2 -0
- package/dist/mcp/connectors/pipedrive.js +20 -0
- package/dist/mcp/connectors/pipedrive.js.map +1 -0
- package/dist/mcp/connectors/slack.d.ts +2 -0
- package/dist/mcp/connectors/slack.js +21 -0
- package/dist/mcp/connectors/slack.js.map +1 -0
- package/dist/mcp/oauth-provider.d.ts +41 -0
- package/dist/mcp/oauth-provider.js +160 -0
- package/dist/mcp/oauth-provider.js.map +1 -0
- package/dist/server/index.js +14 -9
- package/dist/server/index.js.map +1 -1
- package/dist/server/plugin-loader.d.ts +7 -0
- package/dist/server/plugin-loader.js +54 -2
- package/dist/server/plugin-loader.js.map +1 -1
- package/dist/services/github-provisioner.d.ts +8 -3
- package/dist/services/github-provisioner.js +35 -8
- package/dist/services/github-provisioner.js.map +1 -1
- package/dist/services/lint-service.js +8 -1
- package/dist/services/lint-service.js.map +1 -1
- package/dist/services/markdown.js +3 -3
- package/dist/services/markdown.js.map +1 -1
- package/dist/services/memory-service.d.ts +1 -1
- package/dist/services/memory-service.js +2 -3
- package/dist/services/memory-service.js.map +1 -1
- package/dist/services/orphan-service.d.ts +31 -0
- package/dist/services/orphan-service.js +100 -0
- package/dist/services/orphan-service.js.map +1 -0
- package/dist/services/sync/commit.d.ts +58 -0
- package/dist/services/sync/commit.js +354 -0
- package/dist/services/sync/commit.js.map +1 -0
- package/dist/services/sync/context-index.d.ts +69 -0
- package/dist/services/sync/context-index.js +280 -0
- package/dist/services/sync/context-index.js.map +1 -0
- package/dist/services/sync/derive.d.ts +34 -0
- package/dist/services/sync/derive.js +164 -0
- package/dist/services/sync/derive.js.map +1 -0
- package/dist/services/sync/enrichment-state.d.ts +31 -0
- package/dist/services/sync/enrichment-state.js +63 -0
- package/dist/services/sync/enrichment-state.js.map +1 -0
- package/dist/services/sync/enrichment.d.ts +25 -0
- package/dist/services/sync/enrichment.js +121 -0
- package/dist/services/sync/enrichment.js.map +1 -0
- package/dist/services/sync/frontmatter-extractor.d.ts +40 -0
- package/dist/services/sync/frontmatter-extractor.js +273 -0
- package/dist/services/sync/frontmatter-extractor.js.map +1 -0
- package/dist/services/sync/graph-match-state.d.ts +33 -0
- package/dist/services/sync/graph-match-state.js +61 -0
- package/dist/services/sync/graph-match-state.js.map +1 -0
- package/dist/services/sync/graph-match.d.ts +53 -0
- package/dist/services/sync/graph-match.js +316 -0
- package/dist/services/sync/graph-match.js.map +1 -0
- package/dist/services/sync/graphrag-client.d.ts +43 -0
- package/dist/services/sync/graphrag-client.js +94 -0
- package/dist/services/sync/graphrag-client.js.map +1 -0
- package/dist/services/sync/graphrag-config.d.ts +16 -0
- package/dist/services/sync/graphrag-config.js +39 -0
- package/dist/services/sync/graphrag-config.js.map +1 -0
- package/dist/services/sync/graphrag-context.d.ts +14 -0
- package/dist/services/sync/graphrag-context.js +109 -0
- package/dist/services/sync/graphrag-context.js.map +1 -0
- package/dist/services/sync/graphrag-indexer.d.ts +30 -0
- package/dist/services/sync/graphrag-indexer.js +358 -0
- package/dist/services/sync/graphrag-indexer.js.map +1 -0
- package/dist/services/sync/llm.d.ts +32 -0
- package/dist/services/sync/llm.js +115 -0
- package/dist/services/sync/llm.js.map +1 -0
- package/dist/services/sync/mcp-client.d.ts +59 -0
- package/dist/services/sync/mcp-client.js +285 -0
- package/dist/services/sync/mcp-client.js.map +1 -0
- package/dist/services/sync/model-factory.d.ts +10 -0
- package/dist/services/sync/model-factory.js +24 -0
- package/dist/services/sync/model-factory.js.map +1 -0
- package/dist/services/sync/name-quality.d.ts +31 -0
- package/dist/services/sync/name-quality.js +60 -0
- package/dist/services/sync/name-quality.js.map +1 -0
- package/dist/services/sync/output-schemas.d.ts +92 -0
- package/dist/services/sync/output-schemas.js +43 -0
- package/dist/services/sync/output-schemas.js.map +1 -0
- package/dist/services/sync/prompts.d.ts +19 -0
- package/dist/services/sync/prompts.js +128 -0
- package/dist/services/sync/prompts.js.map +1 -0
- package/dist/services/sync/reconciler.d.ts +48 -0
- package/dist/services/sync/reconciler.js +295 -0
- package/dist/services/sync/reconciler.js.map +1 -0
- package/dist/services/sync/source-config.d.ts +45 -0
- package/dist/services/sync/source-config.js +208 -0
- package/dist/services/sync/source-config.js.map +1 -0
- package/dist/services/sync/source-definitions/asana.d.ts +15 -0
- package/dist/services/sync/source-definitions/asana.js +48 -0
- package/dist/services/sync/source-definitions/asana.js.map +1 -0
- package/dist/services/sync/source-definitions/definitions.d.ts +21 -0
- package/dist/services/sync/source-definitions/definitions.js +26 -0
- package/dist/services/sync/source-definitions/definitions.js.map +1 -0
- package/dist/services/sync/source-definitions/gdrive.d.ts +16 -0
- package/dist/services/sync/source-definitions/gdrive.js +68 -0
- package/dist/services/sync/source-definitions/gdrive.js.map +1 -0
- package/dist/services/sync/source-definitions/granola.d.ts +2 -0
- package/dist/services/sync/source-definitions/granola.js +28 -0
- package/dist/services/sync/source-definitions/granola.js.map +1 -0
- package/dist/services/sync/source-definitions/linear.d.ts +2 -0
- package/dist/services/sync/source-definitions/linear.js +60 -0
- package/dist/services/sync/source-definitions/linear.js.map +1 -0
- package/dist/services/sync/source-definitions/obsidian.d.ts +2 -0
- package/dist/services/sync/source-definitions/obsidian.js +55 -0
- package/dist/services/sync/source-definitions/obsidian.js.map +1 -0
- package/dist/services/sync/source-definitions/pipedrive.d.ts +2 -0
- package/dist/services/sync/source-definitions/pipedrive.js +52 -0
- package/dist/services/sync/source-definitions/pipedrive.js.map +1 -0
- package/dist/services/sync/staging.d.ts +53 -0
- package/dist/services/sync/staging.js +131 -0
- package/dist/services/sync/staging.js.map +1 -0
- package/dist/services/sync/structured-extractor.d.ts +49 -0
- package/dist/services/sync/structured-extractor.js +344 -0
- package/dist/services/sync/structured-extractor.js.map +1 -0
- package/dist/services/sync/sync-runner.d.ts +32 -0
- package/dist/services/sync/sync-runner.js +195 -0
- package/dist/services/sync/sync-runner.js.map +1 -0
- package/dist/services/sync/sync-state.d.ts +43 -0
- package/dist/services/sync/sync-state.js +154 -0
- package/dist/services/sync/sync-state.js.map +1 -0
- package/dist/services/sync/types.d.ts +203 -0
- package/dist/services/sync/types.js +8 -0
- package/dist/services/sync/types.js.map +1 -0
- package/dist/services/sync/unstructured-extractor.d.ts +29 -0
- package/dist/services/sync/unstructured-extractor.js +197 -0
- package/dist/services/sync/unstructured-extractor.js.map +1 -0
- package/dist/services/vector-service.d.ts +11 -0
- package/dist/services/vector-service.js +42 -0
- package/dist/services/vector-service.js.map +1 -1
- package/dist/utils/git.d.ts +26 -4
- package/dist/utils/git.js +55 -7
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/merge-resolver.d.ts +34 -0
- package/dist/utils/merge-resolver.js +201 -0
- package/dist/utils/merge-resolver.js.map +1 -0
- package/dist/utils/preflight.d.ts +2 -1
- package/dist/utils/preflight.js +8 -1
- package/dist/utils/preflight.js.map +1 -1
- package/dist/utils/workspace-config.d.ts +8 -0
- package/dist/utils/workspace-config.js +22 -0
- package/dist/utils/workspace-config.js.map +1 -0
- package/package.json +16 -7
- /package/dist/agent/skills/{bundled/gather-context.md → gather-context.md} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/sync-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,aAAqB,EAAE,eAAgC;IACrF,OAAO;QACL,oBAAoB;QACpB;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,sHAAsH;YACnI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC,CAAC;gBACxG,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC,CAAC;gBACvF,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC,CAAC;aACjG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B;wBACE,aAAa;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,gBAAgB,EAAE,eAAe,CAAC,iBAAiB;qBACpD,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5B,CAAC;oBAEF,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,MAAM;wBACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,uBAAuB;QACvB;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,kHAAkH;YAC/H,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBAErC,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;wBAC7B,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,yCAAyC;QACzC;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,0IAA0I;YACvJ,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC,CAAC;aACpG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,aAAa,EACb,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CACxB,CAAC;oBAEF,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;wBACrF,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC7B,SAAS,EAAE,+FAA+F;qBAC3G,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,oCAAoC;QACpC;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,8JAA8J;YAC3K,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC,CAAC;aAClG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,MAAM,WAAW,CACf,aAAa,EACb,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,QAAQ,EAAE,CACpD,CAAC;oBAEF,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,0EAA0E;QAC1E;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,6BAA6B;YACpC,WAAW,EAAE,uGAAuG;YACpH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,qDAAqD,EAAE,CAAC,CAAC;aACrG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;oBAChG,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,aAAa,EACb,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAC3B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CACtC,CAAC;oBAEF,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,MAAM;wBACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,gBAAgB;QAChB;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,+CAA+C;YAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAEhB,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,UAAU;wBACV,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,4BAA4B;qBACxE,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,8BAA8B;QAC9B;YACE,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,mPAAmP;YAChQ,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACzD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBAEnC,6CAA6C;oBAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC1D,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;qBAC3B,CAAC,CAAC,CAAC;oBAEJ,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBAE7D,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,UAAU;wBACV,oBAAoB;qBACrB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,sBAAsB;QACtB;YACE,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,iGAAiG;YAC9G,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4DAA4D,EAAE,CAAC;gBAC7F,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC,CAAC;gBAC5F,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CACjC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,EAC5C,EAAE,WAAW,EAAE,6DAA6D,EAAE,CAC/E,CAAC;gBACF,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;aAClF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACzD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;oBAEtD,iCAAiC;oBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAC9B,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,WAAW,MAAM,CAAC,IAAI,iDAAiD;yBAC/E,CAAC,CAAC;oBACL,CAAC;oBAED,0BAA0B;oBAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;oBAClD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;oBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,cAAc,aAAa,oFAAoF,aAAa,EAAE;4BACrI,mBAAmB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBACjD,CAAC,CAAC;oBACL,CAAC;oBAED,sBAAsB;oBACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBACxF,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,IAAI,UAAU,EAAE,eAAe,IAAI,EAAE,CAAC;oBAE7E,MAAM,MAAM,GAAiB;wBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,eAAe,EAAE,QAAQ;qBAC1B,CAAC;oBAEF,WAAW;oBACX,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBACtB,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,uBAAuB;4BAC9B,gBAAgB,EAAE,UAAU,CAAC,MAAM;yBACpC,CAAC,CAAC;oBACL,CAAC;oBAED,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEvB,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,qBAAqB,QAAQ,CAAC,MAAM,qBAAqB;wBACxF,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,kBAAkB;QAClB;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,qCAAqC;YAClD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;aACzD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACzD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAE9C,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,OAAO,EAAE,OAAO;4BACd,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,YAAY;4BACpC,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,cAAc;qBACzC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,6EAA6E;QAE7E,iBAAiB;QACjB;YACE,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,6MAA6M;YAC1N,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,CAAC;gBAClG,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;gBACjF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC,CAAC;gBAClG,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC,CAAC;aACzG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC;wBACE,aAAa;wBACb,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;wBACvC,gBAAgB,EAAE,eAAe,CAAC,iBAAiB;qBACpD,EACD,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5B,CAAC;oBAEF,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,MAAM;wBACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC7B,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;4BAC9C,CAAC,CAAC,+FAA+F;4BACjG,CAAC,CAAC,SAAS;qBACd,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,gDAAgD;QAChD;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,kGAAkG;YAC/G,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEpC,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBAChF,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBACzE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;oBAED,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,QAAQ;wBACR,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAC1B,CAAC,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC/C,CAAC,CAAC,uBAAuB;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,gDAAgD;QAChD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,+OAA+O;YAC5P,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,UAAU,GAAa,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEpC,sCAAsC;wBACtC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBACjG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;4BAAE,SAAS;wBAE3D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;wBAE1D,8BAA8B;wBAC9B,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBAEhF,yCAAyC;wBACzC,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBAEzE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,gBAAgB,CAAC,CAAC;oBAC3D,CAAC;oBAED,oBAAoB;oBACpB,IAAI,cAAc,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;wBAClD,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;4BACzB,OAAO,CAAC,KAAK,EAAE,CAAC;4BAChB,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtG,IAAI,cAAc;wBAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAElD,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,UAAU;wBACV,OAAO;wBACP,cAAc;wBACd,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAsB;qBAC5E,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,sIAAsI;YACnJ,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,CAAC;aAC1E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;oBACtF,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;oBAC3E,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;oBAE3B,MAAM,QAAQ,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACpF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI;wBACvB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;wBAC9C,CAAC,CAAC,QAAQ,CAAC;oBAEb,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtC,OAAO,cAAc,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,SAAS,MAAM,CAAC,IAAI,0BAA0B;4BACrD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC1C,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,WAAW,GAA2B,EAAE,CAAC;oBAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;oBAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEpC,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;gCACjC,QAAQ;gCACR,QAAQ,EAAE,IAAI,CAAC,IAAI;gCACnB,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE;6BAChF,CAAC,CAAC;4BAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC9B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACxB,MAAM,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;4BACtD,CAAC;4BACD,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAE5C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;4BACzC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC;wBAClC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBAChD,CAAC;oBACH,CAAC;oBAED,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE,WAAW,YAAY,oBAAoB,KAAK,CAAC,MAAM,UAAU;qBAC3E,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,6EAA6E;QAE7E,kCAAkC;QAClC;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,gLAAgL;YAC7L,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,OAAO,GAA6B,EAAE,CAAC;oBAC7C,IAAI,YAAY,GAAG,CAAC,CAAC;oBAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEpC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBACjG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;4BAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;4BAC3B,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;wBAC/B,CAAC;oBACH,CAAC;oBAED,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,YAAY;wBACZ,OAAO;wBACP,OAAO,EAAE,YAAY,GAAG,CAAC;4BACvB,CAAC,CAAC,GAAG,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,QAAQ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;4BAC1J,CAAC,CAAC,yBAAyB;qBAC9B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,wBAAwB;QACxB;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,2KAA2K;YACxL,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+DAA+D,EAAE,CAAC,CAAC;gBAClH,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CAAC;gBACjF,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC,CAAC;aACvG,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,MAAW,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS;wBAC/B,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC;wBAC1B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACb,MAAM,KAAK,GAA2B,EAAE,CAAC;oBAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEpC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;wBAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;4BAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC/B,CAAC;6BAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;4BAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;wBAC3C,CAAC;wBAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;4BAChD,8DAA8D;4BAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK;gCACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,uDAAuD;gCAChF,CAAC,CAAC,IAAI,CAAC;wBACX,CAAC;oBACH,CAAC;oBAED,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;wBACvC,KAAK;wBACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;4BACpC,CAAC,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,UAAU;4BACnD,CAAC,CAAC,mBAAmB;qBACxB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,kGAAkG;YAC/G,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,OAAO,GAA2B,EAAE,CAAC;oBAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBACpC,IAAI,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACzC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpF,CAAC;oBACH,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;oBACzE,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,OAAO;wBACP,OAAO,EAAE,MAAM,GAAG,CAAC;4BACjB,CAAC,CAAC,UAAU,MAAM,QAAQ,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;4BACnD,CAAC,CAAC,+BAA+B;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;QAED,iBAAiB;QACjB;YACE,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,4EAA4E;YACzF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,MAAM,KAAK,GAA0C,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjF,MAAM,OAAO,GAA2B,EAAE,CAAC;oBAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBACpC,IAAI,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACzC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpF,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;oBAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;oBAC9E,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,SAAS,KAAK,CAAC;wBACxB,OAAO;wBACP,OAAO,EAAE,SAAS,GAAG,CAAC;4BACpB,CAAC,CAAC,GAAG,SAAS,QAAQ,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,0CAA0C;4BAC1F,CAAC,CAAC,OAAO,GAAG,CAAC;gCACX,CAAC,CAAC,qBAAqB,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;gCAChE,CAAC,CAAC,+BAA+B;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,cAAc,CAAC;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/auth/github.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub authentication for Studiograph
|
|
3
3
|
*
|
|
4
|
-
* Uses
|
|
5
|
-
*
|
|
4
|
+
* Uses Personal Access Tokens (classic) — universally compatible with
|
|
5
|
+
* any org, no OAuth app approval required.
|
|
6
6
|
* Token stored globally at ~/.studiograph/auth.json
|
|
7
7
|
*/
|
|
8
8
|
import { Octokit } from '@octokit/rest';
|
|
9
|
-
|
|
9
|
+
/** URL to create a classic PAT with pre-filled scopes */
|
|
10
|
+
export declare const PAT_CREATE_URL = "https://github.com/settings/tokens/new?scopes=repo,read:org,user:email&description=Studiograph+CLI";
|
|
10
11
|
export interface GitHubUser {
|
|
11
12
|
login: string;
|
|
12
13
|
name: string;
|
|
@@ -17,17 +18,19 @@ interface StoredAuth {
|
|
|
17
18
|
user: GitHubUser;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* Prompt the user for a GitHub Personal Access Token (classic).
|
|
22
|
+
* Opens the browser to the PAT creation page, displays required scopes,
|
|
23
|
+
* and accepts masked input.
|
|
22
24
|
*/
|
|
23
|
-
export declare function
|
|
25
|
+
export declare function promptForPAT(): Promise<string>;
|
|
24
26
|
/**
|
|
25
27
|
* Store token and user info at ~/.studiograph/auth.json
|
|
26
28
|
*/
|
|
27
29
|
export declare function storeToken(token: string, user: GitHubUser): void;
|
|
28
30
|
/**
|
|
29
|
-
* Load stored token and user
|
|
30
|
-
*
|
|
31
|
+
* Load stored token and user.
|
|
32
|
+
* Checks environment variables first (STUDIOGRAPH_GITHUB_TOKEN, then GITHUB_TOKEN),
|
|
33
|
+
* then falls back to ~/.studiograph/auth.json.
|
|
31
34
|
*/
|
|
32
35
|
export declare function loadToken(): StoredAuth | null;
|
|
33
36
|
/**
|
package/dist/auth/github.js
CHANGED
|
@@ -1,87 +1,62 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GitHub authentication for Studiograph
|
|
3
3
|
*
|
|
4
|
-
* Uses
|
|
5
|
-
*
|
|
4
|
+
* Uses Personal Access Tokens (classic) — universally compatible with
|
|
5
|
+
* any org, no OAuth app approval required.
|
|
6
6
|
* Token stored globally at ~/.studiograph/auth.json
|
|
7
7
|
*/
|
|
8
8
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
9
9
|
import { join } from 'path';
|
|
10
10
|
import { homedir } from 'os';
|
|
11
|
+
import { exec } from 'child_process';
|
|
11
12
|
import { Octokit } from '@octokit/rest';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export const GITHUB_CLIENT_ID = process.env.STUDIOGRAPH_GITHUB_CLIENT_ID ?? 'Ov23lipHzDbTRqhz4Zqe';
|
|
16
|
-
const SCOPES = 'repo read:org user:email';
|
|
17
|
-
const DEVICE_CODE_URL = 'https://github.com/login/device/code';
|
|
18
|
-
const ACCESS_TOKEN_URL = 'https://github.com/login/oauth/access_token';
|
|
13
|
+
import { note, password, isCancel } from '@clack/prompts';
|
|
14
|
+
/** URL to create a classic PAT with pre-filled scopes */
|
|
15
|
+
export const PAT_CREATE_URL = 'https://github.com/settings/tokens/new?scopes=repo,read:org,user:email&description=Studiograph+CLI';
|
|
19
16
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
17
|
+
* Prompt the user for a GitHub Personal Access Token (classic).
|
|
18
|
+
* Opens the browser to the PAT creation page, displays required scopes,
|
|
19
|
+
* and accepts masked input.
|
|
22
20
|
*/
|
|
23
|
-
export async function
|
|
24
|
-
//
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
export async function promptForPAT() {
|
|
22
|
+
// Best-effort browser open
|
|
23
|
+
const url = PAT_CREATE_URL;
|
|
24
|
+
if (process.platform === 'darwin') {
|
|
25
|
+
exec(`open "${url}"`);
|
|
26
|
+
}
|
|
27
|
+
else if (process.platform === 'linux') {
|
|
28
|
+
exec(`xdg-open "${url}"`);
|
|
29
|
+
}
|
|
30
|
+
else if (process.platform === 'win32') {
|
|
31
|
+
exec(`start "" "${url}"`);
|
|
32
|
+
}
|
|
33
|
+
note([
|
|
34
|
+
'Studiograph needs a GitHub Personal Access Token',
|
|
35
|
+
'(classic) with these scopes:',
|
|
36
|
+
'',
|
|
37
|
+
' repo — read/write repositories',
|
|
38
|
+
' read:org — verify org membership',
|
|
39
|
+
' user:email — read your email address',
|
|
40
|
+
'',
|
|
41
|
+
`Create one here: ${url}`,
|
|
42
|
+
].join('\n'), 'GitHub Authentication');
|
|
43
|
+
const token = await password({
|
|
44
|
+
message: 'Paste your GitHub Personal Access Token:',
|
|
45
|
+
validate: (value) => {
|
|
46
|
+
const trimmed = value.trim();
|
|
47
|
+
if (!trimmed)
|
|
48
|
+
return 'Token is required';
|
|
49
|
+
if (!trimmed.startsWith('ghp_') &&
|
|
50
|
+
!trimmed.startsWith('github_pat_') &&
|
|
51
|
+
!trimmed.startsWith('gho_')) {
|
|
52
|
+
return 'Invalid token format. GitHub tokens start with ghp_, github_pat_, or gho_';
|
|
53
|
+
}
|
|
30
54
|
},
|
|
31
|
-
body: JSON.stringify({
|
|
32
|
-
client_id: GITHUB_CLIENT_ID,
|
|
33
|
-
scope: SCOPES,
|
|
34
|
-
}),
|
|
35
55
|
});
|
|
36
|
-
if (
|
|
37
|
-
throw new Error(
|
|
56
|
+
if (isCancel(token)) {
|
|
57
|
+
throw new Error('Authentication cancelled');
|
|
38
58
|
}
|
|
39
|
-
|
|
40
|
-
const { device_code, user_code, verification_uri, expires_in, interval } = codeData;
|
|
41
|
-
// Step 2: Display instructions to user
|
|
42
|
-
console.log(`\nGo to ${verification_uri} and enter: ${user_code}\n`);
|
|
43
|
-
// Step 3: Poll for token
|
|
44
|
-
const pollIntervalMs = (interval ?? 5) * 1000;
|
|
45
|
-
const expiresAt = Date.now() + (expires_in ?? 900) * 1000;
|
|
46
|
-
while (Date.now() < expiresAt) {
|
|
47
|
-
await sleep(pollIntervalMs);
|
|
48
|
-
const tokenResponse = await fetch(ACCESS_TOKEN_URL, {
|
|
49
|
-
method: 'POST',
|
|
50
|
-
headers: {
|
|
51
|
-
'Content-Type': 'application/json',
|
|
52
|
-
Accept: 'application/json',
|
|
53
|
-
},
|
|
54
|
-
body: JSON.stringify({
|
|
55
|
-
client_id: GITHUB_CLIENT_ID,
|
|
56
|
-
device_code,
|
|
57
|
-
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
58
|
-
}),
|
|
59
|
-
});
|
|
60
|
-
if (!tokenResponse.ok) {
|
|
61
|
-
throw new Error(`Token poll failed: ${tokenResponse.statusText}`);
|
|
62
|
-
}
|
|
63
|
-
const tokenData = await tokenResponse.json();
|
|
64
|
-
if (tokenData.access_token) {
|
|
65
|
-
return tokenData.access_token;
|
|
66
|
-
}
|
|
67
|
-
if (tokenData.error === 'authorization_pending') {
|
|
68
|
-
// Still waiting — continue polling
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
if (tokenData.error === 'slow_down') {
|
|
72
|
-
// Back off by an extra 5 seconds
|
|
73
|
-
await sleep(5000);
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
if (tokenData.error === 'expired_token') {
|
|
77
|
-
throw new Error('Device code expired. Please try again.');
|
|
78
|
-
}
|
|
79
|
-
if (tokenData.error === 'access_denied') {
|
|
80
|
-
throw new Error('Authorization was denied.');
|
|
81
|
-
}
|
|
82
|
-
throw new Error(`Unexpected error: ${tokenData.error ?? 'unknown'}`);
|
|
83
|
-
}
|
|
84
|
-
throw new Error('Device code expired before authorization completed.');
|
|
59
|
+
return token.trim();
|
|
85
60
|
}
|
|
86
61
|
/**
|
|
87
62
|
* Get the path to the global auth file (~/.studiograph/auth.json)
|
|
@@ -99,10 +74,19 @@ export function storeToken(token, user) {
|
|
|
99
74
|
writeFileSync(getAuthFilePath(), JSON.stringify(data, null, 2), { encoding: 'utf-8', mode: 0o600 });
|
|
100
75
|
}
|
|
101
76
|
/**
|
|
102
|
-
* Load stored token and user
|
|
103
|
-
*
|
|
77
|
+
* Load stored token and user.
|
|
78
|
+
* Checks environment variables first (STUDIOGRAPH_GITHUB_TOKEN, then GITHUB_TOKEN),
|
|
79
|
+
* then falls back to ~/.studiograph/auth.json.
|
|
104
80
|
*/
|
|
105
81
|
export function loadToken() {
|
|
82
|
+
// Environment variable tokens take priority
|
|
83
|
+
const envToken = process.env.STUDIOGRAPH_GITHUB_TOKEN || process.env.GITHUB_TOKEN;
|
|
84
|
+
if (envToken) {
|
|
85
|
+
return {
|
|
86
|
+
token: envToken,
|
|
87
|
+
user: { login: '_env', name: 'Environment Token', email: '' },
|
|
88
|
+
};
|
|
89
|
+
}
|
|
106
90
|
const authPath = getAuthFilePath();
|
|
107
91
|
if (!existsSync(authPath))
|
|
108
92
|
return null;
|
|
@@ -174,7 +158,4 @@ export async function getUserOrgTeams(octokit, org) {
|
|
|
174
158
|
return [];
|
|
175
159
|
}
|
|
176
160
|
}
|
|
177
|
-
function sleep(ms) {
|
|
178
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
179
|
-
}
|
|
180
161
|
//# sourceMappingURL=github.js.map
|
package/dist/auth/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/auth/github.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/auth/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic color helpers for CLI output.
|
|
3
|
+
* Wraps picocolors for consistent styling across all commands.
|
|
4
|
+
*/
|
|
5
|
+
export { default as pc } from 'picocolors';
|
|
6
|
+
export declare const created: (s: string) => string;
|
|
7
|
+
export declare const updated: (s: string) => string;
|
|
8
|
+
export declare const skipped: (s: string) => string;
|
|
9
|
+
export declare const error: (s: string) => string;
|
|
10
|
+
export declare const success: (s: string) => string;
|
|
11
|
+
export declare const warn: (s: string) => string;
|
|
12
|
+
export declare const info: (s: string) => string;
|
|
13
|
+
export declare const entityRef: (s: string) => string;
|
|
14
|
+
export declare const header: (s: string) => string;
|
|
15
|
+
export declare const count: (s: string) => string;
|
|
16
|
+
export declare const dimText: (s: string) => string;
|
|
17
|
+
export declare const accent: (s: string) => string;
|
|
18
|
+
export declare const toolRef: (s: string) => string;
|
|
19
|
+
/**
|
|
20
|
+
* Colorize a raw unified diff string line-by-line.
|
|
21
|
+
*
|
|
22
|
+
* - `+` lines → green
|
|
23
|
+
* - `-` lines → red
|
|
24
|
+
* - `@@` hunk headers → magenta
|
|
25
|
+
* - `---`/`+++` file headers → cyan bold
|
|
26
|
+
* - everything else → dim
|
|
27
|
+
*/
|
|
28
|
+
export declare function colorizeDiff(rawDiff: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Colorize a single line of agent text output for the CLI chat interface.
|
|
31
|
+
* Detects patterns the agent uses (ALL CAPS headers, bullet lists, numbered
|
|
32
|
+
* items) and applies minimal coloring to improve scanability.
|
|
33
|
+
*/
|
|
34
|
+
export declare function colorizeAgentLine(line: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Render a user prompt line with a dark gray background (256-color mode).
|
|
37
|
+
* The \x1b[K clears to end of line with the current background, giving
|
|
38
|
+
* a full-width bar effect.
|
|
39
|
+
*/
|
|
40
|
+
export declare function renderUserPrompt(message: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Format an action line like " Created: person/john-doe"
|
|
43
|
+
*/
|
|
44
|
+
export declare function formatAction(action: 'create' | 'update' | 'skip', type: string, id: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Format a summary line like "3 created, 5 updated, 1 skipped"
|
|
47
|
+
*/
|
|
48
|
+
export declare function formatSummary(counts: {
|
|
49
|
+
created?: number;
|
|
50
|
+
updated?: number;
|
|
51
|
+
skipped?: number;
|
|
52
|
+
}): string;
|
|
53
|
+
export declare function statusIcon(status: 'A' | 'M' | 'D'): string;
|
|
54
|
+
export declare function statusLabel(status: 'A' | 'M' | 'D'): string;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic color helpers for CLI output.
|
|
3
|
+
* Wraps picocolors for consistent styling across all commands.
|
|
4
|
+
*/
|
|
5
|
+
import pc from 'picocolors';
|
|
6
|
+
// ── Base colors (re-export for direct use when semantic helpers don't fit) ───
|
|
7
|
+
export { default as pc } from 'picocolors';
|
|
8
|
+
// ── Action colors ────────────────────────────────────────────────────────────
|
|
9
|
+
export const created = (s) => pc.green(s);
|
|
10
|
+
export const updated = (s) => pc.yellow(s);
|
|
11
|
+
export const skipped = (s) => pc.dim(s);
|
|
12
|
+
export const error = (s) => pc.red(s);
|
|
13
|
+
export const success = (s) => pc.green(pc.bold(s));
|
|
14
|
+
export const warn = (s) => pc.yellow(s);
|
|
15
|
+
export const info = (s) => pc.cyan(s);
|
|
16
|
+
// ── Structural colors ────────────────────────────────────────────────────────
|
|
17
|
+
export const entityRef = (s) => pc.cyan(s);
|
|
18
|
+
export const header = (s) => pc.bold(s);
|
|
19
|
+
export const count = (s) => pc.bold(s);
|
|
20
|
+
export const dimText = (s) => pc.dim(s);
|
|
21
|
+
export const accent = (s) => pc.blue(s);
|
|
22
|
+
export const toolRef = (s) => pc.cyan(pc.bold(s));
|
|
23
|
+
// ── Diff colorizer ───────────────────────────────────────────────────────────
|
|
24
|
+
/**
|
|
25
|
+
* Colorize a raw unified diff string line-by-line.
|
|
26
|
+
*
|
|
27
|
+
* - `+` lines → green
|
|
28
|
+
* - `-` lines → red
|
|
29
|
+
* - `@@` hunk headers → magenta
|
|
30
|
+
* - `---`/`+++` file headers → cyan bold
|
|
31
|
+
* - everything else → dim
|
|
32
|
+
*/
|
|
33
|
+
export function colorizeDiff(rawDiff) {
|
|
34
|
+
if (!rawDiff)
|
|
35
|
+
return '';
|
|
36
|
+
return rawDiff
|
|
37
|
+
.split('\n')
|
|
38
|
+
.map((line) => {
|
|
39
|
+
if (line.startsWith('+++') || line.startsWith('---')) {
|
|
40
|
+
return pc.cyan(pc.bold(line));
|
|
41
|
+
}
|
|
42
|
+
if (line.startsWith('@@')) {
|
|
43
|
+
return pc.magenta(line);
|
|
44
|
+
}
|
|
45
|
+
if (line.startsWith('+')) {
|
|
46
|
+
return pc.green(line);
|
|
47
|
+
}
|
|
48
|
+
if (line.startsWith('-')) {
|
|
49
|
+
return pc.red(line);
|
|
50
|
+
}
|
|
51
|
+
if (line.startsWith('diff ')) {
|
|
52
|
+
return pc.bold(line);
|
|
53
|
+
}
|
|
54
|
+
return pc.dim(line);
|
|
55
|
+
})
|
|
56
|
+
.join('\n');
|
|
57
|
+
}
|
|
58
|
+
// ── Agent output colorizer ──────────────────────────────────────────────────
|
|
59
|
+
/**
|
|
60
|
+
* Colorize a single line of agent text output for the CLI chat interface.
|
|
61
|
+
* Detects patterns the agent uses (ALL CAPS headers, bullet lists, numbered
|
|
62
|
+
* items) and applies minimal coloring to improve scanability.
|
|
63
|
+
*/
|
|
64
|
+
export function colorizeAgentLine(line) {
|
|
65
|
+
const trimmed = line.trim();
|
|
66
|
+
// ALL CAPS header lines (2+ chars, only uppercase + digits + spaces + punctuation)
|
|
67
|
+
if (trimmed.length > 2 && /^[A-Z][A-Z\s\d\-—:,.()&/]+$/.test(trimmed)) {
|
|
68
|
+
return pc.bold(line);
|
|
69
|
+
}
|
|
70
|
+
// Numbered items: "1. text" or " 2. text" — color the number
|
|
71
|
+
const numMatch = line.match(/^(\s*)(\d+\.)(\s)(.*)/);
|
|
72
|
+
if (numMatch) {
|
|
73
|
+
return numMatch[1] + pc.cyan(numMatch[2]) + numMatch[3] + numMatch[4];
|
|
74
|
+
}
|
|
75
|
+
// Bullet points: "- text" or " - text" — dim the dash
|
|
76
|
+
const bulletMatch = line.match(/^(\s*)(- )(.*)/);
|
|
77
|
+
if (bulletMatch) {
|
|
78
|
+
return bulletMatch[1] + pc.dim(bulletMatch[2]) + bulletMatch[3];
|
|
79
|
+
}
|
|
80
|
+
return line;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Render a user prompt line with a dark gray background (256-color mode).
|
|
84
|
+
* The \x1b[K clears to end of line with the current background, giving
|
|
85
|
+
* a full-width bar effect.
|
|
86
|
+
*/
|
|
87
|
+
export function renderUserPrompt(message) {
|
|
88
|
+
return `\x1b[48;5;237m > ${message} \x1b[K\x1b[0m`;
|
|
89
|
+
}
|
|
90
|
+
// ── Compound formatters ──────────────────────────────────────────────────────
|
|
91
|
+
/**
|
|
92
|
+
* Format an action line like " Created: person/john-doe"
|
|
93
|
+
*/
|
|
94
|
+
export function formatAction(action, type, id) {
|
|
95
|
+
const ref = entityRef(`${type}/${id}`);
|
|
96
|
+
switch (action) {
|
|
97
|
+
case 'create':
|
|
98
|
+
return ` ${created('Created')}: ${ref}`;
|
|
99
|
+
case 'update':
|
|
100
|
+
return ` ${updated('Updated')}: ${ref}`;
|
|
101
|
+
case 'skip':
|
|
102
|
+
return ` ${skipped('Skipped')}: ${skipped(`${type}/${id}`)}`;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Format a summary line like "3 created, 5 updated, 1 skipped"
|
|
107
|
+
*/
|
|
108
|
+
export function formatSummary(counts) {
|
|
109
|
+
const parts = [];
|
|
110
|
+
if (counts.created && counts.created > 0)
|
|
111
|
+
parts.push(created(`${counts.created} created`));
|
|
112
|
+
if (counts.updated && counts.updated > 0)
|
|
113
|
+
parts.push(updated(`${counts.updated} updated`));
|
|
114
|
+
if (counts.skipped && counts.skipped > 0)
|
|
115
|
+
parts.push(skipped(`${counts.skipped} skipped`));
|
|
116
|
+
return parts.join(', ') || dimText('no changes');
|
|
117
|
+
}
|
|
118
|
+
// ── File status helpers (for review) ─────────────────────────────────────────
|
|
119
|
+
export function statusIcon(status) {
|
|
120
|
+
switch (status) {
|
|
121
|
+
case 'A': return created('+');
|
|
122
|
+
case 'M': return updated('~');
|
|
123
|
+
case 'D': return error('−');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export function statusLabel(status) {
|
|
127
|
+
switch (status) {
|
|
128
|
+
case 'A': return created('new');
|
|
129
|
+
case 'M': return updated('modified');
|
|
130
|
+
case 'D': return error('deleted');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* studiograph auth command
|
|
3
3
|
*
|
|
4
4
|
* Subcommands:
|
|
5
|
-
* studiograph auth github — authenticate
|
|
5
|
+
* studiograph auth github — authenticate with a GitHub Personal Access Token
|
|
6
6
|
* studiograph auth status — show current auth status
|
|
7
7
|
* studiograph auth logout — clear stored token
|
|
8
8
|
*/
|
|
@@ -2,37 +2,46 @@
|
|
|
2
2
|
* studiograph auth command
|
|
3
3
|
*
|
|
4
4
|
* Subcommands:
|
|
5
|
-
* studiograph auth github — authenticate
|
|
5
|
+
* studiograph auth github — authenticate with a GitHub Personal Access Token
|
|
6
6
|
* studiograph auth status — show current auth status
|
|
7
7
|
* studiograph auth logout — clear stored token
|
|
8
8
|
*/
|
|
9
9
|
import { Command } from 'commander';
|
|
10
10
|
import { intro, outro, spinner, log } from '@clack/prompts';
|
|
11
|
-
import {
|
|
11
|
+
import { promptForPAT, storeToken, loadToken, clearToken, getGitHubUser, } from '../../auth/github.js';
|
|
12
12
|
const authGithubCommand = new Command('github')
|
|
13
|
-
.description('Authenticate with GitHub using
|
|
13
|
+
.description('Authenticate with GitHub using a Personal Access Token')
|
|
14
14
|
.action(async () => {
|
|
15
15
|
intro('GitHub Authentication');
|
|
16
16
|
try {
|
|
17
|
-
|
|
18
|
-
// runDeviceFlow prints the user_code + URL itself
|
|
19
|
-
const token = await runDeviceFlow();
|
|
17
|
+
const token = await promptForPAT();
|
|
20
18
|
const s = spinner();
|
|
21
|
-
s.start('
|
|
19
|
+
s.start('Verifying token...');
|
|
22
20
|
const user = await getGitHubUser(token);
|
|
23
|
-
s.stop('
|
|
21
|
+
s.stop('Token verified');
|
|
24
22
|
storeToken(token, user);
|
|
25
|
-
outro(
|
|
23
|
+
outro(`Authenticated as ${user.login} (${user.name})`);
|
|
26
24
|
}
|
|
27
25
|
catch (error) {
|
|
28
26
|
log.error(`Authentication failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
29
|
-
outro('
|
|
27
|
+
outro('Could not authenticate with GitHub.');
|
|
30
28
|
process.exit(1);
|
|
31
29
|
}
|
|
32
30
|
});
|
|
33
31
|
const authStatusCommand = new Command('status')
|
|
34
32
|
.description('Show current GitHub authentication status')
|
|
35
33
|
.action(() => {
|
|
34
|
+
// Check env vars directly for source detection
|
|
35
|
+
const envSgToken = process.env.STUDIOGRAPH_GITHUB_TOKEN;
|
|
36
|
+
const envGhToken = process.env.GITHUB_TOKEN;
|
|
37
|
+
if (envSgToken) {
|
|
38
|
+
console.log('GitHub auth configured via STUDIOGRAPH_GITHUB_TOKEN environment variable');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (envGhToken) {
|
|
42
|
+
console.log('GitHub auth configured via GITHUB_TOKEN environment variable');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
36
45
|
const stored = loadToken();
|
|
37
46
|
if (stored) {
|
|
38
47
|
console.log(`Authenticated as ${stored.user.login} (${stored.user.name})`);
|
|
@@ -47,6 +56,13 @@ const authStatusCommand = new Command('status')
|
|
|
47
56
|
const authLogoutCommand = new Command('logout')
|
|
48
57
|
.description('Clear stored GitHub token')
|
|
49
58
|
.action(() => {
|
|
59
|
+
const envSgToken = process.env.STUDIOGRAPH_GITHUB_TOKEN;
|
|
60
|
+
const envGhToken = process.env.GITHUB_TOKEN;
|
|
61
|
+
if (envSgToken || envGhToken) {
|
|
62
|
+
const varName = envSgToken ? 'STUDIOGRAPH_GITHUB_TOKEN' : 'GITHUB_TOKEN';
|
|
63
|
+
console.log(`Token is set via ${varName} environment variable. Unset it to log out.`);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
50
66
|
const stored = loadToken();
|
|
51
67
|
if (!stored) {
|
|
52
68
|
console.log('Not currently authenticated.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* studiograph clone command
|
|
3
|
+
*
|
|
4
|
+
* Clones an entire Studiograph workspace for admin setup on a new machine.
|
|
5
|
+
* Unlike `join` (which resolves identity and filters repos by role), `clone`
|
|
6
|
+
* pulls everything and walks through full setup: LLM provider + connectors.
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from 'commander';
|
|
9
|
+
export declare const cloneCommand: Command;
|