@oscharko-dev/keiko-server 0.2.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 (509) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/assistant-response.d.ts +6 -0
  3. package/dist/assistant-response.d.ts.map +1 -0
  4. package/dist/assistant-response.js +12 -0
  5. package/dist/browser.d.ts +11 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +245 -0
  8. package/dist/chat-handlers.d.ts +48 -0
  9. package/dist/chat-handlers.d.ts.map +1 -0
  10. package/dist/chat-handlers.js +821 -0
  11. package/dist/chat-stream-handlers.d.ts +4 -0
  12. package/dist/chat-stream-handlers.d.ts.map +1 -0
  13. package/dist/chat-stream-handlers.js +136 -0
  14. package/dist/conversation-prompt.d.ts +8 -0
  15. package/dist/conversation-prompt.d.ts.map +1 -0
  16. package/dist/conversation-prompt.js +36 -0
  17. package/dist/conversation-validation.d.ts +26 -0
  18. package/dist/conversation-validation.d.ts.map +1 -0
  19. package/dist/conversation-validation.js +125 -0
  20. package/dist/credentialPersistence.d.ts +23 -0
  21. package/dist/credentialPersistence.d.ts.map +1 -0
  22. package/dist/credentialPersistence.js +93 -0
  23. package/dist/credentialVault.d.ts +30 -0
  24. package/dist/credentialVault.d.ts.map +1 -0
  25. package/dist/credentialVault.js +206 -0
  26. package/dist/csp.d.ts +3 -0
  27. package/dist/csp.d.ts.map +1 -0
  28. package/dist/csp.js +75 -0
  29. package/dist/deps.d.ts +78 -0
  30. package/dist/deps.d.ts.map +1 -0
  31. package/dist/deps.js +457 -0
  32. package/dist/editor/agentRoutes.d.ts +7 -0
  33. package/dist/editor/agentRoutes.d.ts.map +1 -0
  34. package/dist/editor/agentRoutes.js +197 -0
  35. package/dist/editor/assuredGateRunner.d.ts +36 -0
  36. package/dist/editor/assuredGateRunner.d.ts.map +1 -0
  37. package/dist/editor/assuredGateRunner.js +100 -0
  38. package/dist/editor/assuredPreFilter.d.ts +34 -0
  39. package/dist/editor/assuredPreFilter.d.ts.map +1 -0
  40. package/dist/editor/assuredPreFilter.js +134 -0
  41. package/dist/editor/assuredPreFilterRunner.d.ts +31 -0
  42. package/dist/editor/assuredPreFilterRunner.d.ts.map +1 -0
  43. package/dist/editor/assuredPreFilterRunner.js +312 -0
  44. package/dist/editor/builtinLanguageProviders.d.ts +6 -0
  45. package/dist/editor/builtinLanguageProviders.d.ts.map +1 -0
  46. package/dist/editor/builtinLanguageProviders.js +221 -0
  47. package/dist/editor/codingContext.d.ts +12 -0
  48. package/dist/editor/codingContext.d.ts.map +1 -0
  49. package/dist/editor/codingContext.js +121 -0
  50. package/dist/editor/codingContextEvidence.d.ts +7 -0
  51. package/dist/editor/codingContextEvidence.d.ts.map +1 -0
  52. package/dist/editor/codingContextEvidence.js +52 -0
  53. package/dist/editor/codingContextProviders.d.ts +36 -0
  54. package/dist/editor/codingContextProviders.d.ts.map +1 -0
  55. package/dist/editor/codingContextProviders.js +348 -0
  56. package/dist/editor/completionModelEvidence.d.ts +16 -0
  57. package/dist/editor/completionModelEvidence.d.ts.map +1 -0
  58. package/dist/editor/completionModelEvidence.js +50 -0
  59. package/dist/editor/completionRoutes.d.ts +37 -0
  60. package/dist/editor/completionRoutes.d.ts.map +1 -0
  61. package/dist/editor/completionRoutes.js +411 -0
  62. package/dist/editor/contextRoutes.d.ts +6 -0
  63. package/dist/editor/contextRoutes.d.ts.map +1 -0
  64. package/dist/editor/contextRoutes.js +411 -0
  65. package/dist/editor/disposableAssuredExecution.d.ts +22 -0
  66. package/dist/editor/disposableAssuredExecution.d.ts.map +1 -0
  67. package/dist/editor/disposableAssuredExecution.js +57 -0
  68. package/dist/editor/editorCompletionModel.d.ts +47 -0
  69. package/dist/editor/editorCompletionModel.d.ts.map +1 -0
  70. package/dist/editor/editorCompletionModel.js +156 -0
  71. package/dist/editor/editorInlineCompletionModel.d.ts +34 -0
  72. package/dist/editor/editorInlineCompletionModel.d.ts.map +1 -0
  73. package/dist/editor/editorInlineCompletionModel.js +112 -0
  74. package/dist/editor/editorModelTokenBudget.d.ts +46 -0
  75. package/dist/editor/editorModelTokenBudget.d.ts.map +1 -0
  76. package/dist/editor/editorModelTokenBudget.js +121 -0
  77. package/dist/editor/inlineCompletionRateLimiter.d.ts +19 -0
  78. package/dist/editor/inlineCompletionRateLimiter.d.ts.map +1 -0
  79. package/dist/editor/inlineCompletionRateLimiter.js +46 -0
  80. package/dist/editor/inlineCompletionRoutes.d.ts +26 -0
  81. package/dist/editor/inlineCompletionRoutes.d.ts.map +1 -0
  82. package/dist/editor/inlineCompletionRoutes.js +404 -0
  83. package/dist/editor/inlineCompletionTelemetryEvidence.d.ts +5 -0
  84. package/dist/editor/inlineCompletionTelemetryEvidence.d.ts.map +1 -0
  85. package/dist/editor/inlineCompletionTelemetryEvidence.js +42 -0
  86. package/dist/editor/languageCancellation.d.ts +19 -0
  87. package/dist/editor/languageCancellation.d.ts.map +1 -0
  88. package/dist/editor/languageCancellation.js +48 -0
  89. package/dist/editor/languageProvider.d.ts +39 -0
  90. package/dist/editor/languageProvider.d.ts.map +1 -0
  91. package/dist/editor/languageProvider.js +11 -0
  92. package/dist/editor/languageRoutes.d.ts +15 -0
  93. package/dist/editor/languageRoutes.d.ts.map +1 -0
  94. package/dist/editor/languageRoutes.js +106 -0
  95. package/dist/editor/languageSanitize.d.ts +8 -0
  96. package/dist/editor/languageSanitize.d.ts.map +1 -0
  97. package/dist/editor/languageSanitize.js +101 -0
  98. package/dist/editor/languageService.d.ts +36 -0
  99. package/dist/editor/languageService.d.ts.map +1 -0
  100. package/dist/editor/languageService.js +93 -0
  101. package/dist/editor/languageServiceHost.d.ts +14 -0
  102. package/dist/editor/languageServiceHost.d.ts.map +1 -0
  103. package/dist/editor/languageServiceHost.js +242 -0
  104. package/dist/editor/localKnowledgeRetrieval.d.ts +21 -0
  105. package/dist/editor/localKnowledgeRetrieval.d.ts.map +1 -0
  106. package/dist/editor/localKnowledgeRetrieval.js +44 -0
  107. package/dist/editor/patchApplyEvidence.d.ts +21 -0
  108. package/dist/editor/patchApplyEvidence.d.ts.map +1 -0
  109. package/dist/editor/patchApplyEvidence.js +87 -0
  110. package/dist/editor/patchApplyRoutes.d.ts +16 -0
  111. package/dist/editor/patchApplyRoutes.d.ts.map +1 -0
  112. package/dist/editor/patchApplyRoutes.js +307 -0
  113. package/dist/editor/postApplyVerification.d.ts +42 -0
  114. package/dist/editor/postApplyVerification.d.ts.map +1 -0
  115. package/dist/editor/postApplyVerification.js +177 -0
  116. package/dist/editor/testGenerationEvidence.d.ts +6 -0
  117. package/dist/editor/testGenerationEvidence.d.ts.map +1 -0
  118. package/dist/editor/testGenerationEvidence.js +72 -0
  119. package/dist/editor/testGenerationPatch.d.ts +10 -0
  120. package/dist/editor/testGenerationPatch.d.ts.map +1 -0
  121. package/dist/editor/testGenerationPatch.js +66 -0
  122. package/dist/editor/testGenerationRoutes.d.ts +21 -0
  123. package/dist/editor/testGenerationRoutes.d.ts.map +1 -0
  124. package/dist/editor/testGenerationRoutes.js +254 -0
  125. package/dist/editor/testGenerationRunner.d.ts +23 -0
  126. package/dist/editor/testGenerationRunner.d.ts.map +1 -0
  127. package/dist/editor/testGenerationRunner.js +120 -0
  128. package/dist/editor/textOffsets.d.ts +6 -0
  129. package/dist/editor/textOffsets.d.ts.map +1 -0
  130. package/dist/editor/textOffsets.js +82 -0
  131. package/dist/editor/typescriptLanguageProvider.d.ts +3 -0
  132. package/dist/editor/typescriptLanguageProvider.d.ts.map +1 -0
  133. package/dist/editor/typescriptLanguageProvider.js +217 -0
  134. package/dist/evidence.d.ts +28 -0
  135. package/dist/evidence.d.ts.map +1 -0
  136. package/dist/evidence.js +145 -0
  137. package/dist/files-deny.d.ts +3 -0
  138. package/dist/files-deny.d.ts.map +1 -0
  139. package/dist/files-deny.js +12 -0
  140. package/dist/files.d.ts +97 -0
  141. package/dist/files.d.ts.map +1 -0
  142. package/dist/files.js +733 -0
  143. package/dist/gateway-setup.d.ts +10 -0
  144. package/dist/gateway-setup.d.ts.map +1 -0
  145. package/dist/gateway-setup.js +896 -0
  146. package/dist/governed-workflow.d.ts +17 -0
  147. package/dist/governed-workflow.d.ts.map +1 -0
  148. package/dist/governed-workflow.js +147 -0
  149. package/dist/grounded-answer.d.ts +12 -0
  150. package/dist/grounded-answer.d.ts.map +1 -0
  151. package/dist/grounded-answer.js +69 -0
  152. package/dist/grounded-context-index.d.ts +25 -0
  153. package/dist/grounded-context-index.d.ts.map +1 -0
  154. package/dist/grounded-context-index.js +169 -0
  155. package/dist/grounded-document-evidence.d.ts +28 -0
  156. package/dist/grounded-document-evidence.d.ts.map +1 -0
  157. package/dist/grounded-document-evidence.js +430 -0
  158. package/dist/grounded-handoff.d.ts +4 -0
  159. package/dist/grounded-handoff.d.ts.map +1 -0
  160. package/dist/grounded-handoff.js +445 -0
  161. package/dist/grounded-orchestrator.d.ts +43 -0
  162. package/dist/grounded-orchestrator.d.ts.map +1 -0
  163. package/dist/grounded-orchestrator.js +1445 -0
  164. package/dist/grounded-prompt.d.ts +2 -0
  165. package/dist/grounded-prompt.d.ts.map +1 -0
  166. package/dist/grounded-prompt.js +17 -0
  167. package/dist/grounded-qa-hybrid.d.ts +36 -0
  168. package/dist/grounded-qa-hybrid.d.ts.map +1 -0
  169. package/dist/grounded-qa-hybrid.js +762 -0
  170. package/dist/grounded-qa-multi-source.d.ts +38 -0
  171. package/dist/grounded-qa-multi-source.d.ts.map +1 -0
  172. package/dist/grounded-qa-multi-source.js +461 -0
  173. package/dist/grounded-qa.d.ts +45 -0
  174. package/dist/grounded-qa.d.ts.map +1 -0
  175. package/dist/grounded-qa.js +877 -0
  176. package/dist/grounded-rerank.d.ts +26 -0
  177. package/dist/grounded-rerank.d.ts.map +1 -0
  178. package/dist/grounded-rerank.js +72 -0
  179. package/dist/grounded-turn-registry.d.ts +23 -0
  180. package/dist/grounded-turn-registry.d.ts.map +1 -0
  181. package/dist/grounded-turn-registry.js +102 -0
  182. package/dist/headers.d.ts +3 -0
  183. package/dist/headers.d.ts.map +1 -0
  184. package/dist/headers.js +22 -0
  185. package/dist/host-check.d.ts +3 -0
  186. package/dist/host-check.d.ts.map +1 -0
  187. package/dist/host-check.js +58 -0
  188. package/dist/index.d.ts +26 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +33 -0
  191. package/dist/load-csp.d.ts +3 -0
  192. package/dist/load-csp.d.ts.map +1 -0
  193. package/dist/load-csp.js +100 -0
  194. package/dist/local-knowledge-grounded-qa.d.ts +42 -0
  195. package/dist/local-knowledge-grounded-qa.d.ts.map +1 -0
  196. package/dist/local-knowledge-grounded-qa.js +678 -0
  197. package/dist/local-knowledge-handlers.d.ts +24 -0
  198. package/dist/local-knowledge-handlers.d.ts.map +1 -0
  199. package/dist/local-knowledge-handlers.js +1285 -0
  200. package/dist/local-knowledge-indexing-registry.d.ts +13 -0
  201. package/dist/local-knowledge-indexing-registry.d.ts.map +1 -0
  202. package/dist/local-knowledge-indexing-registry.js +53 -0
  203. package/dist/localKnowledgeKeyProvider.d.ts +11 -0
  204. package/dist/localKnowledgeKeyProvider.d.ts.map +1 -0
  205. package/dist/localKnowledgeKeyProvider.js +48 -0
  206. package/dist/memory-audit-event-builders.d.ts +21 -0
  207. package/dist/memory-audit-event-builders.d.ts.map +1 -0
  208. package/dist/memory-audit-event-builders.js +187 -0
  209. package/dist/memory-audit-handler.d.ts +23 -0
  210. package/dist/memory-audit-handler.d.ts.map +1 -0
  211. package/dist/memory-audit-handler.js +191 -0
  212. package/dist/memory-capture-policy.d.ts +10 -0
  213. package/dist/memory-capture-policy.d.ts.map +1 -0
  214. package/dist/memory-capture-policy.js +44 -0
  215. package/dist/memory-consolidation-handlers.d.ts +6 -0
  216. package/dist/memory-consolidation-handlers.d.ts.map +1 -0
  217. package/dist/memory-consolidation-handlers.js +491 -0
  218. package/dist/memory-consolidation-registry.d.ts +47 -0
  219. package/dist/memory-consolidation-registry.d.ts.map +1 -0
  220. package/dist/memory-consolidation-registry.js +106 -0
  221. package/dist/memory-conv-handlers.d.ts +8 -0
  222. package/dist/memory-conv-handlers.d.ts.map +1 -0
  223. package/dist/memory-conv-handlers.js +369 -0
  224. package/dist/memory-conversation-context.d.ts +13 -0
  225. package/dist/memory-conversation-context.d.ts.map +1 -0
  226. package/dist/memory-conversation-context.js +22 -0
  227. package/dist/memory-diagnostics.d.ts +29 -0
  228. package/dist/memory-diagnostics.d.ts.map +1 -0
  229. package/dist/memory-diagnostics.js +122 -0
  230. package/dist/memory-embedding.d.ts +21 -0
  231. package/dist/memory-embedding.d.ts.map +1 -0
  232. package/dist/memory-embedding.js +264 -0
  233. package/dist/memory-handlers.d.ts +19 -0
  234. package/dist/memory-handlers.d.ts.map +1 -0
  235. package/dist/memory-handlers.js +1204 -0
  236. package/dist/memory-maintenance-handlers.d.ts +35 -0
  237. package/dist/memory-maintenance-handlers.d.ts.map +1 -0
  238. package/dist/memory-maintenance-handlers.js +219 -0
  239. package/dist/memory-record-builders.d.ts +4 -0
  240. package/dist/memory-record-builders.d.ts.map +1 -0
  241. package/dist/memory-record-builders.js +19 -0
  242. package/dist/memory-retention.d.ts +31 -0
  243. package/dist/memory-retention.d.ts.map +1 -0
  244. package/dist/memory-retention.js +151 -0
  245. package/dist/memory-retrieval-signals.d.ts +12 -0
  246. package/dist/memory-retrieval-signals.d.ts.map +1 -0
  247. package/dist/memory-retrieval-signals.js +100 -0
  248. package/dist/memory-salience.d.ts +12 -0
  249. package/dist/memory-salience.d.ts.map +1 -0
  250. package/dist/memory-salience.js +154 -0
  251. package/dist/memory-scope-sanitizer.d.ts +6 -0
  252. package/dist/memory-scope-sanitizer.d.ts.map +1 -0
  253. package/dist/memory-scope-sanitizer.js +106 -0
  254. package/dist/memory-target-resolver.d.ts +4 -0
  255. package/dist/memory-target-resolver.d.ts.map +1 -0
  256. package/dist/memory-target-resolver.js +73 -0
  257. package/dist/memory-workflow-port.d.ts +14 -0
  258. package/dist/memory-workflow-port.d.ts.map +1 -0
  259. package/dist/memory-workflow-port.js +186 -0
  260. package/dist/private-json.d.ts +3 -0
  261. package/dist/private-json.d.ts.map +1 -0
  262. package/dist/private-json.js +62 -0
  263. package/dist/promptEnhancer/index.d.ts +3 -0
  264. package/dist/promptEnhancer/index.d.ts.map +1 -0
  265. package/dist/promptEnhancer/index.js +5 -0
  266. package/dist/promptEnhancer/orchestrate.d.ts +2 -0
  267. package/dist/promptEnhancer/orchestrate.d.ts.map +1 -0
  268. package/dist/promptEnhancer/orchestrate.js +5 -0
  269. package/dist/promptEnhancer/routes.d.ts +9 -0
  270. package/dist/promptEnhancer/routes.d.ts.map +1 -0
  271. package/dist/promptEnhancer/routes.js +205 -0
  272. package/dist/qualityIntelligence/capsuleAdapter.d.ts +27 -0
  273. package/dist/qualityIntelligence/capsuleAdapter.d.ts.map +1 -0
  274. package/dist/qualityIntelligence/capsuleAdapter.js +57 -0
  275. package/dist/qualityIntelligence/connectorAuthorization.d.ts +22 -0
  276. package/dist/qualityIntelligence/connectorAuthorization.d.ts.map +1 -0
  277. package/dist/qualityIntelligence/connectorAuthorization.js +35 -0
  278. package/dist/qualityIntelligence/connectorErrors.d.ts +16 -0
  279. package/dist/qualityIntelligence/connectorErrors.d.ts.map +1 -0
  280. package/dist/qualityIntelligence/connectorErrors.js +56 -0
  281. package/dist/qualityIntelligence/connectorRoutes.d.ts +7 -0
  282. package/dist/qualityIntelligence/connectorRoutes.d.ts.map +1 -0
  283. package/dist/qualityIntelligence/connectorRoutes.js +167 -0
  284. package/dist/qualityIntelligence/editRoutes.d.ts +5 -0
  285. package/dist/qualityIntelligence/editRoutes.d.ts.map +1 -0
  286. package/dist/qualityIntelligence/editRoutes.js +293 -0
  287. package/dist/qualityIntelligence/exportAssembly.d.ts +22 -0
  288. package/dist/qualityIntelligence/exportAssembly.d.ts.map +1 -0
  289. package/dist/qualityIntelligence/exportAssembly.js +352 -0
  290. package/dist/qualityIntelligence/exportRoutes.d.ts +5 -0
  291. package/dist/qualityIntelligence/exportRoutes.d.ts.map +1 -0
  292. package/dist/qualityIntelligence/exportRoutes.js +320 -0
  293. package/dist/qualityIntelligence/figma/figmaConcurrency.d.ts +8 -0
  294. package/dist/qualityIntelligence/figma/figmaConcurrency.d.ts.map +1 -0
  295. package/dist/qualityIntelligence/figma/figmaConcurrency.js +34 -0
  296. package/dist/qualityIntelligence/figma/figmaConnector.d.ts +65 -0
  297. package/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -0
  298. package/dist/qualityIntelligence/figma/figmaConnector.js +184 -0
  299. package/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts +52 -0
  300. package/dist/qualityIntelligence/figma/figmaConnectorAudit.d.ts.map +1 -0
  301. package/dist/qualityIntelligence/figma/figmaConnectorAudit.js +63 -0
  302. package/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts +31 -0
  303. package/dist/qualityIntelligence/figma/figmaConnectorErrors.d.ts.map +1 -0
  304. package/dist/qualityIntelligence/figma/figmaConnectorErrors.js +220 -0
  305. package/dist/qualityIntelligence/figma/figmaConnectorMetrics.d.ts +44 -0
  306. package/dist/qualityIntelligence/figma/figmaConnectorMetrics.d.ts.map +1 -0
  307. package/dist/qualityIntelligence/figma/figmaConnectorMetrics.js +49 -0
  308. package/dist/qualityIntelligence/figma/figmaConsent.d.ts +39 -0
  309. package/dist/qualityIntelligence/figma/figmaConsent.d.ts.map +1 -0
  310. package/dist/qualityIntelligence/figma/figmaConsent.js +62 -0
  311. package/dist/qualityIntelligence/figma/figmaHttpPort.d.ts +28 -0
  312. package/dist/qualityIntelligence/figma/figmaHttpPort.d.ts.map +1 -0
  313. package/dist/qualityIntelligence/figma/figmaHttpPort.js +70 -0
  314. package/dist/qualityIntelligence/figma/figmaObservedActions.d.ts +49 -0
  315. package/dist/qualityIntelligence/figma/figmaObservedActions.d.ts.map +1 -0
  316. package/dist/qualityIntelligence/figma/figmaObservedActions.js +89 -0
  317. package/dist/qualityIntelligence/figma/figmaReadiness.d.ts +32 -0
  318. package/dist/qualityIntelligence/figma/figmaReadiness.d.ts.map +1 -0
  319. package/dist/qualityIntelligence/figma/figmaReadiness.js +67 -0
  320. package/dist/qualityIntelligence/figma/figmaRenderPort.d.ts +29 -0
  321. package/dist/qualityIntelligence/figma/figmaRenderPort.d.ts.map +1 -0
  322. package/dist/qualityIntelligence/figma/figmaRenderPort.js +93 -0
  323. package/dist/qualityIntelligence/figma/figmaResnapshot.d.ts +28 -0
  324. package/dist/qualityIntelligence/figma/figmaResnapshot.d.ts.map +1 -0
  325. package/dist/qualityIntelligence/figma/figmaResnapshot.js +38 -0
  326. package/dist/qualityIntelligence/figma/figmaRetry.d.ts +31 -0
  327. package/dist/qualityIntelligence/figma/figmaRetry.d.ts.map +1 -0
  328. package/dist/qualityIntelligence/figma/figmaRetry.js +62 -0
  329. package/dist/qualityIntelligence/figma/figmaScopeRef.d.ts +9 -0
  330. package/dist/qualityIntelligence/figma/figmaScopeRef.d.ts.map +1 -0
  331. package/dist/qualityIntelligence/figma/figmaScopeRef.js +18 -0
  332. package/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +86 -0
  333. package/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -0
  334. package/dist/qualityIntelligence/figma/figmaScopedPagination.js +308 -0
  335. package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +31 -0
  336. package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -0
  337. package/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +314 -0
  338. package/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts +18 -0
  339. package/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -0
  340. package/dist/qualityIntelligence/figma/figmaSnapshotHash.js +63 -0
  341. package/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +65 -0
  342. package/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -0
  343. package/dist/qualityIntelligence/figma/figmaSnapshotTypes.js +13 -0
  344. package/dist/qualityIntelligence/figma/figmaTokenSource.d.ts +9 -0
  345. package/dist/qualityIntelligence/figma/figmaTokenSource.d.ts.map +1 -0
  346. package/dist/qualityIntelligence/figma/figmaTokenSource.js +61 -0
  347. package/dist/qualityIntelligence/figma/figmaTokenStore.d.ts +19 -0
  348. package/dist/qualityIntelligence/figma/figmaTokenStore.d.ts.map +1 -0
  349. package/dist/qualityIntelligence/figma/figmaTokenStore.js +156 -0
  350. package/dist/qualityIntelligence/figma/figmaUrl.d.ts +6 -0
  351. package/dist/qualityIntelligence/figma/figmaUrl.d.ts.map +1 -0
  352. package/dist/qualityIntelligence/figma/figmaUrl.js +36 -0
  353. package/dist/qualityIntelligence/figma/index.d.ts +20 -0
  354. package/dist/qualityIntelligence/figma/index.d.ts.map +1 -0
  355. package/dist/qualityIntelligence/figma/index.js +26 -0
  356. package/dist/qualityIntelligence/figmaCodegenRoutes.d.ts +28 -0
  357. package/dist/qualityIntelligence/figmaCodegenRoutes.d.ts.map +1 -0
  358. package/dist/qualityIntelligence/figmaCodegenRoutes.js +165 -0
  359. package/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts +55 -0
  360. package/dist/qualityIntelligence/figmaSnapshotAdapter.d.ts.map +1 -0
  361. package/dist/qualityIntelligence/figmaSnapshotAdapter.js +219 -0
  362. package/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts +64 -0
  363. package/dist/qualityIntelligence/figmaSnapshotOrchestration.d.ts.map +1 -0
  364. package/dist/qualityIntelligence/figmaSnapshotOrchestration.js +203 -0
  365. package/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +112 -0
  366. package/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -0
  367. package/dist/qualityIntelligence/figmaSnapshotRoutes.js +1063 -0
  368. package/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts +19 -0
  369. package/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts.map +1 -0
  370. package/dist/qualityIntelligence/figmaSnapshotScreenIds.js +75 -0
  371. package/dist/qualityIntelligence/generationPort.d.ts +15 -0
  372. package/dist/qualityIntelligence/generationPort.d.ts.map +1 -0
  373. package/dist/qualityIntelligence/generationPort.js +185 -0
  374. package/dist/qualityIntelligence/handoffErrors.d.ts +9 -0
  375. package/dist/qualityIntelligence/handoffErrors.d.ts.map +1 -0
  376. package/dist/qualityIntelligence/handoffErrors.js +21 -0
  377. package/dist/qualityIntelligence/handoffRoutes.d.ts +15 -0
  378. package/dist/qualityIntelligence/handoffRoutes.d.ts.map +1 -0
  379. package/dist/qualityIntelligence/handoffRoutes.js +341 -0
  380. package/dist/qualityIntelligence/index.d.ts +17 -0
  381. package/dist/qualityIntelligence/index.d.ts.map +1 -0
  382. package/dist/qualityIntelligence/index.js +36 -0
  383. package/dist/qualityIntelligence/judgePort.d.ts +30 -0
  384. package/dist/qualityIntelligence/judgePort.d.ts.map +1 -0
  385. package/dist/qualityIntelligence/judgePort.js +326 -0
  386. package/dist/qualityIntelligence/modelSelection.d.ts +58 -0
  387. package/dist/qualityIntelligence/modelSelection.d.ts.map +1 -0
  388. package/dist/qualityIntelligence/modelSelection.js +148 -0
  389. package/dist/qualityIntelligence/reCheckRoutes.d.ts +6 -0
  390. package/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -0
  391. package/dist/qualityIntelligence/reCheckRoutes.js +1157 -0
  392. package/dist/qualityIntelligence/retentionEnforcement.d.ts +13 -0
  393. package/dist/qualityIntelligence/retentionEnforcement.d.ts.map +1 -0
  394. package/dist/qualityIntelligence/retentionEnforcement.js +47 -0
  395. package/dist/qualityIntelligence/retentionRoutes.d.ts +8 -0
  396. package/dist/qualityIntelligence/retentionRoutes.d.ts.map +1 -0
  397. package/dist/qualityIntelligence/retentionRoutes.js +74 -0
  398. package/dist/qualityIntelligence/reviewRoutes.d.ts +5 -0
  399. package/dist/qualityIntelligence/reviewRoutes.d.ts.map +1 -0
  400. package/dist/qualityIntelligence/reviewRoutes.js +145 -0
  401. package/dist/qualityIntelligence/reviewStore.d.ts +75 -0
  402. package/dist/qualityIntelligence/reviewStore.d.ts.map +1 -0
  403. package/dist/qualityIntelligence/reviewStore.js +170 -0
  404. package/dist/qualityIntelligence/runExecution.d.ts +36 -0
  405. package/dist/qualityIntelligence/runExecution.d.ts.map +1 -0
  406. package/dist/qualityIntelligence/runExecution.js +180 -0
  407. package/dist/qualityIntelligence/runIngestion.d.ts +70 -0
  408. package/dist/qualityIntelligence/runIngestion.d.ts.map +1 -0
  409. package/dist/qualityIntelligence/runIngestion.js +1235 -0
  410. package/dist/qualityIntelligence/runRegistry.d.ts +31 -0
  411. package/dist/qualityIntelligence/runRegistry.d.ts.map +1 -0
  412. package/dist/qualityIntelligence/runRegistry.js +66 -0
  413. package/dist/qualityIntelligence/runRoutes.d.ts +16 -0
  414. package/dist/qualityIntelligence/runRoutes.d.ts.map +1 -0
  415. package/dist/qualityIntelligence/runRoutes.js +357 -0
  416. package/dist/qualityIntelligence/traceabilityRoutes.d.ts +5 -0
  417. package/dist/qualityIntelligence/traceabilityRoutes.d.ts.map +1 -0
  418. package/dist/qualityIntelligence/traceabilityRoutes.js +173 -0
  419. package/dist/qualityIntelligence/uiRoutes.d.ts +7 -0
  420. package/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -0
  421. package/dist/qualityIntelligence/uiRoutes.js +336 -0
  422. package/dist/read-handlers.d.ts +9 -0
  423. package/dist/read-handlers.d.ts.map +1 -0
  424. package/dist/read-handlers.js +265 -0
  425. package/dist/relationship-handlers.d.ts +191 -0
  426. package/dist/relationship-handlers.d.ts.map +1 -0
  427. package/dist/relationship-handlers.js +0 -0
  428. package/dist/routes.d.ts +37 -0
  429. package/dist/routes.d.ts.map +1 -0
  430. package/dist/routes.js +507 -0
  431. package/dist/run-engine.d.ts +25 -0
  432. package/dist/run-engine.d.ts.map +1 -0
  433. package/dist/run-engine.js +385 -0
  434. package/dist/run-handlers.d.ts +9 -0
  435. package/dist/run-handlers.d.ts.map +1 -0
  436. package/dist/run-handlers.js +465 -0
  437. package/dist/run-request.d.ts +17 -0
  438. package/dist/run-request.d.ts.map +1 -0
  439. package/dist/run-request.js +219 -0
  440. package/dist/runs.d.ts +47 -0
  441. package/dist/runs.d.ts.map +1 -0
  442. package/dist/runs.js +100 -0
  443. package/dist/server.d.ts +13 -0
  444. package/dist/server.d.ts.map +1 -0
  445. package/dist/server.js +152 -0
  446. package/dist/sink.d.ts +28 -0
  447. package/dist/sink.d.ts.map +1 -0
  448. package/dist/sink.js +80 -0
  449. package/dist/sse-write.d.ts +9 -0
  450. package/dist/sse-write.d.ts.map +1 -0
  451. package/dist/sse-write.js +26 -0
  452. package/dist/sse.d.ts +8 -0
  453. package/dist/sse.d.ts.map +1 -0
  454. package/dist/sse.js +27 -0
  455. package/dist/static.d.ts +5 -0
  456. package/dist/static.d.ts.map +1 -0
  457. package/dist/static.js +76 -0
  458. package/dist/store/chats.d.ts +17 -0
  459. package/dist/store/chats.d.ts.map +1 -0
  460. package/dist/store/chats.js +624 -0
  461. package/dist/store/db.d.ts +11 -0
  462. package/dist/store/db.d.ts.map +1 -0
  463. package/dist/store/db.js +203 -0
  464. package/dist/store/errors.d.ts +13 -0
  465. package/dist/store/errors.d.ts.map +1 -0
  466. package/dist/store/errors.js +30 -0
  467. package/dist/store/index.d.ts +7 -0
  468. package/dist/store/index.d.ts.map +1 -0
  469. package/dist/store/index.js +6 -0
  470. package/dist/store/messages.d.ts +8 -0
  471. package/dist/store/messages.d.ts.map +1 -0
  472. package/dist/store/messages.js +149 -0
  473. package/dist/store/paths.d.ts +5 -0
  474. package/dist/store/paths.d.ts.map +1 -0
  475. package/dist/store/paths.js +84 -0
  476. package/dist/store/projects.d.ts +8 -0
  477. package/dist/store/projects.d.ts.map +1 -0
  478. package/dist/store/projects.js +59 -0
  479. package/dist/store/relationship-audit.d.ts +42 -0
  480. package/dist/store/relationship-audit.d.ts.map +1 -0
  481. package/dist/store/relationship-audit.js +155 -0
  482. package/dist/store/relationships.d.ts +191 -0
  483. package/dist/store/relationships.d.ts.map +1 -0
  484. package/dist/store/relationships.js +724 -0
  485. package/dist/store/schema.d.ts +4 -0
  486. package/dist/store/schema.d.ts.map +1 -0
  487. package/dist/store/schema.js +220 -0
  488. package/dist/store/types.d.ts +29 -0
  489. package/dist/store/types.d.ts.map +1 -0
  490. package/dist/store/types.js +8 -0
  491. package/dist/store/validation.d.ts +7 -0
  492. package/dist/store/validation.d.ts.map +1 -0
  493. package/dist/store/validation.js +117 -0
  494. package/dist/store-handlers.d.ts +17 -0
  495. package/dist/store-handlers.d.ts.map +1 -0
  496. package/dist/store-handlers.js +872 -0
  497. package/dist/terminal-errors.d.ts +22 -0
  498. package/dist/terminal-errors.d.ts.map +1 -0
  499. package/dist/terminal-errors.js +45 -0
  500. package/dist/terminal-evidence.d.ts +21 -0
  501. package/dist/terminal-evidence.d.ts.map +1 -0
  502. package/dist/terminal-evidence.js +65 -0
  503. package/dist/terminal-routes.d.ts +10 -0
  504. package/dist/terminal-routes.d.ts.map +1 -0
  505. package/dist/terminal-routes.js +219 -0
  506. package/dist/terminal.d.ts +68 -0
  507. package/dist/terminal.d.ts.map +1 -0
  508. package/dist/terminal.js +855 -0
  509. package/package.json +52 -0
