dominds 0.8.1 → 0.8.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 (99) hide show
  1. package/dist/agent-priming.js +48 -16
  2. package/dist/dialog.js +3 -13
  3. package/dist/llm/driver-v2/supdialog-response.js +1 -11
  4. package/dist/llm/driver-v2/tellask-bridge.js +1 -9
  5. package/dist/persistence.js +22 -36
  6. package/dist/shared/utils/inter-dialog-format.js +2 -2
  7. package/dist/static/assets/{_baseUniq-D4N_zVXV.js → _baseUniq-BQQDkYjW.js} +2 -2
  8. package/dist/static/assets/{_baseUniq-D4N_zVXV.js.map → _baseUniq-BQQDkYjW.js.map} +1 -1
  9. package/dist/static/assets/{arc-7bP9qomB.js → arc-D9VW2OIF.js} +2 -2
  10. package/dist/static/assets/{arc-7bP9qomB.js.map → arc-D9VW2OIF.js.map} +1 -1
  11. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DToIiZuZ.js → architectureDiagram-VXUJARFQ-DeorRGuF.js} +6 -6
  12. package/dist/static/assets/{architectureDiagram-VXUJARFQ-DToIiZuZ.js.map → architectureDiagram-VXUJARFQ-DeorRGuF.js.map} +1 -1
  13. package/dist/static/assets/{blockDiagram-VD42YOAC-C-pRNHpf.js → blockDiagram-VD42YOAC-CnOA6OCa.js} +7 -7
  14. package/dist/static/assets/{blockDiagram-VD42YOAC-C-pRNHpf.js.map → blockDiagram-VD42YOAC-CnOA6OCa.js.map} +1 -1
  15. package/dist/static/assets/{c4Diagram-YG6GDRKO-Bnp-nWKO.js → c4Diagram-YG6GDRKO-CjpO0nXo.js} +3 -3
  16. package/dist/static/assets/{c4Diagram-YG6GDRKO-Bnp-nWKO.js.map → c4Diagram-YG6GDRKO-CjpO0nXo.js.map} +1 -1
  17. package/dist/static/assets/{channel-CTv1SsAF.js → channel-B6t8yjZQ.js} +2 -2
  18. package/dist/static/assets/{channel-CTv1SsAF.js.map → channel-B6t8yjZQ.js.map} +1 -1
  19. package/dist/static/assets/{chunk-4BX2VUAB-D_OGa3ss.js → chunk-4BX2VUAB-oA-Uv0N5.js} +2 -2
  20. package/dist/static/assets/{chunk-4BX2VUAB-D_OGa3ss.js.map → chunk-4BX2VUAB-oA-Uv0N5.js.map} +1 -1
  21. package/dist/static/assets/{chunk-55IACEB6-I4o4MCuM.js → chunk-55IACEB6-hWcXX4Dk.js} +2 -2
  22. package/dist/static/assets/{chunk-55IACEB6-I4o4MCuM.js.map → chunk-55IACEB6-hWcXX4Dk.js.map} +1 -1
  23. package/dist/static/assets/{chunk-B4BG7PRW-Bp-TIXg6.js → chunk-B4BG7PRW-vCNRSkGX.js} +5 -5
  24. package/dist/static/assets/{chunk-B4BG7PRW-Bp-TIXg6.js.map → chunk-B4BG7PRW-vCNRSkGX.js.map} +1 -1
  25. package/dist/static/assets/{chunk-DI55MBZ5-Bnph5Hmd.js → chunk-DI55MBZ5-CMlImJ8W.js} +4 -4
  26. package/dist/static/assets/{chunk-DI55MBZ5-Bnph5Hmd.js.map → chunk-DI55MBZ5-CMlImJ8W.js.map} +1 -1
  27. package/dist/static/assets/{chunk-FMBD7UC4-q3UyRsNI.js → chunk-FMBD7UC4-C9159kMi.js} +2 -2
  28. package/dist/static/assets/{chunk-FMBD7UC4-q3UyRsNI.js.map → chunk-FMBD7UC4-C9159kMi.js.map} +1 -1
  29. package/dist/static/assets/{chunk-QN33PNHL-BxUlvLXP.js → chunk-QN33PNHL-BrWHoFwa.js} +2 -2
  30. package/dist/static/assets/{chunk-QN33PNHL-BxUlvLXP.js.map → chunk-QN33PNHL-BrWHoFwa.js.map} +1 -1
  31. package/dist/static/assets/{chunk-QZHKN3VN-DpQR9BVw.js → chunk-QZHKN3VN-CgW37qBX.js} +2 -2
  32. package/dist/static/assets/{chunk-QZHKN3VN-DpQR9BVw.js.map → chunk-QZHKN3VN-CgW37qBX.js.map} +1 -1
  33. package/dist/static/assets/{chunk-TZMSLE5B-BX8vrVo0.js → chunk-TZMSLE5B-CJtwjbgx.js} +2 -2
  34. package/dist/static/assets/{chunk-TZMSLE5B-BX8vrVo0.js.map → chunk-TZMSLE5B-CJtwjbgx.js.map} +1 -1
  35. package/dist/static/assets/{classDiagram-2ON5EDUG-Ccx5_2Xq.js → classDiagram-2ON5EDUG-Dpe8z-s9.js} +6 -6
  36. package/dist/static/assets/{classDiagram-2ON5EDUG-Ccx5_2Xq.js.map → classDiagram-2ON5EDUG-Dpe8z-s9.js.map} +1 -1
  37. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-Ccx5_2Xq.js → classDiagram-v2-WZHVMYZB-Dpe8z-s9.js} +6 -6
  38. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-Ccx5_2Xq.js.map → classDiagram-v2-WZHVMYZB-Dpe8z-s9.js.map} +1 -1
  39. package/dist/static/assets/{clone-Cl5zSMrO.js → clone-6qHEU-TP.js} +2 -2
  40. package/dist/static/assets/{clone-Cl5zSMrO.js.map → clone-6qHEU-TP.js.map} +1 -1
  41. package/dist/static/assets/{cose-bilkent-S5V4N54A-B-FUX86B.js → cose-bilkent-S5V4N54A-DHXnyLOv.js} +2 -2
  42. package/dist/static/assets/{cose-bilkent-S5V4N54A-B-FUX86B.js.map → cose-bilkent-S5V4N54A-DHXnyLOv.js.map} +1 -1
  43. package/dist/static/assets/{dagre-6UL2VRFP-Bj8vSSpT.js → dagre-6UL2VRFP-DN9OGfii.js} +7 -7
  44. package/dist/static/assets/{dagre-6UL2VRFP-Bj8vSSpT.js.map → dagre-6UL2VRFP-DN9OGfii.js.map} +1 -1
  45. package/dist/static/assets/{diagram-PSM6KHXK-BPcgy7jf.js → diagram-PSM6KHXK-R6JaPZML.js} +7 -7
  46. package/dist/static/assets/{diagram-PSM6KHXK-BPcgy7jf.js.map → diagram-PSM6KHXK-R6JaPZML.js.map} +1 -1
  47. package/dist/static/assets/{diagram-QEK2KX5R-DHxd6LWi.js → diagram-QEK2KX5R-hOtG__bJ.js} +6 -6
  48. package/dist/static/assets/{diagram-QEK2KX5R-DHxd6LWi.js.map → diagram-QEK2KX5R-hOtG__bJ.js.map} +1 -1
  49. package/dist/static/assets/{diagram-S2PKOQOG-C4ynhhLr.js → diagram-S2PKOQOG-BH3MkMHA.js} +6 -6
  50. package/dist/static/assets/{diagram-S2PKOQOG-C4ynhhLr.js.map → diagram-S2PKOQOG-BH3MkMHA.js.map} +1 -1
  51. package/dist/static/assets/{erDiagram-Q2GNP2WA-CQ25uxxf.js → erDiagram-Q2GNP2WA-hwCF5S5C.js} +5 -5
  52. package/dist/static/assets/{erDiagram-Q2GNP2WA-CQ25uxxf.js.map → erDiagram-Q2GNP2WA-hwCF5S5C.js.map} +1 -1
  53. package/dist/static/assets/{flowDiagram-NV44I4VS-ChkkAldk.js → flowDiagram-NV44I4VS-DSHxoCSZ.js} +6 -6
  54. package/dist/static/assets/{flowDiagram-NV44I4VS-ChkkAldk.js.map → flowDiagram-NV44I4VS-DSHxoCSZ.js.map} +1 -1
  55. package/dist/static/assets/{ganttDiagram-JELNMOA3-CBt_Zorl.js → ganttDiagram-JELNMOA3-DaJrRw85.js} +3 -3
  56. package/dist/static/assets/{ganttDiagram-JELNMOA3-CBt_Zorl.js.map → ganttDiagram-JELNMOA3-DaJrRw85.js.map} +1 -1
  57. package/dist/static/assets/{gitGraphDiagram-NY62KEGX-CtBc2dOO.js → gitGraphDiagram-NY62KEGX-65AIqn8B.js} +7 -7
  58. package/dist/static/assets/{gitGraphDiagram-NY62KEGX-CtBc2dOO.js.map → gitGraphDiagram-NY62KEGX-65AIqn8B.js.map} +1 -1
  59. package/dist/static/assets/{graph-BGzNnzuI.js → graph-txx-dN-Y.js} +3 -3
  60. package/dist/static/assets/{graph-BGzNnzuI.js.map → graph-txx-dN-Y.js.map} +1 -1
  61. package/dist/static/assets/{index-Vrp1PT3b.js → index-l25foR5f.js} +334 -74
  62. package/dist/static/assets/index-l25foR5f.js.map +1 -0
  63. package/dist/static/assets/{infoDiagram-WHAUD3N6-BYJF-Ol5.js → infoDiagram-WHAUD3N6-DWsEnxF_.js} +5 -5
  64. package/dist/static/assets/{infoDiagram-WHAUD3N6-BYJF-Ol5.js.map → infoDiagram-WHAUD3N6-DWsEnxF_.js.map} +1 -1
  65. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Cl2p8ZBw.js → journeyDiagram-XKPGCS4Q-CmT5AYT3.js} +5 -5
  66. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Cl2p8ZBw.js.map → journeyDiagram-XKPGCS4Q-CmT5AYT3.js.map} +1 -1
  67. package/dist/static/assets/{kanban-definition-3W4ZIXB7-DBH-HEwY.js → kanban-definition-3W4ZIXB7-DT2lqVgc.js} +3 -3
  68. package/dist/static/assets/{kanban-definition-3W4ZIXB7-DBH-HEwY.js.map → kanban-definition-3W4ZIXB7-DT2lqVgc.js.map} +1 -1
  69. package/dist/static/assets/{layout-DdWO-uEo.js → layout-S8zTlR0m.js} +5 -5
  70. package/dist/static/assets/{layout-DdWO-uEo.js.map → layout-S8zTlR0m.js.map} +1 -1
  71. package/dist/static/assets/{linear-BY3MovaF.js → linear-BXU_vKT1.js} +2 -2
  72. package/dist/static/assets/{linear-BY3MovaF.js.map → linear-BXU_vKT1.js.map} +1 -1
  73. package/dist/static/assets/{min-aHCJK1uN.js → min-Du3h591V.js} +3 -3
  74. package/dist/static/assets/{min-aHCJK1uN.js.map → min-Du3h591V.js.map} +1 -1
  75. package/dist/static/assets/{mindmap-definition-VGOIOE7T-BjJnBRtB.js → mindmap-definition-VGOIOE7T-Dg0kj52o.js} +4 -4
  76. package/dist/static/assets/{mindmap-definition-VGOIOE7T-BjJnBRtB.js.map → mindmap-definition-VGOIOE7T-Dg0kj52o.js.map} +1 -1
  77. package/dist/static/assets/{pieDiagram-ADFJNKIX-xAcmdymv.js → pieDiagram-ADFJNKIX-CbUv_9y2.js} +7 -7
  78. package/dist/static/assets/{pieDiagram-ADFJNKIX-xAcmdymv.js.map → pieDiagram-ADFJNKIX-CbUv_9y2.js.map} +1 -1
  79. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BPbEGCEj.js → quadrantDiagram-AYHSOK5B-olHVqYDq.js} +3 -3
  80. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BPbEGCEj.js.map → quadrantDiagram-AYHSOK5B-olHVqYDq.js.map} +1 -1
  81. package/dist/static/assets/{requirementDiagram-UZGBJVZJ--w6UfXy0.js → requirementDiagram-UZGBJVZJ-BrAoW4wZ.js} +4 -4
  82. package/dist/static/assets/{requirementDiagram-UZGBJVZJ--w6UfXy0.js.map → requirementDiagram-UZGBJVZJ-BrAoW4wZ.js.map} +1 -1
  83. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B_T6TQwh.js → sankeyDiagram-TZEHDZUN-DkPJIMoK.js} +2 -2
  84. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B_T6TQwh.js.map → sankeyDiagram-TZEHDZUN-DkPJIMoK.js.map} +1 -1
  85. package/dist/static/assets/{sequenceDiagram-WL72ISMW-DX_oVvqA.js → sequenceDiagram-WL72ISMW-B2DQ5HcH.js} +4 -4
  86. package/dist/static/assets/{sequenceDiagram-WL72ISMW-DX_oVvqA.js.map → sequenceDiagram-WL72ISMW-B2DQ5HcH.js.map} +1 -1
  87. package/dist/static/assets/{stateDiagram-FKZM4ZOC-BAybZU8l.js → stateDiagram-FKZM4ZOC-C-dZxUTQ.js} +9 -9
  88. package/dist/static/assets/{stateDiagram-FKZM4ZOC-BAybZU8l.js.map → stateDiagram-FKZM4ZOC-C-dZxUTQ.js.map} +1 -1
  89. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-BUsvuCdD.js → stateDiagram-v2-4FDKWEC3-CE6XVPBT.js} +5 -5
  90. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-BUsvuCdD.js.map → stateDiagram-v2-4FDKWEC3-CE6XVPBT.js.map} +1 -1
  91. package/dist/static/assets/{timeline-definition-IT6M3QCI-DOYN-4XM.js → timeline-definition-IT6M3QCI-BK1ikH27.js} +3 -3
  92. package/dist/static/assets/{timeline-definition-IT6M3QCI-DOYN-4XM.js.map → timeline-definition-IT6M3QCI-BK1ikH27.js.map} +1 -1
  93. package/dist/static/assets/{treemap-KMMF4GRG-CQXygT0T.js → treemap-KMMF4GRG-5DBeofAb.js} +4 -4
  94. package/dist/static/assets/{treemap-KMMF4GRG-CQXygT0T.js.map → treemap-KMMF4GRG-5DBeofAb.js.map} +1 -1
  95. package/dist/static/assets/{xychartDiagram-PRI3JC2R-ByFAvTeN.js → xychartDiagram-PRI3JC2R-O27QygbN.js} +3 -3
  96. package/dist/static/assets/{xychartDiagram-PRI3JC2R-ByFAvTeN.js.map → xychartDiagram-PRI3JC2R-O27QygbN.js.map} +1 -1
  97. package/dist/static/index.html +1 -1
  98. package/package.json +1 -1
  99. package/dist/static/assets/index-Vrp1PT3b.js.map +0 -1
