dominds 1.4.2 → 1.5.2

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 (174) hide show
  1. package/README.md +24 -0
  2. package/README.zh.md +24 -0
  3. package/dist/apps/app-json.js +38 -3
  4. package/dist/apps/dialog-run-controls.js +4 -0
  5. package/dist/apps/enabled-apps.js +8 -1
  6. package/dist/apps/installed-file.js +207 -0
  7. package/dist/apps/run-app-json.js +6 -6
  8. package/dist/apps/runtime-port.js +91 -0
  9. package/dist/apps/runtime.js +316 -68
  10. package/dist/apps-host/client.js +153 -3
  11. package/dist/apps-host/host.js +339 -2
  12. package/dist/apps-host/ipc-types.js +215 -30
  13. package/dist/cli/install.js +21 -1
  14. package/dist/dialog-fork.js +609 -0
  15. package/dist/dialog.js +2 -2
  16. package/dist/docs/agent-priming.md +38 -0
  17. package/dist/docs/agent-priming.zh.md +34 -0
  18. package/dist/docs/app-constitution.md +153 -2
  19. package/dist/docs/app-constitution.zh.md +153 -2
  20. package/dist/docs/dialog-persistence.md +31 -0
  21. package/dist/docs/dialog-persistence.zh.md +31 -0
  22. package/dist/docs/dialog-system.md +29 -0
  23. package/dist/docs/dialog-system.zh.md +29 -0
  24. package/dist/docs/kernel-app-architecture.md +286 -0
  25. package/dist/docs/kernel-app-architecture.zh.md +285 -0
  26. package/dist/llm/defaults.yaml +16 -0
  27. package/dist/llm/driver-entry.js +28 -0
  28. package/dist/llm/driver-v2/context-health.js +121 -0
  29. package/dist/llm/driver-v2/context.js +56 -0
  30. package/dist/llm/driver-v2/core.js +1545 -0
  31. package/dist/llm/driver-v2/index.js +26 -0
  32. package/dist/llm/driver-v2/orchestrator.js +158 -0
  33. package/dist/llm/driver-v2/policy.js +129 -0
  34. package/dist/llm/driver-v2/restore-dialog-hierarchy.js +73 -0
  35. package/dist/llm/driver-v2/round.js +366 -0
  36. package/dist/llm/driver-v2/runtime-utils.js +365 -0
  37. package/dist/llm/driver-v2/saying-events.js +20 -0
  38. package/dist/llm/driver-v2/subdialog-txn.js +42 -0
  39. package/dist/llm/driver-v2/supdialog-response.js +400 -0
  40. package/dist/llm/driver-v2/tellask-bridge.js +1148 -0
  41. package/dist/llm/driver-v2/types.js +10 -0
  42. package/dist/llm/driver-v2-ref-only/context-health.js +121 -0
  43. package/dist/llm/driver-v2-ref-only/context.js +17 -0
  44. package/dist/llm/driver-v2-ref-only/core.js +1710 -0
  45. package/dist/llm/driver-v2-ref-only/index.js +26 -0
  46. package/dist/llm/driver-v2-ref-only/orchestrator.js +158 -0
  47. package/dist/llm/driver-v2-ref-only/policy.js +129 -0
  48. package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +73 -0
  49. package/dist/llm/driver-v2-ref-only/round.js +366 -0
  50. package/dist/llm/driver-v2-ref-only/runtime-utils.js +473 -0
  51. package/dist/llm/driver-v2-ref-only/saying-events.js +18 -0
  52. package/dist/llm/driver-v2-ref-only/subdialog-txn.js +42 -0
  53. package/dist/llm/driver-v2-ref-only/supdialog-response.js +453 -0
  54. package/dist/llm/driver-v2-ref-only/tellask-bridge.js +1178 -0
  55. package/dist/llm/driver-v2-ref-only/types.js +10 -0
  56. package/dist/llm/gen/anthropic.js +68 -15
  57. package/dist/llm/gen/codex.js +59 -10
  58. package/dist/llm/gen/openai-compatible.js +38 -9
  59. package/dist/llm/gen/openai.js +58 -11
  60. package/dist/llm/gen/tool-output-limit.js +50 -0
  61. package/dist/llm/kernel-driver/subdialog.js +23 -12
  62. package/dist/llm/kernel-driver/tellask-special.js +20 -4
  63. package/dist/minds/load.js +7 -0
  64. package/dist/persistence.js +216 -30
  65. package/dist/priming.js +171 -18
  66. package/dist/server/api-routes.js +82 -0
  67. package/dist/server/setup-routes.js +15 -0
  68. package/dist/shared/types/storage.js +77 -0
  69. package/dist/static/assets/{_basePickBy-B2o4z1Hf.js → _basePickBy-B-A5XrWM.js} +3 -3
  70. package/dist/static/assets/{_basePickBy-B2o4z1Hf.js.map → _basePickBy-B-A5XrWM.js.map} +1 -1
  71. package/dist/static/assets/{_baseUniq-CLmcxjdl.js → _baseUniq-BANLb0cu.js} +2 -2
  72. package/dist/static/assets/{_baseUniq-CLmcxjdl.js.map → _baseUniq-BANLb0cu.js.map} +1 -1
  73. package/dist/static/assets/{arc-CymD_KN7.js → arc-CYZYnojf.js} +2 -2
  74. package/dist/static/assets/{arc-CymD_KN7.js.map → arc-CYZYnojf.js.map} +1 -1
  75. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js → architectureDiagram-VXUJARFQ-Cxf4pmYG.js} +7 -7
  76. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js.map → architectureDiagram-VXUJARFQ-Cxf4pmYG.js.map} +1 -1
  77. package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js → blockDiagram-VD42YOAC-wvs0G30c.js} +7 -7
  78. package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js.map → blockDiagram-VD42YOAC-wvs0G30c.js.map} +1 -1
  79. package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js → c4Diagram-YG6GDRKO-BKFNexn4.js} +3 -3
  80. package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js.map → c4Diagram-YG6GDRKO-BKFNexn4.js.map} +1 -1
  81. package/dist/static/assets/{channel-CX9BlKil.js → channel-_1qpxJWy.js} +2 -2
  82. package/dist/static/assets/{channel-CX9BlKil.js.map → channel-_1qpxJWy.js.map} +1 -1
  83. package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js → chunk-4BX2VUAB-BIdC0phm.js} +2 -2
  84. package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js.map → chunk-4BX2VUAB-BIdC0phm.js.map} +1 -1
  85. package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js → chunk-55IACEB6-BNvGenQ9.js} +2 -2
  86. package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js.map → chunk-55IACEB6-BNvGenQ9.js.map} +1 -1
  87. package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js → chunk-B4BG7PRW-jmf-1Wv7.js} +5 -5
  88. package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js.map → chunk-B4BG7PRW-jmf-1Wv7.js.map} +1 -1
  89. package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js → chunk-DI55MBZ5-nmEmcikR.js} +4 -4
  90. package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js.map → chunk-DI55MBZ5-nmEmcikR.js.map} +1 -1
  91. package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js → chunk-FMBD7UC4-kGysaq_j.js} +2 -2
  92. package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js.map → chunk-FMBD7UC4-kGysaq_j.js.map} +1 -1
  93. package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js → chunk-QN33PNHL-8JwMLFIJ.js} +2 -2
  94. package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js.map → chunk-QN33PNHL-8JwMLFIJ.js.map} +1 -1
  95. package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js → chunk-QZHKN3VN-DZleEj00.js} +2 -2
  96. package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js.map → chunk-QZHKN3VN-DZleEj00.js.map} +1 -1
  97. package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js → chunk-TZMSLE5B-CXxl_uqH.js} +2 -2
  98. package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js.map → chunk-TZMSLE5B-CXxl_uqH.js.map} +1 -1
  99. package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js → classDiagram-2ON5EDUG-C-7R0QB6.js} +6 -6
  100. package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js.map → classDiagram-2ON5EDUG-C-7R0QB6.js.map} +1 -1
  101. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js → classDiagram-v2-WZHVMYZB-C-7R0QB6.js} +6 -6
  102. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js.map → classDiagram-v2-WZHVMYZB-C-7R0QB6.js.map} +1 -1
  103. package/dist/static/assets/{clone-BlI81KqZ.js → clone-BwOKYSj8.js} +2 -2
  104. package/dist/static/assets/{clone-BlI81KqZ.js.map → clone-BwOKYSj8.js.map} +1 -1
  105. package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js → cose-bilkent-S5V4N54A-BCBalM7p.js} +2 -2
  106. package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js.map → cose-bilkent-S5V4N54A-BCBalM7p.js.map} +1 -1
  107. package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js → dagre-6UL2VRFP-uV2ekQoj.js} +7 -7
  108. package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js.map → dagre-6UL2VRFP-uV2ekQoj.js.map} +1 -1
  109. package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js → diagram-PSM6KHXK-D-ZMog1-.js} +8 -8
  110. package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js.map → diagram-PSM6KHXK-D-ZMog1-.js.map} +1 -1
  111. package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js → diagram-QEK2KX5R-BThSELUH.js} +7 -7
  112. package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js.map → diagram-QEK2KX5R-BThSELUH.js.map} +1 -1
  113. package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js → diagram-S2PKOQOG-Di-YN5cd.js} +7 -7
  114. package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js.map → diagram-S2PKOQOG-Di-YN5cd.js.map} +1 -1
  115. package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js → erDiagram-Q2GNP2WA-lBZ9DITn.js} +5 -5
  116. package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js.map → erDiagram-Q2GNP2WA-lBZ9DITn.js.map} +1 -1
  117. package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js → flowDiagram-NV44I4VS-C_60PNQR.js} +6 -6
  118. package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js.map → flowDiagram-NV44I4VS-C_60PNQR.js.map} +1 -1
  119. package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js → ganttDiagram-JELNMOA3-Dvqq-VHJ.js} +3 -3
  120. package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js.map → ganttDiagram-JELNMOA3-Dvqq-VHJ.js.map} +1 -1
  121. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js → gitGraphDiagram-V2S2FVAM-BTj8orRe.js} +8 -8
  122. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js.map → gitGraphDiagram-V2S2FVAM-BTj8orRe.js.map} +1 -1
  123. package/dist/static/assets/{graph-DbzWiBNK.js → graph-BqCzR2Nl.js} +3 -3
  124. package/dist/static/assets/{graph-DbzWiBNK.js.map → graph-BqCzR2Nl.js.map} +1 -1
  125. package/dist/static/assets/{index-B-8J28g7.js → index-DrTqAfFy.js} +386 -201
  126. package/dist/static/assets/index-DrTqAfFy.js.map +1 -0
  127. package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js → infoDiagram-HS3SLOUP-DlC6wsrv.js} +6 -6
  128. package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js.map → infoDiagram-HS3SLOUP-DlC6wsrv.js.map} +1 -1
  129. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js → journeyDiagram-XKPGCS4Q-Dg_RgtQX.js} +5 -5
  130. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js.map → journeyDiagram-XKPGCS4Q-Dg_RgtQX.js.map} +1 -1
  131. package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js → kanban-definition-3W4ZIXB7-DuGS3lId.js} +3 -3
  132. package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js.map → kanban-definition-3W4ZIXB7-DuGS3lId.js.map} +1 -1
  133. package/dist/static/assets/{layout-C5B58szc.js → layout-FDz2bstZ.js} +5 -5
  134. package/dist/static/assets/{layout-C5B58szc.js.map → layout-FDz2bstZ.js.map} +1 -1
  135. package/dist/static/assets/{linear-_32fut6G.js → linear-CzsdvPGb.js} +2 -2
  136. package/dist/static/assets/{linear-_32fut6G.js.map → linear-CzsdvPGb.js.map} +1 -1
  137. package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js → mindmap-definition-VGOIOE7T-WsAF5UNp.js} +4 -4
  138. package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js.map → mindmap-definition-VGOIOE7T-WsAF5UNp.js.map} +1 -1
  139. package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js → pieDiagram-ADFJNKIX-DJpRJ5ei.js} +8 -8
  140. package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js.map → pieDiagram-ADFJNKIX-DJpRJ5ei.js.map} +1 -1
  141. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js → quadrantDiagram-AYHSOK5B-CMyIzTkY.js} +3 -3
  142. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js.map → quadrantDiagram-AYHSOK5B-CMyIzTkY.js.map} +1 -1
  143. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js → requirementDiagram-UZGBJVZJ-D_yqVXGu.js} +4 -4
  144. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js.map → requirementDiagram-UZGBJVZJ-D_yqVXGu.js.map} +1 -1
  145. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js → sankeyDiagram-TZEHDZUN-D4-cF724.js} +2 -2
  146. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js.map → sankeyDiagram-TZEHDZUN-D4-cF724.js.map} +1 -1
  147. package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js → sequenceDiagram-WL72ISMW-B7J3gWYN.js} +4 -4
  148. package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js.map → sequenceDiagram-WL72ISMW-B7J3gWYN.js.map} +1 -1
  149. package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js → stateDiagram-FKZM4ZOC-DwEYYCcu.js} +9 -9
  150. package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js.map → stateDiagram-FKZM4ZOC-DwEYYCcu.js.map} +1 -1
  151. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js → stateDiagram-v2-4FDKWEC3-D4LOOQV5.js} +5 -5
  152. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js.map → stateDiagram-v2-4FDKWEC3-D4LOOQV5.js.map} +1 -1
  153. package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js → timeline-definition-IT6M3QCI-CyG-TJ_A.js} +3 -3
  154. package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js.map → timeline-definition-IT6M3QCI-CyG-TJ_A.js.map} +1 -1
  155. package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js → treemap-GDKQZRPO-yY4GiKmU.js} +5 -5
  156. package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js.map → treemap-GDKQZRPO-yY4GiKmU.js.map} +1 -1
  157. package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js → xychartDiagram-PRI3JC2R-5TYN_q15.js} +3 -3
  158. package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js.map → xychartDiagram-PRI3JC2R-5TYN_q15.js.map} +1 -1
  159. package/dist/static/index.html +1 -1
  160. package/dist/team.js +33 -4
  161. package/dist/tools/app-reminders.js +280 -0
  162. package/dist/tools/prompts/memory/en/errors.md +155 -0
  163. package/dist/tools/prompts/memory/en/index.md +47 -0
  164. package/dist/tools/prompts/memory/en/principles.md +79 -0
  165. package/dist/tools/prompts/memory/en/scenarios.md +174 -0
  166. package/dist/tools/prompts/memory/en/tools.md +154 -0
  167. package/dist/tools/prompts/memory/zh/errors.md +155 -0
  168. package/dist/tools/prompts/memory/zh/index.md +47 -0
  169. package/dist/tools/prompts/memory/zh/principles.md +79 -0
  170. package/dist/tools/prompts/memory/zh/scenarios.md +174 -0
  171. package/dist/tools/prompts/memory/zh/tools.md +154 -0
  172. package/dist/tools/ripgrep.js +197 -63
  173. package/package.json +2 -2
  174. package/dist/static/assets/index-B-8J28g7.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDriverV2RuntimeState = createDriverV2RuntimeState;
