@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
|
@@ -0,0 +1,199 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* Graph Command (TASK-025)
|
|
13
|
+
*
|
|
14
|
+
* Visualize node relationships via GraphQL API
|
|
15
|
+
*/
|
|
16
|
+
import chalk from 'chalk';
|
|
17
|
+
import axios from 'axios';
|
|
18
|
+
import { getConfig, getApiToken } from '../graph/config.js';
|
|
19
|
+
/**
|
|
20
|
+
* Visualize node and its relationship graph
|
|
21
|
+
*/
|
|
22
|
+
export async function graphCommand(nodeId, options) {
|
|
23
|
+
try {
|
|
24
|
+
console.log(chalk.dim(`📊 Fetching graph for node: ${nodeId}\n`));
|
|
25
|
+
// Get config and auth
|
|
26
|
+
const config = await getConfig();
|
|
27
|
+
if (!config.graphId) {
|
|
28
|
+
console.error(chalk.red('❌ No graph initialized.'));
|
|
29
|
+
console.error(chalk.dim(' Run `ginko graph init` first to create a graph.'));
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const token = await getApiToken();
|
|
33
|
+
if (!token) {
|
|
34
|
+
console.error(chalk.red('❌ Not authenticated.'));
|
|
35
|
+
console.error(chalk.dim(' Run `ginko login` to authenticate.'));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
// Parse relationship types filter
|
|
39
|
+
const relationshipTypes = options.types
|
|
40
|
+
? options.types.split(',').map(t => t.trim())
|
|
41
|
+
: null;
|
|
42
|
+
// GraphQL query
|
|
43
|
+
const graphqlQuery = `
|
|
44
|
+
query NodeGraph($nodeId: ID!, $graphId: String!, $depth: Int, $relationshipTypes: [RelationshipType!]) {
|
|
45
|
+
nodeGraph(
|
|
46
|
+
nodeId: $nodeId
|
|
47
|
+
graphId: $graphId
|
|
48
|
+
depth: $depth
|
|
49
|
+
relationshipTypes: $relationshipTypes
|
|
50
|
+
) {
|
|
51
|
+
centerNode {
|
|
52
|
+
id
|
|
53
|
+
title
|
|
54
|
+
type
|
|
55
|
+
tags
|
|
56
|
+
}
|
|
57
|
+
connectedNodes {
|
|
58
|
+
id
|
|
59
|
+
title
|
|
60
|
+
type
|
|
61
|
+
tags
|
|
62
|
+
}
|
|
63
|
+
relationships {
|
|
64
|
+
type
|
|
65
|
+
fromId
|
|
66
|
+
toId
|
|
67
|
+
}
|
|
68
|
+
depth
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
`;
|
|
72
|
+
const variables = {
|
|
73
|
+
nodeId,
|
|
74
|
+
graphId: config.graphId,
|
|
75
|
+
depth: options.depth,
|
|
76
|
+
relationshipTypes,
|
|
77
|
+
};
|
|
78
|
+
// Call GraphQL API
|
|
79
|
+
const apiUrl = config.apiUrl || process.env.GINKO_API_URL || 'https://app.ginkoai.com';
|
|
80
|
+
const response = await axios.post(`${apiUrl}/api/graphql`, {
|
|
81
|
+
query: graphqlQuery,
|
|
82
|
+
variables,
|
|
83
|
+
}, {
|
|
84
|
+
headers: {
|
|
85
|
+
'Content-Type': 'application/json',
|
|
86
|
+
'Authorization': `Bearer ${token}`,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
if (response.data.errors) {
|
|
90
|
+
console.error(chalk.red('❌ GraphQL Error:'));
|
|
91
|
+
response.data.errors.forEach((error) => {
|
|
92
|
+
console.error(chalk.red(` ${error.message}`));
|
|
93
|
+
});
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
const graph = response.data.data.nodeGraph;
|
|
97
|
+
if (!graph) {
|
|
98
|
+
console.error(chalk.yellow('⚠️ Node not found or no relationships'));
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
// Display based on format
|
|
102
|
+
switch (options.format) {
|
|
103
|
+
case 'json':
|
|
104
|
+
console.log(JSON.stringify(graph, null, 2));
|
|
105
|
+
break;
|
|
106
|
+
case 'mermaid':
|
|
107
|
+
renderMermaid(graph);
|
|
108
|
+
break;
|
|
109
|
+
case 'tree':
|
|
110
|
+
default:
|
|
111
|
+
renderTree(graph);
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.error(chalk.red('❌ Graph fetch failed:'));
|
|
117
|
+
if (error.response) {
|
|
118
|
+
console.error(chalk.red(` API Error: ${error.response.status} ${error.response.statusText}`));
|
|
119
|
+
if (error.response.data?.message) {
|
|
120
|
+
console.error(chalk.red(` ${error.response.data.message}`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else if (error.request) {
|
|
124
|
+
console.error(chalk.red(' Network error: Could not reach API server'));
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.error(chalk.red(` ${error.message}`));
|
|
128
|
+
}
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Render graph as a tree structure
|
|
134
|
+
*/
|
|
135
|
+
function renderTree(graph) {
|
|
136
|
+
console.log(chalk.bold.green('Center Node:'));
|
|
137
|
+
console.log(chalk.cyan(` 📄 ${graph.centerNode.title || graph.centerNode.id}`));
|
|
138
|
+
console.log(chalk.dim(` Type: ${graph.centerNode.type} | ID: ${graph.centerNode.id}`));
|
|
139
|
+
if (graph.centerNode.tags && graph.centerNode.tags.length > 0) {
|
|
140
|
+
console.log(chalk.dim(` Tags: ${graph.centerNode.tags.join(', ')}`));
|
|
141
|
+
}
|
|
142
|
+
console.log('');
|
|
143
|
+
if (graph.connectedNodes.length === 0) {
|
|
144
|
+
console.log(chalk.yellow(' No connected nodes found'));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
console.log(chalk.bold.green(`Connected Nodes (${graph.connectedNodes.length}):`));
|
|
148
|
+
// Group relationships by type
|
|
149
|
+
const relsByType = new Map();
|
|
150
|
+
graph.relationships.forEach(rel => {
|
|
151
|
+
if (!relsByType.has(rel.type)) {
|
|
152
|
+
relsByType.set(rel.type, []);
|
|
153
|
+
}
|
|
154
|
+
relsByType.get(rel.type).push(rel);
|
|
155
|
+
});
|
|
156
|
+
// Display grouped by relationship type
|
|
157
|
+
relsByType.forEach((rels, type) => {
|
|
158
|
+
console.log(chalk.yellow(`\n ${type.replace(/_/g, ' ')} (${rels.length}):`));
|
|
159
|
+
rels.forEach((rel, index) => {
|
|
160
|
+
const isLast = index === rels.length - 1;
|
|
161
|
+
const prefix = isLast ? ' └─' : ' ├─';
|
|
162
|
+
// Find the target node
|
|
163
|
+
const targetId = rel.fromId === graph.centerNode.id ? rel.toId : rel.fromId;
|
|
164
|
+
const targetNode = graph.connectedNodes.find(n => n.id === targetId);
|
|
165
|
+
if (targetNode) {
|
|
166
|
+
const direction = rel.fromId === graph.centerNode.id ? '→' : '←';
|
|
167
|
+
console.log(chalk.dim(`${prefix} ${direction} ${targetNode.title || targetNode.id}`));
|
|
168
|
+
console.log(chalk.dim(` ${targetNode.type} | ${targetNode.id}`));
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
console.log('');
|
|
173
|
+
console.log(chalk.dim(`\n📊 Total: ${graph.connectedNodes.length} nodes, ${graph.relationships.length} relationships`));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Render graph as Mermaid diagram
|
|
177
|
+
*/
|
|
178
|
+
function renderMermaid(graph) {
|
|
179
|
+
console.log('```mermaid');
|
|
180
|
+
console.log('graph TD');
|
|
181
|
+
console.log(` center["${graph.centerNode.title || graph.centerNode.id}"]`);
|
|
182
|
+
console.log('');
|
|
183
|
+
graph.connectedNodes.forEach((node, index) => {
|
|
184
|
+
const nodeId = `node${index}`;
|
|
185
|
+
console.log(` ${nodeId}["${node.title || node.id}"]`);
|
|
186
|
+
});
|
|
187
|
+
console.log('');
|
|
188
|
+
graph.relationships.forEach((rel, index) => {
|
|
189
|
+
const fromNode = rel.fromId === graph.centerNode.id ? 'center' : `node${graph.connectedNodes.findIndex(n => n.id === rel.fromId)}`;
|
|
190
|
+
const toNode = rel.toId === graph.centerNode.id ? 'center' : `node${graph.connectedNodes.findIndex(n => n.id === rel.toId)}`;
|
|
191
|
+
console.log(` ${fromNode} -->|${rel.type}| ${toNode}`);
|
|
192
|
+
});
|
|
193
|
+
console.log('```');
|
|
194
|
+
console.log('');
|
|
195
|
+
console.log(chalk.dim('💡 Copy the Mermaid diagram above to visualize in:'));
|
|
196
|
+
console.log(chalk.dim(' - GitHub/GitLab markdown'));
|
|
197
|
+
console.log(chalk.dim(' - https://mermaid.live'));
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/commands/knowledge/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, cli, graphql, api, task-025]
|
|
6
|
+
* @related: [search.ts, create.ts, graph.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [commander, chalk]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Knowledge Commands (TASK-025)
|
|
13
|
+
*
|
|
14
|
+
* CLI commands for interacting with knowledge graph via GraphQL API:
|
|
15
|
+
* - ginko knowledge search: Semantic search across knowledge nodes
|
|
16
|
+
* - ginko knowledge create: Create new knowledge nodes
|
|
17
|
+
* - ginko knowledge graph: Visualize node relationships
|
|
18
|
+
*/
|
|
19
|
+
import { Command } from 'commander';
|
|
20
|
+
/**
|
|
21
|
+
* Main knowledge command with subcommands
|
|
22
|
+
*/
|
|
23
|
+
export declare function knowledgeCommand(): Command;
|
|
24
|
+
export default knowledgeCommand;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;GAEG;AACH,wBAAgB,gBAAgB,YAgG/B;AAGD,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, cli, graphql, api, task-025]
|
|
6
|
+
* @related: [search.ts, create.ts, graph.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [commander, chalk]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Knowledge Commands (TASK-025)
|
|
13
|
+
*
|
|
14
|
+
* CLI commands for interacting with knowledge graph via GraphQL API:
|
|
15
|
+
* - ginko knowledge search: Semantic search across knowledge nodes
|
|
16
|
+
* - ginko knowledge create: Create new knowledge nodes
|
|
17
|
+
* - ginko knowledge graph: Visualize node relationships
|
|
18
|
+
*/
|
|
19
|
+
import { Command } from 'commander';
|
|
20
|
+
import chalk from 'chalk';
|
|
21
|
+
import { searchCommand } from './search.js';
|
|
22
|
+
import { createCommand } from './create.js';
|
|
23
|
+
import { graphCommand } from './graph.js';
|
|
24
|
+
import { syncCommand, rollbackCommand } from './sync.js';
|
|
25
|
+
/**
|
|
26
|
+
* Main knowledge command with subcommands
|
|
27
|
+
*/
|
|
28
|
+
export function knowledgeCommand() {
|
|
29
|
+
const knowledge = new Command('knowledge')
|
|
30
|
+
.description('Interact with knowledge graph - search, create, and explore nodes')
|
|
31
|
+
.showHelpAfterError('(use --help for additional information)')
|
|
32
|
+
.addHelpText('after', `
|
|
33
|
+
${chalk.gray('Quick Start:')}
|
|
34
|
+
${chalk.green('ginko login')} ${chalk.gray('# Authenticate first')}
|
|
35
|
+
${chalk.green('ginko knowledge search')} "auth patterns" ${chalk.gray('# Search knowledge')}
|
|
36
|
+
${chalk.green('ginko knowledge create')} ${chalk.gray('# Create new node')}
|
|
37
|
+
|
|
38
|
+
${chalk.gray('Usage Examples:')}
|
|
39
|
+
${chalk.green('ginko knowledge search')} "authentication" -l 5 ${chalk.gray('# Search with limit')}
|
|
40
|
+
${chalk.green('ginko knowledge create')} --type ADR --title "..." ${chalk.gray('# Create ADR')}
|
|
41
|
+
${chalk.green('ginko knowledge graph')} adr_123 --depth 2 ${chalk.gray('# Visualize connections')}
|
|
42
|
+
${chalk.green('ginko knowledge sync')} --dry-run ${chalk.gray('# Preview local→cloud sync')}
|
|
43
|
+
|
|
44
|
+
${chalk.gray('Features:')}
|
|
45
|
+
${chalk.cyan('🔍 Semantic Search')} - Find relevant docs by meaning
|
|
46
|
+
${chalk.cyan('🎯 Smart Create')} - AI-assisted node creation
|
|
47
|
+
${chalk.cyan('📊 Graph Viz')} - Explore relationships visually
|
|
48
|
+
${chalk.cyan('🏷️ Tag-Based')} - Find nodes by tags
|
|
49
|
+
${chalk.cyan('⚡ Fast & Cached')} - GraphQL API with optimization
|
|
50
|
+
|
|
51
|
+
${chalk.gray('Learn More:')}
|
|
52
|
+
${chalk.dim('https://docs.ginko.ai/knowledge')}
|
|
53
|
+
`)
|
|
54
|
+
.action(() => {
|
|
55
|
+
// When called without subcommand, show help
|
|
56
|
+
knowledge.help({ error: false });
|
|
57
|
+
});
|
|
58
|
+
// Search command
|
|
59
|
+
knowledge
|
|
60
|
+
.command('search <query>')
|
|
61
|
+
.description('Semantic search across knowledge nodes')
|
|
62
|
+
.option('-l, --limit <number>', 'Maximum results to return', '10')
|
|
63
|
+
.option('-t, --threshold <number>', 'Minimum similarity score (0-1)', '0.75')
|
|
64
|
+
.option('--type <type>', 'Filter by node type (ADR, PRD, ContextModule, Session, CodeFile)')
|
|
65
|
+
.option('--status <status>', 'Filter by status (active, archived, draft)', 'active')
|
|
66
|
+
.option('--table', 'Display results in table format')
|
|
67
|
+
.action(async (query, options) => {
|
|
68
|
+
const limit = parseInt(options.limit, 10);
|
|
69
|
+
const threshold = parseFloat(options.threshold);
|
|
70
|
+
await searchCommand(query, { ...options, limit, threshold });
|
|
71
|
+
});
|
|
72
|
+
// Create command
|
|
73
|
+
knowledge
|
|
74
|
+
.command('create')
|
|
75
|
+
.description('Create a new knowledge node')
|
|
76
|
+
.option('--type <type>', 'Node type (ADR, PRD, ContextModule, Session, CodeFile)', 'ContextModule')
|
|
77
|
+
.option('--title <title>', 'Node title')
|
|
78
|
+
.option('--content <content>', 'Node content')
|
|
79
|
+
.option('--tags <tags>', 'Comma-separated tags')
|
|
80
|
+
.option('--file <file>', 'Read content from file')
|
|
81
|
+
.option('--interactive', 'Interactive mode with prompts', true)
|
|
82
|
+
.action(async (options) => {
|
|
83
|
+
await createCommand(options);
|
|
84
|
+
});
|
|
85
|
+
// Graph command
|
|
86
|
+
knowledge
|
|
87
|
+
.command('graph <nodeId>')
|
|
88
|
+
.description('Visualize node and its relationship graph')
|
|
89
|
+
.option('-d, --depth <number>', 'Relationship depth to traverse (1-2)', '1')
|
|
90
|
+
.option('--types <types>', 'Filter relationships by type (comma-separated)')
|
|
91
|
+
.option('--format <format>', 'Output format (tree, json, mermaid)', 'tree')
|
|
92
|
+
.action(async (nodeId, options) => {
|
|
93
|
+
const depth = parseInt(options.depth, 10);
|
|
94
|
+
await graphCommand(nodeId, { ...options, depth });
|
|
95
|
+
});
|
|
96
|
+
// Sync command
|
|
97
|
+
knowledge
|
|
98
|
+
.command('sync')
|
|
99
|
+
.description('Sync local knowledge files (ADRs, PRDs) to cloud graph')
|
|
100
|
+
.option('--dry-run', 'Preview changes without executing')
|
|
101
|
+
.option('--force', 'Overwrite existing nodes (destructive)')
|
|
102
|
+
.option('--skip', 'Skip existing nodes (safe, default)', true)
|
|
103
|
+
.option('--path <path>', 'Base path to scan (default: current directory)')
|
|
104
|
+
.option('--project <id>', 'Target project/graph ID')
|
|
105
|
+
.option('--interactive', 'Interactive conflict resolution')
|
|
106
|
+
.option('--local-only', 'Skip cloud checks (for testing scanner)')
|
|
107
|
+
.action(async (options) => {
|
|
108
|
+
await syncCommand(options);
|
|
109
|
+
});
|
|
110
|
+
// Rollback command
|
|
111
|
+
knowledge
|
|
112
|
+
.command('sync:rollback <syncId>')
|
|
113
|
+
.description('Rollback a previous sync operation')
|
|
114
|
+
.action(async (syncId) => {
|
|
115
|
+
await rollbackCommand(syncId);
|
|
116
|
+
});
|
|
117
|
+
return knowledge;
|
|
118
|
+
}
|
|
119
|
+
// Export for use in main CLI
|
|
120
|
+
export default knowledgeCommand;
|
|
121
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/knowledge/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, search, semantic, graphql, task-025]
|
|
6
|
+
* @related: [index.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [chalk, axios]
|
|
10
|
+
*/
|
|
11
|
+
interface SearchOptions {
|
|
12
|
+
limit: number;
|
|
13
|
+
threshold: number;
|
|
14
|
+
type?: string;
|
|
15
|
+
status: string;
|
|
16
|
+
table?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Search knowledge nodes using semantic similarity
|
|
20
|
+
*/
|
|
21
|
+
export declare function searchCommand(query: string, options: SearchOptions): Promise<void>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/knowledge/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAeD;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJxF"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, search, semantic, graphql, task-025]
|
|
6
|
+
* @related: [index.ts, api-client.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [chalk, axios]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Search Command (TASK-025)
|
|
13
|
+
*
|
|
14
|
+
* Semantic search across knowledge nodes using GraphQL API
|
|
15
|
+
*/
|
|
16
|
+
import chalk from 'chalk';
|
|
17
|
+
import axios from 'axios';
|
|
18
|
+
import { getConfig, getApiToken } from '../graph/config.js';
|
|
19
|
+
import Table from 'cli-table3';
|
|
20
|
+
/**
|
|
21
|
+
* Search knowledge nodes using semantic similarity
|
|
22
|
+
*/
|
|
23
|
+
export async function searchCommand(query, options) {
|
|
24
|
+
try {
|
|
25
|
+
console.log(chalk.dim(`🔍 Searching for: "${query}"\n`));
|
|
26
|
+
// Get config and auth
|
|
27
|
+
const config = await getConfig();
|
|
28
|
+
if (!config.graphId) {
|
|
29
|
+
console.error(chalk.red('❌ No graph initialized.'));
|
|
30
|
+
console.error(chalk.dim(' Run `ginko graph init` first to create a graph.'));
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
const token = await getApiToken();
|
|
34
|
+
if (!token) {
|
|
35
|
+
console.error(chalk.red('❌ Not authenticated.'));
|
|
36
|
+
console.error(chalk.dim(' Run `ginko login` to authenticate.'));
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
// GraphQL query
|
|
40
|
+
const graphqlQuery = `
|
|
41
|
+
query SearchKnowledge($query: String!, $graphId: String!, $limit: Int, $minScore: Float, $type: NodeType, $status: NodeStatus) {
|
|
42
|
+
search(
|
|
43
|
+
query: $query
|
|
44
|
+
graphId: $graphId
|
|
45
|
+
limit: $limit
|
|
46
|
+
minScore: $minScore
|
|
47
|
+
type: $type
|
|
48
|
+
status: $status
|
|
49
|
+
) {
|
|
50
|
+
node {
|
|
51
|
+
id
|
|
52
|
+
title
|
|
53
|
+
type
|
|
54
|
+
content
|
|
55
|
+
tags
|
|
56
|
+
createdAt
|
|
57
|
+
}
|
|
58
|
+
score
|
|
59
|
+
relationshipType
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
const variables = {
|
|
64
|
+
query,
|
|
65
|
+
graphId: config.graphId,
|
|
66
|
+
limit: options.limit,
|
|
67
|
+
minScore: options.threshold,
|
|
68
|
+
type: options.type || null,
|
|
69
|
+
status: options.status.toUpperCase(),
|
|
70
|
+
};
|
|
71
|
+
// Call GraphQL API
|
|
72
|
+
const apiUrl = config.apiUrl || process.env.GINKO_API_URL || 'https://app.ginkoai.com';
|
|
73
|
+
const response = await axios.post(`${apiUrl}/api/graphql`, {
|
|
74
|
+
query: graphqlQuery,
|
|
75
|
+
variables,
|
|
76
|
+
}, {
|
|
77
|
+
headers: {
|
|
78
|
+
'Content-Type': 'application/json',
|
|
79
|
+
'Authorization': `Bearer ${token}`,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
if (response.data.errors) {
|
|
83
|
+
console.error(chalk.red('❌ GraphQL Error:'));
|
|
84
|
+
response.data.errors.forEach((error) => {
|
|
85
|
+
console.error(chalk.red(` ${error.message}`));
|
|
86
|
+
});
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
const results = response.data.data.search;
|
|
90
|
+
if (results.length === 0) {
|
|
91
|
+
console.log(chalk.yellow('⚠️ No results found.'));
|
|
92
|
+
console.log(chalk.dim(' Try:'));
|
|
93
|
+
console.log(chalk.dim(' - Lowering the threshold: --threshold 0.5'));
|
|
94
|
+
console.log(chalk.dim(' - Removing type filter'));
|
|
95
|
+
console.log(chalk.dim(' - Using different keywords'));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
console.log(chalk.green(`✅ Found ${results.length} results:\n`));
|
|
99
|
+
if (options.table) {
|
|
100
|
+
// Table format
|
|
101
|
+
const table = new Table({
|
|
102
|
+
head: [chalk.cyan('Type'), chalk.cyan('Title/ID'), chalk.cyan('Score'), chalk.cyan('Relevance')],
|
|
103
|
+
colWidths: [15, 40, 10, 20],
|
|
104
|
+
wordWrap: true,
|
|
105
|
+
});
|
|
106
|
+
results.forEach((result) => {
|
|
107
|
+
const title = result.node.title || result.node.id;
|
|
108
|
+
const scoreColor = result.score >= 0.9 ? chalk.green : result.score >= 0.75 ? chalk.yellow : chalk.dim;
|
|
109
|
+
table.push([
|
|
110
|
+
result.node.type,
|
|
111
|
+
title.length > 35 ? title.substring(0, 32) + '...' : title,
|
|
112
|
+
scoreColor(result.score.toFixed(3)),
|
|
113
|
+
result.relationshipType.replace(/_/g, ' '),
|
|
114
|
+
]);
|
|
115
|
+
});
|
|
116
|
+
console.log(table.toString());
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// List format
|
|
120
|
+
results.forEach((result, index) => {
|
|
121
|
+
const scoreColor = result.score >= 0.9 ? chalk.green : result.score >= 0.75 ? chalk.yellow : chalk.dim;
|
|
122
|
+
const title = result.node.title || result.node.id;
|
|
123
|
+
console.log(chalk.bold(`${index + 1}. ${title}`));
|
|
124
|
+
console.log(chalk.dim(` Type: ${result.node.type} | Score: ${scoreColor(result.score.toFixed(3))} | ${result.relationshipType.replace(/_/g, ' ')}`));
|
|
125
|
+
console.log(chalk.dim(` ID: ${result.node.id}`));
|
|
126
|
+
// Show tags if available
|
|
127
|
+
if (result.node.tags && result.node.tags.length > 0) {
|
|
128
|
+
console.log(chalk.dim(` Tags: ${result.node.tags.join(', ')}`));
|
|
129
|
+
}
|
|
130
|
+
// Show content preview (first 100 chars)
|
|
131
|
+
const contentPreview = result.node.content.substring(0, 100);
|
|
132
|
+
console.log(chalk.gray(` ${contentPreview}${result.node.content.length > 100 ? '...' : ''}`));
|
|
133
|
+
console.log('');
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Summary
|
|
137
|
+
console.log(chalk.dim(`\n💡 Tip: Use "ginko knowledge graph <id>" to explore connections`));
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error(chalk.red('❌ Search failed:'));
|
|
141
|
+
if (error.response) {
|
|
142
|
+
console.error(chalk.red(` API Error: ${error.response.status} ${error.response.statusText}`));
|
|
143
|
+
if (error.response.data?.message) {
|
|
144
|
+
console.error(chalk.red(` ${error.response.data.message}`));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else if (error.request) {
|
|
148
|
+
console.error(chalk.red(' Network error: Could not reach API server'));
|
|
149
|
+
console.error(chalk.dim(` Check your connection and API URL: ${process.env.GINKO_API_URL || 'https://app.ginkoai.com'}`));
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
console.error(chalk.red(` ${error.message}`));
|
|
153
|
+
}
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/knowledge/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: command
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-07
|
|
5
|
+
* @tags: [knowledge, sync, migration, cloud, task-026]
|
|
6
|
+
* @related: [index.ts, create.ts, scanner.ts, parser.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: high
|
|
9
|
+
* @dependencies: [chalk, commander]
|
|
10
|
+
*/
|
|
11
|
+
export interface SyncOptions {
|
|
12
|
+
dryRun?: boolean;
|
|
13
|
+
force?: boolean;
|
|
14
|
+
path?: string;
|
|
15
|
+
project?: string;
|
|
16
|
+
skip?: boolean;
|
|
17
|
+
interactive?: boolean;
|
|
18
|
+
localOnly?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Main sync command
|
|
22
|
+
*/
|
|
23
|
+
export declare function syncCommand(options: SyncOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Rollback command - restore state before sync
|
|
26
|
+
*/
|
|
27
|
+
export declare function rollbackCommand(syncId: string): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/knowledge/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwOrE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BnE"}
|