@@ -98,6 +98,10 @@ async function emitSayingEventsAndPersist(dlg, content) {
98
98
  }
99
99
  async function emitSyntheticTellaskCall(dlg, payload) {
100
100
  const callId = payload.callId?.trim() ? payload.callId.trim() : `priming-${(0, id_1.generateShortId)()}`;
101
+ const activeGenseq = dlg.activeGenSeqOrUndefined;
102
+ if (typeof activeGenseq !== 'number' || !Number.isFinite(activeGenseq) || activeGenseq <= 0) {
103
+ throw new Error('emitSyntheticTellaskCall requires an active genseq');
104
+ }
101
105
  switch (payload.callName) {
102
106
  case 'tellask':
103
107
  case 'tellaskSessionless': {
@@ -107,6 +111,29 @@ async function emitSyntheticTellaskCall(dlg, payload) {
107
111
  if (mentionList.length < 1) {
108
112
  throw new Error('emitSyntheticTellaskCall requires mentionList for teammate tellasks');
109
113
  }
114
+ const normalizedTargetAgentId = payload.targetAgentId?.trim() ?? '';
115
+ if (normalizedTargetAgentId === '') {
116
+ throw new Error('emitSyntheticTellaskCall requires targetAgentId for teammate tellasks');
117
+ }
118
+ let functionCallArguments;
119
+ if (payload.callName === 'tellask') {
120
+ const sessionSlug = payload.sessionSlug?.trim() ?? '';
121
+ if (sessionSlug === '') {
122
+ throw new Error('emitSyntheticTellaskCall requires sessionSlug for tellask');
123
+ }
124
+ functionCallArguments = {
125
+ targetAgentId: normalizedTargetAgentId,
126
+ sessionSlug,
127
+ tellaskContent: payload.tellaskContent,
128
+ };
129
+ }
130
+ else {
131
+ functionCallArguments = {
132
+ targetAgentId: normalizedTargetAgentId,
133
+ tellaskContent: payload.tellaskContent,
134
+ };
135
+ }
136
+ await dlg.persistFunctionCall(callId, payload.callName, functionCallArguments, Math.floor(activeGenseq));
110
137
  await dlg.callingStart({
111
138
  callName: payload.callName,
112
139
  callId,
@@ -124,6 +151,10 @@ async function emitSyntheticTellaskCall(dlg, payload) {
124
151
  if (payload.mentionList !== undefined && payload.mentionList.length > 0) {
125
152
  throw new Error('emitSyntheticTellaskCall: freshBootsReasoning must not carry mentionList');
126
153
  }
154
+ const functionCallArguments = {
155
+ tellaskContent: payload.tellaskContent,
156
+ };
157
+ await dlg.persistFunctionCall(callId, payload.callName, functionCallArguments, Math.floor(activeGenseq));
127
158
  await dlg.callingStart({
128
159
  callName: payload.callName,
129
160
  callId,
@@ -871,23 +902,13 @@ function formatFbrTellaskBody(language, snapshotText, options) {
871
902
  const effortLineEn = options.fbrEffort >= 1
872
903
  ? 'Conversation setup: you are one awakened “fresh-boots self.” Terminology mapping: in this FBR sideline, you are the tellaskee (the fresh-boots self), and the tellasker is the outer self (current mainline). In this same round, other fresh-boots selves also provide parallel drafts (no stable mapping—do not treat them as fixed identities). The outer self will make unified decisions only after all feedback returns; provide only this one independent draft and do not finalize next-action decisions for the outer self.'
873
904
  : 'Conversation setup: FBR is disabled for this member (no parallel fresh-boots drafts).';
874
- const tellaskBackHintZh = (() => {
875
- return [
876
- '提示:如果你还想知道更多系统细节,可在本 FBR 支线对话中用 `tellaskBack` 回问诉请者(tellasker,也就是外表自我/当前主线)。',
877
- '(当前这次 FBR 请不要真的发起任何诉请;只需说明你会回问什么。)',
878
- ].join('\n');
879
- })();
880
- const tellaskBackHintEn = (() => {
881
- return [
882
- 'Hint: if you want more system details, ask back in this FBR sideline dialog via `tellaskBack` (to the tellasker, i.e. the outer-self mainline dialog).',
883
- '(In this FBR run, do not actually emit any tellasks; just state what you would ask back.)',
884
- ].join('\n');
885
- })();
905
+ const missingContextHintZh = '提示:本 FBR 支线禁止任何诉请/函数调用;若信息不足,请直接列出“缺失信息 + 为什么阻塞判断”。';
906
+ const missingContextHintEn = 'Hint: this FBR sideline forbids all tellask/function calls; if context is missing, list the missing facts and why they block reasoning.';
886
907
  if (language === 'zh') {
887
908
  return [
888
909
  effortLineZh,
889
910
  '',
890
- tellaskBackHintZh,
911
+ missingContextHintZh,
891
912
  '',
892
913
  '请基于下面环境信息回答:',
893
914
  '- 在这个环境里要注意些什么?',
@@ -901,7 +922,7 @@ function formatFbrTellaskBody(language, snapshotText, options) {
901
922
  return [
902
923
  effortLineEn,
903
924
  '',
904
- tellaskBackHintEn,
925
+ missingContextHintEn,
905
926
  '',
906
927
  'Based on the environment info below, answer:',
907
928
  '- What should we watch out for in this environment?',
@@ -1171,6 +1192,7 @@ async function replayAgentPriming(dlg, entry) {
1171
1192
  const shellCall = await emitSyntheticTellaskCall(dlg, {
1172
1193
  callName: 'tellaskSessionless',
1173
1194
  mentionList: [`@${entry.shell.specialistId}`],
1195
+ targetAgentId: entry.shell.specialistId,
1174
1196
  tellaskContent: entry.shell.tellaskBody,
1175
1197
  });
1176
1198
  shellCallId = shellCall.callId;
@@ -1210,6 +1232,8 @@ async function replayAgentPriming(dlg, entry) {
1210
1232
  const round1 = await emitSyntheticTellaskCall(dlg, {
1211
1233
  callName: 'tellask',
1212
1234
  mentionList: [`@${entry.vcs.specialistId}`],
1235
+ targetAgentId: entry.vcs.specialistId,
1236
+ sessionSlug: entry.vcs.sessionSlug,
1213
1237
  tellaskContent: entry.vcs.round1.tellaskBody,
1214
1238
  });
1215
1239
  round1CallId = round1.callId;
@@ -1238,6 +1262,8 @@ async function replayAgentPriming(dlg, entry) {
1238
1262
  const round2 = await emitSyntheticTellaskCall(dlg, {
1239
1263
  callName: 'tellask',
1240
1264
  mentionList: [`@${entry.vcs.specialistId}`],
1265
+ targetAgentId: entry.vcs.specialistId,
1266
+ sessionSlug: entry.vcs.sessionSlug,
1241
1267
  tellaskContent: entry.vcs.round2.tellaskBody,
1242
1268
  });
1243
1269
  round2CallId = round2.callId;
@@ -1440,15 +1466,17 @@ async function runAgentPrimingLive(dlg) {
1440
1466
  let shellTellaskBodyForSubdialog = null;
1441
1467
  // Phase 1: shell ask (and optional prelude intro)
1442
1468
  if (shellPolicy === 'specialist_only' && specialistId !== null) {
1469
+ const ensuredSpecialistId = specialistId;
1443
1470
  shellTellaskBody = formatShellTellaskBody(language, specialistId);
1444
1471
  assertNotStopped();
1445
1472
  await dlg.withLock(async () => {
1446
1473
  try {
1447
1474
  await dlg.notifyGeneratingStart();
1448
- await emitUiOnlyMarkdownEventsAndPersist(dlg, formatPreludeIntro(language, false, shellPolicy, specialistId));
1475
+ await emitUiOnlyMarkdownEventsAndPersist(dlg, formatPreludeIntro(language, false, shellPolicy, ensuredSpecialistId));
1449
1476
  const call = await emitSyntheticTellaskCall(dlg, {
1450
1477
  callName: 'tellaskSessionless',
1451
- mentionList: [`@${specialistId}`],
1478
+ mentionList: [`@${ensuredSpecialistId}`],
1479
+ targetAgentId: ensuredSpecialistId,
1452
1480
  tellaskContent: shellTellaskBody,
1453
1481
  });
1454
1482
  shellCallId = call.callId;
@@ -1580,6 +1608,8 @@ async function runAgentPrimingLive(dlg) {
1580
1608
  const call = await emitSyntheticTellaskCall(dlg, {
1581
1609
  callName: 'tellask',
1582
1610
  mentionList: [`@${ensuredSpecialistId}`],
1611
+ targetAgentId: ensuredSpecialistId,
1612
+ sessionSlug: PRIMING_VCS_SESSION_SLUG,
1583
1613
  tellaskContent: vcsRound1Body,
1584
1614
  });
1585
1615
  round1CallId = call.callId;
@@ -1651,6 +1681,8 @@ async function runAgentPrimingLive(dlg) {
1651
1681
  const call = await emitSyntheticTellaskCall(dlg, {
1652
1682
  callName: 'tellask',
1653
1683
  mentionList: [`@${ensuredSpecialistId}`],
1684
+ targetAgentId: ensuredSpecialistId,
1685
+ sessionSlug: PRIMING_VCS_SESSION_SLUG,
1654
1686
  tellaskContent: vcsRound2Body,
1655
1687
  });
1656
1688
  round2CallId = call.callId;
package/dist/dialog.js CHANGED
@@ -732,15 +732,7 @@ class Dialog {
732
732
  // NO WAIT - emit immediately with virtual gen markers
733
733
  // Emit virtual generating_start_evt for subdialog response bubble
734
734
  await this.notifyGeneratingStart();
735
- const formattedResult = (0, inter_dialog_format_1.formatTeammateResponseContent)({
736
- callName,
737
- responderId,
738
- requesterId: originMemberId,
739
- mentionList: mentionList ?? [],
740
- tellaskContent,
741
- responseBody: response,
742
- language: (0, runtime_language_1.getWorkLanguage)(),
743
- });
735
+ const rawResponse = response;
744
736
  // Emit TeammateResponseEvent
745
737
  const evt = (() => {
746
738
  switch (callName) {
@@ -754,9 +746,8 @@ class Dialog {
754
746
  mentionList: mentionList ?? [],
755
747
  tellaskContent,
756
748
  status: 'completed',
757
- result: formattedResult,
758
749
  course: this.currentCourse,
759
- response,
750
+ response: rawResponse,
760
751
  agentId: responderAgentId ?? responderId,
761
752
  callId,
762
753
  originMemberId,
@@ -769,9 +760,8 @@ class Dialog {
769
760
  callName,
770
761
  tellaskContent,
771
762
  status: 'completed',
772
- result: formattedResult,
773
763
  course: this.currentCourse,
774
- response,
764
+ response: rawResponse,
775
765
  agentId: responderAgentId ?? responderId,
776
766
  callId,
777
767
  originMemberId,
@@ -8,8 +8,6 @@ const dialog_global_registry_1 = require("../../dialog-global-registry");
8
8
  const dialog_instance_registry_1 = require("../../dialog-instance-registry");
9
9
  const log_1 = require("../../log");
10
10
  const persistence_1 = require("../../persistence");
11
- const runtime_language_1 = require("../../shared/runtime-language");
12
- const inter_dialog_format_1 = require("../../shared/utils/inter-dialog-format");
13
11
  const time_1 = require("../../shared/utils/time");
14
12
  const pending_tellask_reminder_1 = require("../../tools/pending-tellask-reminder");
15
13
  const subdialog_txn_1 = require("./subdialog-txn");
@@ -209,15 +207,7 @@ async function supplyResponseToSupdialogV2(args) {
209
207
  tellaskContent: result.tellaskContent,
210
208
  status,
211
209
  callId: resolvedCallId,
212
- content: (0, inter_dialog_format_1.formatTeammateResponseContent)({
213
- callName: result.callName,
214
- responderId: result.responderId,
215
- requesterId: result.originMemberId ?? parentDialog.agentId,
216
- mentionList: result.mentionList,
217
- tellaskContent: result.tellaskContent,
218
- responseBody: responseText,
219
- language: (0, runtime_language_1.getWorkLanguage)(),
220
- }),
210
+ content: responseText,
221
211
  };
222
212
  await parentDialog.addChatMessages(immediateMirror);
223
213
  if (result.shouldRevive) {
@@ -754,15 +754,7 @@ async function executeTellaskCall(dlg, agent, mentionList, body, callId, callbac
754
754
  };
755
755
  await callbacks.driveDialog(supdialog, { humanPrompt: supPrompt, waitInQue: true });
756
756
  const responseText = await extractSupdialogResponseForTypeA(supdialog);
757
- const responseContent = (0, inter_dialog_format_1.formatTeammateResponseContent)({
758
- callName,
759
- responderId: parseResult.agentId,
760
- requesterId: dlg.agentId,
761
- mentionList,
762
- tellaskContent: body,
763
- responseBody: responseText,
764
- language: (0, runtime_language_1.getWorkLanguage)(),
765
- });
757
+ const responseContent = responseText;
766
758
  dlg.setSuspensionState('resumed');
767
759
  toolOutputs.push({
768
760
  type: 'tellask_result_msg',
@@ -48,8 +48,6 @@ const dialog_1 = require("./dialog");
48
48
  const evt_registry_1 = require("./evt-registry");
49
49
  const log_1 = require("./log");
50
50
  const async_fifo_mutex_1 = require("./shared/async-fifo-mutex");
51
- const runtime_language_1 = require("./shared/runtime-language");
52
- const inter_dialog_format_1 = require("./shared/utils/inter-dialog-format");
53
51
  const time_1 = require("./shared/utils/time");
54
52
  const registry_1 = require("./tools/registry");
55
53
  function getErrorCode(error) {
@@ -664,15 +662,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
664
662
  const calleeCourse = options.calleeCourse;
665
663
  const calleeGenseq = options.calleeGenseq;
666
664
  const normalizedMentionList = mentionList ?? [];
667
- const result = (0, inter_dialog_format_1.formatTeammateResponseContent)({
668
- callName,
669
- responderId,
670
- requesterId: originMemberId,
671
- mentionList: normalizedMentionList,
672
- tellaskContent,
673
- responseBody: response,
674
- language: (0, runtime_language_1.getWorkLanguage)(),
675
- });
676
665
  const ev = (() => {
677
666
  switch (callName) {
678
667
  case 'tellask':
@@ -688,7 +677,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
688
677
  mentionList: normalizedMentionList,
689
678
  tellaskContent,
690
679
  status,
691
- result,
692
680
  calling_genseq,
693
681
  response,
694
682
  agentId,
@@ -707,7 +695,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
707
695
  calleeGenseq,
708
696
  tellaskContent,
709
697
  status,
710
- result,
711
698
  calling_genseq,
712
699
  response,
713
700
  agentId,
@@ -731,7 +718,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
731
718
  mentionList: normalizedMentionList,
732
719
  tellaskContent,
733
720
  status,
734
- result,
735
721
  course,
736
722
  calling_genseq,
737
723
  response,
@@ -750,7 +736,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
750
736
  calleeGenseq,
751
737
  tellaskContent,
752
738
  status,
753
- result,
754
739
  course,
755
740
  calling_genseq,
756
741
  response,
@@ -855,12 +840,27 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
855
840
  }
856
841
  }
857
842
  async sayingStart(dialog) {
843
+ const course = dialog.activeGenCourseOrUndefined ?? dialog.currentCourse;
858
844
  // Reset saying content tracker
859
845
  this.sayingContent = '';
846
+ const evt = {
847
+ type: 'markdown_start_evt',
848
+ course,
849
+ genseq: dialog.activeGenSeq,
850
+ };
851
+ (0, evt_registry_1.postDialogEvent)(dialog, evt);
860
852
  }
861
853
  async sayingChunk(dialog, chunk) {
854
+ const course = dialog.activeGenCourseOrUndefined ?? dialog.currentCourse;
862
855
  // Collect saying content for persistence
863
856
  this.sayingContent += chunk;
857
+ const evt = {
858
+ type: 'markdown_chunk_evt',
859
+ chunk,
860
+ course,
861
+ genseq: dialog.activeGenSeq,
862
+ };
863
+ (0, evt_registry_1.postDialogEvent)(dialog, evt);
864
864
  }
865
865
  async sayingFinish(dialog) {
866
866
  const course = dialog.activeGenCourseOrUndefined ?? dialog.currentCourse;
@@ -875,6 +875,12 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
875
875
  };
876
876
  await this.appendEvent(course, sayingMessageEvent);
877
877
  }
878
+ const evt = {
879
+ type: 'markdown_finish_evt',
880
+ course,
881
+ genseq: dialog.activeGenSeq,
882
+ };
883
+ (0, evt_registry_1.postDialogEvent)(dialog, evt);
878
884
  }
879
885
  async thinkingStart(dialog) {
880
886
  const course = dialog.activeGenCourseOrUndefined ?? dialog.currentCourse;
@@ -1853,15 +1859,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
1853
1859
  return undefined;
1854
1860
  }
1855
1861
  })();
1856
- const formattedResult = (0, inter_dialog_format_1.formatTeammateResponseContent)({
1857
- callName: event.callName,
1858
- responderId: event.responderId,
1859
- requesterId: event.originMemberId,
1860
- mentionList,
1861
- tellaskContent: event.tellaskContent,
1862
- responseBody: event.response,
1863
- language: (0, runtime_language_1.getWorkLanguage)(),
1864
- });
1865
1862
  const teammateResponseEvent = (() => {
1866
1863
  switch (event.callName) {
1867
1864
  case 'tellask':
@@ -1876,7 +1873,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
1876
1873
  mentionList,
1877
1874
  tellaskContent: event.tellaskContent,
1878
1875
  status: event.status,
1879
- result: formattedResult,
1880
1876
  response: event.response,
1881
1877
  agentId: event.agentId,
1882
1878
  callId: event.callId,
@@ -1900,7 +1896,6 @@ class DiskFileDialogStore extends dialog_1.DialogStore {
1900
1896
  calleeGenseq: event.calleeGenseq,
1901
1897
  tellaskContent: event.tellaskContent,
1902
1898
  status: event.status,
1903
- result: formattedResult,
1904
1899
  response: event.response,
1905
1900
  agentId: event.agentId,
1906
1901
  callId: event.callId,
@@ -3985,15 +3980,6 @@ class DialogPersistence {
3985
3980
  return undefined;
3986
3981
  }
3987
3982
  })();
3988
- const formattedResult = (0, inter_dialog_format_1.formatTeammateResponseContent)({
3989
- callName: event.callName,
3990
- responderId: event.responderId,
3991
- requesterId: event.originMemberId,
3992
- mentionList,
3993
- tellaskContent: event.tellaskContent,
3994
- responseBody: event.response,
3995
- language: (0, runtime_language_1.getWorkLanguage)(),
3996
- });
3997
3983
  messages.push({
3998
3984
  type: 'tellask_result_msg',
3999
3985
  role: 'tool',
@@ -4002,7 +3988,7 @@ class DialogPersistence {
4002
3988
  tellaskContent: event.tellaskContent,
4003
3989
  status: event.status,
4004
3990
  callId: event.callId,
4005
- content: formattedResult,
3991
+ content: event.response,
4006
3992
  });
4007
3993
  break;
4008
3994
  }
@@ -127,8 +127,8 @@ function formatTeammateResponseContent(input) {
127
127
  ? requireMentionLine(input.mentionList ?? [])
128
128
  : '';
129
129
  const hello = language === 'zh'
130
- ? `你好 @${requireNonEmpty(input.requesterId, 'toAgentId')},@${requireNonEmpty(input.responderId, 'fromAgentId')} 已回复:`
131
- : `Hi @${requireNonEmpty(input.requesterId, 'toAgentId')}, @${requireNonEmpty(input.responderId, 'fromAgentId')} provided response:`;
130
+ ? `@${requireNonEmpty(input.responderId, 'fromAgentId')} 已回复:`
131
+ : `@${requireNonEmpty(input.responderId, 'fromAgentId')} provided response:`;
132
132
  const tail = language === 'zh' ? '针对原始诉请:' : 'regarding the original tellask:';
133
133
  return `${hello}\n\n${(0, fmt_1.markdownQuote)(input.responseBody)}\n\n${tail}\n\n${mentionLine ? `${(0, fmt_1.markdownQuote)(mentionLine)}\n` : ''}${(0, fmt_1.markdownQuote)(tellaskContent)}\n`;
134
134
  }
@@ -1,4 +1,4 @@
1
- import { aV as isObjectLike, br as baseGetTag, aE as isArray, aT as Symbol$1, bs as arrayLikeKeys, bt as baseKeys, aD as isArrayLike, bu as memoize, bv as isArguments, bw as MapCache, bm as eq, bx as Uint8Array, aW as getTag, a$ as isBuffer, b2 as Stack, by as isTypedArray, aZ as isObject, bz as isLength, bp as isIndex, aF as identity, bn as baseFor, bA as Set } from "./index-Vrp1PT3b.js";
1
+ import { aV as isObjectLike, br as baseGetTag, aE as isArray, aT as Symbol$1, bs as arrayLikeKeys, bt as baseKeys, aD as isArrayLike, bu as memoize, bv as isArguments, bw as MapCache, bm as eq, bx as Uint8Array, aW as getTag, a$ as isBuffer, b2 as Stack, by as isTypedArray, aZ as isObject, bz as isLength, bp as isIndex, aF as identity, bn as baseFor, bA as Set } from "./index-l25foR5f.js";
2
2
  var symbolTag$1 = "[object Symbol]";
3
3
  function isSymbol(value) {
4
4
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$1;
@@ -658,4 +658,4 @@ export {
658
658
  hasIn as x,
659
659
  toString as y
660
660
  };
661
- //# sourceMappingURL=_baseUniq-D4N_zVXV.js.map
661
+ //# sourceMappingURL=_baseUniq-BQQDkYjW.js.map