@@ -0,0 +1,17 @@
1
+ import type { EvidenceGovernedWorkflowHandoff } from "@oscharko-dev/keiko-contracts/evidence";
2
+ import type { ConnectedContextPack } from "@oscharko-dev/keiko-contracts/connected-context";
3
+ import { type ProposedPatchEntry, type UserApprovalTokenInput, type WorkflowHandoffRequest } from "@oscharko-dev/keiko-contracts/workflow-handoff";
4
+ import type { PatchValidation, WorkspaceWriter } from "@oscharko-dev/keiko-tools";
5
+ export interface GovernedWorkflowHandoffContext {
6
+ readonly request: WorkflowHandoffRequest;
7
+ readonly sourceGroundedRunId?: string | undefined;
8
+ }
9
+ export declare function contextPackStableIdForPacks(packs: readonly ConnectedContextPack[]): string;
10
+ export declare function readOnlyPathsForPacks(packs: readonly ConnectedContextPack[], editablePaths: readonly string[]): readonly string[];
11
+ export declare function evidenceAtomIdsForPacks(packs: readonly ConnectedContextPack[]): readonly string[];
12
+ export declare function approvalTokenInputFor(request: WorkflowHandoffRequest): UserApprovalTokenInput;
13
+ export declare function createApprovalToken(input: UserApprovalTokenInput): string;
14
+ export declare function buildGovernedHandoffEvidence(handoff: GovernedWorkflowHandoffContext): EvidenceGovernedWorkflowHandoff;
15
+ export declare function createScopedWriter(baseWriter: WorkspaceWriter, workspaceRoot: string, editablePaths: readonly string[]): WorkspaceWriter;
16
+ export declare function proposedPatchEntriesFromValidation(validation: PatchValidation): readonly ProposedPatchEntry[];
17
+ //# sourceMappingURL=governed-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governed-workflow.d.ts","sourceRoot":"","sources":["../src/governed-workflow.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC5B,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGnG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnD;AAkDD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,MAAM,CAS1F;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,SAAS,MAAM,EAAE,CAWnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,MAAM,EAAE,CAUjG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,CAW7F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAEzE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,8BAA8B,GACtC,+BAA+B,CAWjC;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,eAAe,CA4BjB;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,eAAe,GAC1B,SAAS,kBAAkB,EAAE,CAkB/B"}
@@ -0,0 +1,147 @@
1
+ import { createHash } from "node:crypto";
2
+ import { sep } from "node:path";
3
+ import { EXPECTED_CHECKS, } from "@oscharko-dev/keiko-contracts/workflow-handoff";
4
+ import { resolveWithinWorkspace } from "@oscharko-dev/keiko-workspace";
5
+ function sha256Hex(value) {
6
+ return createHash("sha256").update(value, "utf8").digest("hex");
7
+ }
8
+ function sortChecks(checks) {
9
+ const order = new Map(EXPECTED_CHECKS.map((check, index) => [check, index]));
10
+ return [...checks].sort((a, b) => (order.get(a) ?? 999) - (order.get(b) ?? 999) || a.localeCompare(b));
11
+ }
12
+ function fileHeader(file) {
13
+ if (file.kind === "create") {
14
+ return ["--- /dev/null", `+++ b/${file.path}`];
15
+ }
16
+ if (file.kind === "delete") {
17
+ return [`--- a/${file.path}`, "+++ /dev/null"];
18
+ }
19
+ return [`--- a/${file.path}`, `+++ b/${file.path}`];
20
+ }
21
+ function filePatchBytes(file) {
22
+ const lines = [...fileHeader(file)];
23
+ for (const hunk of file.hunks) {
24
+ lines.push(`@@ -${String(hunk.oldStart)},${String(hunk.oldLines)} +${String(hunk.newStart)},${String(hunk.newLines)} @@`);
25
+ lines.push(...hunk.lines);
26
+ }
27
+ return Buffer.byteLength(lines.join("\n"), "utf8");
28
+ }
29
+ function absoluteEditablePaths(workspaceRoot, editablePaths) {
30
+ return new Set(editablePaths.map((path) => resolveWithinWorkspace(workspaceRoot, path)));
31
+ }
32
+ function canCreateDirectory(dir, allowedFiles) {
33
+ for (const allowed of allowedFiles) {
34
+ if (allowed === dir || allowed.startsWith(`${dir}${sep}`)) {
35
+ return true;
36
+ }
37
+ }
38
+ return false;
39
+ }
40
+ export function contextPackStableIdForPacks(packs) {
41
+ if (packs.length === 1) {
42
+ return packs[0]?.stableId ?? `p-${"0".repeat(64)}`;
43
+ }
44
+ const joined = packs
45
+ .map((pack) => pack.stableId)
46
+ .sort()
47
+ .join("|");
48
+ return `p-${sha256Hex(joined)}`;
49
+ }
50
+ export function readOnlyPathsForPacks(packs, editablePaths) {
51
+ const editable = new Set(editablePaths);
52
+ const unique = new Set();
53
+ for (const pack of packs) {
54
+ for (const file of pack.files) {
55
+ if (!editable.has(file.scopePath)) {
56
+ unique.add(file.scopePath);
57
+ }
58
+ }
59
+ }
60
+ return [...unique].sort();
61
+ }
62
+ export function evidenceAtomIdsForPacks(packs) {
63
+ const unique = new Set();
64
+ for (const pack of packs) {
65
+ for (const file of pack.files) {
66
+ for (const excerpt of file.excerpts) {
67
+ unique.add(excerpt.atom.stableId);
68
+ }
69
+ }
70
+ }
71
+ return [...unique].sort();
72
+ }
73
+ export function approvalTokenInputFor(request) {
74
+ return {
75
+ contextPackStableId: request.contextPackStableId,
76
+ workflowKind: request.workflowKind,
77
+ editablePaths: [...request.patchScope.editablePaths].sort(),
78
+ readOnlyPaths: [...request.patchScope.readOnlyPaths].sort(),
79
+ evidenceAtomIds: [...request.patchScope.evidenceAtomIds].sort(),
80
+ limits: request.patchScope.limits,
81
+ expectedChecks: sortChecks(request.patchScope.expectedChecks),
82
+ unknowns: [...request.patchScope.unknowns].sort(),
83
+ };
84
+ }
85
+ export function createApprovalToken(input) {
86
+ return sha256Hex(JSON.stringify(input));
87
+ }
88
+ export function buildGovernedHandoffEvidence(handoff) {
89
+ return {
90
+ sourceGroundedRunId: handoff.sourceGroundedRunId ?? "unavailable",
91
+ contextPackStableIdHash: sha256Hex(handoff.request.contextPackStableId),
92
+ workflowKind: handoff.request.workflowKind,
93
+ editablePathCount: handoff.request.patchScope.editablePaths.length,
94
+ readOnlyPathCount: handoff.request.patchScope.readOnlyPaths.length,
95
+ evidenceAtomCount: handoff.request.patchScope.evidenceAtomIds.length,
96
+ expectedChecks: [...handoff.request.patchScope.expectedChecks],
97
+ approvalTokenHash: sha256Hex(handoff.request.userApprovalToken),
98
+ };
99
+ }
100
+ export function createScopedWriter(baseWriter, workspaceRoot, editablePaths) {
101
+ const allowedFiles = absoluteEditablePaths(workspaceRoot, editablePaths);
102
+ const assertAllowed = (absolutePath) => {
103
+ if (!allowedFiles.has(absolutePath)) {
104
+ throw new Error(`Patch scope forbids writing ${absolutePath}`);
105
+ }
106
+ };
107
+ return {
108
+ writeFileUtf8(absolutePath, content) {
109
+ assertAllowed(absolutePath);
110
+ baseWriter.writeFileUtf8(absolutePath, content);
111
+ },
112
+ mkdirp(absoluteDir) {
113
+ if (!canCreateDirectory(absoluteDir, allowedFiles)) {
114
+ throw new Error(`Patch scope forbids creating ${absoluteDir}`);
115
+ }
116
+ baseWriter.mkdirp(absoluteDir);
117
+ },
118
+ remove(absolutePath) {
119
+ assertAllowed(absolutePath);
120
+ baseWriter.remove(absolutePath);
121
+ },
122
+ rename(fromAbsolute, toAbsolute) {
123
+ assertAllowed(fromAbsolute);
124
+ assertAllowed(toAbsolute);
125
+ baseWriter.rename(fromAbsolute, toAbsolute);
126
+ },
127
+ };
128
+ }
129
+ export function proposedPatchEntriesFromValidation(validation) {
130
+ if (validation.files.length === 0) {
131
+ return [];
132
+ }
133
+ const entries = validation.files.map((file) => ({
134
+ path: file.path,
135
+ newFile: file.kind === "create",
136
+ patchBytes: filePatchBytes(file),
137
+ }));
138
+ const observed = entries.reduce((sum, entry) => sum + entry.patchBytes, 0);
139
+ const delta = Math.max(0, validation.totalBytes - observed);
140
+ if (delta > 0) {
141
+ const last = entries[entries.length - 1];
142
+ if (last !== undefined) {
143
+ last.patchBytes += delta;
144
+ }
145
+ }
146
+ return entries;
147
+ }
@@ -0,0 +1,12 @@
1
+ export interface GroundedAnswerUsage {
2
+ readonly promptTokens: number;
3
+ readonly completionTokens: number;
4
+ }
5
+ export interface GroundedAnswerResult {
6
+ readonly content: string;
7
+ readonly usage: GroundedAnswerUsage;
8
+ }
9
+ export type GroundedAnswerPayload = string | GroundedAnswerResult;
10
+ export declare function sanitizeGroundedAnswerContent(content: string): string;
11
+ export declare function normalizeGroundedAnswerPayload(payload: GroundedAnswerPayload): GroundedAnswerResult;
12
+ //# sourceMappingURL=grounded-answer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounded-answer.d.ts","sourceRoot":"","sources":["../src/grounded-answer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,oBAAoB,CAAC;AA2DlE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CAgBtB"}
@@ -0,0 +1,69 @@
1
+ const SAFE_GROUNDED_FALLBACK = "I could not produce a clean grounded answer from the retrieved repository evidence.";
2
+ const ORCHESTRATION_PREFIX_RE = /^(searching for\b|search query\b|we need to call search\b|let'?s search\b|calling search\b|tool call\b|plan\b:|system prompt\b:|developer prompt\b:|internal planning\b:|internal reasoning\b:|hidden instruction\b:)/i;
3
+ const PROMPT_DISCLOSURE_RE = /^(system prompt\b:|developer prompt\b:|internal planning\b:|internal reasoning\b:|hidden instruction\b:)/i;
4
+ const ARGUMENT_LINE_RE = /^(?:[{[]|["']?(?:path|query|max_results|maxResults|tool|arguments|scope|search)["']?\s*:)/i;
5
+ function isFiniteCount(value) {
6
+ return typeof value === "number" && Number.isFinite(value) && value >= 0;
7
+ }
8
+ function isOrchestrationLine(line) {
9
+ return ORCHESTRATION_PREFIX_RE.test(line);
10
+ }
11
+ function isArgumentLine(line) {
12
+ if (ARGUMENT_LINE_RE.test(line)) {
13
+ return true;
14
+ }
15
+ return line === "}" || line === "]" || line === "}," || line === "],";
16
+ }
17
+ function shouldStripLeadingLine(trimmed, stripping) {
18
+ if (trimmed.length === 0) {
19
+ return true;
20
+ }
21
+ if (!stripping) {
22
+ return isOrchestrationLine(trimmed);
23
+ }
24
+ return (isOrchestrationLine(trimmed) ||
25
+ isArgumentLine(trimmed) ||
26
+ trimmed.startsWith("{") ||
27
+ trimmed.startsWith("["));
28
+ }
29
+ function leadingContentIndex(lines) {
30
+ let index = 0;
31
+ let stripping = false;
32
+ while (index < lines.length) {
33
+ const trimmed = lines[index]?.trim() ?? "";
34
+ const shouldStrip = shouldStripLeadingLine(trimmed, stripping);
35
+ if (!shouldStrip) {
36
+ return index;
37
+ }
38
+ stripping ||= isOrchestrationLine(trimmed);
39
+ index += 1;
40
+ }
41
+ return index;
42
+ }
43
+ export function sanitizeGroundedAnswerContent(content) {
44
+ const lines = content.split("\n");
45
+ const index = leadingContentIndex(lines);
46
+ const sanitized = lines
47
+ .slice(index)
48
+ .filter((line) => !PROMPT_DISCLOSURE_RE.test(line.trim()))
49
+ .join("\n")
50
+ .trim();
51
+ return sanitized.length > 0 ? sanitized : SAFE_GROUNDED_FALLBACK;
52
+ }
53
+ export function normalizeGroundedAnswerPayload(payload) {
54
+ if (typeof payload === "string") {
55
+ return {
56
+ content: sanitizeGroundedAnswerContent(payload.trim()),
57
+ usage: { promptTokens: 0, completionTokens: 0 },
58
+ };
59
+ }
60
+ return {
61
+ content: sanitizeGroundedAnswerContent(payload.content.trim()),
62
+ usage: {
63
+ promptTokens: isFiniteCount(payload.usage.promptTokens) ? payload.usage.promptTokens : 0,
64
+ completionTokens: isFiniteCount(payload.usage.completionTokens)
65
+ ? payload.usage.completionTokens
66
+ : 0,
67
+ },
68
+ };
69
+ }
@@ -0,0 +1,25 @@
1
+ import type { SelectedScope } from "@oscharko-dev/keiko-contracts/connected-context";
2
+ import { type MicroIndex } from "@oscharko-dev/keiko-workflows";
3
+ export interface GroundedContextIndexRegistryOptions {
4
+ readonly ttlMs?: number;
5
+ readonly maxEntriesPerScope?: number;
6
+ readonly maxScopes?: number;
7
+ readonly sweepIntervalMs?: number;
8
+ readonly autoSweep?: boolean;
9
+ }
10
+ export interface GroundedContextIndexRegistry {
11
+ forScope(scope: SelectedScope, nowMs: () => number): MicroIndex;
12
+ clearConversation(conversationId: string): void;
13
+ clearWorkspace(workspaceRoot: string): void;
14
+ clearAll(): void;
15
+ sweep(nowMs: () => number): void;
16
+ size(): number;
17
+ dispose(): void;
18
+ }
19
+ export declare function createGroundedContextIndexRegistry(options?: GroundedContextIndexRegistryOptions): GroundedContextIndexRegistry;
20
+ export declare const groundedContextIndexRegistry: GroundedContextIndexRegistry;
21
+ export declare function microIndexForGroundedScope(scope: SelectedScope, nowMs: () => number): MicroIndex;
22
+ export declare function clearGroundedContextIndexesForConversation(conversationId: string): void;
23
+ export declare function clearGroundedContextIndexesForWorkspace(workspaceRoot: string): void;
24
+ export declare function clearAllGroundedContextIndexes(): void;
25
+ //# sourceMappingURL=grounded-context-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounded-context-index.d.ts","sourceRoot":"","sources":["../src/grounded-context-index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC;IAChE,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,IAAI,IAAI,CAAC;IACjB,KAAK,CAAC,KAAK,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,IAAI,MAAM,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;CACjB;AAmKD,wBAAgB,kCAAkC,CAChD,OAAO,CAAC,EAAE,mCAAmC,GAC5C,4BAA4B,CAsC9B;AAED,eAAO,MAAM,4BAA4B,8BAAuC,CAAC;AAEjF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,MAAM,GAAG,UAAU,CAEhG;AAED,wBAAgB,0CAA0C,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAEvF;AAED,wBAAgB,uCAAuC,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAEnF;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
@@ -0,0 +1,169 @@
1
+ // Server-local lifecycle for Issue #183's ephemeral context-pack micro-index. The workflow
2
+ // package owns the cache implementation; this module scopes instances to a connected chat/session
3
+ // and provides deterministic cleanup hooks for chat/project lifecycle changes. Nothing persists.
4
+ import { createHash } from "node:crypto";
5
+ import { createMicroIndex, DEFAULT_MICRO_INDEX, } from "@oscharko-dev/keiko-workflows";
6
+ const DEFAULT_MAX_SCOPES = 32;
7
+ const DEFAULT_MAX_ENTRIES_PER_SCOPE = 8;
8
+ const DEFAULT_SWEEP_INTERVAL_MS = 60_000;
9
+ function assertPositiveInteger(name, value) {
10
+ if (!Number.isInteger(value) || value <= 0) {
11
+ throw new RangeError(`${name} must be a positive integer`);
12
+ }
13
+ }
14
+ function optionOrDefault(value, fallback) {
15
+ return value ?? fallback;
16
+ }
17
+ function resolveOptions(options) {
18
+ const provided = options ?? {};
19
+ const resolved = {
20
+ ttlMs: optionOrDefault(provided.ttlMs, DEFAULT_MICRO_INDEX.ttlMs),
21
+ maxEntriesPerScope: optionOrDefault(provided.maxEntriesPerScope, DEFAULT_MAX_ENTRIES_PER_SCOPE),
22
+ maxScopes: optionOrDefault(provided.maxScopes, DEFAULT_MAX_SCOPES),
23
+ sweepIntervalMs: optionOrDefault(provided.sweepIntervalMs, DEFAULT_SWEEP_INTERVAL_MS),
24
+ autoSweep: optionOrDefault(provided.autoSweep, true),
25
+ };
26
+ assertPositiveInteger("ttlMs", resolved.ttlMs);
27
+ assertPositiveInteger("maxEntriesPerScope", resolved.maxEntriesPerScope);
28
+ assertPositiveInteger("maxScopes", resolved.maxScopes);
29
+ assertPositiveInteger("sweepIntervalMs", resolved.sweepIntervalMs);
30
+ return resolved;
31
+ }
32
+ function sha256Hex(value) {
33
+ return createHash("sha256").update(value).digest("hex");
34
+ }
35
+ function scopeKey(scope) {
36
+ const source = JSON.stringify({
37
+ workspaceRoot: scope.workspaceRoot,
38
+ scopeId: scope.scopeId,
39
+ kind: scope.kind,
40
+ relativePaths: [...scope.relativePaths].sort(),
41
+ conversationId: scope.conversationId,
42
+ connectedAtMs: scope.connectedAtMs,
43
+ });
44
+ return `gci-${sha256Hex(source).slice(0, 16)}`;
45
+ }
46
+ function evictExpired(entries, nowMs) {
47
+ for (const [key, entry] of entries) {
48
+ if (entry.expiresAtMs <= nowMs) {
49
+ entry.index.clear();
50
+ entries.delete(key);
51
+ }
52
+ }
53
+ }
54
+ function evictOldest(entries, maxScopes) {
55
+ while (entries.size >= maxScopes) {
56
+ let oldest;
57
+ for (const entry of entries.values()) {
58
+ if (oldest === undefined || entry.touchedAtMs < oldest.touchedAtMs) {
59
+ oldest = entry;
60
+ }
61
+ }
62
+ if (oldest === undefined) {
63
+ return;
64
+ }
65
+ oldest.index.clear();
66
+ entries.delete(oldest.key);
67
+ }
68
+ }
69
+ function createEntry(key, scope, nowMs, options) {
70
+ const clock = { nowMs };
71
+ const now = nowMs();
72
+ return {
73
+ key,
74
+ index: createMicroIndex({
75
+ ttlMs: options.ttlMs,
76
+ maxEntries: options.maxEntriesPerScope,
77
+ nowMs: () => clock.nowMs(),
78
+ }),
79
+ clock,
80
+ conversationId: scope.conversationId,
81
+ workspaceRoot: scope.workspaceRoot,
82
+ touchedAtMs: now,
83
+ expiresAtMs: now + options.ttlMs,
84
+ };
85
+ }
86
+ function touchEntry(entry, nowMs, ttlMs) {
87
+ const now = nowMs();
88
+ entry.clock.nowMs = nowMs;
89
+ entry.touchedAtMs = now;
90
+ entry.expiresAtMs = now + ttlMs;
91
+ }
92
+ function getOrCreateScopeIndex(entries, options, scope, nowMs) {
93
+ evictExpired(entries, nowMs());
94
+ const key = scopeKey(scope);
95
+ const existing = entries.get(key);
96
+ if (existing !== undefined) {
97
+ touchEntry(existing, nowMs, options.ttlMs);
98
+ return existing.index;
99
+ }
100
+ evictOldest(entries, options.maxScopes);
101
+ const created = createEntry(key, scope, nowMs, options);
102
+ entries.set(key, created);
103
+ return created.index;
104
+ }
105
+ function clearMatching(entries, predicate) {
106
+ for (const [key, entry] of entries) {
107
+ if (predicate(entry)) {
108
+ entry.index.clear();
109
+ entries.delete(key);
110
+ }
111
+ }
112
+ }
113
+ function clearEntries(entries) {
114
+ for (const entry of entries.values()) {
115
+ entry.index.clear();
116
+ }
117
+ entries.clear();
118
+ }
119
+ export function createGroundedContextIndexRegistry(options) {
120
+ const resolved = resolveOptions(options);
121
+ const entries = new Map();
122
+ const sweepTimer = resolved.autoSweep
123
+ ? setInterval(() => {
124
+ evictExpired(entries, Date.now());
125
+ }, resolved.sweepIntervalMs)
126
+ : undefined;
127
+ if (sweepTimer !== undefined) {
128
+ sweepTimer.unref();
129
+ }
130
+ return {
131
+ forScope(scope, nowMs) {
132
+ return getOrCreateScopeIndex(entries, resolved, scope, nowMs);
133
+ },
134
+ clearConversation(conversationId) {
135
+ clearMatching(entries, (entry) => entry.conversationId === conversationId);
136
+ },
137
+ clearWorkspace(workspaceRoot) {
138
+ clearMatching(entries, (entry) => entry.workspaceRoot === workspaceRoot);
139
+ },
140
+ clearAll() {
141
+ clearEntries(entries);
142
+ },
143
+ sweep(nowMs) {
144
+ evictExpired(entries, nowMs());
145
+ },
146
+ size() {
147
+ return entries.size;
148
+ },
149
+ dispose() {
150
+ if (sweepTimer !== undefined) {
151
+ clearInterval(sweepTimer);
152
+ }
153
+ clearEntries(entries);
154
+ },
155
+ };
156
+ }
157
+ export const groundedContextIndexRegistry = createGroundedContextIndexRegistry();
158
+ export function microIndexForGroundedScope(scope, nowMs) {
159
+ return groundedContextIndexRegistry.forScope(scope, nowMs);
160
+ }
161
+ export function clearGroundedContextIndexesForConversation(conversationId) {
162
+ groundedContextIndexRegistry.clearConversation(conversationId);
163
+ }
164
+ export function clearGroundedContextIndexesForWorkspace(workspaceRoot) {
165
+ groundedContextIndexRegistry.clearWorkspace(workspaceRoot);
166
+ }
167
+ export function clearAllGroundedContextIndexes() {
168
+ groundedContextIndexRegistry.clearAll();
169
+ }
@@ -0,0 +1,28 @@
1
+ import { type CandidateFile, type EvidenceAtom, type OmittedContextEntry, type RetrievalQuery, type SelectedScope, type UncertaintyMarker } from "@oscharko-dev/keiko-contracts/connected-context";
2
+ import { type SearchScope, type WorkspaceFs } from "@oscharko-dev/keiko-workspace";
3
+ import type { ExcerptWindow } from "@oscharko-dev/keiko-workflows";
4
+ export declare const MAX_DOCUMENT_INPUT_BYTES: number;
5
+ export declare const MAX_DOCUMENT_EXTRACTED_BYTES: number;
6
+ export declare const MAX_TOTAL_DOCUMENT_EXTRACTED_BYTES: number;
7
+ export declare const MAX_DOCUMENT_WINDOW_BYTES: number;
8
+ export declare const MAX_DOCUMENT_WINDOWS = 8;
9
+ export declare const DOCUMENT_PARSE_TIMEOUT_MS = 5000;
10
+ export declare const MAX_DOCUMENT_PARSE_UNITS = 5000;
11
+ export declare function isConnectedDocumentPath(scopePath: string): boolean;
12
+ export interface DocumentEvidenceInputs {
13
+ readonly scope: SelectedScope;
14
+ readonly query: RetrievalQuery;
15
+ readonly searchScope: SearchScope;
16
+ readonly fs: WorkspaceFs;
17
+ readonly nowMs: () => number;
18
+ readonly signal?: AbortSignal | undefined;
19
+ }
20
+ export interface DocumentEvidenceResult {
21
+ readonly atoms: readonly EvidenceAtom[];
22
+ readonly candidates: readonly CandidateFile[];
23
+ readonly excerpts: ReadonlyMap<string, readonly ExcerptWindow[]>;
24
+ readonly omitted: readonly OmittedContextEntry[];
25
+ readonly uncertainty: readonly UncertaintyMarker[];
26
+ }
27
+ export declare function collectConnectedDocumentEvidence(inputs: DocumentEvidenceInputs): Promise<DocumentEvidenceResult>;
28
+ //# sourceMappingURL=grounded-document-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grounded-document-evidence.d.ts","sourceRoot":"","sources":["../src/grounded-document-evidence.ts"],"names":[],"mappings":"AAyBA,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,iDAAiD,CAAC;AAGzD,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AACxD,eAAO,MAAM,4BAA4B,QAAY,CAAC;AACtD,eAAO,MAAM,kCAAkC,QAAY,CAAC;AAC5D,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAClD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AA6E9C,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGlE;AAID,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACpD;AA8YD,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAiCjC"}