@oscharko-dev/keiko 0.2.0-beta.1 → 0.2.0-beta.3

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 (131) hide show
  1. package/dist/ui/csp-hashes.json +28 -27
  2. package/dist/ui/static/404.html +1 -1
  3. package/dist/ui/static/_next/static/chunks/258-e3b5ee46b0669967.js +1 -0
  4. package/dist/ui/static/_next/static/chunks/422-4c94c107b90d3ccc.js +1 -0
  5. package/dist/ui/static/_next/static/chunks/app/_not-found/page-c4d800f366186be0.js +1 -0
  6. package/dist/ui/static/_next/static/chunks/app/launch/page-17ca39367f25f372.js +1 -0
  7. package/dist/ui/static/_next/static/chunks/app/layout-0f75a39edc90325d.js +1 -0
  8. package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-87a2ea239308ed34.js +1 -0
  9. package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-98bb7704fc7fd0ad.js +1 -0
  10. package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-f912263f1ee5d2dd.js +1 -0
  11. package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-fa590f135356e0af.js +1 -0
  12. package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-b8555600c1113f14.js +1 -0
  13. package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-85cfbeb3598c0a36.js +1 -0
  14. package/dist/ui/static/_next/static/chunks/app/page-2881856ad25d9935.js +1 -0
  15. package/dist/ui/static/_next/static/chunks/{main-app-b52a8fa1d8127a5f.js → main-app-5b043f6c611974ae.js} +1 -1
  16. package/dist/ui/static/_next/static/css/eac94895f3edc5a5.css +1 -0
  17. package/dist/ui/static/apple-touch-icon.png +0 -0
  18. package/dist/ui/static/favicon.ico +0 -0
  19. package/dist/ui/static/icon-192-maskable.png +0 -0
  20. package/dist/ui/static/icon-192.png +0 -0
  21. package/dist/ui/static/icon-512-maskable.png +0 -0
  22. package/dist/ui/static/icon-512.png +0 -0
  23. package/dist/ui/static/index.html +1 -1
  24. package/dist/ui/static/index.txt +4 -4
  25. package/dist/ui/static/launch.html +1 -1
  26. package/dist/ui/static/launch.txt +4 -4
  27. package/dist/ui/static/local-knowledge/capsule.html +1 -1
  28. package/dist/ui/static/local-knowledge/capsule.txt +4 -4
  29. package/dist/ui/static/local-knowledge.html +1 -1
  30. package/dist/ui/static/local-knowledge.txt +4 -4
  31. package/dist/ui/static/manifest.webmanifest +2 -2
  32. package/dist/ui/static/memoriaviva/consolidation.html +1 -1
  33. package/dist/ui/static/memoriaviva/consolidation.txt +4 -4
  34. package/dist/ui/static/memoriaviva/detail.html +1 -1
  35. package/dist/ui/static/memoriaviva/detail.txt +4 -4
  36. package/dist/ui/static/memoriaviva/review-queue.html +1 -1
  37. package/dist/ui/static/memoriaviva/review-queue.txt +4 -4
  38. package/dist/ui/static/memoriaviva.html +1 -1
  39. package/dist/ui/static/memoriaviva.txt +4 -4
  40. package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
  41. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts +2 -0
  42. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.d.ts.map +1 -1
  43. package/node_modules/@oscharko-dev/keiko-cli/dist/lifecycle.js +51 -10
  44. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts +3 -1
  45. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.d.ts.map +1 -1
  46. package/node_modules/@oscharko-dev/keiko-cli/dist/ui.js +93 -28
  47. package/node_modules/@oscharko-dev/keiko-cli/package.json +1 -1
  48. package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
  49. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +2 -2
  50. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
  51. package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +1 -1
  52. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +15 -0
  53. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
  54. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.js +1 -1
  55. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -1
  56. package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
  57. package/node_modules/@oscharko-dev/keiko-contracts/package.json +1 -1
  58. package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
  59. package/node_modules/@oscharko-dev/keiko-evaluations/package.json +1 -1
  60. package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
  61. package/node_modules/@oscharko-dev/keiko-evidence/package.json +1 -1
  62. package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
  63. package/node_modules/@oscharko-dev/keiko-harness/package.json +1 -1
  64. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
  65. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.d.ts.map +1 -1
  66. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/indexing/orchestrator.js +5 -1
  67. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
  68. package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +3 -1
  69. package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +1 -1
  70. package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +1 -1
  71. package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +1 -1
  72. package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +1 -1
  73. package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +1 -1
  74. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
  75. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/paths.d.ts.map +1 -1
  76. package/node_modules/@oscharko-dev/keiko-memory-vault/dist/paths.js +11 -5
  77. package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +1 -1
  78. package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
  79. package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +1 -1
  80. package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
  81. package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +1 -1
  82. package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
  83. package/node_modules/@oscharko-dev/keiko-sdk/package.json +1 -1
  84. package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
  85. package/node_modules/@oscharko-dev/keiko-security/package.json +1 -1
  86. package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
  87. package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
  88. package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +3 -3
  89. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.d.ts.map +1 -1
  90. package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-handlers.js +9 -0
  91. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts +1 -1
  92. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
  93. package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +6 -5
  94. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
  95. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +25 -4
  96. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.d.ts.map +1 -1
  97. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runExecution.js +11 -0
  98. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
  99. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +39 -4
  100. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.d.ts.map +1 -1
  101. package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/uiRoutes.js +13 -0
  102. package/node_modules/@oscharko-dev/keiko-server/dist/store/paths.d.ts.map +1 -1
  103. package/node_modules/@oscharko-dev/keiko-server/dist/store/paths.js +9 -2
  104. package/node_modules/@oscharko-dev/keiko-server/package.json +1 -1
  105. package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
  106. package/node_modules/@oscharko-dev/keiko-tools/package.json +1 -1
  107. package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
  108. package/node_modules/@oscharko-dev/keiko-verification/package.json +1 -1
  109. package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
  110. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
  111. package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +41 -19
  112. package/node_modules/@oscharko-dev/keiko-workflows/package.json +1 -1
  113. package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
  114. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.d.ts.map +1 -1
  115. package/node_modules/@oscharko-dev/keiko-workspace/dist/ignore.js +3 -0
  116. package/node_modules/@oscharko-dev/keiko-workspace/package.json +1 -1
  117. package/package.json +1 -1
  118. package/dist/ui/static/_next/static/chunks/923-4141696576191bc0.js +0 -1
  119. package/dist/ui/static/_next/static/chunks/app/_not-found/page-03d642dcd0f15b52.js +0 -1
  120. package/dist/ui/static/_next/static/chunks/app/launch/page-c725ff0c02b50663.js +0 -1
  121. package/dist/ui/static/_next/static/chunks/app/layout-aadefe615729db05.js +0 -1
  122. package/dist/ui/static/_next/static/chunks/app/local-knowledge/capsule/page-4a7f242906e19a07.js +0 -1
  123. package/dist/ui/static/_next/static/chunks/app/local-knowledge/page-3361769b8964e659.js +0 -1
  124. package/dist/ui/static/_next/static/chunks/app/memoriaviva/consolidation/page-44b3f4fa3e10085f.js +0 -1
  125. package/dist/ui/static/_next/static/chunks/app/memoriaviva/detail/page-0cdfb3eeb659daeb.js +0 -1
  126. package/dist/ui/static/_next/static/chunks/app/memoriaviva/page-e78e0cd2876fec41.js +0 -1
  127. package/dist/ui/static/_next/static/chunks/app/memoriaviva/review-queue/page-e32fe86466827484.js +0 -1
  128. package/dist/ui/static/_next/static/chunks/app/page-9ad91065d05ddfa0.js +0 -1
  129. package/dist/ui/static/_next/static/css/51fdcfdc624e723d.css +0 -1
  130. /package/dist/ui/static/_next/static/{12efBQERZ9Itf_HaPzx5q → RAzN8WLtYaktD-ZePowXl}/_buildManifest.js +0 -0
  131. /package/dist/ui/static/_next/static/{12efBQERZ9Itf_HaPzx5q → RAzN8WLtYaktD-ZePowXl}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
