dominds 1.24.2 → 1.24.4
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/dist/apps/runtime.js +0 -3
- package/dist/dialog-display-state.js +4 -2
- package/dist/dialog-global-registry.d.ts +15 -1
- package/dist/dialog-global-registry.js +73 -5
- package/dist/dialog.d.ts +3 -3
- package/dist/dialog.js +4 -2
- package/dist/docs/tellask-background-continuation-refactor.zh.md +144 -15
- package/dist/llm/gen/mock.js +2 -0
- package/dist/llm/kernel-driver/drive.js +84 -16
- package/dist/llm/kernel-driver/flow.js +375 -100
- package/dist/llm/kernel-driver/loop.js +85 -46
- package/dist/llm/kernel-driver/reply-guidance.js +0 -3
- package/dist/llm/kernel-driver/tellask-special.d.ts +1 -0
- package/dist/llm/kernel-driver/tellask-special.js +3 -0
- package/dist/llm/kernel-driver/types.d.ts +10 -5
- package/dist/persistence.d.ts +30 -1
- package/dist/persistence.js +186 -4
- package/dist/runtime/driver-messages.d.ts +1 -0
- package/dist/runtime/driver-messages.js +7 -2
- package/dist/server/websocket-handler.d.ts +14 -0
- package/dist/server/websocket-handler.js +42 -3
- package/package.json +4 -4
- package/webapp/dist/assets/{_basePickBy-DBvh4H3k.js → _basePickBy-ZLV93S3E.js} +3 -3
- package/webapp/dist/assets/{_basePickBy-DBvh4H3k.js.map → _basePickBy-ZLV93S3E.js.map} +1 -1
- package/webapp/dist/assets/{_baseUniq-CQmc9B-o.js → _baseUniq-D0wSOJ06.js} +2 -2
- package/webapp/dist/assets/{_baseUniq-CQmc9B-o.js.map → _baseUniq-D0wSOJ06.js.map} +1 -1
- package/webapp/dist/assets/{arc-DfLiOX_4.js → arc-BHclbMTS.js} +2 -2
- package/webapp/dist/assets/{arc-DfLiOX_4.js.map → arc-BHclbMTS.js.map} +1 -1
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CaTVJ5ev.js → architectureDiagram-2XIMDMQ5-CK99gE_D.js} +7 -7
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CaTVJ5ev.js.map → architectureDiagram-2XIMDMQ5-CK99gE_D.js.map} +1 -1
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DlmAtUca.js → blockDiagram-WCTKOSBZ-fE5MBTEU.js} +7 -7
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DlmAtUca.js.map → blockDiagram-WCTKOSBZ-fE5MBTEU.js.map} +1 -1
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-CNHKD5Sl.js → c4Diagram-IC4MRINW-BSLyPyoU.js} +3 -3
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-CNHKD5Sl.js.map → c4Diagram-IC4MRINW-BSLyPyoU.js.map} +1 -1
- package/webapp/dist/assets/{channel-BTWhZYd5.js → channel-DSvMpp-a.js} +2 -2
- package/webapp/dist/assets/{channel-BTWhZYd5.js.map → channel-DSvMpp-a.js.map} +1 -1
- package/webapp/dist/assets/{chunk-4BX2VUAB-CV1n0Uhy.js → chunk-4BX2VUAB-OXEX170k.js} +2 -2
- package/webapp/dist/assets/{chunk-4BX2VUAB-CV1n0Uhy.js.map → chunk-4BX2VUAB-OXEX170k.js.map} +1 -1
- package/webapp/dist/assets/{chunk-55IACEB6-C5r77i_p.js → chunk-55IACEB6-BFQ_spQD.js} +2 -2
- package/webapp/dist/assets/{chunk-55IACEB6-C5r77i_p.js.map → chunk-55IACEB6-BFQ_spQD.js.map} +1 -1
- package/webapp/dist/assets/{chunk-FMBD7UC4-DJ1yHxrH.js → chunk-FMBD7UC4-CbQ2BBPs.js} +2 -2
- package/webapp/dist/assets/{chunk-FMBD7UC4-DJ1yHxrH.js.map → chunk-FMBD7UC4-CbQ2BBPs.js.map} +1 -1
- package/webapp/dist/assets/{chunk-JSJVCQXG-Ahg9hCCm.js → chunk-JSJVCQXG-C4P1mjCL.js} +2 -2
- package/webapp/dist/assets/{chunk-JSJVCQXG-Ahg9hCCm.js.map → chunk-JSJVCQXG-C4P1mjCL.js.map} +1 -1
- package/webapp/dist/assets/{chunk-KX2RTZJC-qBrewKt0.js → chunk-KX2RTZJC-BMd-daMY.js} +2 -2
- package/webapp/dist/assets/{chunk-KX2RTZJC-qBrewKt0.js.map → chunk-KX2RTZJC-BMd-daMY.js.map} +1 -1
- package/webapp/dist/assets/{chunk-NQ4KR5QH-1lEdM6Wi.js → chunk-NQ4KR5QH-B_ZhWMXR.js} +4 -4
- package/webapp/dist/assets/{chunk-NQ4KR5QH-1lEdM6Wi.js.map → chunk-NQ4KR5QH-B_ZhWMXR.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QZHKN3VN-ChVR749G.js → chunk-QZHKN3VN-Cbf92xIw.js} +2 -2
- package/webapp/dist/assets/{chunk-QZHKN3VN-ChVR749G.js.map → chunk-QZHKN3VN-Cbf92xIw.js.map} +1 -1
- package/webapp/dist/assets/{chunk-WL4C6EOR-BAUXgk0K.js → chunk-WL4C6EOR-PtH-blkK.js} +6 -6
- package/webapp/dist/assets/{chunk-WL4C6EOR-BAUXgk0K.js.map → chunk-WL4C6EOR-PtH-blkK.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DlqyhKve.js → classDiagram-VBA2DB6C-Dc3ncaD0.js} +7 -7
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DlqyhKve.js.map → classDiagram-VBA2DB6C-Dc3ncaD0.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DlqyhKve.js → classDiagram-v2-RAHNMMFH-Dc3ncaD0.js} +7 -7
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DlqyhKve.js.map → classDiagram-v2-RAHNMMFH-Dc3ncaD0.js.map} +1 -1
- package/webapp/dist/assets/{clone-BFiIqUsc.js → clone-E9Ad85BC.js} +2 -2
- package/webapp/dist/assets/{clone-BFiIqUsc.js.map → clone-E9Ad85BC.js.map} +1 -1
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-JYvhtd6J.js → cose-bilkent-S5V4N54A-B-nj0o74.js} +2 -2
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-JYvhtd6J.js.map → cose-bilkent-S5V4N54A-B-nj0o74.js.map} +1 -1
- package/webapp/dist/assets/{dagre-KLK3FWXG-CCGcQh6w.js → dagre-KLK3FWXG-CyJYNIbm.js} +7 -7
- package/webapp/dist/assets/{dagre-KLK3FWXG-CCGcQh6w.js.map → dagre-KLK3FWXG-CyJYNIbm.js.map} +1 -1
- package/webapp/dist/assets/{diagram-E7M64L7V-BXC4AxAd.js → diagram-E7M64L7V-C8eweQ7b.js} +8 -8
- package/webapp/dist/assets/{diagram-E7M64L7V-BXC4AxAd.js.map → diagram-E7M64L7V-C8eweQ7b.js.map} +1 -1
- package/webapp/dist/assets/{diagram-IFDJBPK2-B--Sb3XT.js → diagram-IFDJBPK2-DMdygRl0.js} +7 -7
- package/webapp/dist/assets/{diagram-IFDJBPK2-B--Sb3XT.js.map → diagram-IFDJBPK2-DMdygRl0.js.map} +1 -1
- package/webapp/dist/assets/{diagram-P4PSJMXO-CVqgtrh3.js → diagram-P4PSJMXO-BQDZHb0a.js} +7 -7
- package/webapp/dist/assets/{diagram-P4PSJMXO-CVqgtrh3.js.map → diagram-P4PSJMXO-BQDZHb0a.js.map} +1 -1
- package/webapp/dist/assets/{erDiagram-INFDFZHY-BniHaRTt.js → erDiagram-INFDFZHY-C1HaXN6E.js} +5 -5
- package/webapp/dist/assets/{erDiagram-INFDFZHY-BniHaRTt.js.map → erDiagram-INFDFZHY-C1HaXN6E.js.map} +1 -1
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-wLKFBWTR.js → flowDiagram-PKNHOUZH-24nNqQyo.js} +7 -7
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-wLKFBWTR.js.map → flowDiagram-PKNHOUZH-24nNqQyo.js.map} +1 -1
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DrptcitZ.js → ganttDiagram-A5KZAMGK-BWPOFaLV.js} +3 -3
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DrptcitZ.js.map → ganttDiagram-A5KZAMGK-BWPOFaLV.js.map} +1 -1
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-C6l5aP44.js → gitGraphDiagram-K3NZZRJ6-D7_L-p_Y.js} +8 -8
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-C6l5aP44.js.map → gitGraphDiagram-K3NZZRJ6-D7_L-p_Y.js.map} +1 -1
- package/webapp/dist/assets/{graph-DXuQGYQN.js → graph-OHu4dL2n.js} +3 -3
- package/webapp/dist/assets/{graph-DXuQGYQN.js.map → graph-OHu4dL2n.js.map} +1 -1
- package/webapp/dist/assets/{index-DuQ1OCMG.js → index-CDCDAfqP.js} +165 -67
- package/webapp/dist/assets/{index-DuQ1OCMG.js.map → index-CDCDAfqP.js.map} +1 -1
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-BbleCSjW.js → infoDiagram-LFFYTUFH-CvaBM5j6.js} +6 -6
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-BbleCSjW.js.map → infoDiagram-LFFYTUFH-CvaBM5j6.js.map} +1 -1
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-DmV-LZuk.js → ishikawaDiagram-PHBUUO56-DB1l2Uue.js} +2 -2
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-DmV-LZuk.js.map → ishikawaDiagram-PHBUUO56-DB1l2Uue.js.map} +1 -1
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-D3sQFfac.js → journeyDiagram-4ABVD52K-TQR6_teO.js} +5 -5
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-D3sQFfac.js.map → journeyDiagram-4ABVD52K-TQR6_teO.js.map} +1 -1
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BEeBlBtM.js → kanban-definition-K7BYSVSG-B-BOuC-U.js} +3 -3
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-BEeBlBtM.js.map → kanban-definition-K7BYSVSG-B-BOuC-U.js.map} +1 -1
- package/webapp/dist/assets/{layout-g7jjgV-W.js → layout-B8yqIqbx.js} +5 -5
- package/webapp/dist/assets/{layout-g7jjgV-W.js.map → layout-B8yqIqbx.js.map} +1 -1
- package/webapp/dist/assets/{linear-D_X91Yek.js → linear-CoLfiZKK.js} +2 -2
- package/webapp/dist/assets/{linear-D_X91Yek.js.map → linear-CoLfiZKK.js.map} +1 -1
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-NkMAIgRY.js → mindmap-definition-YRQLILUH-P70BMIHI.js} +4 -4
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-NkMAIgRY.js.map → mindmap-definition-YRQLILUH-P70BMIHI.js.map} +1 -1
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-Z6E4GEPC.js → pieDiagram-SKSYHLDU-DsS_4dTB.js} +8 -8
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-Z6E4GEPC.js.map → pieDiagram-SKSYHLDU-DsS_4dTB.js.map} +1 -1
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BH8hfOuU.js → quadrantDiagram-337W2JSQ-DoM9PEq-.js} +3 -3
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BH8hfOuU.js.map → quadrantDiagram-337W2JSQ-DoM9PEq-.js.map} +1 -1
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DRJkvoQI.js → requirementDiagram-Z7DCOOCP-Bn3lYMMI.js} +4 -4
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DRJkvoQI.js.map → requirementDiagram-Z7DCOOCP-Bn3lYMMI.js.map} +1 -1
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-D2VwjtJo.js → sankeyDiagram-WA2Y5GQK-97kCegRT.js} +2 -2
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-D2VwjtJo.js.map → sankeyDiagram-WA2Y5GQK-97kCegRT.js.map} +1 -1
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-Cq-gEPOw.js → sequenceDiagram-2WXFIKYE-DXqjQjf6.js} +4 -4
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-Cq-gEPOw.js.map → sequenceDiagram-2WXFIKYE-DXqjQjf6.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-CFM8Jqke.js → stateDiagram-RAJIS63D-DQcTPKWP.js} +9 -9
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-CFM8Jqke.js.map → stateDiagram-RAJIS63D-DQcTPKWP.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-Dip5iGX_.js → stateDiagram-v2-FVOUBMTO-DHmxRVJn.js} +5 -5
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-Dip5iGX_.js.map → stateDiagram-v2-FVOUBMTO-DHmxRVJn.js.map} +1 -1
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-OI9JzMjX.js → timeline-definition-YZTLITO2-BlovQQ4B.js} +3 -3
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-OI9JzMjX.js.map → timeline-definition-YZTLITO2-BlovQQ4B.js.map} +1 -1
- package/webapp/dist/assets/{treemap-KZPCXAKY-CtNF416A.js → treemap-KZPCXAKY-CGu93c9S.js} +5 -5
- package/webapp/dist/assets/{treemap-KZPCXAKY-CtNF416A.js.map → treemap-KZPCXAKY-CGu93c9S.js.map} +1 -1
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-CjaPj4FZ.js → vennDiagram-LZ73GAT5-Do1jprrz.js} +2 -2
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-CjaPj4FZ.js.map → vennDiagram-LZ73GAT5-Do1jprrz.js.map} +1 -1
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-21mBt9iu.js → xychartDiagram-JWTSCODW-BKa1DxVq.js} +3 -3
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-21mBt9iu.js.map → xychartDiagram-JWTSCODW-BKa1DxVq.js.map} +1 -1
- package/webapp/dist/index.html +1 -1
|
@@ -138,6 +138,40 @@ function buildInterruptedFuncResult(args) {
|
|
|
138
138
|
genseq: args.callGenseq,
|
|
139
139
|
};
|
|
140
140
|
}
|
|
141
|
+
function sameDialogBusinessContinuation(left, right) {
|
|
142
|
+
if (left.kind !== right.kind)
|
|
143
|
+
return false;
|
|
144
|
+
switch (left.kind) {
|
|
145
|
+
case 'none':
|
|
146
|
+
return true;
|
|
147
|
+
case 'inter_dialog_reply': {
|
|
148
|
+
if (right.kind !== 'inter_dialog_reply')
|
|
149
|
+
return false;
|
|
150
|
+
return (sameTellaskReplyDirective(left.tellaskReplyDirective, right.tellaskReplyDirective) &&
|
|
151
|
+
sameDialogCalleeReplyTarget(left.calleeDialogReplyTarget, right.calleeDialogReplyTarget));
|
|
152
|
+
}
|
|
153
|
+
default: {
|
|
154
|
+
const _exhaustive = left;
|
|
155
|
+
throw new Error(`Unhandled business continuation kind: ${String(_exhaustive)}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function sameTellaskReplyDirective(left, right) {
|
|
160
|
+
return (left.expectedReplyCallName === right.expectedReplyCallName &&
|
|
161
|
+
left.targetDialogId === right.targetDialogId &&
|
|
162
|
+
left.targetCallId === right.targetCallId &&
|
|
163
|
+
left.tellaskContent === right.tellaskContent);
|
|
164
|
+
}
|
|
165
|
+
function sameDialogCalleeReplyTarget(left, right) {
|
|
166
|
+
if (left === undefined || right === undefined) {
|
|
167
|
+
return left === right;
|
|
168
|
+
}
|
|
169
|
+
return (left.callerDialogId === right.callerDialogId &&
|
|
170
|
+
left.callType === right.callType &&
|
|
171
|
+
left.callId === right.callId &&
|
|
172
|
+
left.callSiteCourse === right.callSiteCourse &&
|
|
173
|
+
left.callSiteGenseq === right.callSiteGenseq);
|
|
174
|
+
}
|
|
141
175
|
function isFbrSideDialog(dlg) {
|
|
142
176
|
return dlg instanceof dialog_1.SideDialog && dlg.assignmentFromAsker.callName === 'freshBootsReasoning';
|
|
143
177
|
}
|
|
@@ -1171,6 +1205,7 @@ async function upsertImmediateFollowupTrigger(args) {
|
|
|
1171
1205
|
genseq: (0, storage_1.toCallSiteGenseqNo)(genseq),
|
|
1172
1206
|
},
|
|
1173
1207
|
reasons,
|
|
1208
|
+
continuation: args.continuation,
|
|
1174
1209
|
});
|
|
1175
1210
|
}
|
|
1176
1211
|
function shouldImmediatelyFollowUpSuccessfulToolResult(tool) {
|
|
@@ -1449,6 +1484,7 @@ async function executeFunctionRound(args) {
|
|
|
1449
1484
|
immediateFollowupCallIds: [],
|
|
1450
1485
|
immediateTellaskOutputCallIds: [],
|
|
1451
1486
|
shouldStopAfterReplyTool: false,
|
|
1487
|
+
shouldStopAfterPendingTellaskWait: false,
|
|
1452
1488
|
pairedMessages: [],
|
|
1453
1489
|
tellaskToolOutputs: [],
|
|
1454
1490
|
};
|
|
@@ -1558,6 +1594,7 @@ async function executeFunctionRound(args) {
|
|
|
1558
1594
|
immediateFollowupCallIds,
|
|
1559
1595
|
immediateTellaskOutputCallIds: tellaskRound.immediateTellaskOutputCallIds,
|
|
1560
1596
|
shouldStopAfterReplyTool: tellaskRound.shouldStopAfterReplyTool,
|
|
1597
|
+
shouldStopAfterPendingTellaskWait: tellaskRound.shouldStopAfterPendingTellaskWait,
|
|
1561
1598
|
pairedMessages,
|
|
1562
1599
|
tellaskToolOutputs: [...tellaskRound.toolOutputs],
|
|
1563
1600
|
};
|
|
@@ -1751,20 +1788,20 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
1751
1788
|
const suppressDiligencePushForDrive = driveOptions?.suppressDiligencePush === true && dlg.disableDiligencePush;
|
|
1752
1789
|
const abortSignal = (0, dialog_display_state_1.getActiveRunSignal)(dlg.id) ?? (0, dialog_display_state_1.createActiveRun)(dlg.id);
|
|
1753
1790
|
let finalDisplayState;
|
|
1754
|
-
let criticalUserInterjectionRuntimeGuide = driveOptions?.criticalUserInterjectionRuntimeGuide;
|
|
1755
1791
|
let lastAssistantSayingContent = null;
|
|
1756
1792
|
let lastAssistantSayingGenseq = null;
|
|
1757
1793
|
let lastAssistantThinkingContent = null;
|
|
1758
1794
|
let lastAssistantThinkingGenseq = null;
|
|
1759
1795
|
let lastFunctionCallGenseq = null;
|
|
1760
1796
|
let lastAssistantReplyTarget;
|
|
1797
|
+
let lastBusinessContinuation = { kind: 'none' };
|
|
1761
1798
|
let fbrConclusion;
|
|
1762
1799
|
let pubRemindersVer = dlg.remindersVer;
|
|
1763
1800
|
let pendingPrompt = humanPrompt;
|
|
1764
1801
|
let resolvingImmediateToolResultForUserPrompt = false;
|
|
1765
1802
|
let resolvingImmediateToolResultUserPromptMsgId;
|
|
1766
|
-
let criticalRemediationAppliedUserPromptMsgId =
|
|
1767
|
-
humanPrompt
|
|
1803
|
+
let criticalRemediationAppliedUserPromptMsgId = humanPrompt?.origin === 'user' &&
|
|
1804
|
+
(0, driver_messages_1.isAgentFacingCriticalUserInterjectionRemediationGuideContent)(humanPrompt.content)
|
|
1768
1805
|
? humanPrompt.msgId
|
|
1769
1806
|
: undefined;
|
|
1770
1807
|
let retryStoppedRecoveryPrompt;
|
|
@@ -1899,8 +1936,10 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
1899
1936
|
snapshot,
|
|
1900
1937
|
hadUserPromptThisGen: currentGenerationBelongsToUserPrompt,
|
|
1901
1938
|
hadUserPromptInImmediateToolChain: currentGenerationBelongsToUserToolChain,
|
|
1902
|
-
userPromptCriticalRemediationAlreadyApplied: criticalRemediationAppliedUserPromptMsgId !== undefined &&
|
|
1903
|
-
criticalRemediationAppliedUserPromptMsgId === currentUserPromptMsgId
|
|
1939
|
+
userPromptCriticalRemediationAlreadyApplied: (criticalRemediationAppliedUserPromptMsgId !== undefined &&
|
|
1940
|
+
criticalRemediationAppliedUserPromptMsgId === currentUserPromptMsgId) ||
|
|
1941
|
+
(currentPendingPrompt?.origin === 'user' &&
|
|
1942
|
+
(0, driver_messages_1.isAgentFacingCriticalUserInterjectionRemediationGuideContent)(currentPendingPrompt.content)),
|
|
1904
1943
|
canInjectPromptThisGen: !hasQueuedUpNext,
|
|
1905
1944
|
cautionRemediationCadenceGenerations,
|
|
1906
1945
|
criticalCountdownRemaining,
|
|
@@ -1923,13 +1962,13 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
1923
1962
|
skipTaskdocForThisDrive = false;
|
|
1924
1963
|
}
|
|
1925
1964
|
else if (healthDecision.reason === 'critical_user_prompt_remediation') {
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
promptsRemainingAfterThis: (0, context_health_1.consumeCriticalCountdown)(dlg.id.key()),
|
|
1965
|
+
if (currentPendingPrompt === undefined ||
|
|
1966
|
+
!(0, driver_messages_1.isAgentFacingCriticalUserInterjectionRemediationGuideContent)(currentPendingPrompt.content)) {
|
|
1967
|
+
log_1.log.warn('kernel-driver observed unwrapped critical user prompt; critical user interjection wrapping must happen at ingress', undefined, {
|
|
1968
|
+
dialogId: dlg.id.valueOf(),
|
|
1969
|
+
msgId: currentUserPromptMsgId ?? null,
|
|
1932
1970
|
});
|
|
1971
|
+
}
|
|
1933
1972
|
criticalRemediationAppliedUserPromptMsgId = currentUserPromptMsgId;
|
|
1934
1973
|
}
|
|
1935
1974
|
else if (!hasQueuedUpNext) {
|
|
@@ -1962,6 +2001,16 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
1962
2001
|
let llmGenModelForGen = model;
|
|
1963
2002
|
const currentPrompt = pendingPrompt;
|
|
1964
2003
|
const currentReplyTarget = currentPrompt?.calleeDialogReplyTarget;
|
|
2004
|
+
let currentBusinessContinuation = driveOptions?.businessContinuation ?? { kind: 'none' };
|
|
2005
|
+
if (currentPrompt?.tellaskReplyDirective !== undefined) {
|
|
2006
|
+
currentBusinessContinuation = {
|
|
2007
|
+
kind: 'inter_dialog_reply',
|
|
2008
|
+
tellaskReplyDirective: currentPrompt.tellaskReplyDirective,
|
|
2009
|
+
...(currentPrompt.calleeDialogReplyTarget === undefined
|
|
2010
|
+
? {}
|
|
2011
|
+
: { calleeDialogReplyTarget: currentPrompt.calleeDialogReplyTarget }),
|
|
2012
|
+
};
|
|
2013
|
+
}
|
|
1965
2014
|
const currentFbrState = await loadDialogFbrState(dlg);
|
|
1966
2015
|
let currentRuntimeGuideMsg;
|
|
1967
2016
|
const currentPromptFromFbrState = currentPrompt !== undefined &&
|
|
@@ -1983,12 +2032,20 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
1983
2032
|
break;
|
|
1984
2033
|
}
|
|
1985
2034
|
}
|
|
1986
|
-
await dlg.notifyGeneratingStart(currentPrompt?.msgId);
|
|
1987
|
-
|
|
1988
|
-
if (
|
|
1989
|
-
|
|
1990
|
-
|
|
2035
|
+
const acceptedTriggers = await dlg.notifyGeneratingStart(currentPrompt?.msgId);
|
|
2036
|
+
for (const trigger of acceptedTriggers) {
|
|
2037
|
+
if (trigger.kind === 'followup' && trigger.continuation !== undefined) {
|
|
2038
|
+
if (currentBusinessContinuation.kind !== 'none' &&
|
|
2039
|
+
!sameDialogBusinessContinuation(currentBusinessContinuation, trigger.continuation)) {
|
|
2040
|
+
throw new Error(`Business continuation invariant violation: conflicting accepted followup continuations ` +
|
|
2041
|
+
`(dialog=${dlg.id.valueOf()}, course=${String(dlg.activeGenCourseOrUndefined ?? dlg.currentCourse)}, ` +
|
|
2042
|
+
`genseq=${String(dlg.activeGenSeq)}, triggerId=${trigger.triggerId})`);
|
|
2043
|
+
}
|
|
2044
|
+
currentBusinessContinuation = trigger.continuation;
|
|
1991
2045
|
}
|
|
2046
|
+
}
|
|
2047
|
+
lastBusinessContinuation = currentBusinessContinuation;
|
|
2048
|
+
try {
|
|
1992
2049
|
if (currentPrompt) {
|
|
1993
2050
|
if (currentPrompt.skipTaskdoc === true) {
|
|
1994
2051
|
skipTaskdocForThisDrive = true;
|
|
@@ -2680,6 +2737,7 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
2680
2737
|
lastAssistantThinkingGenseq,
|
|
2681
2738
|
lastFunctionCallGenseq,
|
|
2682
2739
|
lastAssistantReplyTarget,
|
|
2740
|
+
lastBusinessContinuation,
|
|
2683
2741
|
};
|
|
2684
2742
|
}
|
|
2685
2743
|
const nextFbrState = (0, fbr_1.advanceFbrState)(persistedFbrState);
|
|
@@ -2832,6 +2890,14 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
2832
2890
|
routed.hasImmediateTellaskOutputs ||
|
|
2833
2891
|
invalidFuncCallCount > 0;
|
|
2834
2892
|
if (!shouldStartImmediatePostToolGeneration) {
|
|
2893
|
+
if (routed.shouldStopAfterPendingTellaskWait) {
|
|
2894
|
+
log_1.log.debug('kernel-driver stop round after pending tellask wait boundary', undefined, {
|
|
2895
|
+
dialogId: dlg.id.valueOf(),
|
|
2896
|
+
rootId: dlg.id.rootId,
|
|
2897
|
+
selfId: dlg.id.selfId,
|
|
2898
|
+
});
|
|
2899
|
+
break;
|
|
2900
|
+
}
|
|
2835
2901
|
const healthFirst = await maybeContinueWithHealthPromptBeforeDiligence({
|
|
2836
2902
|
dlg,
|
|
2837
2903
|
providerCfg,
|
|
@@ -2861,6 +2927,7 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
2861
2927
|
routed,
|
|
2862
2928
|
invalidFuncCallCount,
|
|
2863
2929
|
streamedFuncCalls,
|
|
2930
|
+
continuation: currentBusinessContinuation,
|
|
2864
2931
|
});
|
|
2865
2932
|
resolvingImmediateToolResultForUserPrompt =
|
|
2866
2933
|
currentGenerationBelongsToUserPrompt ||
|
|
@@ -3013,6 +3080,7 @@ async function driveDialogStreamCore(dlg, callbacks, humanPrompt, driveOptions)
|
|
|
3013
3080
|
lastAssistantThinkingGenseq,
|
|
3014
3081
|
lastFunctionCallGenseq,
|
|
3015
3082
|
lastAssistantReplyTarget,
|
|
3083
|
+
lastBusinessContinuation,
|
|
3016
3084
|
fbrConclusion,
|
|
3017
3085
|
};
|
|
3018
3086
|
}
|