@dotcontext/cli 0.8.1 → 0.9.0

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.
Files changed (417) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +234 -135
  3. package/dist/cli/index.d.ts +15 -0
  4. package/dist/cli/index.d.ts.map +1 -0
  5. package/dist/cli/index.js +27 -0
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/generators/documentation/codebaseMapGenerator.d.ts +29 -46
  8. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -1
  9. package/dist/generators/documentation/codebaseMapGenerator.js +148 -244
  10. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -1
  11. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  12. package/dist/generators/documentation/documentationGenerator.js +13 -8
  13. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  14. package/dist/generators/documentation/index.d.ts +1 -1
  15. package/dist/generators/documentation/index.d.ts.map +1 -1
  16. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -1
  17. package/dist/generators/shared/structures/documentation/architecture.js +9 -9
  18. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -1
  19. package/dist/generators/shared/structures/documentation/dataFlow.js +2 -2
  20. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -1
  21. package/dist/generators/shared/structures/documentation/glossary.js +2 -2
  22. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -1
  23. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -1
  24. package/dist/generators/shared/structures/documentation/projectOverview.js +10 -11
  25. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -1
  26. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -1
  27. package/dist/generators/shared/structures/skills/factory.js +19 -15
  28. package/dist/generators/shared/structures/skills/factory.js.map +1 -1
  29. package/dist/generators/skills/skillGenerator.d.ts +2 -1
  30. package/dist/generators/skills/skillGenerator.d.ts.map +1 -1
  31. package/dist/generators/skills/skillGenerator.js +47 -6
  32. package/dist/generators/skills/skillGenerator.js.map +1 -1
  33. package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -1
  34. package/dist/generators/skills/templates/indexTemplate.js +22 -15
  35. package/dist/generators/skills/templates/indexTemplate.js.map +1 -1
  36. package/dist/harness/index.d.ts +11 -0
  37. package/dist/harness/index.d.ts.map +1 -0
  38. package/dist/harness/index.js +33 -0
  39. package/dist/harness/index.js.map +1 -0
  40. package/dist/index.js +365 -339
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/bin.d.ts +19 -0
  43. package/dist/mcp/bin.d.ts.map +1 -0
  44. package/dist/mcp/bin.js +189 -0
  45. package/dist/mcp/bin.js.map +1 -0
  46. package/dist/mcp/index.d.ts +12 -0
  47. package/dist/mcp/index.d.ts.map +1 -0
  48. package/dist/mcp/index.js +28 -0
  49. package/dist/mcp/index.js.map +1 -0
  50. package/dist/services/autoFill/autoFillService.d.ts.map +1 -1
  51. package/dist/services/autoFill/autoFillService.js +7 -6
  52. package/dist/services/autoFill/autoFillService.js.map +1 -1
  53. package/dist/services/cli/index.d.ts +8 -0
  54. package/dist/services/cli/index.d.ts.map +1 -0
  55. package/dist/services/cli/index.js +17 -0
  56. package/dist/services/cli/index.js.map +1 -0
  57. package/dist/services/cli/mcpInstallService.d.ts +57 -0
  58. package/dist/services/cli/mcpInstallService.d.ts.map +1 -0
  59. package/dist/services/cli/mcpInstallService.js +607 -0
  60. package/dist/services/cli/mcpInstallService.js.map +1 -0
  61. package/dist/services/cli/stateDetector.d.ts +55 -0
  62. package/dist/services/cli/stateDetector.d.ts.map +1 -0
  63. package/dist/services/cli/stateDetector.js +191 -0
  64. package/dist/services/cli/stateDetector.js.map +1 -0
  65. package/dist/services/export/contextExportService.js +3 -3
  66. package/dist/services/export/contextExportService.js.map +1 -1
  67. package/dist/services/export/exportRulesService.d.ts +1 -0
  68. package/dist/services/export/exportRulesService.d.ts.map +1 -1
  69. package/dist/services/export/exportRulesService.js +20 -8
  70. package/dist/services/export/exportRulesService.js.map +1 -1
  71. package/dist/services/export/skillExportService.d.ts.map +1 -1
  72. package/dist/services/export/skillExportService.js +4 -1
  73. package/dist/services/export/skillExportService.js.map +1 -1
  74. package/dist/services/harness/agentsService.d.ts +31 -0
  75. package/dist/services/harness/agentsService.d.ts.map +1 -0
  76. package/dist/services/harness/agentsService.js +135 -0
  77. package/dist/services/harness/agentsService.js.map +1 -0
  78. package/dist/services/harness/contextService.d.ts +167 -0
  79. package/dist/services/harness/contextService.d.ts.map +1 -0
  80. package/dist/services/harness/contextService.js +403 -0
  81. package/dist/services/harness/contextService.js.map +1 -0
  82. package/dist/services/harness/contextTools.d.ts +95 -0
  83. package/dist/services/harness/contextTools.d.ts.map +1 -0
  84. package/dist/services/harness/contextTools.js +990 -0
  85. package/dist/services/harness/contextTools.js.map +1 -0
  86. package/dist/services/harness/datasetService.d.ts +63 -0
  87. package/dist/services/harness/datasetService.d.ts.map +1 -0
  88. package/dist/services/harness/datasetService.js +261 -0
  89. package/dist/services/harness/datasetService.js.map +1 -0
  90. package/dist/services/harness/executionService.d.ts +74 -0
  91. package/dist/services/harness/executionService.d.ts.map +1 -0
  92. package/dist/services/harness/executionService.js +213 -0
  93. package/dist/services/harness/executionService.js.map +1 -0
  94. package/dist/services/harness/index.d.ts +21 -0
  95. package/dist/services/harness/index.d.ts.map +1 -0
  96. package/dist/services/harness/index.js +52 -0
  97. package/dist/services/harness/index.js.map +1 -0
  98. package/dist/services/harness/plansService.d.ts +45 -0
  99. package/dist/services/harness/plansService.d.ts.map +1 -0
  100. package/dist/services/harness/plansService.js +251 -0
  101. package/dist/services/harness/plansService.js.map +1 -0
  102. package/dist/services/harness/policyService.d.ts +116 -0
  103. package/dist/services/harness/policyService.d.ts.map +1 -0
  104. package/dist/services/harness/policyService.js +510 -0
  105. package/dist/services/harness/policyService.js.map +1 -0
  106. package/dist/services/harness/replayService.d.ts +63 -0
  107. package/dist/services/harness/replayService.d.ts.map +1 -0
  108. package/dist/services/harness/replayService.js +242 -0
  109. package/dist/services/harness/replayService.js.map +1 -0
  110. package/dist/services/harness/runtimeStateService.d.ts +120 -0
  111. package/dist/services/harness/runtimeStateService.d.ts.map +1 -0
  112. package/dist/services/harness/runtimeStateService.js +316 -0
  113. package/dist/services/harness/runtimeStateService.js.map +1 -0
  114. package/dist/services/harness/sensorCatalogService.d.ts +50 -0
  115. package/dist/services/harness/sensorCatalogService.d.ts.map +1 -0
  116. package/dist/services/harness/sensorCatalogService.js +308 -0
  117. package/dist/services/harness/sensorCatalogService.js.map +1 -0
  118. package/dist/services/harness/sensorsService.d.ts +64 -0
  119. package/dist/services/harness/sensorsService.d.ts.map +1 -0
  120. package/dist/services/harness/sensorsService.js +88 -0
  121. package/dist/services/harness/sensorsService.js.map +1 -0
  122. package/dist/services/harness/skillsService.d.ts +31 -0
  123. package/dist/services/harness/skillsService.d.ts.map +1 -0
  124. package/dist/services/harness/skillsService.js +296 -0
  125. package/dist/services/harness/skillsService.js.map +1 -0
  126. package/dist/services/harness/taskContractsService.d.ts +88 -0
  127. package/dist/services/harness/taskContractsService.d.ts.map +1 -0
  128. package/dist/services/harness/taskContractsService.js +210 -0
  129. package/dist/services/harness/taskContractsService.js.map +1 -0
  130. package/dist/services/harness/workflowStateService.d.ts +51 -0
  131. package/dist/services/harness/workflowStateService.d.ts.map +1 -0
  132. package/dist/services/harness/workflowStateService.js +215 -0
  133. package/dist/services/harness/workflowStateService.js.map +1 -0
  134. package/dist/services/import/agentsDetector.d.ts.map +1 -1
  135. package/dist/services/import/agentsDetector.js +14 -8
  136. package/dist/services/import/agentsDetector.js.map +1 -1
  137. package/dist/services/import/importAgentsService.d.ts +2 -2
  138. package/dist/services/import/importAgentsService.d.ts.map +1 -1
  139. package/dist/services/import/importAgentsService.js +8 -1
  140. package/dist/services/import/importAgentsService.js.map +1 -1
  141. package/dist/services/import/importRulesService.d.ts +2 -2
  142. package/dist/services/import/importRulesService.d.ts.map +1 -1
  143. package/dist/services/import/importRulesService.js +8 -1
  144. package/dist/services/import/importRulesService.js.map +1 -1
  145. package/dist/services/import/presets.js +2 -2
  146. package/dist/services/import/presets.js.map +1 -1
  147. package/dist/services/import/rulesDetector.d.ts.map +1 -1
  148. package/dist/services/import/rulesDetector.js +16 -1
  149. package/dist/services/import/rulesDetector.js.map +1 -1
  150. package/dist/services/import/types.d.ts +1 -1
  151. package/dist/services/import/types.d.ts.map +1 -1
  152. package/dist/services/mcp/actionLogger.d.ts +2 -1
  153. package/dist/services/mcp/actionLogger.d.ts.map +1 -1
  154. package/dist/services/mcp/actionLogger.js +76 -15
  155. package/dist/services/mcp/actionLogger.js.map +1 -1
  156. package/dist/services/mcp/gateway/agent.d.ts.map +1 -1
  157. package/dist/services/mcp/gateway/agent.js +15 -104
  158. package/dist/services/mcp/gateway/agent.js.map +1 -1
  159. package/dist/services/mcp/gateway/context.d.ts.map +1 -1
  160. package/dist/services/mcp/gateway/context.js +60 -172
  161. package/dist/services/mcp/gateway/context.js.map +1 -1
  162. package/dist/services/mcp/gateway/explore.js +6 -6
  163. package/dist/services/mcp/gateway/explore.js.map +1 -1
  164. package/dist/services/mcp/gateway/harness.d.ts +7 -0
  165. package/dist/services/mcp/gateway/harness.d.ts.map +1 -0
  166. package/dist/services/mcp/gateway/harness.js +337 -0
  167. package/dist/services/mcp/gateway/harness.js.map +1 -0
  168. package/dist/services/mcp/gateway/index.d.ts +3 -2
  169. package/dist/services/mcp/gateway/index.d.ts.map +1 -1
  170. package/dist/services/mcp/gateway/index.js +4 -2
  171. package/dist/services/mcp/gateway/index.js.map +1 -1
  172. package/dist/services/mcp/gateway/metrics.d.ts.map +1 -1
  173. package/dist/services/mcp/gateway/metrics.js +8 -8
  174. package/dist/services/mcp/gateway/metrics.js.map +1 -1
  175. package/dist/services/mcp/gateway/plan.d.ts.map +1 -1
  176. package/dist/services/mcp/gateway/plan.js +23 -211
  177. package/dist/services/mcp/gateway/plan.js.map +1 -1
  178. package/dist/services/mcp/gateway/shared.d.ts +1 -32
  179. package/dist/services/mcp/gateway/shared.d.ts.map +1 -1
  180. package/dist/services/mcp/gateway/shared.js +4 -30
  181. package/dist/services/mcp/gateway/shared.js.map +1 -1
  182. package/dist/services/mcp/gateway/skill.d.ts.map +1 -1
  183. package/dist/services/mcp/gateway/skill.js +14 -281
  184. package/dist/services/mcp/gateway/skill.js.map +1 -1
  185. package/dist/services/mcp/gateway/types.d.ts +74 -3
  186. package/dist/services/mcp/gateway/types.d.ts.map +1 -1
  187. package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -1
  188. package/dist/services/mcp/gateway/workflowAdvance.js +37 -9
  189. package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -1
  190. package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -1
  191. package/dist/services/mcp/gateway/workflowInit.js +8 -2
  192. package/dist/services/mcp/gateway/workflowInit.js.map +1 -1
  193. package/dist/services/mcp/gateway/workflowManage.d.ts +17 -1
  194. package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -1
  195. package/dist/services/mcp/gateway/workflowManage.js +155 -10
  196. package/dist/services/mcp/gateway/workflowManage.js.map +1 -1
  197. package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -1
  198. package/dist/services/mcp/gateway/workflowStatus.js +5 -3
  199. package/dist/services/mcp/gateway/workflowStatus.js.map +1 -1
  200. package/dist/services/mcp/gatewayTools.d.ts +1 -1
  201. package/dist/services/mcp/gatewayTools.d.ts.map +1 -1
  202. package/dist/services/mcp/gatewayTools.js +2 -1
  203. package/dist/services/mcp/gatewayTools.js.map +1 -1
  204. package/dist/services/mcp/index.d.ts +10 -4
  205. package/dist/services/mcp/index.d.ts.map +1 -1
  206. package/dist/services/mcp/index.js +9 -3
  207. package/dist/services/mcp/index.js.map +1 -1
  208. package/dist/services/mcp/mcpInstallService.d.ts +4 -52
  209. package/dist/services/mcp/mcpInstallService.d.ts.map +1 -1
  210. package/dist/services/mcp/mcpInstallService.js +5 -596
  211. package/dist/services/mcp/mcpInstallService.js.map +1 -1
  212. package/dist/services/mcp/mcpServer.d.ts +5 -6
  213. package/dist/services/mcp/mcpServer.d.ts.map +1 -1
  214. package/dist/services/mcp/mcpServer.js +220 -28
  215. package/dist/services/mcp/mcpServer.js.map +1 -1
  216. package/dist/services/qa/patternInferer.d.ts +2 -31
  217. package/dist/services/qa/patternInferer.d.ts.map +1 -1
  218. package/dist/services/qa/patternInferer.js +4 -353
  219. package/dist/services/qa/patternInferer.js.map +1 -1
  220. package/dist/services/qa/qaService.d.ts +6 -10
  221. package/dist/services/qa/qaService.d.ts.map +1 -1
  222. package/dist/services/qa/qaService.js +17 -53
  223. package/dist/services/qa/qaService.js.map +1 -1
  224. package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -1
  225. package/dist/services/reverseSync/importSkillsService.js +4 -1
  226. package/dist/services/reverseSync/importSkillsService.js.map +1 -1
  227. package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -1
  228. package/dist/services/reverseSync/reverseQuickSyncService.js +10 -6
  229. package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -1
  230. package/dist/services/reverseSync/skillsDetector.js +2 -2
  231. package/dist/services/reverseSync/skillsDetector.js.map +1 -1
  232. package/dist/services/reverseSync/toolDetector.d.ts.map +1 -1
  233. package/dist/services/reverseSync/toolDetector.js +3 -0
  234. package/dist/services/reverseSync/toolDetector.js.map +1 -1
  235. package/dist/services/semantic/index.d.ts +1 -0
  236. package/dist/services/semantic/index.d.ts.map +1 -1
  237. package/dist/services/semantic/index.js +3 -1
  238. package/dist/services/semantic/index.js.map +1 -1
  239. package/dist/services/semantic/semanticSnapshotService.d.ts +86 -0
  240. package/dist/services/semantic/semanticSnapshotService.d.ts.map +1 -0
  241. package/dist/services/semantic/semanticSnapshotService.js +573 -0
  242. package/dist/services/semantic/semanticSnapshotService.js.map +1 -0
  243. package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -1
  244. package/dist/services/shared/contentTypeRegistry.js +9 -0
  245. package/dist/services/shared/contentTypeRegistry.js.map +1 -1
  246. package/dist/services/shared/contextLayout.d.ts +18 -0
  247. package/dist/services/shared/contextLayout.d.ts.map +1 -0
  248. package/dist/services/shared/contextLayout.js +139 -0
  249. package/dist/services/shared/contextLayout.js.map +1 -0
  250. package/dist/services/shared/executionContext.d.ts +38 -0
  251. package/dist/services/shared/executionContext.d.ts.map +1 -0
  252. package/dist/services/shared/executionContext.js +39 -0
  253. package/dist/services/shared/executionContext.js.map +1 -0
  254. package/dist/services/shared/index.d.ts +2 -0
  255. package/dist/services/shared/index.d.ts.map +1 -1
  256. package/dist/services/shared/index.js +11 -1
  257. package/dist/services/shared/index.js.map +1 -1
  258. package/dist/services/shared/toolRegistry.d.ts +6 -0
  259. package/dist/services/shared/toolRegistry.d.ts.map +1 -1
  260. package/dist/services/shared/toolRegistry.js +34 -20
  261. package/dist/services/shared/toolRegistry.js.map +1 -1
  262. package/dist/services/stack/scaffoldFilter.d.ts +3 -3
  263. package/dist/services/state/stateDetector.d.ts +4 -49
  264. package/dist/services/state/stateDetector.d.ts.map +1 -1
  265. package/dist/services/state/stateDetector.js +9 -182
  266. package/dist/services/state/stateDetector.js.map +1 -1
  267. package/dist/services/sync/index.d.ts +1 -1
  268. package/dist/services/sync/index.d.ts.map +1 -1
  269. package/dist/services/sync/index.js.map +1 -1
  270. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -1
  271. package/dist/services/sync/markdownReferenceHandler.js +7 -2
  272. package/dist/services/sync/markdownReferenceHandler.js.map +1 -1
  273. package/dist/services/sync/presets.d.ts.map +1 -1
  274. package/dist/services/sync/presets.js +1 -0
  275. package/dist/services/sync/presets.js.map +1 -1
  276. package/dist/services/sync/symlinkHandler.d.ts.map +1 -1
  277. package/dist/services/sync/symlinkHandler.js +7 -2
  278. package/dist/services/sync/symlinkHandler.js.map +1 -1
  279. package/dist/services/sync/syncService.d.ts +2 -2
  280. package/dist/services/sync/syncService.d.ts.map +1 -1
  281. package/dist/services/sync/syncService.js +17 -3
  282. package/dist/services/sync/syncService.js.map +1 -1
  283. package/dist/services/sync/types.d.ts +9 -1
  284. package/dist/services/sync/types.d.ts.map +1 -1
  285. package/dist/services/workflow/index.d.ts +1 -1
  286. package/dist/services/workflow/index.d.ts.map +1 -1
  287. package/dist/services/workflow/index.js +2 -1
  288. package/dist/services/workflow/index.js.map +1 -1
  289. package/dist/services/workflow/workflowService.d.ts +68 -0
  290. package/dist/services/workflow/workflowService.d.ts.map +1 -1
  291. package/dist/services/workflow/workflowService.js +416 -1
  292. package/dist/services/workflow/workflowService.js.map +1 -1
  293. package/dist/utils/gitignoreManager.d.ts +8 -0
  294. package/dist/utils/gitignoreManager.d.ts.map +1 -1
  295. package/dist/utils/gitignoreManager.js +40 -0
  296. package/dist/utils/gitignoreManager.js.map +1 -1
  297. package/dist/utils/i18n.d.ts +1 -1
  298. package/dist/utils/i18n.js +2 -2
  299. package/dist/utils/i18n.js.map +1 -1
  300. package/dist/utils/processShutdown.d.ts +20 -0
  301. package/dist/utils/processShutdown.d.ts.map +1 -0
  302. package/dist/utils/processShutdown.js +47 -0
  303. package/dist/utils/processShutdown.js.map +1 -0
  304. package/dist/utils/prompts/index.d.ts +1 -1
  305. package/dist/utils/prompts/index.d.ts.map +1 -1
  306. package/dist/utils/prompts/index.js +1 -3
  307. package/dist/utils/prompts/index.js.map +1 -1
  308. package/dist/utils/prompts/smartDefaults.d.ts +0 -9
  309. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -1
  310. package/dist/utils/prompts/smartDefaults.js +0 -23
  311. package/dist/utils/prompts/smartDefaults.js.map +1 -1
  312. package/dist/utils/prompts/types.d.ts +0 -11
  313. package/dist/utils/prompts/types.d.ts.map +1 -1
  314. package/dist/utils/versionChecker.d.ts.map +1 -1
  315. package/dist/utils/versionChecker.js +17 -8
  316. package/dist/utils/versionChecker.js.map +1 -1
  317. package/dist/workflow/index.d.ts +1 -1
  318. package/dist/workflow/index.d.ts.map +1 -1
  319. package/dist/workflow/index.js +6 -1
  320. package/dist/workflow/index.js.map +1 -1
  321. package/dist/workflow/orchestrator.d.ts.map +1 -1
  322. package/dist/workflow/orchestrator.js +3 -14
  323. package/dist/workflow/orchestrator.js.map +1 -1
  324. package/dist/workflow/plans/planLinker.d.ts +13 -0
  325. package/dist/workflow/plans/planLinker.d.ts.map +1 -1
  326. package/dist/workflow/plans/planLinker.js +77 -2
  327. package/dist/workflow/plans/planLinker.js.map +1 -1
  328. package/dist/workflow/plans/types.d.ts +6 -0
  329. package/dist/workflow/plans/types.d.ts.map +1 -1
  330. package/dist/workflow/skills/frontmatter.d.ts +9 -0
  331. package/dist/workflow/skills/frontmatter.d.ts.map +1 -1
  332. package/dist/workflow/skills/frontmatter.js +16 -0
  333. package/dist/workflow/skills/frontmatter.js.map +1 -1
  334. package/dist/workflow/skills/index.d.ts +1 -1
  335. package/dist/workflow/skills/index.d.ts.map +1 -1
  336. package/dist/workflow/skills/index.js +3 -1
  337. package/dist/workflow/skills/index.js.map +1 -1
  338. package/dist/workflow/skills/skillRegistry.d.ts.map +1 -1
  339. package/dist/workflow/skills/skillRegistry.js +4 -1
  340. package/dist/workflow/skills/skillRegistry.js.map +1 -1
  341. package/dist/workflow/skills/skillTemplates.d.ts.map +1 -1
  342. package/dist/workflow/skills/skillTemplates.js +69 -30
  343. package/dist/workflow/skills/skillTemplates.js.map +1 -1
  344. package/dist/workflow/status/statusManager.d.ts +8 -3
  345. package/dist/workflow/status/statusManager.d.ts.map +1 -1
  346. package/dist/workflow/status/statusManager.js +60 -21
  347. package/dist/workflow/status/statusManager.js.map +1 -1
  348. package/dist/workflow/types.d.ts +1 -1
  349. package/package.json +19 -11
  350. package/dist/services/ai/aiSdkClient.d.ts +0 -67
  351. package/dist/services/ai/aiSdkClient.d.ts.map +0 -1
  352. package/dist/services/ai/aiSdkClient.js +0 -143
  353. package/dist/services/ai/aiSdkClient.js.map +0 -1
  354. package/dist/services/ai/index.d.ts +0 -5
  355. package/dist/services/ai/index.d.ts.map +0 -1
  356. package/dist/services/ai/index.js +0 -40
  357. package/dist/services/ai/index.js.map +0 -1
  358. package/dist/services/ai/providerFactory.d.ts +0 -35
  359. package/dist/services/ai/providerFactory.d.ts.map +0 -1
  360. package/dist/services/ai/providerFactory.js +0 -107
  361. package/dist/services/ai/providerFactory.js.map +0 -1
  362. package/dist/services/ai/schemas.d.ts +0 -557
  363. package/dist/services/ai/schemas.d.ts.map +0 -1
  364. package/dist/services/ai/schemas.js +0 -357
  365. package/dist/services/ai/schemas.js.map +0 -1
  366. package/dist/services/ai/toolRegistry.d.ts +0 -27
  367. package/dist/services/ai/toolRegistry.d.ts.map +0 -1
  368. package/dist/services/ai/toolRegistry.js +0 -151
  369. package/dist/services/ai/toolRegistry.js.map +0 -1
  370. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +0 -33
  371. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +0 -1
  372. package/dist/services/ai/tools/analyzeSymbolsTool.js +0 -57
  373. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +0 -1
  374. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +0 -18
  375. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +0 -1
  376. package/dist/services/ai/tools/checkScaffoldingTool.js +0 -89
  377. package/dist/services/ai/tools/checkScaffoldingTool.js.map +0 -1
  378. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +0 -124
  379. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +0 -1
  380. package/dist/services/ai/tools/fillScaffoldingTool.js +0 -397
  381. package/dist/services/ai/tools/fillScaffoldingTool.js.map +0 -1
  382. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +0 -17
  383. package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +0 -1
  384. package/dist/services/ai/tools/getCodebaseMapTool.js +0 -122
  385. package/dist/services/ai/tools/getCodebaseMapTool.js.map +0 -1
  386. package/dist/services/ai/tools/getFileStructureTool.d.ts +0 -29
  387. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +0 -1
  388. package/dist/services/ai/tools/getFileStructureTool.js +0 -48
  389. package/dist/services/ai/tools/getFileStructureTool.js.map +0 -1
  390. package/dist/services/ai/tools/index.d.ts +0 -21
  391. package/dist/services/ai/tools/index.d.ts.map +0 -1
  392. package/dist/services/ai/tools/index.js +0 -75
  393. package/dist/services/ai/tools/index.js.map +0 -1
  394. package/dist/services/ai/tools/initializeContextTool.d.ts +0 -135
  395. package/dist/services/ai/tools/initializeContextTool.d.ts.map +0 -1
  396. package/dist/services/ai/tools/initializeContextTool.js +0 -447
  397. package/dist/services/ai/tools/initializeContextTool.js.map +0 -1
  398. package/dist/services/ai/tools/listFilesTool.d.ts +0 -18
  399. package/dist/services/ai/tools/listFilesTool.d.ts.map +0 -1
  400. package/dist/services/ai/tools/listFilesTool.js +0 -34
  401. package/dist/services/ai/tools/listFilesTool.js.map +0 -1
  402. package/dist/services/ai/tools/readFileTool.d.ts +0 -17
  403. package/dist/services/ai/tools/readFileTool.d.ts.map +0 -1
  404. package/dist/services/ai/tools/readFileTool.js +0 -63
  405. package/dist/services/ai/tools/readFileTool.js.map +0 -1
  406. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +0 -41
  407. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +0 -1
  408. package/dist/services/ai/tools/scaffoldPlanTool.js +0 -183
  409. package/dist/services/ai/tools/scaffoldPlanTool.js.map +0 -1
  410. package/dist/services/ai/tools/searchCodeTool.d.ts +0 -25
  411. package/dist/services/ai/tools/searchCodeTool.d.ts.map +0 -1
  412. package/dist/services/ai/tools/searchCodeTool.js +0 -96
  413. package/dist/services/ai/tools/searchCodeTool.js.map +0 -1
  414. package/dist/services/baseLLMClient.d.ts +0 -12
  415. package/dist/services/baseLLMClient.d.ts.map +0 -1
  416. package/dist/services/baseLLMClient.js +0 -80
  417. package/dist/services/baseLLMClient.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ import type { HarnessArtifactRecord, HarnessSessionCheckpoint, HarnessSessionRecord, HarnessTraceRecord, HarnessRuntimeStatePort } from './runtimeStateService';