@@ -284,12 +284,12 @@ function buildBrowserManager(options) {
284
284
  sideFileWriter: (basename, bytes, runId) => writeSideFile(options.evidenceDir, runId, basename, bytes, { fs: nodeWorkspaceFs }),
285
285
  });
286
286
  }
287
- function buildMemoryVault(redactString, evidenceStore) {
287
+ function buildMemoryVault(redactString, evidenceStore, env) {
288
288
  return createBffMemoryVault(redactString,
289
289
  // #214 — wire every successful vault mutation into the audit ledger. The handler
290
290
  // shares the same redactString closure as the live-payload redactor so audit
291
291
  // summaries inherit the same secret-shape scrubbing as wire traffic.
292
- createMemoryAuditHandler({ evidenceStore, redactString }));
292
+ createMemoryAuditHandler({ evidenceStore, redactString }), env);
293
293
  }
294
294
  // Issue #539: the relationship engine runs server-authoritative scope checks on every route.
295
295
  // In the loopback `keiko ui` BFF there is exactly one workspace per process; the resolver
@@ -333,7 +333,7 @@ function buildPeripherals(options, uiStore, evidenceStore, redactString, liveRed
333
333
  evidenceStore,
334
334
  redactor: liveRedactor,
335
335
  }),
336
- memoryVault: buildMemoryVault(redactString, evidenceStore),
336
+ memoryVault: buildMemoryVault(redactString, evidenceStore, options.env),
337
337
  };
