@ginkoai/cli 1.0.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/analysis/project-analyzer.d.ts.map +1 -1
- package/dist/analysis/project-analyzer.js +68 -4
- package/dist/analysis/project-analyzer.js.map +1 -1
- package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -1
- package/dist/commands/architecture/architecture-pipeline-enhanced.js +10 -6
- package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -1
- package/dist/commands/backlog/base.d.ts.map +1 -1
- package/dist/commands/backlog/base.js +3 -0
- package/dist/commands/backlog/base.js.map +1 -1
- package/dist/commands/backlog/create.js +20 -20
- package/dist/commands/backlog/create.js.map +1 -1
- package/dist/commands/backlog/index.d.ts.map +1 -1
- package/dist/commands/backlog/index.js +6 -1
- package/dist/commands/backlog/index.js.map +1 -1
- package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -1
- package/dist/commands/changelog/changelog-reflection.js +7 -3
- package/dist/commands/changelog/changelog-reflection.js.map +1 -1
- package/dist/commands/charter.d.ts +28 -0
- package/dist/commands/charter.d.ts.map +1 -0
- package/dist/commands/charter.js +434 -0
- package/dist/commands/charter.js.map +1 -0
- package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -1
- package/dist/commands/documentation/documentation-pipeline.js +15 -7
- package/dist/commands/documentation/documentation-pipeline.js.map +1 -1
- package/dist/commands/git/git-pipeline.d.ts.map +1 -1
- package/dist/commands/git/git-pipeline.js +3 -2
- package/dist/commands/git/git-pipeline.js.map +1 -1
- package/dist/commands/graph/api-client.d.ts +212 -0
- package/dist/commands/graph/api-client.d.ts.map +1 -0
- package/dist/commands/graph/api-client.js +143 -0
- package/dist/commands/graph/api-client.js.map +1 -0
- package/dist/commands/graph/config.d.ts +82 -0
- package/dist/commands/graph/config.d.ts.map +1 -0
- package/dist/commands/graph/config.js +113 -0
- package/dist/commands/graph/config.js.map +1 -0
- package/dist/commands/graph/explore.d.ts +19 -0
- package/dist/commands/graph/explore.d.ts.map +1 -0
- package/dist/commands/graph/explore.js +117 -0
- package/dist/commands/graph/explore.js.map +1 -0
- package/dist/commands/graph/index.d.ts +17 -0
- package/dist/commands/graph/index.d.ts.map +1 -0
- package/dist/commands/graph/index.js +104 -0
- package/dist/commands/graph/index.js.map +1 -0
- package/dist/commands/graph/init.d.ts +21 -0
- package/dist/commands/graph/init.d.ts.map +1 -0
- package/dist/commands/graph/init.js +173 -0
- package/dist/commands/graph/init.js.map +1 -0
- package/dist/commands/graph/load.d.ts +21 -0
- package/dist/commands/graph/load.d.ts.map +1 -0
- package/dist/commands/graph/load.js +224 -0
- package/dist/commands/graph/load.js.map +1 -0
- package/dist/commands/graph/query.d.ts +23 -0
- package/dist/commands/graph/query.d.ts.map +1 -0
- package/dist/commands/graph/query.js +145 -0
- package/dist/commands/graph/query.js.map +1 -0
- package/dist/commands/graph/status.d.ts +15 -0
- package/dist/commands/graph/status.d.ts.map +1 -0
- package/dist/commands/graph/status.js +88 -0
- package/dist/commands/graph/status.js.map +1 -0
- package/dist/commands/handoff.d.ts +14 -5
- package/dist/commands/handoff.d.ts.map +1 -1
- package/dist/commands/handoff.js +84 -142
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +88 -41
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/knowledge/create.d.ts +24 -0
- package/dist/commands/knowledge/create.d.ts.map +1 -0
- package/dist/commands/knowledge/create.js +180 -0
- package/dist/commands/knowledge/create.js.map +1 -0
- package/dist/commands/knowledge/graph.d.ts +21 -0
- package/dist/commands/knowledge/graph.d.ts.map +1 -0
- package/dist/commands/knowledge/graph.js +199 -0
- package/dist/commands/knowledge/graph.js.map +1 -0
- package/dist/commands/knowledge/index.d.ts +25 -0
- package/dist/commands/knowledge/index.d.ts.map +1 -0
- package/dist/commands/knowledge/index.js +121 -0
- package/dist/commands/knowledge/index.js.map +1 -0
- package/dist/commands/knowledge/search.d.ts +23 -0
- package/dist/commands/knowledge/search.d.ts.map +1 -0
- package/dist/commands/knowledge/search.js +157 -0
- package/dist/commands/knowledge/search.js.map +1 -0
- package/dist/commands/knowledge/sync.d.ts +28 -0
- package/dist/commands/knowledge/sync.d.ts.map +1 -0
- package/dist/commands/knowledge/sync.js +251 -0
- package/dist/commands/knowledge/sync.js.map +1 -0
- package/dist/commands/log.d.ts +32 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +632 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/login.d.ts +27 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +177 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +15 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +31 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/project/create.d.ts +22 -0
- package/dist/commands/project/create.d.ts.map +1 -0
- package/dist/commands/project/create.js +69 -0
- package/dist/commands/project/create.js.map +1 -0
- package/dist/commands/project/delete.d.ts +19 -0
- package/dist/commands/project/delete.d.ts.map +1 -0
- package/dist/commands/project/delete.js +73 -0
- package/dist/commands/project/delete.js.map +1 -0
- package/dist/commands/project/index.d.ts +22 -0
- package/dist/commands/project/index.d.ts.map +1 -0
- package/dist/commands/project/index.js +134 -0
- package/dist/commands/project/index.js.map +1 -0
- package/dist/commands/project/info.d.ts +15 -0
- package/dist/commands/project/info.d.ts.map +1 -0
- package/dist/commands/project/info.js +92 -0
- package/dist/commands/project/info.js.map +1 -0
- package/dist/commands/project/list.d.ts +20 -0
- package/dist/commands/project/list.d.ts.map +1 -0
- package/dist/commands/project/list.js +82 -0
- package/dist/commands/project/list.js.map +1 -0
- package/dist/commands/project/members.d.ts +27 -0
- package/dist/commands/project/members.d.ts.map +1 -0
- package/dist/commands/project/members.js +140 -0
- package/dist/commands/project/members.js.map +1 -0
- package/dist/commands/project/update.d.ts +24 -0
- package/dist/commands/project/update.d.ts.map +1 -0
- package/dist/commands/project/update.js +83 -0
- package/dist/commands/project/update.js.map +1 -0
- package/dist/commands/reflect.js +0 -3
- package/dist/commands/reflect.js.map +1 -1
- package/dist/commands/ship.d.ts +3 -1
- package/dist/commands/ship.d.ts.map +1 -1
- package/dist/commands/ship.js +100 -9
- package/dist/commands/ship.js.map +1 -1
- package/dist/commands/start/index.d.ts.map +1 -1
- package/dist/commands/start/index.js +5 -3
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/start-reflection.d.ts +2 -1
- package/dist/commands/start/start-reflection.d.ts.map +1 -1
- package/dist/commands/start/start-reflection.js +265 -43
- package/dist/commands/start/start-reflection.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +41 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/team/create.d.ts +15 -0
- package/dist/commands/team/create.d.ts.map +1 -0
- package/dist/commands/team/create.js +48 -0
- package/dist/commands/team/create.js.map +1 -0
- package/dist/commands/team/index.d.ts +22 -0
- package/dist/commands/team/index.d.ts.map +1 -0
- package/dist/commands/team/index.js +109 -0
- package/dist/commands/team/index.js.map +1 -0
- package/dist/commands/team/list.d.ts +15 -0
- package/dist/commands/team/list.d.ts.map +1 -0
- package/dist/commands/team/list.js +67 -0
- package/dist/commands/team/list.js.map +1 -0
- package/dist/commands/team/members.d.ts +27 -0
- package/dist/commands/team/members.d.ts.map +1 -0
- package/dist/commands/team/members.js +135 -0
- package/dist/commands/team/members.js.map +1 -0
- package/dist/commands/team/projects.d.ts +19 -0
- package/dist/commands/team/projects.d.ts.map +1 -0
- package/dist/commands/team/projects.js +107 -0
- package/dist/commands/team/projects.js.map +1 -0
- package/dist/commands/team.d.ts +22 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +238 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -1
- package/dist/commands/testing/testing-pipeline-enhanced.js +5 -3
- package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -1
- package/dist/commands/testing/testing-pipeline.d.ts.map +1 -1
- package/dist/commands/testing/testing-pipeline.js +5 -3
- package/dist/commands/testing/testing-pipeline.js.map +1 -1
- package/dist/commands/whoami.d.ts +15 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +38 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/core/reflection-pattern.d.ts +1 -1
- package/dist/core/reflection-pattern.d.ts.map +1 -1
- package/dist/core/reflection-pattern.js +2 -12
- package/dist/core/reflection-pattern.js.map +1 -1
- package/dist/core/session-log-manager.d.ts +44 -4
- package/dist/core/session-log-manager.d.ts.map +1 -1
- package/dist/core/session-log-manager.js +132 -31
- package/dist/core/session-log-manager.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +116 -17
- package/dist/index.js.map +1 -1
- package/dist/lib/api/projects-client.d.ts +119 -0
- package/dist/lib/api/projects-client.d.ts.map +1 -0
- package/dist/lib/api/projects-client.js +125 -0
- package/dist/lib/api/projects-client.js.map +1 -0
- package/dist/lib/api/teams-client.d.ts +73 -0
- package/dist/lib/api/teams-client.d.ts.map +1 -0
- package/dist/lib/api/teams-client.js +68 -0
- package/dist/lib/api/teams-client.js.map +1 -0
- package/dist/lib/charter/charter-editor.d.ts +60 -0
- package/dist/lib/charter/charter-editor.d.ts.map +1 -0
- package/dist/lib/charter/charter-editor.js +559 -0
- package/dist/lib/charter/charter-editor.js.map +1 -0
- package/dist/lib/charter/charter-storage.d.ts +92 -0
- package/dist/lib/charter/charter-storage.d.ts.map +1 -0
- package/dist/lib/charter/charter-storage.js +501 -0
- package/dist/lib/charter/charter-storage.js.map +1 -0
- package/dist/lib/charter/charter-synthesizer.d.ts +94 -0
- package/dist/lib/charter/charter-synthesizer.d.ts.map +1 -0
- package/dist/lib/charter/charter-synthesizer.js +521 -0
- package/dist/lib/charter/charter-synthesizer.js.map +1 -0
- package/dist/lib/charter/charter-versioning.d.ts +57 -0
- package/dist/lib/charter/charter-versioning.d.ts.map +1 -0
- package/dist/lib/charter/charter-versioning.js +283 -0
- package/dist/lib/charter/charter-versioning.js.map +1 -0
- package/dist/lib/charter/confidence-scorer.d.ts +263 -0
- package/dist/lib/charter/confidence-scorer.d.ts.map +1 -0
- package/dist/lib/charter/confidence-scorer.js +737 -0
- package/dist/lib/charter/confidence-scorer.js.map +1 -0
- package/dist/lib/charter/conversation-context.d.ts +99 -0
- package/dist/lib/charter/conversation-context.d.ts.map +1 -0
- package/dist/lib/charter/conversation-context.js +297 -0
- package/dist/lib/charter/conversation-context.js.map +1 -0
- package/dist/lib/charter/conversation-facilitator.d.ts +117 -0
- package/dist/lib/charter/conversation-facilitator.d.ts.map +1 -0
- package/dist/lib/charter/conversation-facilitator.js +360 -0
- package/dist/lib/charter/conversation-facilitator.js.map +1 -0
- package/dist/lib/charter/question-templates.d.ts +82 -0
- package/dist/lib/charter/question-templates.d.ts.map +1 -0
- package/dist/lib/charter/question-templates.js +355 -0
- package/dist/lib/charter/question-templates.js.map +1 -0
- package/dist/lib/charter/signal-detection.d.ts +49 -0
- package/dist/lib/charter/signal-detection.d.ts.map +1 -0
- package/dist/lib/charter/signal-detection.js +338 -0
- package/dist/lib/charter/signal-detection.js.map +1 -0
- package/dist/lib/context-loader-events.d.ts +111 -0
- package/dist/lib/context-loader-events.d.ts.map +1 -0
- package/dist/lib/context-loader-events.js +475 -0
- package/dist/lib/context-loader-events.js.map +1 -0
- package/dist/lib/event-logger.d.ts +64 -0
- package/dist/lib/event-logger.d.ts.map +1 -0
- package/dist/lib/event-logger.js +197 -0
- package/dist/lib/event-logger.js.map +1 -0
- package/dist/lib/event-queue.d.ts +104 -0
- package/dist/lib/event-queue.d.ts.map +1 -0
- package/dist/lib/event-queue.js +274 -0
- package/dist/lib/event-queue.js.map +1 -0
- package/dist/lib/session-cursor.d.ts +80 -0
- package/dist/lib/session-cursor.d.ts.map +1 -0
- package/dist/lib/session-cursor.js +250 -0
- package/dist/lib/session-cursor.js.map +1 -0
- package/dist/lib/sync/conflict-detector.d.ts +41 -0
- package/dist/lib/sync/conflict-detector.d.ts.map +1 -0
- package/dist/lib/sync/conflict-detector.js +124 -0
- package/dist/lib/sync/conflict-detector.js.map +1 -0
- package/dist/lib/sync/logger.d.ts +89 -0
- package/dist/lib/sync/logger.d.ts.map +1 -0
- package/dist/lib/sync/logger.js +202 -0
- package/dist/lib/sync/logger.js.map +1 -0
- package/dist/lib/sync/parser.d.ts +32 -0
- package/dist/lib/sync/parser.d.ts.map +1 -0
- package/dist/lib/sync/parser.js +180 -0
- package/dist/lib/sync/parser.js.map +1 -0
- package/dist/lib/sync/scanner.d.ts +34 -0
- package/dist/lib/sync/scanner.d.ts.map +1 -0
- package/dist/lib/sync/scanner.js +97 -0
- package/dist/lib/sync/scanner.js.map +1 -0
- package/dist/lib/sync/uploader.d.ts +33 -0
- package/dist/lib/sync/uploader.d.ts.map +1 -0
- package/dist/lib/sync/uploader.js +188 -0
- package/dist/lib/sync/uploader.js.map +1 -0
- package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts +77 -0
- package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts.map +1 -0
- package/dist/lib/write-dispatcher/adapters/graph-adapter.js +178 -0
- package/dist/lib/write-dispatcher/adapters/graph-adapter.js.map +1 -0
- package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts +133 -0
- package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -0
- package/dist/lib/write-dispatcher/adapters/local-adapter.js +324 -0
- package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -0
- package/dist/lib/write-dispatcher/write-dispatcher.d.ts +151 -0
- package/dist/lib/write-dispatcher/write-dispatcher.d.ts.map +1 -0
- package/dist/lib/write-dispatcher/write-dispatcher.js +197 -0
- package/dist/lib/write-dispatcher/write-dispatcher.js.map +1 -0
- package/dist/types/charter.d.ts +330 -0
- package/dist/types/charter.d.ts.map +1 -0
- package/dist/types/charter.js +76 -0
- package/dist/types/charter.js.map +1 -0
- package/dist/types/config.d.ts +65 -17
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +50 -21
- package/dist/types/config.js.map +1 -1
- package/dist/utils/api-client.d.ts +36 -0
- package/dist/utils/api-client.d.ts.map +1 -0
- package/dist/utils/api-client.js +97 -0
- package/dist/utils/api-client.js.map +1 -0
- package/dist/utils/auth-storage.d.ts +56 -0
- package/dist/utils/auth-storage.d.ts.map +1 -0
- package/dist/utils/auth-storage.js +133 -0
- package/dist/utils/auth-storage.js.map +1 -0
- package/dist/utils/cleanup.d.ts +21 -0
- package/dist/utils/cleanup.d.ts.map +1 -0
- package/dist/utils/cleanup.js +122 -0
- package/dist/utils/cleanup.js.map +1 -0
- package/dist/utils/config-loader.d.ts +76 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +269 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/context-loader.d.ts +154 -0
- package/dist/utils/context-loader.d.ts.map +1 -0
- package/dist/utils/context-loader.js +411 -0
- package/dist/utils/context-loader.js.map +1 -0
- package/dist/utils/dispatcher-logger.d.ts +30 -0
- package/dist/utils/dispatcher-logger.d.ts.map +1 -0
- package/dist/utils/dispatcher-logger.js +128 -0
- package/dist/utils/dispatcher-logger.js.map +1 -0
- package/dist/utils/ginko-root.d.ts +3 -2
- package/dist/utils/ginko-root.d.ts.map +1 -1
- package/dist/utils/ginko-root.js +35 -2
- package/dist/utils/ginko-root.js.map +1 -1
- package/dist/utils/helpers.d.ts +1 -0
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +3 -0
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/log-quality.d.ts +55 -0
- package/dist/utils/log-quality.d.ts.map +1 -0
- package/dist/utils/log-quality.js +297 -0
- package/dist/utils/log-quality.js.map +1 -0
- package/dist/utils/reference-parser.d.ts +164 -0
- package/dist/utils/reference-parser.d.ts.map +1 -0
- package/dist/utils/reference-parser.js +363 -0
- package/dist/utils/reference-parser.js.map +1 -0
- package/dist/utils/synthesis.d.ts +180 -0
- package/dist/utils/synthesis.d.ts.map +1 -0
- package/dist/utils/synthesis.js +724 -0
- package/dist/utils/synthesis.js.map +1 -0
- package/dist/utils/team-awareness.d.ts +127 -0
- package/dist/utils/team-awareness.d.ts.map +1 -0
- package/dist/utils/team-awareness.js +385 -0
- package/dist/utils/team-awareness.js.map +1 -0
- package/package.json +6 -4
- package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +0 -106
- package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +0 -1
- package/dist/commands/handoff/handoff-reflection-pipeline.js +0 -534
- package/dist/commands/handoff/handoff-reflection-pipeline.js.map +0 -1
- package/dist/commands/handoff/handoff-save.d.ts +0 -16
- package/dist/commands/handoff/handoff-save.d.ts.map +0 -1
- package/dist/commands/handoff/handoff-save.js +0 -72
- package/dist/commands/handoff/handoff-save.js.map +0 -1
- package/dist/commands/handoff/index.d.ts +0 -19
- package/dist/commands/handoff/index.d.ts.map +0 -1
- package/dist/commands/handoff/index.js +0 -55
- package/dist/commands/handoff/index.js.map +0 -1
- package/dist/commands/handoff-ai-orig.d.ts +0 -27
- package/dist/commands/handoff-ai-orig.d.ts.map +0 -1
- package/dist/commands/handoff-ai-orig.js +0 -405
- package/dist/commands/handoff-ai-orig.js.map +0 -1
- package/dist/commands/handoff-ai.d.ts +0 -27
- package/dist/commands/handoff-ai.d.ts.map +0 -1
- package/dist/commands/handoff-ai.js +0 -405
- package/dist/commands/handoff-ai.js.map +0 -1
- package/dist/commands/handoff-enhanced-orig.d.ts +0 -25
- package/dist/commands/handoff-enhanced-orig.d.ts.map +0 -1
- package/dist/commands/handoff-enhanced-orig.js +0 -349
- package/dist/commands/handoff-enhanced-orig.js.map +0 -1
- package/dist/commands/handoff-enhanced.d.ts +0 -25
- package/dist/commands/handoff-enhanced.d.ts.map +0 -1
- package/dist/commands/handoff-enhanced.js +0 -349
- package/dist/commands/handoff-enhanced.js.map +0 -1
- package/dist/commands/handoff-orig.d.ts +0 -10
- package/dist/commands/handoff-orig.d.ts.map +0 -1
- package/dist/commands/handoff-orig.js +0 -167
- package/dist/commands/handoff-orig.js.map +0 -1
- package/dist/commands/init-enhanced.d.ts +0 -20
- package/dist/commands/init-enhanced.d.ts.map +0 -1
- package/dist/commands/init-enhanced.js +0 -430
- package/dist/commands/init-enhanced.js.map +0 -1
- package/dist/commands/prd/prd-reflection-enhanced.d.ts +0 -63
- package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +0 -1
- package/dist/commands/prd/prd-reflection-enhanced.js +0 -310
- package/dist/commands/prd/prd-reflection-enhanced.js.map +0 -1
- package/dist/commands/start-enhanced.d.ts +0 -19
- package/dist/commands/start-enhanced.d.ts.map +0 -1
- package/dist/commands/start-enhanced.js +0 -434
- package/dist/commands/start-enhanced.js.map +0 -1
- package/dist/commands/start.d.ts +0 -10
- package/dist/commands/start.d.ts.map +0 -1
- package/dist/commands/start.js +0 -119
- package/dist/commands/start.js.map +0 -1
- package/dist/core/config/config-aware-reflection.d.ts +0 -37
- package/dist/core/config/config-aware-reflection.d.ts.map +0 -1
- package/dist/core/config/config-aware-reflection.js +0 -97
- package/dist/core/config/config-aware-reflection.js.map +0 -1
- package/dist/core/config/config-loader.d.ts +0 -154
- package/dist/core/config/config-loader.d.ts.map +0 -1
- package/dist/core/config/config-loader.js +0 -424
- package/dist/core/config/config-loader.js.map +0 -1
- package/dist/core/config/config-migrator.d.ts +0 -150
- package/dist/core/config/config-migrator.d.ts.map +0 -1
- package/dist/core/config/config-migrator.js +0 -423
- package/dist/core/config/config-migrator.js.map +0 -1
- package/dist/core/config/config-schema.d.ts +0 -276
- package/dist/core/config/config-schema.d.ts.map +0 -1
- package/dist/core/config/config-schema.js +0 -277
- package/dist/core/config/config-schema.js.map +0 -1
- package/dist/core/config/index.d.ts +0 -260
- package/dist/core/config/index.d.ts.map +0 -1
- package/dist/core/config/index.js +0 -283
- package/dist/core/config/index.js.map +0 -1
- package/dist/core/config/interactive-config.d.ts +0 -76
- package/dist/core/config/interactive-config.d.ts.map +0 -1
- package/dist/core/config/interactive-config.js +0 -315
- package/dist/core/config/interactive-config.js.map +0 -1
- package/dist/core/config/path-config.d.ts +0 -121
- package/dist/core/config/path-config.d.ts.map +0 -1
- package/dist/core/config/path-config.js +0 -210
- package/dist/core/config/path-config.js.map +0 -1
- package/dist/core/config/path-resolver.d.ts +0 -151
- package/dist/core/config/path-resolver.d.ts.map +0 -1
- package/dist/core/config/path-resolver.js +0 -343
- package/dist/core/config/path-resolver.js.map +0 -1
- package/dist/core/config/project-detector.d.ts +0 -58
- package/dist/core/config/project-detector.d.ts.map +0 -1
- package/dist/core/config/project-detector.js +0 -310
- package/dist/core/config/project-detector.js.map +0 -1
- package/dist/core/config-backup/config-aware-reflection.d.ts +0 -37
- package/dist/core/config-backup/config-aware-reflection.d.ts.map +0 -1
- package/dist/core/config-backup/config-aware-reflection.js +0 -97
- package/dist/core/config-backup/config-aware-reflection.js.map +0 -1
- package/dist/core/config-backup/config-loader.d.ts +0 -71
- package/dist/core/config-backup/config-loader.d.ts.map +0 -1
- package/dist/core/config-backup/config-loader.js +0 -288
- package/dist/core/config-backup/config-loader.js.map +0 -1
- package/dist/core/config-backup/interactive-config.d.ts +0 -76
- package/dist/core/config-backup/interactive-config.d.ts.map +0 -1
- package/dist/core/config-backup/interactive-config.js +0 -315
- package/dist/core/config-backup/interactive-config.js.map +0 -1
- package/dist/core/config-backup/path-config.d.ts +0 -121
- package/dist/core/config-backup/path-config.d.ts.map +0 -1
- package/dist/core/config-backup/path-config.js +0 -210
- package/dist/core/config-backup/path-config.js.map +0 -1
- package/dist/core/config-backup/project-detector.d.ts +0 -58
- package/dist/core/config-backup/project-detector.d.ts.map +0 -1
- package/dist/core/config-backup/project-detector.js +0 -310
- package/dist/core/config-backup/project-detector.js.map +0 -1
- package/dist/core/documents/document-manager.d.ts +0 -97
- package/dist/core/documents/document-manager.d.ts.map +0 -1
- package/dist/core/documents/document-manager.js +0 -441
- package/dist/core/documents/document-manager.js.map +0 -1
- package/dist/core/documents/document-migrator.d.ts +0 -138
- package/dist/core/documents/document-migrator.d.ts.map +0 -1
- package/dist/core/documents/document-migrator.js +0 -349
- package/dist/core/documents/document-migrator.js.map +0 -1
- package/dist/core/documents/document-namer.d.ts +0 -111
- package/dist/core/documents/document-namer.d.ts.map +0 -1
- package/dist/core/documents/document-namer.js +0 -225
- package/dist/core/documents/document-namer.js.map +0 -1
- package/dist/core/documents/examples.d.ts +0 -74
- package/dist/core/documents/examples.d.ts.map +0 -1
- package/dist/core/documents/examples.js +0 -273
- package/dist/core/documents/examples.js.map +0 -1
- package/dist/core/documents/file-system.d.ts +0 -93
- package/dist/core/documents/file-system.d.ts.map +0 -1
- package/dist/core/documents/file-system.js +0 -432
- package/dist/core/documents/file-system.js.map +0 -1
- package/dist/core/documents/index.d.ts +0 -97
- package/dist/core/documents/index.d.ts.map +0 -1
- package/dist/core/documents/index.js +0 -119
- package/dist/core/documents/index.js.map +0 -1
- package/dist/core/documents/markdown-processor.d.ts +0 -84
- package/dist/core/documents/markdown-processor.d.ts.map +0 -1
- package/dist/core/documents/markdown-processor.js +0 -302
- package/dist/core/documents/markdown-processor.js.map +0 -1
- package/dist/core/documents/sequence-manager.d.ts +0 -107
- package/dist/core/documents/sequence-manager.d.ts.map +0 -1
- package/dist/core/documents/sequence-manager.js +0 -246
- package/dist/core/documents/sequence-manager.js.map +0 -1
- package/dist/core/documents/template-engine.d.ts +0 -101
- package/dist/core/documents/template-engine.d.ts.map +0 -1
- package/dist/core/documents/template-engine.js +0 -440
- package/dist/core/documents/template-engine.js.map +0 -1
- package/dist/core/platform/hook-migration.d.ts +0 -73
- package/dist/core/platform/hook-migration.d.ts.map +0 -1
- package/dist/core/platform/hook-migration.js +0 -339
- package/dist/core/platform/hook-migration.js.map +0 -1
- package/dist/core/platform/hook-migrator.d.ts +0 -49
- package/dist/core/platform/hook-migrator.d.ts.map +0 -1
- package/dist/core/platform/hook-migrator.js +0 -305
- package/dist/core/platform/hook-migrator.js.map +0 -1
- package/dist/core/platform/path-resolver.d.ts +0 -120
- package/dist/core/platform/path-resolver.d.ts.map +0 -1
- package/dist/core/platform/path-resolver.js +0 -339
- package/dist/core/platform/path-resolver.js.map +0 -1
- package/dist/core/platform/platform-templates.d.ts +0 -62
- package/dist/core/platform/platform-templates.d.ts.map +0 -1
- package/dist/core/platform/platform-templates.js +0 -364
- package/dist/core/platform/platform-templates.js.map +0 -1
- package/dist/core/pressure-monitor.d.ts +0 -76
- package/dist/core/pressure-monitor.d.ts.map +0 -1
- package/dist/core/pressure-monitor.js +0 -156
- package/dist/core/pressure-monitor.js.map +0 -1
- package/dist/core/validators/git-validator.test.d.ts +0 -12
- package/dist/core/validators/git-validator.test.d.ts.map +0 -1
- package/dist/core/validators/git-validator.test.js +0 -40
- package/dist/core/validators/git-validator.test.js.map +0 -1
- package/dist/core/validators/temp_index.d.ts +0 -56
- package/dist/core/validators/temp_index.d.ts.map +0 -1
- package/dist/core/validators/temp_index.js +0 -94
- package/dist/core/validators/temp_index.js.map +0 -1
package/dist/commands/init.js
CHANGED
|
@@ -18,6 +18,7 @@ import { AiInstructionsTemplate } from '../templates/ai-instructions-template.js
|
|
|
18
18
|
import { findGinkoRoot } from '../utils/ginko-root.js';
|
|
19
19
|
import { pathManager } from '../core/utils/paths.js';
|
|
20
20
|
import { getUserEmail } from '../utils/helpers.js';
|
|
21
|
+
import { DEFAULT_GINKO_CONFIG } from '../types/config.js';
|
|
21
22
|
export async function initCommand(options = {}) {
|
|
22
23
|
const spinner = ora('Initializing Ginko...').start();
|
|
23
24
|
let deepAnalysis = null; // Track deep analysis results for output
|
|
@@ -59,8 +60,29 @@ export async function initCommand(options = {}) {
|
|
|
59
60
|
const userSessionsDir = pathManager.joinPaths(pathConfig.ginko.sessions, userSlug);
|
|
60
61
|
await fs.ensureDir(userSessionsDir);
|
|
61
62
|
await fs.ensureDir(pathManager.joinPaths(userSessionsDir, 'archive'));
|
|
62
|
-
// Create
|
|
63
|
-
|
|
63
|
+
// Create team-shared ginko.json configuration (ADR-037)
|
|
64
|
+
spinner.text = 'Creating team-shared configuration (ginko.json)...';
|
|
65
|
+
const ginkoConfig = {
|
|
66
|
+
...DEFAULT_GINKO_CONFIG,
|
|
67
|
+
project: {
|
|
68
|
+
name: path.basename(projectRoot),
|
|
69
|
+
type: 'single' // Can be updated by user later
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const ginkoJsonPath = path.join(projectRoot, 'ginko.json');
|
|
73
|
+
await fs.writeJSON(ginkoJsonPath, ginkoConfig, { spaces: 2 });
|
|
74
|
+
// Create user-specific local.json configuration (ADR-037)
|
|
75
|
+
spinner.text = 'Creating user-specific configuration (.ginko/local.json)...';
|
|
76
|
+
const localConfig = {
|
|
77
|
+
projectRoot,
|
|
78
|
+
userEmail,
|
|
79
|
+
userSlug,
|
|
80
|
+
workMode: 'think-build'
|
|
81
|
+
};
|
|
82
|
+
const localJsonPath = pathManager.joinPaths(pathConfig.ginko.root, 'local.json');
|
|
83
|
+
await fs.writeJSON(localJsonPath, localConfig, { spaces: 2 });
|
|
84
|
+
// Create legacy config.json for backward compatibility
|
|
85
|
+
const legacyConfig = {
|
|
64
86
|
version: '0.1.0',
|
|
65
87
|
user: {
|
|
66
88
|
email: userEmail
|
|
@@ -80,11 +102,15 @@ export async function initCommand(options = {}) {
|
|
|
80
102
|
fallbackModel: 'gpt-4o-mini'
|
|
81
103
|
}
|
|
82
104
|
};
|
|
83
|
-
// Save configuration using pathManager
|
|
105
|
+
// Save legacy configuration using pathManager
|
|
84
106
|
const configPath = pathManager.joinPaths(pathConfig.ginko.root, 'config.json');
|
|
85
|
-
await fs.writeJSON(configPath,
|
|
86
|
-
// Project analysis step
|
|
87
|
-
if (options.
|
|
107
|
+
await fs.writeJSON(configPath, legacyConfig, { spaces: 2 });
|
|
108
|
+
// Project analysis step - skip if quick mode
|
|
109
|
+
if (options.quick) {
|
|
110
|
+
spinner.text = 'Quick initialization mode (skipping analysis)...';
|
|
111
|
+
spinner.succeed('Quick initialization complete');
|
|
112
|
+
}
|
|
113
|
+
else if (options.analyze !== false) {
|
|
88
114
|
spinner.text = 'Analyzing project structure...';
|
|
89
115
|
try {
|
|
90
116
|
const analyzer = new ProjectAnalyzer(projectRoot);
|
|
@@ -100,35 +126,40 @@ export async function initCommand(options = {}) {
|
|
|
100
126
|
console.warn(chalk.yellow('Analysis error:', analysisError instanceof Error ? analysisError.message : String(analysisError)));
|
|
101
127
|
}
|
|
102
128
|
}
|
|
103
|
-
// AI instructions generation
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const projectContext = deepAnalysis || await new ProjectAnalyzer(projectRoot).analyze();
|
|
107
|
-
// Create template variables
|
|
108
|
-
const variables = {
|
|
109
|
-
projectName: path.basename(projectRoot),
|
|
110
|
-
projectType: projectContext.projectType || 'unknown',
|
|
111
|
-
techStack: projectContext.techStack || [],
|
|
112
|
-
frameworks: projectContext.frameworks || [],
|
|
113
|
-
languages: projectContext.languages || [],
|
|
114
|
-
packageManager: projectContext.packageManager || 'unknown',
|
|
115
|
-
testCommand: projectContext.testCommand || 'npm test',
|
|
116
|
-
buildCommand: projectContext.buildCommand || 'npm run build',
|
|
117
|
-
hasTests: projectContext.hasTests || false,
|
|
118
|
-
userEmail: await getUserEmail(),
|
|
119
|
-
userName: 'Developer',
|
|
120
|
-
date: new Date().toISOString().split('T')[0]
|
|
121
|
-
};
|
|
122
|
-
// Generate instructions
|
|
123
|
-
const instructions = AiInstructionsTemplate.generate(variables);
|
|
124
|
-
// Save instructions using pathManager
|
|
125
|
-
const instructionsPath = pathManager.joinPaths(projectRoot, 'CLAUDE.md');
|
|
126
|
-
await fs.writeFile(instructionsPath, instructions);
|
|
127
|
-
spinner.succeed('AI instructions generated');
|
|
129
|
+
// AI instructions generation - skip in quick mode
|
|
130
|
+
if (options.quick) {
|
|
131
|
+
spinner.text = 'Skipping AI instructions generation (quick mode)...';
|
|
128
132
|
}
|
|
129
|
-
|
|
130
|
-
spinner.
|
|
131
|
-
|
|
133
|
+
else {
|
|
134
|
+
spinner.start('Generating AI collaboration instructions...');
|
|
135
|
+
try {
|
|
136
|
+
const projectContext = deepAnalysis || await new ProjectAnalyzer(projectRoot).analyze();
|
|
137
|
+
// Create template variables
|
|
138
|
+
const variables = {
|
|
139
|
+
projectName: path.basename(projectRoot),
|
|
140
|
+
projectType: projectContext.projectType || 'unknown',
|
|
141
|
+
techStack: projectContext.techStack || [],
|
|
142
|
+
frameworks: projectContext.frameworks || [],
|
|
143
|
+
languages: projectContext.languages || [],
|
|
144
|
+
packageManager: projectContext.packageManager || 'unknown',
|
|
145
|
+
testCommand: projectContext.testCommand || 'npm test',
|
|
146
|
+
buildCommand: projectContext.buildCommand || 'npm run build',
|
|
147
|
+
hasTests: projectContext.hasTests || false,
|
|
148
|
+
userEmail: await getUserEmail(),
|
|
149
|
+
userName: 'Developer',
|
|
150
|
+
date: new Date().toISOString().split('T')[0]
|
|
151
|
+
};
|
|
152
|
+
// Generate instructions
|
|
153
|
+
const instructions = AiInstructionsTemplate.generate(variables);
|
|
154
|
+
// Save instructions using pathManager
|
|
155
|
+
const instructionsPath = pathManager.joinPaths(projectRoot, 'CLAUDE.md');
|
|
156
|
+
await fs.writeFile(instructionsPath, instructions);
|
|
157
|
+
spinner.succeed('AI instructions generated');
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
spinner.warn('AI instructions generation failed');
|
|
161
|
+
console.warn(chalk.yellow('Instructions error:', error instanceof Error ? error.message : String(error)));
|
|
162
|
+
}
|
|
132
163
|
}
|
|
133
164
|
// Context rules
|
|
134
165
|
spinner.start('Setting up context management...');
|
|
@@ -168,27 +199,38 @@ export async function initCommand(options = {}) {
|
|
|
168
199
|
await fs.writeFile(bestPracticePath, bestPractice);
|
|
169
200
|
// Add .ginko to .gitignore if it doesn't exist
|
|
170
201
|
const gitignorePath = pathManager.joinPaths(projectRoot, '.gitignore');
|
|
202
|
+
const ginkoIgnoreRules = `
|
|
203
|
+
# Ginko - Keep context, ignore private config (ADR-037)
|
|
204
|
+
.ginko/config.json
|
|
205
|
+
.ginko/local.json
|
|
206
|
+
.ginko/.temp/
|
|
207
|
+
`;
|
|
171
208
|
if (await fs.pathExists(gitignorePath)) {
|
|
172
209
|
const gitignore = await fs.readFile(gitignorePath, 'utf8');
|
|
173
|
-
if (!gitignore.includes('.ginko/
|
|
174
|
-
await fs.appendFile(gitignorePath,
|
|
210
|
+
if (!gitignore.includes('.ginko/local.json')) {
|
|
211
|
+
await fs.appendFile(gitignorePath, ginkoIgnoreRules);
|
|
175
212
|
}
|
|
176
213
|
}
|
|
177
214
|
else {
|
|
178
|
-
await fs.writeFile(gitignorePath,
|
|
215
|
+
await fs.writeFile(gitignorePath, ginkoIgnoreRules);
|
|
179
216
|
}
|
|
180
217
|
spinner.succeed('Context management configured');
|
|
181
218
|
// Final setup
|
|
182
|
-
spinner.
|
|
219
|
+
spinner.text = 'Completing setup...';
|
|
183
220
|
// Create initial session marker
|
|
184
221
|
const sessionMarker = pathManager.joinPaths(pathConfig.ginko.sessions, userSlug, '.session-start');
|
|
185
222
|
await fs.writeFile(sessionMarker, new Date().toISOString());
|
|
186
223
|
spinner.succeed('Ginko initialized successfully!');
|
|
187
224
|
// Success message
|
|
188
225
|
console.log('\n' + chalk.green('🎉 Ginko is ready!'));
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
226
|
+
if (options.quick) {
|
|
227
|
+
console.log(chalk.dim('\n💨 Quick mode: Skipped project analysis. Run ') + chalk.cyan('ginko init --analyze') + chalk.dim(' anytime to analyze your project.'));
|
|
228
|
+
}
|
|
229
|
+
console.log('\n' + chalk.blue('Next steps:'));
|
|
230
|
+
console.log(' 1. ' + chalk.cyan('Open your AI environment') + ' (Claude Code, Cursor, Aider, etc.)');
|
|
231
|
+
console.log(' 2. ' + chalk.dim('Ask your AI:') + ' ' + chalk.yellow('"Create a project charter"'));
|
|
232
|
+
console.log(' 3. ' + chalk.cyan('ginko start') + ' - Begin your first session');
|
|
233
|
+
console.log('\n' + chalk.dim('💡 Ginko commands are designed for AI-mediated development'));
|
|
192
234
|
if (deepAnalysis) {
|
|
193
235
|
console.log('\n' + chalk.blue('Project analysis:'));
|
|
194
236
|
console.log(' 📊 ' + chalk.yellow('Type:') + ' ' + (deepAnalysis.type || 'Unknown'));
|
|
@@ -201,8 +243,13 @@ export async function initCommand(options = {}) {
|
|
|
201
243
|
}
|
|
202
244
|
console.log('\n' + chalk.gray('Files created:'));
|
|
203
245
|
console.log(' 📁 ' + chalk.gray(pathManager.getRelativePath(ginkoDir)));
|
|
246
|
+
console.log(' 📄 ' + chalk.gray('ginko.json (team-shared configuration)'));
|
|
247
|
+
console.log(' 📄 ' + chalk.gray('.ginko/local.json (user-specific configuration)'));
|
|
204
248
|
console.log(' 📄 ' + chalk.gray('CLAUDE.md (AI instructions)'));
|
|
205
249
|
console.log(' 🔒 ' + chalk.gray('.gitignore (updated)'));
|
|
250
|
+
console.log('\n' + chalk.blue('💡 Configuration:'));
|
|
251
|
+
console.log(' • ginko.json is tracked in git (team-shared structure)');
|
|
252
|
+
console.log(' • .ginko/local.json is git-ignored (your local paths)');
|
|
206
253
|
}
|
|
207
254
|
catch (error) {
|
|
208
255
|
spinner.fail('Initialization failed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAqC,MAAM,0CAA0C,CAAC;AAMrH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, create, graphql, task-025]
|
|
6
|
+
* @related: [index.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [chalk, axios, prompts]
|
|
10
|
+
*/
|
|
11
|
+
interface CreateOptions {
|
|
12
|
+
type: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
content?: string;
|
|
15
|
+
tags?: string;
|
|
16
|
+
file?: string;
|
|
17
|
+
interactive: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Create a new knowledge node
|
|
21
|
+
*/
|
|
22
|
+
export declare function createCommand(options: CreateOptions): Promise<void>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/knowledge/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;CACtB;AAID;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8KzE"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, create, graphql, task-025]
|
|
6
|
+
* @related: [index.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [chalk, axios, prompts]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Create Command (TASK-025)
|
|
13
|
+
*
|
|
14
|
+
* Create new knowledge nodes via GraphQL API
|
|
15
|
+
*/
|
|
16
|
+
import chalk from 'chalk';
|
|
17
|
+
import axios from 'axios';
|
|
18
|
+
import prompts from 'prompts';
|
|
19
|
+
import fs from 'fs/promises';
|
|
20
|
+
import { getConfig, getApiToken } from '../graph/config.js';
|
|
21
|
+
const VALID_TYPES = ['ADR', 'PRD', 'ContextModule', 'Session', 'CodeFile'];
|
|
22
|
+
/**
|
|
23
|
+
* Create a new knowledge node
|
|
24
|
+
*/
|
|
25
|
+
export async function createCommand(options) {
|
|
26
|
+
try {
|
|
27
|
+
console.log(chalk.dim('📝 Creating new knowledge node\n'));
|
|
28
|
+
// Get config and auth
|
|
29
|
+
const config = await getConfig();
|
|
30
|
+
if (!config.graphId) {
|
|
31
|
+
console.error(chalk.red('❌ No graph initialized.'));
|
|
32
|
+
console.error(chalk.dim(' Run `ginko graph init` first to create a graph.'));
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const token = await getApiToken();
|
|
36
|
+
if (!token) {
|
|
37
|
+
console.error(chalk.red('❌ Not authenticated.'));
|
|
38
|
+
console.error(chalk.dim(' Run `ginko login` to authenticate.'));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
// Gather input
|
|
42
|
+
let type = options.type;
|
|
43
|
+
let title = options.title;
|
|
44
|
+
let content = options.content;
|
|
45
|
+
let tags = [];
|
|
46
|
+
// Validate type
|
|
47
|
+
if (!VALID_TYPES.includes(type)) {
|
|
48
|
+
console.error(chalk.red(`❌ Invalid node type: ${type}`));
|
|
49
|
+
console.error(chalk.dim(` Valid types: ${VALID_TYPES.join(', ')}`));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
// Interactive mode
|
|
53
|
+
if (options.interactive && (!title || !content)) {
|
|
54
|
+
const responses = await prompts([
|
|
55
|
+
{
|
|
56
|
+
type: 'text',
|
|
57
|
+
name: 'title',
|
|
58
|
+
message: 'Node title:',
|
|
59
|
+
initial: title || '',
|
|
60
|
+
validate: (value) => value.length > 0 ? true : 'Title is required',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: 'text',
|
|
64
|
+
name: 'content',
|
|
65
|
+
message: 'Content (or press Enter to open editor):',
|
|
66
|
+
initial: content || '',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: 'text',
|
|
70
|
+
name: 'tags',
|
|
71
|
+
message: 'Tags (comma-separated):',
|
|
72
|
+
initial: options.tags || '',
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
if (!responses.title || !responses.content) {
|
|
76
|
+
console.log(chalk.yellow('⚠️ Creation cancelled'));
|
|
77
|
+
process.exit(0);
|
|
78
|
+
}
|
|
79
|
+
title = responses.title;
|
|
80
|
+
content = responses.content;
|
|
81
|
+
if (responses.tags) {
|
|
82
|
+
tags = responses.tags.split(',').map((t) => t.trim());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Read from file if specified
|
|
86
|
+
if (options.file) {
|
|
87
|
+
try {
|
|
88
|
+
content = await fs.readFile(options.file, 'utf-8');
|
|
89
|
+
console.log(chalk.dim(`📄 Read content from: ${options.file}`));
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.error(chalk.red(`❌ Failed to read file: ${options.file}`));
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Parse tags if provided as string
|
|
97
|
+
if (options.tags && tags.length === 0) {
|
|
98
|
+
tags = options.tags.split(',').map(t => t.trim());
|
|
99
|
+
}
|
|
100
|
+
// Validate required fields
|
|
101
|
+
if (!title || !content) {
|
|
102
|
+
console.error(chalk.red('❌ Title and content are required'));
|
|
103
|
+
console.error(chalk.dim(' Use --title and --content options or run in interactive mode'));
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
// GraphQL mutation
|
|
107
|
+
const graphqlMutation = `
|
|
108
|
+
mutation CreateNode($graphId: String!, $type: NodeType!, $title: String, $content: String!, $tags: [String!], $status: NodeStatus) {
|
|
109
|
+
createNode(
|
|
110
|
+
graphId: $graphId
|
|
111
|
+
type: $type
|
|
112
|
+
title: $title
|
|
113
|
+
content: $content
|
|
114
|
+
tags: $tags
|
|
115
|
+
status: $status
|
|
116
|
+
) {
|
|
117
|
+
id
|
|
118
|
+
title
|
|
119
|
+
type
|
|
120
|
+
status
|
|
121
|
+
tags
|
|
122
|
+
createdAt
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
`;
|
|
126
|
+
const variables = {
|
|
127
|
+
graphId: config.graphId,
|
|
128
|
+
type,
|
|
129
|
+
title,
|
|
130
|
+
content,
|
|
131
|
+
tags: tags.length > 0 ? tags : null,
|
|
132
|
+
status: 'ACTIVE',
|
|
133
|
+
};
|
|
134
|
+
// Call GraphQL API
|
|
135
|
+
const apiUrl = config.apiUrl || process.env.GINKO_API_URL || 'https://app.ginkoai.com';
|
|
136
|
+
const response = await axios.post(`${apiUrl}/api/graphql`, {
|
|
137
|
+
query: graphqlMutation,
|
|
138
|
+
variables,
|
|
139
|
+
}, {
|
|
140
|
+
headers: {
|
|
141
|
+
'Content-Type': 'application/json',
|
|
142
|
+
'Authorization': `Bearer ${token}`,
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
if (response.data.errors) {
|
|
146
|
+
console.error(chalk.red('❌ GraphQL Error:'));
|
|
147
|
+
response.data.errors.forEach((error) => {
|
|
148
|
+
console.error(chalk.red(` ${error.message}`));
|
|
149
|
+
});
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
const node = response.data.data.createNode;
|
|
153
|
+
console.log(chalk.green('✅ Node created successfully!\n'));
|
|
154
|
+
console.log(chalk.bold(` Type: ${node.type}`));
|
|
155
|
+
console.log(chalk.bold(` ID: ${node.id}`));
|
|
156
|
+
console.log(chalk.bold(` Title: ${node.title}`));
|
|
157
|
+
if (node.tags && node.tags.length > 0) {
|
|
158
|
+
console.log(chalk.dim(` Tags: ${node.tags.join(', ')}`));
|
|
159
|
+
}
|
|
160
|
+
console.log('');
|
|
161
|
+
console.log(chalk.dim(`💡 Tip: View with "ginko knowledge graph ${node.id}"`));
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error(chalk.red('❌ Create failed:'));
|
|
165
|
+
if (error.response) {
|
|
166
|
+
console.error(chalk.red(` API Error: ${error.response.status} ${error.response.statusText}`));
|
|
167
|
+
if (error.response.data?.message) {
|
|
168
|
+
console.error(chalk.red(` ${error.response.data.message}`));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else if (error.request) {
|
|
172
|
+
console.error(chalk.red(' Network error: Could not reach API server'));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.error(chalk.red(` ${error.message}`));
|
|
176
|
+
}
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/knowledge/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, graph, visualization, graphql, task-025]
|
|
6
|
+
* @related: [index.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [chalk, axios]
|
|
10
|
+
*/
|
|
11
|
+
interface GraphOptions {
|
|
12
|
+
depth: number;
|
|
13
|
+
types?: string;
|
|
14
|
+
format: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Visualize node and its relationship graph
|
|
18
|
+
*/
|
|
19
|
+
export declare function graphCommand(nodeId: string, options: GraphOptions): Promise<void>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/commands/knowledge/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAsBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6HvF"}
|