4
+ function createDriverV2RuntimeState() {
5
+ return {
6
+ driveCount: 0,
7
+ totalGenIterations: 0,
8
+ usedLegacyDriveCore: false,
9
+ };
10
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DRIVER_V2_DEFAULT_CAUTION_REMEDIATION_CADENCE_GENERATIONS = exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS = void 0;
4
+ exports.resetContextHealthRoundState = resetContextHealthRoundState;
5
+ exports.resolveCriticalCountdownRemaining = resolveCriticalCountdownRemaining;
6
+ exports.consumeCriticalCountdown = consumeCriticalCountdown;
7
+ exports.resolveCautionRemediationCadenceGenerations = resolveCautionRemediationCadenceGenerations;
8
+ exports.decideDriverV2ContextHealth = decideDriverV2ContextHealth;
9
+ exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS = 5;
10
+ exports.DRIVER_V2_DEFAULT_CAUTION_REMEDIATION_CADENCE_GENERATIONS = 10;
11
+ const contextHealthRoundStateByDialogKey = new Map();
12
+ function getContextHealthRoundState(dialogKey) {
13
+ const existing = contextHealthRoundStateByDialogKey.get(dialogKey);
14
+ if (existing) {
15
+ return existing;
16
+ }
17
+ const created = {};
18
+ contextHealthRoundStateByDialogKey.set(dialogKey, created);
19
+ return created;
20
+ }
21
+ function resetContextHealthRoundState(dialogKey) {
22
+ contextHealthRoundStateByDialogKey.delete(dialogKey);
23
+ }
24
+ function resolveCriticalCountdownRemaining(dialogKey, snapshot) {
25
+ if (!snapshot || snapshot.kind !== 'available') {
26
+ resetContextHealthRoundState(dialogKey);
27
+ return exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS;
28
+ }
29
+ if (snapshot.level !== 'critical') {
30
+ if (snapshot.level === 'healthy') {
31
+ resetContextHealthRoundState(dialogKey);
32
+ return exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS;
33
+ }
34
+ const state = getContextHealthRoundState(dialogKey);
35
+ state.criticalCountdownRemaining = undefined;
36
+ return exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS;
37
+ }
38
+ const state = getContextHealthRoundState(dialogKey);
39
+ if (state.lastSeenLevel !== 'critical' ||
40
+ typeof state.criticalCountdownRemaining !== 'number' ||
41
+ !Number.isFinite(state.criticalCountdownRemaining)) {
42
+ state.lastSeenLevel = 'critical';
43
+ state.criticalCountdownRemaining = exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS;
44
+ }
45
+ const remaining = Math.floor(state.criticalCountdownRemaining);
46
+ return remaining > 0 ? remaining : 0;
47
+ }
48
+ function consumeCriticalCountdown(dialogKey) {
49
+ const state = getContextHealthRoundState(dialogKey);
50
+ const currentRaw = typeof state.criticalCountdownRemaining === 'number' &&
51
+ Number.isFinite(state.criticalCountdownRemaining)
52
+ ? Math.floor(state.criticalCountdownRemaining)
53
+ : exports.DRIVER_V2_DEFAULT_CRITICAL_COUNTDOWN_GENERATIONS;
54
+ const current = currentRaw > 0 ? currentRaw : 0;
55
+ const next = Math.max(0, current - 1);
56
+ state.lastSeenLevel = 'critical';
57
+ state.criticalCountdownRemaining = next;
58
+ return next;
59
+ }
60
+ function resolveCautionRemediationCadenceGenerations(configured) {
61
+ if (typeof configured !== 'number' || !Number.isFinite(configured)) {
62
+ return exports.DRIVER_V2_DEFAULT_CAUTION_REMEDIATION_CADENCE_GENERATIONS;
63
+ }
64
+ const normalized = Math.floor(configured);
65
+ if (normalized <= 0) {
66
+ return exports.DRIVER_V2_DEFAULT_CAUTION_REMEDIATION_CADENCE_GENERATIONS;
67
+ }
68
+ return normalized;
69
+ }
70
+ function decideDriverV2ContextHealth(args) {
71
+ const { snapshot, dialogKey } = args;
72
+ if (!snapshot || snapshot.kind !== 'available') {
73
+ return { kind: 'proceed' };
74
+ }
75
+ if (snapshot.level === 'healthy') {
76
+ return { kind: 'proceed' };
77
+ }
78
+ if (snapshot.level === 'caution') {
79
+ const state = getContextHealthRoundState(dialogKey);
80
+ const cadence = resolveCautionRemediationCadenceGenerations(args.cautionRemediationCadenceGenerations);
81
+ const enteringCaution = state.lastSeenLevel !== 'caution';
82
+ state.lastSeenLevel = 'caution';
83
+ state.criticalCountdownRemaining = undefined;
84
+ if (enteringCaution) {
85
+ state.cautionPromptDue = true;
86
+ state.cautionGenerationsSincePrompt = 0;
87
+ }
88
+ else if (state.cautionPromptDue !== true) {
89
+ const previous = typeof state.cautionGenerationsSincePrompt === 'number' &&
90
+ Number.isFinite(state.cautionGenerationsSincePrompt)
91
+ ? Math.max(0, Math.floor(state.cautionGenerationsSincePrompt))
92
+ : 0;
93
+ const next = previous + 1;
94
+ state.cautionGenerationsSincePrompt = next;
95
+ if (next >= cadence) {
96
+ state.cautionPromptDue = true;
97
+ }
98
+ }
99
+ const shouldInjectPrompt = state.cautionPromptDue === true && !args.hadUserPromptThisGen && args.canInjectPromptThisGen;
100
+ if (!shouldInjectPrompt) {
101
+ return { kind: 'proceed' };
102
+ }
103
+ state.cautionPromptDue = false;
104
+ state.cautionGenerationsSincePrompt = 0;
105
+ return { kind: 'continue', reason: 'caution_soft_remediation' };
106
+ }
107
+ if (snapshot.level === 'critical') {
108
+ const state = getContextHealthRoundState(dialogKey);
109
+ state.lastSeenLevel = 'critical';
110
+ state.cautionPromptDue = undefined;
111
+ state.cautionGenerationsSincePrompt = undefined;
112
+ if (args.criticalCountdownRemaining <= 0) {
113
+ return { kind: 'continue', reason: 'critical_force_new_course' };
114
+ }
115
+ return args.hadUserPromptThisGen
116
+ ? { kind: 'suspend', reason: 'critical_wait_human' }
117
+ : { kind: 'continue', reason: 'critical_countdown_remediation' };
118
+ }
119
+ const _exhaustive = snapshot.level;
120
+ return _exhaustive;
121
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../kernel-driver/context"), exports);