dominds 1.4.2 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/README.zh.md +24 -0
- package/dist/apps/app-json.js +38 -3
- package/dist/apps/dialog-run-controls.js +4 -0
- package/dist/apps/enabled-apps.js +8 -1
- package/dist/apps/installed-file.js +207 -0
- package/dist/apps/run-app-json.js +6 -6
- package/dist/apps/runtime-port.js +91 -0
- package/dist/apps/runtime.js +316 -68
- package/dist/apps-host/client.js +153 -3
- package/dist/apps-host/host.js +339 -2
- package/dist/apps-host/ipc-types.js +215 -30
- package/dist/cli/install.js +21 -1
- package/dist/dialog-fork.js +608 -0
- package/dist/dialog.js +2 -2
- package/dist/docs/app-constitution.md +153 -2
- package/dist/docs/app-constitution.zh.md +153 -2
- package/dist/docs/dialog-persistence.md +31 -0
- package/dist/docs/dialog-persistence.zh.md +31 -0
- package/dist/docs/dialog-system.md +29 -0
- package/dist/docs/dialog-system.zh.md +29 -0
- package/dist/docs/kernel-app-architecture.md +286 -0
- package/dist/docs/kernel-app-architecture.zh.md +285 -0
- package/dist/llm/defaults.yaml +16 -0
- package/dist/llm/driver-entry.js +28 -0
- package/dist/llm/driver-v2/context-health.js +121 -0
- package/dist/llm/driver-v2/context.js +56 -0
- package/dist/llm/driver-v2/core.js +1545 -0
- package/dist/llm/driver-v2/index.js +26 -0
- package/dist/llm/driver-v2/orchestrator.js +158 -0
- package/dist/llm/driver-v2/policy.js +129 -0
- package/dist/llm/driver-v2/restore-dialog-hierarchy.js +73 -0
- package/dist/llm/driver-v2/round.js +366 -0
- package/dist/llm/driver-v2/runtime-utils.js +365 -0
- package/dist/llm/driver-v2/saying-events.js +20 -0
- package/dist/llm/driver-v2/subdialog-txn.js +42 -0
- package/dist/llm/driver-v2/supdialog-response.js +400 -0
- package/dist/llm/driver-v2/tellask-bridge.js +1148 -0
- package/dist/llm/driver-v2/types.js +10 -0
- package/dist/llm/driver-v2-ref-only/context-health.js +121 -0
- package/dist/llm/driver-v2-ref-only/context.js +17 -0
- package/dist/llm/driver-v2-ref-only/core.js +1710 -0
- package/dist/llm/driver-v2-ref-only/index.js +26 -0
- package/dist/llm/driver-v2-ref-only/orchestrator.js +158 -0
- package/dist/llm/driver-v2-ref-only/policy.js +129 -0
- package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +73 -0
- package/dist/llm/driver-v2-ref-only/round.js +366 -0
- package/dist/llm/driver-v2-ref-only/runtime-utils.js +473 -0
- package/dist/llm/driver-v2-ref-only/saying-events.js +18 -0
- package/dist/llm/driver-v2-ref-only/subdialog-txn.js +42 -0
- package/dist/llm/driver-v2-ref-only/supdialog-response.js +453 -0
- package/dist/llm/driver-v2-ref-only/tellask-bridge.js +1178 -0
- package/dist/llm/driver-v2-ref-only/types.js +10 -0
- package/dist/llm/gen/anthropic.js +68 -15
- package/dist/llm/gen/codex.js +59 -10
- package/dist/llm/gen/openai-compatible.js +38 -9
- package/dist/llm/gen/openai.js +58 -11
- package/dist/llm/gen/tool-output-limit.js +50 -0
- package/dist/llm/kernel-driver/subdialog.js +8 -1
- package/dist/llm/kernel-driver/tellask-special.js +18 -3
- package/dist/minds/load.js +7 -0
- package/dist/persistence.js +190 -28
- package/dist/priming.js +20 -1
- package/dist/server/api-routes.js +82 -0
- package/dist/server/setup-routes.js +15 -0
- package/dist/static/assets/{_basePickBy-B2o4z1Hf.js → _basePickBy-C-nynT9f.js} +3 -3
- package/dist/static/assets/{_basePickBy-B2o4z1Hf.js.map → _basePickBy-C-nynT9f.js.map} +1 -1
- package/dist/static/assets/{_baseUniq-CLmcxjdl.js → _baseUniq-CiHd-eVT.js} +2 -2
- package/dist/static/assets/{_baseUniq-CLmcxjdl.js.map → _baseUniq-CiHd-eVT.js.map} +1 -1
- package/dist/static/assets/{arc-CymD_KN7.js → arc-_OJzDWy1.js} +2 -2
- package/dist/static/assets/{arc-CymD_KN7.js.map → arc-_OJzDWy1.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js → architectureDiagram-VXUJARFQ-CDEG85ub.js} +7 -7
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js.map → architectureDiagram-VXUJARFQ-CDEG85ub.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js → blockDiagram-VD42YOAC-1LzKVc5t.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js.map → blockDiagram-VD42YOAC-1LzKVc5t.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js → c4Diagram-YG6GDRKO-BzYnVyvY.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js.map → c4Diagram-YG6GDRKO-BzYnVyvY.js.map} +1 -1
- package/dist/static/assets/{channel-CX9BlKil.js → channel-VAEDAk9T.js} +2 -2
- package/dist/static/assets/{channel-CX9BlKil.js.map → channel-VAEDAk9T.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js → chunk-4BX2VUAB-D0r2u3mX.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js.map → chunk-4BX2VUAB-D0r2u3mX.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js → chunk-55IACEB6-Dkl8Xw7i.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js.map → chunk-55IACEB6-Dkl8Xw7i.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js → chunk-B4BG7PRW-9sxsI8ns.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js.map → chunk-B4BG7PRW-9sxsI8ns.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js → chunk-DI55MBZ5-AHaqkaLl.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js.map → chunk-DI55MBZ5-AHaqkaLl.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js → chunk-FMBD7UC4-NWDLDixD.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js.map → chunk-FMBD7UC4-NWDLDixD.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js → chunk-QN33PNHL-C2KeUqle.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js.map → chunk-QN33PNHL-C2KeUqle.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js → chunk-QZHKN3VN-B6Eoxo5L.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js.map → chunk-QZHKN3VN-B6Eoxo5L.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js → chunk-TZMSLE5B-Bc-VyQon.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js.map → chunk-TZMSLE5B-Bc-VyQon.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js → classDiagram-2ON5EDUG-DmPfsN1H.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js.map → classDiagram-2ON5EDUG-DmPfsN1H.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js → classDiagram-v2-WZHVMYZB-DmPfsN1H.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js.map → classDiagram-v2-WZHVMYZB-DmPfsN1H.js.map} +1 -1
- package/dist/static/assets/{clone-BlI81KqZ.js → clone-B1R4pLTW.js} +2 -2
- package/dist/static/assets/{clone-BlI81KqZ.js.map → clone-B1R4pLTW.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js → cose-bilkent-S5V4N54A-CxY__sKv.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js.map → cose-bilkent-S5V4N54A-CxY__sKv.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js → dagre-6UL2VRFP-CPkB5tQ0.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js.map → dagre-6UL2VRFP-CPkB5tQ0.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js → diagram-PSM6KHXK-C6kCVpCz.js} +8 -8
- package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js.map → diagram-PSM6KHXK-C6kCVpCz.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js → diagram-QEK2KX5R-BWF6htf1.js} +7 -7
- package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js.map → diagram-QEK2KX5R-BWF6htf1.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js → diagram-S2PKOQOG-lKGJH6O9.js} +7 -7
- package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js.map → diagram-S2PKOQOG-lKGJH6O9.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js → erDiagram-Q2GNP2WA-DJ3YaFob.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js.map → erDiagram-Q2GNP2WA-DJ3YaFob.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js → flowDiagram-NV44I4VS-h3eQwA3O.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js.map → flowDiagram-NV44I4VS-h3eQwA3O.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js → ganttDiagram-JELNMOA3-BCbsDOF_.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js.map → ganttDiagram-JELNMOA3-BCbsDOF_.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js → gitGraphDiagram-V2S2FVAM-D0kX6h-T.js} +8 -8
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js.map → gitGraphDiagram-V2S2FVAM-D0kX6h-T.js.map} +1 -1
- package/dist/static/assets/{graph-DbzWiBNK.js → graph-CZIEXp3A.js} +3 -3
- package/dist/static/assets/{graph-DbzWiBNK.js.map → graph-CZIEXp3A.js.map} +1 -1
- package/dist/static/assets/{index-B-8J28g7.js → index-vIzCTZQE.js} +156 -35
- package/dist/static/assets/index-vIzCTZQE.js.map +1 -0
- package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js → infoDiagram-HS3SLOUP-DUNbcXxv.js} +6 -6
- package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js.map → infoDiagram-HS3SLOUP-DUNbcXxv.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js → journeyDiagram-XKPGCS4Q-Cg_VhiqB.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js.map → journeyDiagram-XKPGCS4Q-Cg_VhiqB.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js → kanban-definition-3W4ZIXB7-DMVCZVFE.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js.map → kanban-definition-3W4ZIXB7-DMVCZVFE.js.map} +1 -1
- package/dist/static/assets/{layout-C5B58szc.js → layout-DoKTmwlM.js} +5 -5
- package/dist/static/assets/{layout-C5B58szc.js.map → layout-DoKTmwlM.js.map} +1 -1
- package/dist/static/assets/{linear-_32fut6G.js → linear-DFVlPfX6.js} +2 -2
- package/dist/static/assets/{linear-_32fut6G.js.map → linear-DFVlPfX6.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js → mindmap-definition-VGOIOE7T-l5K7agVV.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js.map → mindmap-definition-VGOIOE7T-l5K7agVV.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js → pieDiagram-ADFJNKIX-BfQzSE-A.js} +8 -8
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js.map → pieDiagram-ADFJNKIX-BfQzSE-A.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js → quadrantDiagram-AYHSOK5B-CJWvA5jc.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js.map → quadrantDiagram-AYHSOK5B-CJWvA5jc.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js → requirementDiagram-UZGBJVZJ-CeBbmqBK.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js.map → requirementDiagram-UZGBJVZJ-CeBbmqBK.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js → sankeyDiagram-TZEHDZUN-JeUBTDxx.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js.map → sankeyDiagram-TZEHDZUN-JeUBTDxx.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js → sequenceDiagram-WL72ISMW-Bd_7Pgc5.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js.map → sequenceDiagram-WL72ISMW-Bd_7Pgc5.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js → stateDiagram-FKZM4ZOC-D_WyM3K1.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js.map → stateDiagram-FKZM4ZOC-D_WyM3K1.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js → stateDiagram-v2-4FDKWEC3-Q_yh26yx.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js.map → stateDiagram-v2-4FDKWEC3-Q_yh26yx.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js → timeline-definition-IT6M3QCI-Ca8mCFDg.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js.map → timeline-definition-IT6M3QCI-Ca8mCFDg.js.map} +1 -1
- package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js → treemap-GDKQZRPO-CyBvKC8o.js} +5 -5
- package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js.map → treemap-GDKQZRPO-CyBvKC8o.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js → xychartDiagram-PRI3JC2R-DY0BLEdj.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js.map → xychartDiagram-PRI3JC2R-DY0BLEdj.js.map} +1 -1
- package/dist/static/index.html +1 -1
- package/dist/team.js +33 -4
- package/dist/tools/app-reminders.js +280 -0
- package/dist/tools/prompts/memory/en/errors.md +155 -0
- package/dist/tools/prompts/memory/en/index.md +47 -0
- package/dist/tools/prompts/memory/en/principles.md +79 -0
- package/dist/tools/prompts/memory/en/scenarios.md +174 -0
- package/dist/tools/prompts/memory/en/tools.md +154 -0
- package/dist/tools/prompts/memory/zh/errors.md +155 -0
- package/dist/tools/prompts/memory/zh/index.md +47 -0
- package/dist/tools/prompts/memory/zh/principles.md +79 -0
- package/dist/tools/prompts/memory/zh/scenarios.md +174 -0
- package/dist/tools/prompts/memory/zh/tools.md +154 -0
- package/dist/tools/ripgrep.js +197 -63
- package/package.json +2 -2
- package/dist/static/assets/index-B-8J28g7.js.map +0 -1
|
@@ -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,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildDriveBaseContextMessages = buildDriveBaseContextMessages;
|
|
4
|
+
exports.appendDriveEphemeralContext = appendDriveEphemeralContext;
|
|
5
|
+
exports.appendDriveTailContext = appendDriveTailContext;
|
|
6
|
+
exports.assembleDriveContextMessages = assembleDriveContextMessages;
|
|
7
|
+
function findLastUserPromptLikeIndex(msgs) {
|
|
8
|
+
for (let i = msgs.length - 1; i >= 0; i--) {
|
|
9
|
+
const msg = msgs[i];
|
|
10
|
+
if (msg &&
|
|
11
|
+
(msg.type === 'prompting_msg' || msg.type === 'environment_msg') &&
|
|
12
|
+
msg.role === 'user') {
|
|
13
|
+
return i;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return -1;
|
|
17
|
+
}
|
|
18
|
+
function insertBeforeLastUserPromptLike(msgs, toInsert) {
|
|
19
|
+
if (toInsert.length === 0)
|
|
20
|
+
return [...msgs];
|
|
21
|
+
const next = [...msgs];
|
|
22
|
+
const insertIndex = findLastUserPromptLikeIndex(next);
|
|
23
|
+
if (insertIndex >= 0) {
|
|
24
|
+
next.splice(insertIndex, 0, ...toInsert);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
next.push(...toInsert);
|
|
28
|
+
}
|
|
29
|
+
return next;
|
|
30
|
+
}
|
|
31
|
+
function buildDriveBaseContextMessages(parts) {
|
|
32
|
+
return [
|
|
33
|
+
...parts.prependedContextMessages,
|
|
34
|
+
...parts.memories,
|
|
35
|
+
...(parts.taskDocMsg ? [parts.taskDocMsg] : []),
|
|
36
|
+
...parts.coursePrefixMsgs,
|
|
37
|
+
...parts.dialogMsgsForContext,
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
function appendDriveEphemeralContext(base, parts) {
|
|
41
|
+
const next = [...base];
|
|
42
|
+
if (Array.isArray(parts.subdialogResponseContextMsgs) &&
|
|
43
|
+
parts.subdialogResponseContextMsgs.length > 0) {
|
|
44
|
+
next.push(...parts.subdialogResponseContextMsgs);
|
|
45
|
+
}
|
|
46
|
+
return next;
|
|
47
|
+
}
|
|
48
|
+
function appendDriveTailContext(source, parts) {
|
|
49
|
+
const withReminders = insertBeforeLastUserPromptLike(source, parts.renderedReminders);
|
|
50
|
+
return insertBeforeLastUserPromptLike(withReminders, [parts.languageGuideMsg]);
|
|
51
|
+
}
|
|
52
|
+
function assembleDriveContextMessages(args) {
|
|
53
|
+
const baseMsgs = buildDriveBaseContextMessages(args.base);
|
|
54
|
+
const withEphemeral = appendDriveEphemeralContext(baseMsgs, args.ephemeral);
|
|
55
|
+
return appendDriveTailContext(withEphemeral, args.tail);
|
|
56
|
+
}
|