338
338
  }
339
339
  // Assembles the handler deps for the real `keiko ui` process, mirroring the CLI config/evidence
@@ -1 +1 @@
1
- {"version":3,"file":"local-knowledge-handlers.d.ts","sourceRoot":"","sources":["../src/local-knowledge-handlers.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,mCAAmC,CAAC;AA8N3C,UAAU,wBAAwB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACvD;AA0iBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GAClD,MAAM,GAAG,SAAS,CAIpB;AA2LD,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAetB;AA+CD,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AA+BD,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAetB;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAoCtB;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiBtB;AAED,wBAAsB,wCAAwC,CAC5D,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAwCtB;AAED,wBAAsB,yCAAyC,CAC7D,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAmDD,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAED,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAwCtB"}
1
+ {"version":3,"file":"local-knowledge-handlers.d.ts","sourceRoot":"","sources":["../src/local-knowledge-handlers.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,mCAAmC,CAAC;AA8N3C,UAAU,wBAAwB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACvD;AA0iBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GAClD,MAAM,GAAG,SAAS,CAIpB;AA+LD,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAetB;AA+CD,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AA+BD,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAetB;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAoCtB;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiBtB;AAED,wBAAsB,wCAAwC,CAC5D,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA2CtB;AAED,wBAAsB,yCAAyC,CAC7D,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAmDD,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAED,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wBAAsB,kCAAkC,CACtD,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA2CtB"}
@@ -607,6 +607,9 @@ function requestRunningJobCancellation(store, capsuleId) {
607
607
  localKnowledgeIndexingRegistry.cancel(String(capsuleId));
608
608
  return true;
609
609
  }
610
+ function emptyCapsuleIndexingConflict() {
611
+ return conflict("Attach at least one source to this capsule before indexing it.");
612
+ }
610
613
  function assertScopeShape(scope) {
611
614
  const result = validateKnowledgeSourceScope(scope);
612
615
  if (result.ok)
@@ -914,6 +917,9 @@ export async function handleStartLocalKnowledgeCapsuleIndexing(ctx, deps) {
914
917
  if (capsule === undefined) {
915
918
  return notFound(`Capsule not found: ${capsuleId}`);
916
919
  }
920
+ if (capsule.sourceIds.length === 0) {
921
+ return emptyCapsuleIndexingConflict();
922
+ }
917
923
  if (configuredProviderForCapsule(deps, capsule) === undefined) {
918
924
  return conflict("No configured embedding-capable model matches this capsule. Update the Model Gateway configuration before indexing it.");
919
925
  }
@@ -1069,6 +1075,9 @@ export async function handleReindexLocalKnowledgeCapsule(ctx, deps) {
1069
1075
  if (capsule === undefined) {
1070
1076
  return notFound(`Capsule not found: ${capsuleId}`);
1071
1077
  }
1078
+ if (capsule.sourceIds.length === 0) {
1079
+ return emptyCapsuleIndexingConflict();
1080
+ }
1072
1081
  if (configuredProviderForCapsule(deps, capsule) === undefined) {
1073
1082
  return conflict("No configured embedding-capable model matches this capsule. Update the Model Gateway configuration before refreshing it.");
1074
1083
  }
@@ -13,5 +13,5 @@ export declare function handleDeleteMemory(ctx: RouteContext, deps: UiHandlerDep
13
13
  export declare function handleCorrectMemory(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
14
14
  export declare function handleAcceptMemoryProposal(ctx: RouteContext, deps: UiHandlerDeps): RouteResult;
15
15
  export declare function handleRejectMemoryProposal(ctx: RouteContext, deps: UiHandlerDeps): Promise<RouteResult>;
16
- export declare function createBffMemoryVault(redactString: (s: string) => string, onMemoryEvent?: (event: import("@oscharko-dev/keiko-memory-vault").MemoryEvent) => void): MemoryVaultStore;
16
+ export declare function createBffMemoryVault(redactString: (s: string) => string, onMemoryEvent?: (event: import("@oscharko-dev/keiko-memory-vault").MemoryEvent) => void, env?: Readonly<Record<string, string | undefined>>): MemoryVaultStore;
17
17
  //# sourceMappingURL=memory-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../src/memory-handlers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAsB1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuQvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8BtF;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqB5F;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqBnF;AAwDD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BnF;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BrF;AAID,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAsCtB;AA0DD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BtF;AA0CD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAID,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA+B9F;AAyBD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAOD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,kCAAkC,EAAE,WAAW,KAAK,IAAI,GACtF,gBAAgB,CAQlB"}
1
+ {"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../src/memory-handlers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAsB1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuQvE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8BtF;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqB5F;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAqBnF;AAwDD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAID,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BnF;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BrF;AAID,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAsCtB;AA0DD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA6BtF;AA0CD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAID,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA+B9F;AAyBD,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAOD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,kCAAkC,EAAE,WAAW,KAAK,IAAI,EACvF,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACjD,gBAAgB,CASlB"}
@@ -712,12 +712,13 @@ export async function handleRejectMemoryProposal(ctx, deps) {
712
712
  // Exported so deps.ts can wire it without importing the vault directly. The `redactString`
713
713
  // is the same closure used by the audit redactor; re-using it here keeps redaction in one
714
714
  // place (D9).
715
- export function createBffMemoryVault(redactString, onMemoryEvent) {
715
+ export function createBffMemoryVault(redactString, onMemoryEvent, env) {
716
716
  // Optional onMemoryEvent (#214) wires every successful vault mutation into the audit
717
717
  // ledger. When undefined, the vault still fires its internal NOOP sink, so the absence
718
718
  // of an audit hook is fully backward-compatible with the pre-#214 BFF wiring.
719
- if (onMemoryEvent === undefined) {
720
- return createMemoryVault({ redactString });
721
- }
722
- return createMemoryVault({ redactString, onMemoryEvent });
719
+ return createMemoryVault({
720
+ redactString,
721
+ ...(onMemoryEvent === undefined ? {} : { onMemoryEvent }),
722
+ ...(env === undefined ? {} : { env }),
723
+ });
723
724
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reCheckRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/reCheckRoutes.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+hChD,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAED,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,eAAe,EAW5D,CAAC"}
1
+ {"version":3,"file":"reCheckRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/reCheckRoutes.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgkChD,wBAAsB,eAAe,CACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAED,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,eAAe,EAW5D,CAAC"}
@@ -68,6 +68,30 @@ function validateCapsuleSource(label, raw) {
68
68
  return undefined;
69
69
  return { kind: "capsule", label, capsuleId: raw.capsuleId };
70
70
  }
71
+ function validateCapsuleSetSource(label, raw) {
72
+ if (typeof raw.capsuleSetId !== "string" || raw.capsuleSetId.trim().length === 0) {
73
+ return undefined;
74
+ }
75
+ return { kind: "capsule-set", label, capsuleSetId: raw.capsuleSetId };
76
+ }
77
+ function validateFigmaSnapshotSource(label, raw) {
78
+ if (typeof raw.snapshotRunId !== "string" || raw.snapshotRunId.trim().length === 0) {
79
+ return undefined;
80
+ }
81
+ return { kind: "figma-snapshot", label, snapshotRunId: raw.snapshotRunId };
82
+ }
83
+ function validateConnectorSource(label, raw) {
84
+ if (raw.kind === "capsule") {
85
+ return validateCapsuleSource(label, raw);
86
+ }
87
+ if (raw.kind === "capsule-set") {
88
+ return validateCapsuleSetSource(label, raw);
89
+ }
90
+ if (raw.kind === "figma-snapshot") {
91
+ return validateFigmaSnapshotSource(label, raw);
92
+ }
93
+ return undefined;
94
+ }
71
95
  function validateSource(raw) {
72
96
  if (!isObject(raw) || typeof raw.label !== "string")
73
97
  return undefined;
@@ -81,10 +105,7 @@ function validateSource(raw) {
81
105
  if (raw.kind === "file" && typeof raw.path === "string") {
82
106
  return { kind: "file", label, path: raw.path };
83
107
  }
84
- if (raw.kind === "capsule") {
85
- return validateCapsuleSource(label, raw);
86
- }
87
- return undefined;
108
+ return validateConnectorSource(label, raw);
88
109
  }
89
110
  async function parseSources(req) {
90
111
  let raw;
@@ -1 +1 @@
1
- {"version":3,"file":"runExecution.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runExecution.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAUpG,OAAO,EAEL,KAAK,6BAA6B,EAEnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAuB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAA0B,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqBhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,oGAAoG;IACpG,QAAQ,CAAC,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CACxD;AAoDD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,6BAA6B,CAAC,CAsCxC;AAgDD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"runExecution.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runExecution.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAUpG,OAAO,EAEL,KAAK,6BAA6B,EAEnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAuB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAA0B,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAqBhF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,oGAAoG;IACpG,QAAQ,CAAC,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,2BAA2B,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CACxD;AAiED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,6BAA6B,CAAC,CAsCxC;AAgDD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -34,6 +34,17 @@ function resolveProfile(profileId) {
34
34
  }
35
35
  function resolveExecutionStrategy(deps, request) {
36
36
  const selection = resolveQiTestDesignSelection(deps, request.modelId);
37
+ // Seeded runs without an explicit model are release evidence. If automatic routing would pick a
38
+ // model that cannot apply the seed, prefer the deterministic structural baseline over
39
+ // nondeterministic model/judge augmentation. Explicit model requests keep their existing
40
+ // attribution contract and persist `seedUsed: null` when the model cannot apply the seed.
41
+ if (request.modelId === undefined &&
42
+ request.seed !== undefined &&
43
+ (selection.kind === "baseline" || selection.capability.supportsSeeding !== true)) {
44
+ return {
45
+ generate: createQiGenerationPort(deps, { kind: "baseline" }),
46
+ };
47
+ }
37
48
  if (selection.kind === "model") {
38
49
  return {
39
50
  modelId: selection.modelId,
@@ -1 +1 @@
1
- {"version":3,"file":"runIngestion.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runIngestion.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAqBpG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAwC9F,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBACjB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,iCAAiC,EAAE,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,iCAAiC,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,SAAS,eAAe,EAAE,CAAC;IACrD,yFAAyF;IACzF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;CACrD;AA6rBD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gHAAgH;IAChH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CAC5D;AAsED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,iBAAiB,CAiDtF"}
1
+ {"version":3,"file":"runIngestion.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/runIngestion.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,mBAAmB,IAAI,EAAE,EAAE,MAAM,+BAA+B,CAAC;AAqBpG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAwC9F,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBACjB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,iCAAiC,EAAE,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACnE,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,iCAAiC,CAAC;KAC/D,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,SAAS,eAAe,EAAE,CAAC;IACrD,yFAAyF;IACzF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,eAAe,EAAE,CAAC;CACrD;AAwvBD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gHAAgH;IAChH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;CAC5D;AAsED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,iBAAiB,CAiDtF"}
@@ -105,6 +105,7 @@ function ingestRequirements(source, index, registeredAt) {
105
105
  const WORKSPACE_BUDGET_BYTES = 196_608;
106
106
  const WORKSPACE_MAX_BYTES_PER_FILE = 16_384;
107
107
  const CODE_EXTENSION = /\.(?:ts|tsx|js|jsx|mjs|cjs|py|java|go|rb|rs|cs|cpp|cc|c|h|hpp|kt|swift|php|scala|sql)$/iu;
108
+ const REQUIREMENT_TEXT_EXTENSION = /\.(?:md|markdown|txt|text|rst|adoc|asciidoc|org)$/iu;
108
109
  const atomKindForPath = (path) => CODE_EXTENSION.test(path) ? "code-fragment" : "document-excerpt";
109
110
  const workspaceAtom = (entry, envelopeId) => {
110
111
  // entry.excerpt is already redacted by keiko-workspace; prefix the path so the model can
@@ -127,6 +128,42 @@ const workspaceAtom = (entry, envelopeId) => {
127
128
  };
128
129
  return { atom, canonicalText };
129
130
  };
131
+ const requirementAtomIdFor = (envelopeId, path, statement) => {
132
+ const digest = sha256Hex(`qi-atom-doc-req-v1|${String(envelopeId)}|${path}|${statement}`).slice(0, 32);
133
+ return QualityIntelligence.asQualityIntelligenceEvidenceAtomId(`qi-atom-${digest}`);
134
+ };
135
+ const stripRequirementDocumentStructure = (text) => text
136
+ .split(/\r?\n/u)
137
+ .filter((line) => !/^\s{0,3}#{1,6}\s+\S/u.test(line))
138
+ .join("\n");
139
+ function documentRequirementAtoms(entry, envelopeId) {
140
+ if (!REQUIREMENT_TEXT_EXTENSION.test(entry.path))
141
+ return Object.freeze([]);
142
+ const split = QualityIntelligenceGeneration.splitRequirementsIntoAtoms(stripRequirementDocumentStructure(entry.excerpt), {
143
+ envelopeId,
144
+ maxAtoms: MAX_TOTAL_ATOMS,
145
+ });
146
+ if (split.length <= 1)
147
+ return Object.freeze([]);
148
+ return Object.freeze(split.map((requirement) => {
149
+ const canonicalText = `${entry.path}\n${requirement.canonicalText}`;
150
+ const atom = {
151
+ kind: "requirement",
152
+ id: requirementAtomIdFor(envelopeId, entry.path, requirement.canonicalText),
153
+ sourceEnvelopeId: envelopeId,
154
+ canonicalHashSha256Hex: sha256Hex(canonicalText),
155
+ redactionStatus: "redacted",
156
+ lifecycleStatus: "draft",
157
+ };
158
+ return Object.freeze({ atom: Object.freeze(atom), canonicalText });
159
+ }));
160
+ }
161
+ function atomsForWorkspaceEntry(entry, envelopeId) {
162
+ const requirementAtoms = documentRequirementAtoms(entry, envelopeId);
163
+ return requirementAtoms.length > 0
164
+ ? requirementAtoms
165
+ : Object.freeze([workspaceAtom(entry, envelopeId)]);
166
+ }
130
167
  // Ingest a local folder by REUSING keiko-workspace traversal + redaction (no independent
131
168
  // repository traversal — Issue #278 stop condition). Each selected, already-redacted context
132
169
  // entry becomes one content-bearing atom under a single repository-context envelope.
@@ -167,7 +204,7 @@ function ingestWorkspace(source, index, registeredAt, byteBudget) {
167
204
  },
168
205
  localRef: stableLocalRef("workspace", pack.workspaceRoot),
169
206
  };
170
- const atoms = pack.selected.map((entry) => workspaceAtom(entry, envelopeId));
207
+ const atoms = pack.selected.flatMap((entry) => atomsForWorkspaceEntry(entry, envelopeId));
171
208
  return { envelope, atoms };
172
209
  }
173
210
  // A single Fachkonzept document may use the full per-run workspace byte budget — it is the only
@@ -300,9 +337,7 @@ function ingestFile(source, index, registeredAt, byteBudget) {
300
337
  },
301
338
  localRef: stableLocalRef("file", absFile),
302
339
  };
303
- const atoms = [
304
- workspaceAtom({ path: content.relativePath, excerpt: boundedText }, envelopeId),
305
- ];
340
+ const atoms = atomsForWorkspaceEntry({ path: content.relativePath, excerpt: boundedText }, envelopeId);
306
341
  return { envelope, atoms };
307
342
  }
308
343
  // A single capsule document may use the per-document byte budget; the whole capsule corpus is
@@ -1 +1 @@
1
- {"version":3,"file":"uiRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/uiRoutes.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAoLzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8CpF;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAmClF"}
1
+ {"version":3,"file":"uiRoutes.d.ts","sourceRoot":"","sources":["../../src/qualityIntelligence/uiRoutes.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAqMzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CA8CpF;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAmClF"}
@@ -96,6 +96,18 @@ function computeCoveragePercentage(coverageByAtom) {
96
96
  const covered = coverageByAtom.filter((r) => r.status === "covered").length;
97
97
  return (covered / coverageByAtom.length) * 100;
98
98
  }
99
+ function projectDriftMetadata(manifest, candidateRows) {
100
+ const sourceFingerprintCount = manifest.sourceFingerprints?.length ?? 0;
101
+ const atomFingerprintCount = manifest.atomFingerprints?.length ?? 0;
102
+ const supported = sourceFingerprintCount > 0 && candidateRows.length > 0;
103
+ return {
104
+ status: supported ? "not-checked" : "unavailable",
105
+ sourceFingerprintCount,
106
+ atomFingerprintCount,
107
+ reCheckSupported: supported,
108
+ regenerateStaleSupported: supported,
109
+ };
110
+ }
99
111
  function projectRunDetail(inputs) {
100
112
  const { manifest, candidateRows, reviewArtifact } = inputs;
101
113
  const findingRefs = manifest.findings.map((f) => ({
@@ -131,6 +143,7 @@ function projectRunDetail(inputs) {
131
143
  coveragePercentage: computeCoveragePercentage(coverageByAtom),
132
144
  coverageByAtom,
133
145
  qualityScore: manifest.qualityScore ?? null,
146
+ drift: projectDriftMetadata(manifest, candidateRows),
134
147
  };
135
148
  }
136
149
  function parseLimitParam(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/store/paths.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,aAAa,WAAW,CAAC;AAmDtC,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,MAAM,CASR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAahG"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/store/paths.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,aAAa,WAAW,CAAC;AA4DtC,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,MAAM,CASR;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAgBhG"}
@@ -11,6 +11,11 @@ function isInsideCurrentWorkingDirectory(path) {
11
11
  const resolved = resolve(path);
12
12
  return resolved === cwd || resolved.startsWith(`${cwd}${sep}`);
13
13
  }
14
+ function isInsideRuntimeStateRoot(path, workspaceRoot) {
15
+ const runtimeRoot = resolve(workspaceRoot, UI_DB_DIRNAME);
16
+ const resolved = resolve(path);
17
+ return resolved === runtimeRoot || resolved.startsWith(`${runtimeRoot}${sep}`);
18
+ }
14
19
  function hasSymlinkAncestor(path) {
15
20
  let current = dirname(path);
16
21
  const root = parse(current).root;
@@ -35,7 +40,8 @@ function resolveConfiguredPath(path, label) {
35
40
  throw invalidRequest(`${label} must be absolute.`);
36
41
  }
37
42
  const resolved = normalize(path);
38
- if (isInsideCurrentWorkingDirectory(resolved)) {
43
+ if (isInsideCurrentWorkingDirectory(resolved) &&
44
+ !isInsideRuntimeStateRoot(resolved, process.cwd())) {
39
45
  throw invalidRequest(`${label} must not be inside the current workspace.`);
40
46
  }
41
47
  if (existsSync(resolved) && lstatSync(resolved).isSymbolicLink()) {
@@ -68,7 +74,8 @@ export function assertUiDbOutsideProject(uiDbPath, projectPath) {
68
74
  const resolvedDbPath = resolve(uiDbPath);
69
75
  const resolvedDbDir = dirname(resolvedDbPath);
70
76
  const resolvedProject = resolve(projectPath);
71
- if (containsPath(resolvedProject, resolvedDbPath)) {
77
+ if (containsPath(resolvedProject, resolvedDbPath) &&
78
+ !isInsideRuntimeStateRoot(resolvedDbPath, resolvedProject)) {
72
79
  throw invalidRequest("UI database path must not be inside a selected project.");
73
80
  }
74
81
  if (containsPath(resolvedDbDir, resolvedProject)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oscharko-dev/keiko-server",
3
- "version": "0.2.0-beta.1",
3
+ "version": "0.2.0-beta.3",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",