2
+ import { HarnessSensorsService, type HarnessSensorRun } from './sensorsService';
3
+ import { HarnessTaskContractsService, type HarnessHandoffContract, type HarnessTaskContract } from './taskContractsService';
4
+ export type HarnessReplayEventSource = 'session' | 'trace' | 'artifact' | 'checkpoint' | 'sensor' | 'task' | 'handoff';
5
+ export interface HarnessReplayEvent {
6
+ id: string;
7
+ sessionId: string;
8
+ createdAt: string;
9
+ source: HarnessReplayEventSource;
10
+ label: string;
11
+ payload?: Record<string, unknown>;
12
+ }
13
+ export interface HarnessReplayRecord {
14
+ id: string;
15
+ sessionId: string;
16
+ repoPath: string;
17
+ createdAt: string;
18
+ replayedAt: string;
19
+ fidelity: 'complete' | 'partial';
20
+ eventCount: number;
21
+ summary: string;
22
+ events: HarnessReplayEvent[];
23
+ session: HarnessSessionRecord;
24
+ artifacts: HarnessArtifactRecord[];
25
+ checkpoints: HarnessSessionCheckpoint[];
26
+ traces: HarnessTraceRecord[];
27
+ sensorRuns: HarnessSensorRun[];
28
+ tasks: HarnessTaskContract[];
29
+ handoffs: HarnessHandoffContract[];
30
+ }
31
+ export interface HarnessReplayServiceOptions {
32
+ repoPath: string;
33
+ dependencies?: Partial<HarnessReplayDependencies>;
34
+ }
35
+ export interface ReplaySessionOptions {
36
+ includePayloads?: boolean;
37
+ maxEvents?: number;
38
+ }
39
+ export interface HarnessReplayDependencies {
40
+ stateService: HarnessRuntimeStatePort;
41
+ sensorsService: Pick<HarnessSensorsService, 'getSessionSensorRuns'>;
42
+ contractsService: Pick<HarnessTaskContractsService, 'listTaskContracts' | 'listHandoffContracts'>;
43
+ }
44
+ export declare class HarnessReplayService {
45
+ private readonly options;
46
+ private readonly stateService;
47
+ private readonly sensorsService;
48
+ private readonly contractsService;
49
+ constructor(options: HarnessReplayServiceOptions);
50
+ private get repoPath();
51
+ private get replaysPath();
52
+ private replayFile;
53
+ private ensureLayout;
54
+ private saveReplay;
55
+ private readReplay;
56
+ buildReplay(sessionId: string, options?: ReplaySessionOptions): Promise<HarnessReplayRecord>;
57
+ replaySession(sessionId: string, options?: ReplaySessionOptions): Promise<HarnessReplayRecord>;
58
+ listReplays(filter?: {
59
+ sessionId?: string;
60
+ }): Promise<HarnessReplayRecord[]>;
61
+ getReplay(replayId: string): Promise<HarnessReplayRecord>;
62
+ }
63
+ //# sourceMappingURL=replayService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayService.d.ts","sourceRoot":"","sources":["../../../src/services/harness/replayService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HarnessReplayService = void 0;
37
+ const fs = __importStar(require("fs-extra"));
38
+ const path = __importStar(require("path"));
39
+ const crypto_1 = require("crypto");
40
+ const runtimeStateService_1 = require("./runtimeStateService");
41
+ const sensorsService_1 = require("./sensorsService");
42
+ const taskContractsService_1 = require("./taskContractsService");
43
+ function nowIso() {
44
+ return new Date().toISOString();
45
+ }
46
+ function sortByCreatedAt(items) {
47
+ return [...items].sort((left, right) => left.createdAt.localeCompare(right.createdAt));
48
+ }
49
+ class HarnessReplayService {
50
+ constructor(options) {
51
+ this.options = options;
52
+ const stateService = options.dependencies?.stateService
53
+ ?? new runtimeStateService_1.HarnessRuntimeStateService({ repoPath: options.repoPath });
54
+ const sensorsService = options.dependencies?.sensorsService
55
+ ?? new sensorsService_1.HarnessSensorsService({ stateService });
56
+ const contractsService = options.dependencies?.contractsService
57
+ ?? new taskContractsService_1.HarnessTaskContractsService({
58
+ repoPath: options.repoPath,
59
+ stateService,
60
+ });
61
+ this.stateService = stateService;
62
+ this.sensorsService = sensorsService;
63
+ this.contractsService = contractsService;
64
+ }
65
+ get repoPath() {
66
+ return path.resolve(this.options.repoPath);
67
+ }
68
+ get replaysPath() {
69
+ return path.join(this.repoPath, '.context', 'harness', 'replays');
70
+ }
71
+ replayFile(replayId) {
72
+ return path.join(this.replaysPath, `${replayId}.json`);
73
+ }
74
+ async ensureLayout() {
75
+ await fs.ensureDir(this.replaysPath);
76
+ }
77
+ async saveReplay(replay) {
78
+ await this.ensureLayout();
79
+ await fs.writeJson(this.replayFile(replay.id), replay, { spaces: 2 });
80
+ }
81
+ async readReplay(replayId) {
82
+ const filePath = this.replayFile(replayId);
83
+ if (!(await fs.pathExists(filePath))) {
84
+ throw new Error(`Replay not found: ${replayId}`);
85
+ }
86
+ return fs.readJson(filePath);
87
+ }
88
+ async buildReplay(sessionId, options = {}) {
89
+ const session = await this.stateService.getSession(sessionId);
90
+ const [traces, artifacts, checkpoints, sensorRuns, tasks, handoffs] = await Promise.all([
91
+ this.stateService.listTraces(sessionId),
92
+ this.stateService.listArtifacts(sessionId),
93
+ this.stateService.listCheckpoints(sessionId),
94
+ this.sensorsService.getSessionSensorRuns(sessionId),
95
+ this.contractsService.listTaskContracts(),
96
+ this.contractsService.listHandoffContracts(),
97
+ ]);
98
+ const sessionTasks = tasks.filter((task) => task.sessionId === sessionId);
99
+ const sessionHandoffs = handoffs.filter((handoff) => handoff.sessionId === sessionId);
100
+ const events = [
101
+ {
102
+ id: (0, crypto_1.randomUUID)(),
103
+ sessionId,
104
+ createdAt: session.createdAt,
105
+ source: 'session',
106
+ label: `session:${session.name}`,
107
+ payload: options.includePayloads === false
108
+ ? undefined
109
+ : {
110
+ id: session.id,
111
+ status: session.status,
112
+ metadata: session.metadata ?? null,
113
+ },
114
+ },
115
+ ...traces.map((trace) => ({
116
+ id: (0, crypto_1.randomUUID)(),
117
+ sessionId,
118
+ createdAt: trace.createdAt,
119
+ source: 'trace',
120
+ label: trace.event,
121
+ payload: options.includePayloads === false
122
+ ? undefined
123
+ : {
124
+ level: trace.level,
125
+ message: trace.message,
126
+ data: trace.data ?? null,
127
+ },
128
+ })),
129
+ ...artifacts.map((artifact) => ({
130
+ id: (0, crypto_1.randomUUID)(),
131
+ sessionId,
132
+ createdAt: artifact.createdAt,
133
+ source: 'artifact',
134
+ label: artifact.name,
135
+ payload: options.includePayloads === false
136
+ ? undefined
137
+ : {
138
+ kind: artifact.kind,
139
+ path: artifact.path ?? null,
140
+ metadata: artifact.metadata ?? null,
141
+ },
142
+ })),
143
+ ...checkpoints.map((checkpoint) => ({
144
+ id: (0, crypto_1.randomUUID)(),
145
+ sessionId,
146
+ createdAt: checkpoint.createdAt,
147
+ source: 'checkpoint',
148
+ label: checkpoint.note || checkpoint.id,
149
+ payload: options.includePayloads === false
150
+ ? undefined
151
+ : {
152
+ artifactIds: checkpoint.artifactIds,
153
+ data: checkpoint.data ?? null,
154
+ },
155
+ })),
156
+ ...sensorRuns.map((run) => ({
157
+ id: (0, crypto_1.randomUUID)(),
158
+ sessionId,
159
+ createdAt: run.createdAt,
160
+ source: 'sensor',
161
+ label: run.sensorId,
162
+ payload: options.includePayloads === false
163
+ ? undefined
164
+ : {
165
+ status: run.status,
166
+ summary: run.summary,
167
+ severity: run.severity,
168
+ blocking: run.blocking,
169
+ },
170
+ })),
171
+ ...sessionTasks.map((task) => ({
172
+ id: (0, crypto_1.randomUUID)(),
173
+ sessionId,
174
+ createdAt: task.createdAt,
175
+ source: 'task',
176
+ label: task.title,
177
+ payload: options.includePayloads === false
178
+ ? undefined
179
+ : {
180
+ status: task.status,
181
+ requiredSensors: task.requiredSensors,
182
+ requiredArtifacts: task.requiredArtifacts,
183
+ acceptanceCriteria: task.acceptanceCriteria,
184
+ },
185
+ })),
186
+ ...sessionHandoffs.map((handoff) => ({
187
+ id: (0, crypto_1.randomUUID)(),
188
+ sessionId,
189
+ createdAt: handoff.createdAt,
190
+ source: 'handoff',
191
+ label: `${handoff.from} -> ${handoff.to}`,
192
+ payload: options.includePayloads === false
193
+ ? undefined
194
+ : {
195
+ artifacts: handoff.artifacts,
196
+ evidence: handoff.evidence,
197
+ },
198
+ })),
199
+ ];
200
+ const orderedEvents = sortByCreatedAt(events).slice(0, options.maxEvents ?? Number.MAX_SAFE_INTEGER);
201
+ const replay = {
202
+ id: (0, crypto_1.randomUUID)(),
203
+ sessionId,
204
+ repoPath: this.repoPath,
205
+ createdAt: nowIso(),
206
+ replayedAt: nowIso(),
207
+ fidelity: orderedEvents.length >= events.length ? 'complete' : 'partial',
208
+ eventCount: orderedEvents.length,
209
+ summary: `Replayed ${orderedEvents.length} events for session ${session.name}`,
210
+ events: orderedEvents,
211
+ session,
212
+ artifacts,
213
+ checkpoints,
214
+ traces,
215
+ sensorRuns,
216
+ tasks: sessionTasks,
217
+ handoffs: sessionHandoffs,
218
+ };
219
+ return replay;
220
+ }
221
+ async replaySession(sessionId, options = {}) {
222
+ const replay = await this.buildReplay(sessionId, options);
223
+ await this.saveReplay(replay);
224
+ return replay;
225
+ }
226
+ async listReplays(filter) {
227
+ await this.ensureLayout();
228
+ const entries = await fs.readdir(this.replaysPath);
229
+ const replays = await Promise.all(entries
230
+ .filter((entry) => entry.endsWith('.json'))
231
+ .map(async (entry) => fs.readJson(path.join(this.replaysPath, entry))));
232
+ const filtered = filter?.sessionId
233
+ ? replays.filter((replay) => replay.sessionId === filter.sessionId)
234
+ : replays;
235
+ return filtered.sort((left, right) => right.createdAt.localeCompare(left.createdAt));
236
+ }
237
+ async getReplay(replayId) {
238
+ return this.readReplay(replayId);
239
+ }
240
+ }
241
+ exports.HarnessReplayService = HarnessReplayService;
242
+ //# sourceMappingURL=replayService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayService.js","sourceRoot":"","sources":["../../../src/services/harness/replayService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Harness Runtime State Service
3
+ *
4
+ * Transport-agnostic persistence for sessions, artifacts, traces, and checkpoints.
5
+ * The storage layout lives under .context/harness so future adapters can share state.
6
+ */
7
+ export type HarnessSessionStatus = 'active' | 'paused' | 'completed' | 'failed';
8
+ export type HarnessTraceLevel = 'debug' | 'info' | 'warn' | 'error';
9
+ export type HarnessArtifactKind = 'text' | 'json' | 'file';
10
+ export interface HarnessRuntimeStateServiceOptions {
11
+ repoPath: string;
12
+ }
13
+ export interface HarnessSessionCheckpoint {
14
+ id: string;
15
+ note?: string;
16
+ data?: unknown;
17
+ artifactIds: string[];
18
+ createdAt: string;
19
+ }
20
+ export interface HarnessSessionRecord {
21
+ id: string;
22
+ name: string;
23
+ status: HarnessSessionStatus;
24
+ repoPath: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ startedAt: string;
28
+ completedAt?: string;
29
+ failedAt?: string;
30
+ lastTraceAt?: string;
31
+ lastCheckpointAt?: string;
32
+ traceCount: number;
33
+ artifactCount: number;
34
+ checkpointCount: number;
35
+ checkpoints: HarnessSessionCheckpoint[];
36
+ metadata?: Record<string, unknown>;
37
+ }
38
+ export interface HarnessTraceRecord {
39
+ id: string;
40
+ sessionId: string;
41
+ level: HarnessTraceLevel;
42
+ event: string;
43
+ message: string;
44
+ createdAt: string;
45
+ data?: Record<string, unknown>;
46
+ }
47
+ export interface HarnessArtifactRecord {
48
+ id: string;
49
+ sessionId: string;
50
+ name: string;
51
+ kind: HarnessArtifactKind;
52
+ createdAt: string;
53
+ content?: unknown;
54
+ path?: string;
55
+ metadata?: Record<string, unknown>;
56
+ }
57
+ export interface HarnessRuntimeStatePort {
58
+ getSession(sessionId: string): Promise<HarnessSessionRecord>;
59
+ listSessions(): Promise<HarnessSessionRecord[]>;
60
+ appendTrace(sessionId: string, input: AppendTraceInput): Promise<HarnessTraceRecord>;
61
+ listTraces(sessionId: string): Promise<HarnessTraceRecord[]>;
62
+ addArtifact(sessionId: string, input: AddArtifactInput): Promise<HarnessArtifactRecord>;
63
+ listArtifacts(sessionId: string): Promise<HarnessArtifactRecord[]>;
64
+ checkpointSession(sessionId: string, input?: CheckpointInput): Promise<HarnessSessionRecord>;
65
+ listCheckpoints(sessionId: string): Promise<HarnessSessionCheckpoint[]>;
66
+ }
67
+ export interface CreateSessionInput {
68
+ name: string;
69
+ metadata?: Record<string, unknown>;
70
+ }
71
+ export interface AppendTraceInput {
72
+ level: HarnessTraceLevel;
73
+ event: string;
74
+ message: string;
75
+ data?: Record<string, unknown>;
76
+ }
77
+ export interface AddArtifactInput {
78
+ name: string;
79
+ kind?: HarnessArtifactKind;
80
+ content?: unknown;
81
+ path?: string;
82
+ metadata?: Record<string, unknown>;
83
+ }
84
+ export interface CheckpointInput {
85
+ note?: string;
86
+ data?: unknown;
87
+ artifactIds?: string[];
88
+ pause?: boolean;
89
+ }
90
+ export declare class HarnessRuntimeStateService {
91
+ private readonly options;
92
+ constructor(options: HarnessRuntimeStateServiceOptions);
93
+ private get repoPath();
94
+ private get contextPath();
95
+ private get harnessPath();
96
+ private get sessionsPath();
97
+ private get tracesPath();
98
+ private get artifactsPath();
99
+ private sessionFile;
100
+ private traceFile;
101
+ private artifactFile;
102
+ private ensureLayout;
103
+ private readSession;
104
+ private saveSession;
105
+ private appendTraceLine;
106
+ private recordTrace;
107
+ createSession(input: CreateSessionInput): Promise<HarnessSessionRecord>;
108
+ listSessions(): Promise<HarnessSessionRecord[]>;
109
+ getSession(sessionId: string): Promise<HarnessSessionRecord>;
110
+ appendTrace(sessionId: string, input: AppendTraceInput): Promise<HarnessTraceRecord>;
111
+ addArtifact(sessionId: string, input: AddArtifactInput): Promise<HarnessArtifactRecord>;
112
+ listCheckpoints(sessionId: string): Promise<HarnessSessionCheckpoint[]>;
113
+ listArtifacts(sessionId: string): Promise<HarnessArtifactRecord[]>;
114
+ listTraces(sessionId: string): Promise<HarnessTraceRecord[]>;
115
+ checkpointSession(sessionId: string, input?: CheckpointInput): Promise<HarnessSessionRecord>;
116
+ resumeSession(sessionId: string): Promise<HarnessSessionRecord>;
117
+ completeSession(sessionId: string, note?: string): Promise<HarnessSessionRecord>;
118
+ failSession(sessionId: string, message: string): Promise<HarnessSessionRecord>;
119
+ }
120
+ //# sourceMappingURL=runtimeStateService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeStateService.d.ts","sourceRoot":"","sources":["../../../src/services/harness/runtimeStateService.ts"],"names":[],"mappings":"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"}