@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,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-10
|
|
5
|
+
* @tags: [charter, versioning, semantic-versioning, changelog]
|
|
6
|
+
* @related: [charter-storage.ts, charter.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Version Utilities
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Parse version string (e.g., "1.2.3") into CharterVersion
|
|
16
|
+
*/
|
|
17
|
+
export function parseVersion(versionString) {
|
|
18
|
+
const parts = versionString.split('.').map(Number);
|
|
19
|
+
if (parts.length !== 3 || parts.some(isNaN)) {
|
|
20
|
+
throw new Error(`Invalid version format: ${versionString}`);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
major: parts[0],
|
|
24
|
+
minor: parts[1],
|
|
25
|
+
patch: parts[2],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Convert CharterVersion to string (e.g., "1.2.3")
|
|
30
|
+
*/
|
|
31
|
+
export function versionToString(version) {
|
|
32
|
+
return `${version.major}.${version.minor}.${version.patch}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create initial version (1.0.0)
|
|
36
|
+
*/
|
|
37
|
+
export function createInitialVersion() {
|
|
38
|
+
return { major: 1, minor: 0, patch: 0 };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Bump version based on type
|
|
42
|
+
*/
|
|
43
|
+
export function bumpVersion(current, bump) {
|
|
44
|
+
switch (bump) {
|
|
45
|
+
case 'major':
|
|
46
|
+
return { major: current.major + 1, minor: 0, patch: 0 };
|
|
47
|
+
case 'minor':
|
|
48
|
+
return { major: current.major, minor: current.minor + 1, patch: 0 };
|
|
49
|
+
case 'patch':
|
|
50
|
+
return { major: current.major, minor: current.minor, patch: current.patch + 1 };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// ============================================================================
|
|
54
|
+
// Change Detection
|
|
55
|
+
// ============================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Detect appropriate version bump based on changes between charters
|
|
58
|
+
*/
|
|
59
|
+
export function detectVersionBump(oldCharter, newCharter) {
|
|
60
|
+
// Major: Significant scope redefinition or work mode change
|
|
61
|
+
if (hasMajorChanges(oldCharter, newCharter)) {
|
|
62
|
+
return 'major';
|
|
63
|
+
}
|
|
64
|
+
// Minor: New details, refinements, additional sections
|
|
65
|
+
if (hasMinorChanges(oldCharter, newCharter)) {
|
|
66
|
+
return 'minor';
|
|
67
|
+
}
|
|
68
|
+
// Patch: Typo fixes, clarifications, minor wording changes
|
|
69
|
+
return 'patch';
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check for major changes (scope redefinition, work mode change)
|
|
73
|
+
*/
|
|
74
|
+
function hasMajorChanges(oldCharter, newCharter) {
|
|
75
|
+
// Work mode change is major
|
|
76
|
+
if (oldCharter.workMode !== newCharter.workMode) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
// Significant scope change (50%+ of in-scope items changed)
|
|
80
|
+
const oldInScope = new Set(oldCharter.content.scope.inScope);
|
|
81
|
+
const newInScope = new Set(newCharter.content.scope.inScope);
|
|
82
|
+
const intersection = new Set([...oldInScope].filter(x => newInScope.has(x)));
|
|
83
|
+
const scopeChangePercent = 1 - (intersection.size / Math.max(oldInScope.size, 1));
|
|
84
|
+
if (scopeChangePercent > 0.5) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// Purpose completely rewritten (>80% content change)
|
|
88
|
+
const oldPurpose = oldCharter.content.purpose;
|
|
89
|
+
const newPurpose = newCharter.content.purpose;
|
|
90
|
+
const similarity = calculateSimilarity(oldPurpose, newPurpose);
|
|
91
|
+
if (similarity < 0.2) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Check for minor changes (new details, refinements)
|
|
98
|
+
*/
|
|
99
|
+
function hasMinorChanges(oldCharter, newCharter) {
|
|
100
|
+
// New sections added
|
|
101
|
+
if ((!oldCharter.content.risks && newCharter.content.risks) ||
|
|
102
|
+
(!oldCharter.content.alternatives && newCharter.content.alternatives) ||
|
|
103
|
+
(!oldCharter.content.governance && newCharter.content.governance)) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
// New success criteria added
|
|
107
|
+
if (newCharter.content.successCriteria.length > oldCharter.content.successCriteria.length) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
// Significant TBD items resolved
|
|
111
|
+
const oldTbdCount = oldCharter.content.scope.tbd.length;
|
|
112
|
+
const newTbdCount = newCharter.content.scope.tbd.length;
|
|
113
|
+
if (oldTbdCount > 0 && newTbdCount < oldTbdCount - 2) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Calculate text similarity (simple Jaccard similarity on words)
|
|
120
|
+
*/
|
|
121
|
+
function calculateSimilarity(text1, text2) {
|
|
122
|
+
const words1 = new Set(text1.toLowerCase().split(/\s+/));
|
|
123
|
+
const words2 = new Set(text2.toLowerCase().split(/\s+/));
|
|
124
|
+
const intersection = new Set([...words1].filter(x => words2.has(x)));
|
|
125
|
+
const union = new Set([...words1, ...words2]);
|
|
126
|
+
return intersection.size / union.size;
|
|
127
|
+
}
|
|
128
|
+
// ============================================================================
|
|
129
|
+
// Change Summarization
|
|
130
|
+
// ============================================================================
|
|
131
|
+
/**
|
|
132
|
+
* Generate list of changes between two charters
|
|
133
|
+
*/
|
|
134
|
+
export function generateChangeList(oldCharter, newCharter) {
|
|
135
|
+
const changes = [];
|
|
136
|
+
// Work mode change
|
|
137
|
+
if (oldCharter.workMode !== newCharter.workMode) {
|
|
138
|
+
changes.push(`Changed work mode from ${oldCharter.workMode} to ${newCharter.workMode}`);
|
|
139
|
+
}
|
|
140
|
+
// Purpose changes
|
|
141
|
+
if (oldCharter.content.purpose !== newCharter.content.purpose) {
|
|
142
|
+
changes.push('Updated purpose statement');
|
|
143
|
+
}
|
|
144
|
+
// Users changes
|
|
145
|
+
if (JSON.stringify(oldCharter.content.users) !== JSON.stringify(newCharter.content.users)) {
|
|
146
|
+
changes.push('Updated user personas');
|
|
147
|
+
}
|
|
148
|
+
// Success criteria changes
|
|
149
|
+
const oldCriteria = oldCharter.content.successCriteria.length;
|
|
150
|
+
const newCriteria = newCharter.content.successCriteria.length;
|
|
151
|
+
if (newCriteria > oldCriteria) {
|
|
152
|
+
changes.push(`Added ${newCriteria - oldCriteria} success criteria`);
|
|
153
|
+
}
|
|
154
|
+
else if (newCriteria < oldCriteria) {
|
|
155
|
+
changes.push(`Removed ${oldCriteria - newCriteria} success criteria`);
|
|
156
|
+
}
|
|
157
|
+
// Scope changes
|
|
158
|
+
const scopeChanges = detectScopeChanges(oldCharter.content.scope, newCharter.content.scope);
|
|
159
|
+
changes.push(...scopeChanges);
|
|
160
|
+
// New optional sections
|
|
161
|
+
if (!oldCharter.content.risks && newCharter.content.risks) {
|
|
162
|
+
changes.push('Added risks section');
|
|
163
|
+
}
|
|
164
|
+
if (!oldCharter.content.alternatives && newCharter.content.alternatives) {
|
|
165
|
+
changes.push('Added alternatives section');
|
|
166
|
+
}
|
|
167
|
+
if (!oldCharter.content.governance && newCharter.content.governance) {
|
|
168
|
+
changes.push('Added governance section');
|
|
169
|
+
}
|
|
170
|
+
// Confidence changes
|
|
171
|
+
const oldConfidence = oldCharter.confidence.overall;
|
|
172
|
+
const newConfidence = newCharter.confidence.overall;
|
|
173
|
+
const confidenceDelta = newConfidence - oldConfidence;
|
|
174
|
+
if (Math.abs(confidenceDelta) >= 5) {
|
|
175
|
+
changes.push(`Confidence ${confidenceDelta > 0 ? 'increased' : 'decreased'} to ${newConfidence}%`);
|
|
176
|
+
}
|
|
177
|
+
return changes;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Detect scope changes
|
|
181
|
+
*/
|
|
182
|
+
function detectScopeChanges(oldScope, newScope) {
|
|
183
|
+
const changes = [];
|
|
184
|
+
// In-scope additions/removals
|
|
185
|
+
const oldInScope = new Set(oldScope.inScope);
|
|
186
|
+
const newInScope = new Set(newScope.inScope);
|
|
187
|
+
const addedInScope = [...newInScope].filter(x => !oldInScope.has(x));
|
|
188
|
+
const removedInScope = [...oldInScope].filter(x => !newInScope.has(x));
|
|
189
|
+
if (addedInScope.length > 0) {
|
|
190
|
+
changes.push(`Added ${addedInScope.length} items to scope`);
|
|
191
|
+
}
|
|
192
|
+
if (removedInScope.length > 0) {
|
|
193
|
+
changes.push(`Removed ${removedInScope.length} items from scope`);
|
|
194
|
+
}
|
|
195
|
+
// Out-of-scope changes
|
|
196
|
+
const oldOutOfScope = oldScope.outOfScope.length;
|
|
197
|
+
const newOutOfScope = newScope.outOfScope.length;
|
|
198
|
+
if (newOutOfScope > oldOutOfScope) {
|
|
199
|
+
changes.push(`Clarified ${newOutOfScope - oldOutOfScope} out-of-scope boundaries`);
|
|
200
|
+
}
|
|
201
|
+
// TBD resolution
|
|
202
|
+
const oldTbd = oldScope.tbd.length;
|
|
203
|
+
const newTbd = newScope.tbd.length;
|
|
204
|
+
if (newTbd < oldTbd) {
|
|
205
|
+
changes.push(`Resolved ${oldTbd - newTbd} TBD items`);
|
|
206
|
+
}
|
|
207
|
+
return changes;
|
|
208
|
+
}
|
|
209
|
+
// ============================================================================
|
|
210
|
+
// Changelog Generation
|
|
211
|
+
// ============================================================================
|
|
212
|
+
/**
|
|
213
|
+
* Create initial changelog entry for new charter
|
|
214
|
+
*/
|
|
215
|
+
export function createInitialChangelog(charter, participants) {
|
|
216
|
+
return {
|
|
217
|
+
version: versionToString(charter.version),
|
|
218
|
+
date: new Date().toISOString().split('T')[0],
|
|
219
|
+
changes: [
|
|
220
|
+
'Created from conversation during ginko init',
|
|
221
|
+
`Work mode: ${charter.workMode}`,
|
|
222
|
+
`Confidence: ${charter.confidence.overall}%`,
|
|
223
|
+
],
|
|
224
|
+
participants,
|
|
225
|
+
confidence: charter.confidence.overall,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Create changelog entry for charter update
|
|
230
|
+
*/
|
|
231
|
+
export function createUpdateChangelog(oldCharter, newCharter, participants) {
|
|
232
|
+
const changes = generateChangeList(oldCharter, newCharter);
|
|
233
|
+
return {
|
|
234
|
+
version: versionToString(newCharter.version),
|
|
235
|
+
date: new Date().toISOString().split('T')[0],
|
|
236
|
+
changes,
|
|
237
|
+
participants,
|
|
238
|
+
confidence: newCharter.confidence.overall,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Format changelog for markdown display
|
|
243
|
+
*/
|
|
244
|
+
export function formatChangelogForMarkdown(changelog) {
|
|
245
|
+
const lines = ['## Changelog', ''];
|
|
246
|
+
lines.push('All changes to this charter are tracked here for transparency.');
|
|
247
|
+
lines.push('');
|
|
248
|
+
for (const entry of changelog) {
|
|
249
|
+
lines.push(`### v${entry.version} - ${entry.date}`);
|
|
250
|
+
for (const change of entry.changes) {
|
|
251
|
+
lines.push(`- ${change}`);
|
|
252
|
+
}
|
|
253
|
+
if (entry.participants.length > 0) {
|
|
254
|
+
lines.push(`- Participants: ${entry.participants.join(', ')}`);
|
|
255
|
+
}
|
|
256
|
+
if (entry.confidence !== undefined) {
|
|
257
|
+
lines.push(`- Confidence: ${entry.confidence}%`);
|
|
258
|
+
}
|
|
259
|
+
lines.push('');
|
|
260
|
+
}
|
|
261
|
+
return lines.join('\n');
|
|
262
|
+
}
|
|
263
|
+
// ============================================================================
|
|
264
|
+
// Version Comparison
|
|
265
|
+
// ============================================================================
|
|
266
|
+
/**
|
|
267
|
+
* Compare two versions
|
|
268
|
+
* Returns: -1 if v1 < v2, 0 if equal, 1 if v1 > v2
|
|
269
|
+
*/
|
|
270
|
+
export function compareVersions(v1, v2) {
|
|
271
|
+
if (v1.major !== v2.major)
|
|
272
|
+
return v1.major - v2.major;
|
|
273
|
+
if (v1.minor !== v2.minor)
|
|
274
|
+
return v1.minor - v2.minor;
|
|
275
|
+
return v1.patch - v2.patch;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Check if version is newer than another
|
|
279
|
+
*/
|
|
280
|
+
export function isNewerVersion(v1, v2) {
|
|
281
|
+
return compareVersions(v1, v2) > 0;
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=charter-versioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charter-versioning.js","sourceRoot":"","sources":["../../../src/lib/charter/charter-versioning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: specification
|
|
4
|
+
* @updated: 2025-11-10
|
|
5
|
+
* @tags: [charter, confidence-scoring, conversation-quality, design-spec]
|
|
6
|
+
* @related: [conversation-facilitator.ts, charter-synthesizer.ts]
|
|
7
|
+
* @priority: critical
|
|
8
|
+
* @complexity: high
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Confidence Scoring Specification for Charter Conversations
|
|
13
|
+
*
|
|
14
|
+
* This module defines the algorithm for assessing how well each charter aspect
|
|
15
|
+
* is understood during conversational charter creation. It tracks confidence
|
|
16
|
+
* across four critical aspects (purpose, users, success, scope) and determines
|
|
17
|
+
* when additional probing is needed versus when to accept TBD.
|
|
18
|
+
*
|
|
19
|
+
* Philosophy:
|
|
20
|
+
* - Confidence scoring guides conversation depth, not bureaucratic completeness
|
|
21
|
+
* - Low confidence triggers gentle probing (max 1 per aspect, 3 total)
|
|
22
|
+
* - TBD is acceptable when user doesn't have clarity yet
|
|
23
|
+
* - Scoring is transparent and shown to user
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Overall confidence assessment for charter
|
|
27
|
+
*/
|
|
28
|
+
export interface CharterConfidence {
|
|
29
|
+
purpose: AspectScore;
|
|
30
|
+
users: AspectScore;
|
|
31
|
+
success: AspectScore;
|
|
32
|
+
scope: AspectScore;
|
|
33
|
+
overall: number;
|
|
34
|
+
workMode?: WorkMode;
|
|
35
|
+
qualityLevel: ConfidenceLevel;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Confidence score for a specific charter aspect
|
|
39
|
+
*/
|
|
40
|
+
export interface AspectScore {
|
|
41
|
+
score: number;
|
|
42
|
+
signals: string[];
|
|
43
|
+
missing: string[];
|
|
44
|
+
needsProbing: boolean;
|
|
45
|
+
markedTBD: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* High-level confidence indicator
|
|
49
|
+
*/
|
|
50
|
+
export type ConfidenceLevel = 'insufficient' | 'workable' | 'good' | 'excellent';
|
|
51
|
+
/**
|
|
52
|
+
* Detected work mode from conversation signals
|
|
53
|
+
*/
|
|
54
|
+
export type WorkMode = 'hack-ship' | 'think-build' | 'full-planning';
|
|
55
|
+
/**
|
|
56
|
+
* Conversation context passed to scorer
|
|
57
|
+
*/
|
|
58
|
+
export interface ConversationContext {
|
|
59
|
+
exchanges: Exchange[];
|
|
60
|
+
workModeSignals: WorkModeSignals;
|
|
61
|
+
nudgeHistory: NudgeRecord[];
|
|
62
|
+
userStopSignals: string[];
|
|
63
|
+
}
|
|
64
|
+
export interface Exchange {
|
|
65
|
+
question: string;
|
|
66
|
+
answer: string;
|
|
67
|
+
timestamp: Date;
|
|
68
|
+
aspect?: CharterAspect;
|
|
69
|
+
}
|
|
70
|
+
export interface WorkModeSignals {
|
|
71
|
+
hackShip: number;
|
|
72
|
+
thinkBuild: number;
|
|
73
|
+
fullPlanning: number;
|
|
74
|
+
}
|
|
75
|
+
export interface NudgeRecord {
|
|
76
|
+
aspect: CharterAspect;
|
|
77
|
+
timestamp: Date;
|
|
78
|
+
response: 'clarified' | 'stayed-vague' | 'declined' | 'frustrated';
|
|
79
|
+
}
|
|
80
|
+
export type CharterAspect = 'purpose' | 'users' | 'success' | 'scope';
|
|
81
|
+
/**
|
|
82
|
+
* Keyword patterns for detecting understanding in each aspect
|
|
83
|
+
*/
|
|
84
|
+
export declare const SIGNAL_PATTERNS: {
|
|
85
|
+
readonly purpose: {
|
|
86
|
+
readonly problem: readonly ["problem", "pain", "frustration", "challenge", "issue", "difficulty", "bottleneck", "blocker", "friction"];
|
|
87
|
+
readonly value: readonly ["value", "benefit", "impact", "improve", "save", "enable", "unlock", "empower", "efficiency"];
|
|
88
|
+
readonly motivation: readonly ["because", "why", "need", "want", "goal", "vision", "mission", "opportunity"];
|
|
89
|
+
readonly urgency: readonly ["now", "urgent", "critical", "blocking", "immediately", "asap"];
|
|
90
|
+
};
|
|
91
|
+
readonly users: {
|
|
92
|
+
readonly userTypes: readonly ["users", "developers", "team", "engineers", "designers", "customers", "clients", "people", "myself", "we", "they"];
|
|
93
|
+
readonly needs: readonly ["needs", "wants", "requires", "looking for", "expects", "jobs to be done", "use cases"];
|
|
94
|
+
readonly outcomes: readonly ["achieve", "accomplish", "complete", "finish", "succeed", "get", "make", "do"];
|
|
95
|
+
};
|
|
96
|
+
readonly success: {
|
|
97
|
+
readonly qualitative: readonly ["happy", "satisfied", "delighted", "easy", "fast", "simple", "intuitive", "reliable", "quality"];
|
|
98
|
+
readonly quantitative: readonly ["time", "minutes", "hours", "seconds", "faster", "reduce", "increase", "percent", "number", "count", "metric"];
|
|
99
|
+
readonly outcomes: readonly ["results in", "leads to", "enables", "allows", "means", "demonstrates", "proves"];
|
|
100
|
+
};
|
|
101
|
+
readonly scope: {
|
|
102
|
+
readonly inScope: readonly ["includes", "covers", "handles", "supports", "provides", "features", "capabilities", "building", "creating", "implementing"];
|
|
103
|
+
readonly outOfScope: readonly ["not", "excluding", "skip", "defer", "later", "phase 2", "future", "won't", "don't"];
|
|
104
|
+
readonly boundaries: readonly ["only", "just", "limited to", "focused on", "specifically", "explicitly", "solely"];
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Work mode detection patterns
|
|
109
|
+
*/
|
|
110
|
+
export declare const WORK_MODE_SIGNALS: {
|
|
111
|
+
readonly hackShip: readonly ["quick", "prototype", "mvp", "proof of concept", "poc", "weekend", "hackathon", "experiment", "validate", "test", "ship", "launch", "try", "explore"];
|
|
112
|
+
readonly thinkBuild: readonly ["team", "process", "testing", "architecture", "maintainable", "scalable", "quality", "users", "feedback", "iteration", "production", "release"];
|
|
113
|
+
readonly fullPlanning: readonly ["stakeholders", "governance", "approval", "risks", "mitigations", "alternatives", "enterprise", "compliance", "security", "roadmap", "quarters", "phases", "strategy"];
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* User stop signals (wants to conclude conversation)
|
|
117
|
+
*/
|
|
118
|
+
export declare const STOP_SIGNALS: readonly ["that's enough", "let's move on", "good enough", "skip", "skip this", "not sure", "don't know", "can we continue", "let's just start", "i'll figure it out"];
|
|
119
|
+
/**
|
|
120
|
+
* Core confidence scorer class
|
|
121
|
+
*/
|
|
122
|
+
export declare class ConfidenceScorer {
|
|
123
|
+
private context;
|
|
124
|
+
private scores;
|
|
125
|
+
constructor(context: ConversationContext);
|
|
126
|
+
/**
|
|
127
|
+
* Initialize confidence scores with zero state
|
|
128
|
+
*/
|
|
129
|
+
private initializeScores;
|
|
130
|
+
private createEmptyScore;
|
|
131
|
+
/**
|
|
132
|
+
* Update all confidence scores based on current conversation context
|
|
133
|
+
*/
|
|
134
|
+
update(): CharterConfidence;
|
|
135
|
+
/**
|
|
136
|
+
* Get current confidence scores
|
|
137
|
+
*/
|
|
138
|
+
getScores(): CharterConfidence;
|
|
139
|
+
/**
|
|
140
|
+
* Score purpose & value understanding
|
|
141
|
+
*
|
|
142
|
+
* Signals:
|
|
143
|
+
* - Problem statement mentioned
|
|
144
|
+
* - Business value articulated
|
|
145
|
+
* - Motivation clear
|
|
146
|
+
* - Urgency/timing indicated
|
|
147
|
+
*
|
|
148
|
+
* Scoring:
|
|
149
|
+
* - 0-20: No clear problem or value
|
|
150
|
+
* - 20-40: Problem mentioned, value implied
|
|
151
|
+
* - 40-60: Problem clear, value mentioned
|
|
152
|
+
* - 60-80: Problem, value, and motivation all clear
|
|
153
|
+
* - 80-100: Comprehensive with urgency and impact
|
|
154
|
+
*/
|
|
155
|
+
private scorePurpose;
|
|
156
|
+
/**
|
|
157
|
+
* Score user & persona understanding
|
|
158
|
+
*
|
|
159
|
+
* Signals:
|
|
160
|
+
* - User types identified
|
|
161
|
+
* - User needs described
|
|
162
|
+
* - User outcomes mentioned
|
|
163
|
+
*
|
|
164
|
+
* Scoring:
|
|
165
|
+
* - 0-20: No user identification
|
|
166
|
+
* - 20-40: Vague user mention ("users", "people")
|
|
167
|
+
* - 40-60: Specific user type identified
|
|
168
|
+
* - 60-80: User type + needs described
|
|
169
|
+
* - 80-100: Multiple users with clear needs and outcomes
|
|
170
|
+
*/
|
|
171
|
+
private scoreUsers;
|
|
172
|
+
/**
|
|
173
|
+
* Score success criteria understanding
|
|
174
|
+
*
|
|
175
|
+
* Signals:
|
|
176
|
+
* - Qualitative criteria mentioned
|
|
177
|
+
* - Quantitative criteria mentioned
|
|
178
|
+
* - User outcomes described
|
|
179
|
+
*
|
|
180
|
+
* Scoring:
|
|
181
|
+
* - 0-20: No success criteria
|
|
182
|
+
* - 20-40: Vague success mention
|
|
183
|
+
* - 40-60: Qualitative criteria clear
|
|
184
|
+
* - 60-80: Both qualitative and quantitative
|
|
185
|
+
* - 80-100: Comprehensive with timeframes and user outcomes
|
|
186
|
+
*/
|
|
187
|
+
private scoreSuccess;
|
|
188
|
+
/**
|
|
189
|
+
* Score scope & boundaries understanding
|
|
190
|
+
*
|
|
191
|
+
* Signals:
|
|
192
|
+
* - In-scope features mentioned
|
|
193
|
+
* - Out-of-scope explicitly stated
|
|
194
|
+
* - Boundaries clear
|
|
195
|
+
*
|
|
196
|
+
* Scoring:
|
|
197
|
+
* - 0-20: No scope definition
|
|
198
|
+
* - 20-40: Vague scope mention
|
|
199
|
+
* - 40-60: In-scope features clear
|
|
200
|
+
* - 60-80: In-scope + some out-of-scope
|
|
201
|
+
* - 80-100: Both in/out scope with clear boundaries
|
|
202
|
+
*/
|
|
203
|
+
private scoreScope;
|
|
204
|
+
/**
|
|
205
|
+
* Calculate overall confidence as weighted average
|
|
206
|
+
*
|
|
207
|
+
* Weights:
|
|
208
|
+
* - Purpose: 30% (most critical)
|
|
209
|
+
* - Scope: 25% (prevents drift)
|
|
210
|
+
* - Success: 25% (measurability)
|
|
211
|
+
* - Users: 20% (important but can be inferred)
|
|
212
|
+
*/
|
|
213
|
+
private calculateOverall;
|
|
214
|
+
/**
|
|
215
|
+
* Determine quality level from overall score
|
|
216
|
+
*/
|
|
217
|
+
private determineQualityLevel;
|
|
218
|
+
/**
|
|
219
|
+
* Detect work mode from conversation signals
|
|
220
|
+
*/
|
|
221
|
+
private detectWorkMode;
|
|
222
|
+
/**
|
|
223
|
+
* Check if conversation needs more depth for critical aspects
|
|
224
|
+
*/
|
|
225
|
+
needsAdditionalProbing(): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Get the aspect that most needs probing
|
|
228
|
+
*/
|
|
229
|
+
getMostUnclearAspect(): CharterAspect | null;
|
|
230
|
+
/**
|
|
231
|
+
* Check if ready to synthesize charter
|
|
232
|
+
*/
|
|
233
|
+
isReadyToSynthesize(): boolean;
|
|
234
|
+
private allCriticalAspectsCovered;
|
|
235
|
+
private hasUserStopSignals;
|
|
236
|
+
private maxNudgesReached;
|
|
237
|
+
/**
|
|
238
|
+
* Get all answers for a specific aspect
|
|
239
|
+
*/
|
|
240
|
+
private getAnswersForAspect;
|
|
241
|
+
/**
|
|
242
|
+
* Get all conversation text (questions + answers)
|
|
243
|
+
*/
|
|
244
|
+
private getAllConversationText;
|
|
245
|
+
/**
|
|
246
|
+
* Detect signal keywords in text
|
|
247
|
+
*/
|
|
248
|
+
private detectSignals;
|
|
249
|
+
/**
|
|
250
|
+
* Check if aspect has been marked TBD by user
|
|
251
|
+
*/
|
|
252
|
+
private isMarkedTBD;
|
|
253
|
+
/**
|
|
254
|
+
* Check if aspect has already been nudged
|
|
255
|
+
*/
|
|
256
|
+
private hasBeenNudged;
|
|
257
|
+
/**
|
|
258
|
+
* Get human-readable confidence summary
|
|
259
|
+
*/
|
|
260
|
+
getConfidenceSummary(): string;
|
|
261
|
+
}
|
|
262
|
+
export default ConfidenceScorer;
|
|
263
|
+
//# sourceMappingURL=confidence-scorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confidence-scorer.d.ts","sourceRoot":"","sources":["../../../src/lib/charter/confidence-scorer.ts"],"names":[],"mappings":"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"}
|