dominds 0.6.4 → 0.6.5
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/agent-priming.js +24 -22
- package/dist/minds/system-prompt-parts.js +20 -13
- package/dist/static/assets/{_baseUniq-C7IpU2Uk.js → _baseUniq-B6S2Szf-.js} +2 -2
- package/dist/static/assets/{_baseUniq-C7IpU2Uk.js.map → _baseUniq-B6S2Szf-.js.map} +1 -1
- package/dist/static/assets/{arc-1bhQqjON.js → arc-BobaWfK6.js} +2 -2
- package/dist/static/assets/{arc-1bhQqjON.js.map → arc-BobaWfK6.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-CkEi1QpB.js → architectureDiagram-VXUJARFQ-ZgJq5aSW.js} +6 -6
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-CkEi1QpB.js.map → architectureDiagram-VXUJARFQ-ZgJq5aSW.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-DaBQ5-pY.js → blockDiagram-VD42YOAC-BNbfk_nT.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-DaBQ5-pY.js.map → blockDiagram-VD42YOAC-BNbfk_nT.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-ChUgpgkP.js → c4Diagram-YG6GDRKO-CvepUKza.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-ChUgpgkP.js.map → c4Diagram-YG6GDRKO-CvepUKza.js.map} +1 -1
- package/dist/static/assets/{channel-CxvmwllM.js → channel-C_JNHPnq.js} +2 -2
- package/dist/static/assets/{channel-CxvmwllM.js.map → channel-C_JNHPnq.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-CKsrU2yk.js → chunk-4BX2VUAB-DBOe1MUb.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-CKsrU2yk.js.map → chunk-4BX2VUAB-DBOe1MUb.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-BAau9SFt.js → chunk-55IACEB6-HFCpWmno.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-BAau9SFt.js.map → chunk-55IACEB6-HFCpWmno.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW--IiJ7W1m.js → chunk-B4BG7PRW-CCfgfeSD.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW--IiJ7W1m.js.map → chunk-B4BG7PRW-CCfgfeSD.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-B83KrPQj.js → chunk-DI55MBZ5-JTCAsk7E.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-B83KrPQj.js.map → chunk-DI55MBZ5-JTCAsk7E.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-BlDXzeza.js → chunk-FMBD7UC4-DOOsbua1.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-BlDXzeza.js.map → chunk-FMBD7UC4-DOOsbua1.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-B596W_v7.js → chunk-QN33PNHL-C9OxwmhO.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-B596W_v7.js.map → chunk-QN33PNHL-C9OxwmhO.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-UBBCxgBb.js → chunk-QZHKN3VN-r3c-cVI_.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-UBBCxgBb.js.map → chunk-QZHKN3VN-r3c-cVI_.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-D-wCX2wJ.js → chunk-TZMSLE5B-BUEKhPxm.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-D-wCX2wJ.js.map → chunk-TZMSLE5B-BUEKhPxm.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-DvtmzPcu.js → classDiagram-2ON5EDUG-COQwkaAL.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-DvtmzPcu.js.map → classDiagram-2ON5EDUG-COQwkaAL.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-DvtmzPcu.js → classDiagram-v2-WZHVMYZB-COQwkaAL.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-DvtmzPcu.js.map → classDiagram-v2-WZHVMYZB-COQwkaAL.js.map} +1 -1
- package/dist/static/assets/{clone-DgJ0ZR-k.js → clone-CYu5kjkJ.js} +2 -2
- package/dist/static/assets/{clone-DgJ0ZR-k.js.map → clone-CYu5kjkJ.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-DXMyFQvy.js → cose-bilkent-S5V4N54A-CSw8pwwN.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-DXMyFQvy.js.map → cose-bilkent-S5V4N54A-CSw8pwwN.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-BdaUG-j_.js → dagre-6UL2VRFP-BbGNBMsQ.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-BdaUG-j_.js.map → dagre-6UL2VRFP-BbGNBMsQ.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-NLiqKBzn.js → diagram-PSM6KHXK-CkJTRD5i.js} +7 -7
- package/dist/static/assets/{diagram-PSM6KHXK-NLiqKBzn.js.map → diagram-PSM6KHXK-CkJTRD5i.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-D-0fyvY_.js → diagram-QEK2KX5R-C66826Tr.js} +6 -6
- package/dist/static/assets/{diagram-QEK2KX5R-D-0fyvY_.js.map → diagram-QEK2KX5R-C66826Tr.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-BQ_FU59m.js → diagram-S2PKOQOG-C75tvMlR.js} +6 -6
- package/dist/static/assets/{diagram-S2PKOQOG-BQ_FU59m.js.map → diagram-S2PKOQOG-C75tvMlR.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DyftKeuC.js → erDiagram-Q2GNP2WA-D42mH9Hf.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DyftKeuC.js.map → erDiagram-Q2GNP2WA-D42mH9Hf.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-9SGefONA.js → flowDiagram-NV44I4VS-DkuR_fBb.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-9SGefONA.js.map → flowDiagram-NV44I4VS-DkuR_fBb.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-k_WLhf-r.js → ganttDiagram-JELNMOA3-DZSt_dQ9.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-k_WLhf-r.js.map → ganttDiagram-JELNMOA3-DZSt_dQ9.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-NY62KEGX-3eoLlCOY.js → gitGraphDiagram-NY62KEGX-tK78JYdV.js} +7 -7
- package/dist/static/assets/{gitGraphDiagram-NY62KEGX-3eoLlCOY.js.map → gitGraphDiagram-NY62KEGX-tK78JYdV.js.map} +1 -1
- package/dist/static/assets/{graph-vUevIs4s.js → graph-Cby4rcD0.js} +3 -3
- package/dist/static/assets/{graph-vUevIs4s.js.map → graph-Cby4rcD0.js.map} +1 -1
- package/dist/static/assets/{index-BNBG2CE1.js → index-CbQiF1hF.js} +110 -108
- package/dist/static/assets/{index-BNBG2CE1.js.map → index-CbQiF1hF.js.map} +1 -1
- package/dist/static/assets/{infoDiagram-WHAUD3N6-CwEhVxkU.js → infoDiagram-WHAUD3N6-3QnrdyHa.js} +5 -5
- package/dist/static/assets/{infoDiagram-WHAUD3N6-CwEhVxkU.js.map → infoDiagram-WHAUD3N6-3QnrdyHa.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dtdq4G4Q.js → journeyDiagram-XKPGCS4Q-CvMiUhwC.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dtdq4G4Q.js.map → journeyDiagram-XKPGCS4Q-CvMiUhwC.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-Bli-AycJ.js → kanban-definition-3W4ZIXB7-kWGnHjKd.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-Bli-AycJ.js.map → kanban-definition-3W4ZIXB7-kWGnHjKd.js.map} +1 -1
- package/dist/static/assets/{layout-CGlA8c09.js → layout-DhLgvMyM.js} +5 -5
- package/dist/static/assets/{layout-CGlA8c09.js.map → layout-DhLgvMyM.js.map} +1 -1
- package/dist/static/assets/{linear-Da2jDWL3.js → linear-BPVwP4Z5.js} +2 -2
- package/dist/static/assets/{linear-Da2jDWL3.js.map → linear-BPVwP4Z5.js.map} +1 -1
- package/dist/static/assets/{min-Co741hTV.js → min-Cw8TUK_f.js} +3 -3
- package/dist/static/assets/{min-Co741hTV.js.map → min-Cw8TUK_f.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-DvkIjoq8.js → mindmap-definition-VGOIOE7T-Rfte1_cw.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-DvkIjoq8.js.map → mindmap-definition-VGOIOE7T-Rfte1_cw.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BGuGhTu8.js → pieDiagram-ADFJNKIX-DCp0WpKz.js} +7 -7
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BGuGhTu8.js.map → pieDiagram-ADFJNKIX-DCp0WpKz.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-DAZcrJMg.js → quadrantDiagram-AYHSOK5B-DVYn8XbP.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-DAZcrJMg.js.map → quadrantDiagram-AYHSOK5B-DVYn8XbP.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-CXN0DxZs.js → requirementDiagram-UZGBJVZJ-OdD8esO6.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-CXN0DxZs.js.map → requirementDiagram-UZGBJVZJ-OdD8esO6.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B7-yAePZ.js → sankeyDiagram-TZEHDZUN-Nb-HdiLl.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B7-yAePZ.js.map → sankeyDiagram-TZEHDZUN-Nb-HdiLl.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-DfBNY6h_.js → sequenceDiagram-WL72ISMW-DsNKFhn-.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-DfBNY6h_.js.map → sequenceDiagram-WL72ISMW-DsNKFhn-.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-BLo1xRVY.js → stateDiagram-FKZM4ZOC-DLVD0_56.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-BLo1xRVY.js.map → stateDiagram-FKZM4ZOC-DLVD0_56.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-Dq7MAD0I.js → stateDiagram-v2-4FDKWEC3-zhzpPCLY.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-Dq7MAD0I.js.map → stateDiagram-v2-4FDKWEC3-zhzpPCLY.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-ySWyBF3b.js → timeline-definition-IT6M3QCI-0G279y76.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-ySWyBF3b.js.map → timeline-definition-IT6M3QCI-0G279y76.js.map} +1 -1
- package/dist/static/assets/{treemap-KMMF4GRG-DOp4sqOh.js → treemap-KMMF4GRG-CKoXag7A.js} +4 -4
- package/dist/static/assets/{treemap-KMMF4GRG-DOp4sqOh.js.map → treemap-KMMF4GRG-CKoXag7A.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-vkmh67qb.js → xychartDiagram-PRI3JC2R-BHQ4qaEg.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-vkmh67qb.js.map → xychartDiagram-PRI3JC2R-BHQ4qaEg.js.map} +1 -1
- package/dist/static/index.html +1 -1
- package/package.json +1 -1
package/dist/agent-priming.js
CHANGED
|
@@ -585,12 +585,14 @@ function formatRtwsGitInventoryRound2(language, inventory) {
|
|
|
585
585
|
].join('\n');
|
|
586
586
|
}
|
|
587
587
|
function formatPreludeIntro(language, reused, shellPolicy, shellSpecialistId) {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
588
|
+
if (shellPolicy === 'specialist_only' &&
|
|
589
|
+
(!shellSpecialistId || shellSpecialistId.trim() === '')) {
|
|
590
|
+
throw new Error('Missing shell specialist id for specialist_only prelude');
|
|
591
|
+
}
|
|
592
|
+
const shellSpecialistMention = shellSpecialistId && shellSpecialistId.trim() ? `@${shellSpecialistId.trim()}` : '';
|
|
591
593
|
const shellPolicyLinesZh = shellPolicy === 'specialist_only'
|
|
592
594
|
? [
|
|
593
|
-
|
|
595
|
+
`规则:此智能体**不执行任何 shell 命令**。所有 shell 命令必须由 shell 专员(${shellSpecialistMention})执行并回传。`,
|
|
594
596
|
`下面将诉请 shell 专员(${shellSpecialistMention})仅执行一个低风险命令:\`uname -a\`。`,
|
|
595
597
|
]
|
|
596
598
|
: shellPolicy === 'self_is_specialist'
|
|
@@ -605,7 +607,7 @@ function formatPreludeIntro(language, reused, shellPolicy, shellSpecialistId) {
|
|
|
605
607
|
];
|
|
606
608
|
const shellPolicyLinesEn = shellPolicy === 'specialist_only'
|
|
607
609
|
? [
|
|
608
|
-
|
|
610
|
+
`Rule: this agent must **not run any shell commands**. All shell commands must be executed by the shell specialist (${shellSpecialistMention}) and returned.`,
|
|
609
611
|
`Next, we Tellask the shell specialist (${shellSpecialistMention}) to run one low-risk command only: \`uname -a\`.`,
|
|
610
612
|
]
|
|
611
613
|
: shellPolicy === 'self_is_specialist'
|
|
@@ -645,7 +647,7 @@ function formatPreludeIntro(language, reused, shellPolicy, shellSpecialistId) {
|
|
|
645
647
|
'## Prelude: Agent Priming (Reused)',
|
|
646
648
|
'',
|
|
647
649
|
'This prelude makes Tellask + return + FBR + distillation feel real (guiding the agent to show it to itself).',
|
|
648
|
-
'Critical timing: `!?@self` is initiation only; mainline
|
|
650
|
+
'Critical timing: `!?@self` is initiation only; mainline distillation/decision happens only after FBR sideline feedback returns.',
|
|
649
651
|
'This dialog reused the in-process cache (no commands were re-run).',
|
|
650
652
|
'',
|
|
651
653
|
...shellPolicyLinesEn,
|
|
@@ -655,17 +657,17 @@ function formatPreludeIntro(language, reused, shellPolicy, shellSpecialistId) {
|
|
|
655
657
|
'## Prelude: Agent Priming',
|
|
656
658
|
'',
|
|
657
659
|
'This prelude makes Tellask + return + FBR + distillation feel real (guiding the agent to show it to itself).',
|
|
658
|
-
'Critical timing: `!?@self` is initiation only; mainline
|
|
660
|
+
'Critical timing: `!?@self` is initiation only; mainline distillation/decision happens only after FBR sideline feedback returns.',
|
|
659
661
|
'',
|
|
660
662
|
...shellPolicyLinesEn,
|
|
661
663
|
'',
|
|
662
664
|
].join('\n');
|
|
663
665
|
}
|
|
664
666
|
function formatShellTellaskBody(language, shellSpecialistId) {
|
|
665
|
-
const shellSpecialistMention =
|
|
667
|
+
const shellSpecialistMention = `@${shellSpecialistId.trim()}`;
|
|
666
668
|
if (language === 'zh') {
|
|
667
669
|
return [
|
|
668
|
-
`你是 shell
|
|
670
|
+
`你是 shell 专员(${shellSpecialistMention}):请代我执行 \`uname -a\` 获取当前运行环境的基本信息。`,
|
|
669
671
|
'',
|
|
670
672
|
'背景规则:对话主理人不得执行任何 shell 命令;所有 shell 命令必须通过你执行并回传。',
|
|
671
673
|
'请不要建议我“自己在本地跑一下”。',
|
|
@@ -680,7 +682,7 @@ function formatShellTellaskBody(language, shellSpecialistId) {
|
|
|
680
682
|
].join('\n');
|
|
681
683
|
}
|
|
682
684
|
return [
|
|
683
|
-
`You are the shell specialist
|
|
685
|
+
`You are the shell specialist (${shellSpecialistMention}): please run \`uname -a\` on my behalf to capture the basic runtime environment.`,
|
|
684
686
|
'',
|
|
685
687
|
'Rule: the dialog owner must not run any shell commands; all shell commands must be executed by you and returned.',
|
|
686
688
|
'Do not suggest that I “just run it locally”.',
|
|
@@ -785,20 +787,20 @@ function formatFbrSelfTeaser(language) {
|
|
|
785
787
|
}
|
|
786
788
|
function formatFbrTellaskBody(language, snapshotText, options) {
|
|
787
789
|
const effortLineZh = options.fbrEffort >= 1
|
|
788
|
-
? '
|
|
789
|
-
: '
|
|
790
|
+
? '对话设定:你现在是被唤起的一份“初心自我”。术语映射:在本 FBR 支线中,你是被诉请者(tellaskee,初心自我);诉请者(tellasker)就是外表自我(当前主线)。同一轮里还会有其他“初心自我”并行给出草稿(彼此没有稳定映射关系,不要当作固定身份)。外表自我会在收齐全部回贴后再统一决策;你只需给出这一份独立分析,不要替外表自我下最终行动决策。'
|
|
791
|
+
: '对话设定:当前成员未启用 FBR(无并行“初心自我”草稿)。';
|
|
790
792
|
const effortLineEn = options.fbrEffort >= 1
|
|
791
|
-
? '
|
|
792
|
-
: '
|
|
793
|
+
? '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.'
|
|
794
|
+
: 'Conversation setup: FBR is disabled for this member (no parallel fresh-boots drafts).';
|
|
793
795
|
const tellaskBackHintZh = (() => {
|
|
794
796
|
return [
|
|
795
|
-
'提示:如果你还想知道更多系统细节,可在本 FBR 支线对话中用 `!?@tellasker`
|
|
797
|
+
'提示:如果你还想知道更多系统细节,可在本 FBR 支线对话中用 `!?@tellasker` 回问诉请者(tellasker,也就是外表自我/当前主线)。',
|
|
796
798
|
'(当前这次 FBR 请不要真的发起任何诉请;只需说明你会回问什么。)',
|
|
797
799
|
].join('\n');
|
|
798
800
|
})();
|
|
799
801
|
const tellaskBackHintEn = (() => {
|
|
800
802
|
return [
|
|
801
|
-
'Hint: if you want more system details, ask back in this FBR sideline dialog via `!?@tellasker` (to the
|
|
803
|
+
'Hint: if you want more system details, ask back in this FBR sideline dialog via `!?@tellasker` (to the tellasker, i.e. the outer-self mainline dialog).',
|
|
802
804
|
'(In this FBR run, do not actually emit any tellasks; just state what you would ask back.)',
|
|
803
805
|
].join('\n');
|
|
804
806
|
})();
|
|
@@ -811,9 +813,9 @@ function formatFbrTellaskBody(language, snapshotText, options) {
|
|
|
811
813
|
'请基于下面环境信息回答:',
|
|
812
814
|
'- 在这个环境里要注意些什么?',
|
|
813
815
|
'- 哪些关键上下文仍然缺失?',
|
|
814
|
-
'- 请明确区分:事实依据 / 不确定项 /
|
|
816
|
+
'- 请明确区分:事实依据 / 不确定项 / 建议下一步(供诉请者 tellasker(外表自我)在收齐草稿后综合提炼)。',
|
|
815
817
|
'',
|
|
816
|
-
'
|
|
818
|
+
'环境信息(由诉请者 tellasker(外表自我)提供的当前环境快照):',
|
|
817
819
|
snapshotText,
|
|
818
820
|
].join('\n');
|
|
819
821
|
}
|
|
@@ -825,9 +827,9 @@ function formatFbrTellaskBody(language, snapshotText, options) {
|
|
|
825
827
|
'Based on the environment info below, answer:',
|
|
826
828
|
'- What should we watch out for in this environment?',
|
|
827
829
|
'- What critical context is still missing?',
|
|
828
|
-
'- Clearly separate: factual evidence / uncertainties / suggested next step (for
|
|
830
|
+
'- Clearly separate: factual evidence / uncertainties / suggested next step (for tellasker / outer-self distillation after all drafts return).',
|
|
829
831
|
'',
|
|
830
|
-
'Environment info (
|
|
832
|
+
'Environment info (the current snapshot provided by the tellasker / outer self):',
|
|
831
833
|
snapshotText,
|
|
832
834
|
].join('\n');
|
|
833
835
|
}
|
|
@@ -929,7 +931,7 @@ async function generatePrimingNoteViaMainlineAgent(options) {
|
|
|
929
931
|
].join('\n')
|
|
930
932
|
: [
|
|
931
933
|
'You are in the Agent Priming distillation step.',
|
|
932
|
-
'Receiving this prompt means feedback from this `!?@self` FBR run has already been collected; this step is
|
|
934
|
+
'Receiving this prompt means feedback from this `!?@self` FBR run has already been collected; this step is distillation only, not another FBR initiation.',
|
|
933
935
|
'Based on the environment snapshot (and optional `!?@self` FBR drafts) below, distill a reusable “Agent Priming note”.',
|
|
934
936
|
'',
|
|
935
937
|
'Evidence (for distillation only; do not repeat draft-by-draft):',
|
|
@@ -1331,12 +1333,12 @@ async function runAgentPrimingLive(dlg) {
|
|
|
1331
1333
|
: selfIsShellSpecialist
|
|
1332
1334
|
? 'self_is_specialist'
|
|
1333
1335
|
: 'specialist_only';
|
|
1334
|
-
shellTellaskBody = formatShellTellaskBody(language, specialistId);
|
|
1335
1336
|
let shellCallId = null;
|
|
1336
1337
|
let shellTellaskHead = null;
|
|
1337
1338
|
let shellTellaskBodyForSubdialog = null;
|
|
1338
1339
|
// Phase 1: shell ask (and optional prelude intro)
|
|
1339
1340
|
if (shellPolicy === 'specialist_only' && specialistId !== null) {
|
|
1341
|
+
shellTellaskBody = formatShellTellaskBody(language, specialistId);
|
|
1340
1342
|
await dlg.withLock(async () => {
|
|
1341
1343
|
try {
|
|
1342
1344
|
await dlg.notifyGeneratingStart();
|
|
@@ -25,18 +25,18 @@ function getShellPolicyCopy(language) {
|
|
|
25
25
|
specialistConfiguredNoTools: '你被配置为 shell 专员,但当前没有可用的 shell 工具(团队配置错误)。',
|
|
26
26
|
specialistFixConfig: '在未修复配置前:不要声称自己执行过命令;如需验证,请让人类修复 team.yaml 或把 shell 能力授予正确的成员。',
|
|
27
27
|
noHighRiskTools: '你不具备高权限 shell 工具(shell_cmd/stop_daemon/get_daemon_output)。',
|
|
28
|
-
readonlyAuthorized: '
|
|
29
|
-
readonlyDelegateWhenNeeded:
|
|
28
|
+
readonlyAuthorized: '你仅被授权使用 `readonly_shell` 做只读检查(仅允许白名单命令前缀;不得写入/删除/联网/进程管理):符合只读目的时请直接调用。',
|
|
29
|
+
readonlyDelegateWhenNeeded: (value) => `边界规则:除只读目的外,其它一切 shell 需求都不得自行执行。凡是不在白名单内,或涉及写入/删除/网络/长时间运行/进程管理,必须诉请以下 shell 专员之一执行:${value}。并提供充分理由与可审查的命令提案:`,
|
|
30
30
|
noShellTools: '你不具备 shell 工具(本环境仅 shell 专员可执行 shell):不要尝试“编造/假设”命令输出,也不要要求系统直接执行。',
|
|
31
|
-
delegateWhenNeeded:
|
|
31
|
+
delegateWhenNeeded: (value) => `当你确实需要 shell 执行时:必须诉请以下 shell 专员之一执行:${value}。并提供充分理由与可审查的命令提案:`,
|
|
32
32
|
delegationProposalBullets: [
|
|
33
33
|
'- 你要达成的目标(why)',
|
|
34
34
|
'- 建议命令(what)+ 预期工作目录(cwd)+ 预期输出/验证方式(how to verify)',
|
|
35
35
|
'- 风险评估与安全边界(risk & guardrails)',
|
|
36
36
|
],
|
|
37
37
|
specialistListLine: (value) => `本队 shell 专员列表:${value}`,
|
|
38
|
-
delegationSpecialistsLine: (value) =>
|
|
39
|
-
tellaskBlockReminder:
|
|
38
|
+
delegationSpecialistsLine: (value) => `可诉请的 shell 专员:${value}`,
|
|
39
|
+
tellaskBlockReminder: (exampleHeads) => `重要:如果你打算让队友执行命令,请在同一条消息里给出完整的 tellask 诉请块(诉请头第 0 列起始,并直接写真实专员 id)。可用写法示例:${exampleHeads}。不要只说“我会请某人运行”。`,
|
|
40
40
|
claimAfterReceiptReminder: '重要:在你看到 shell 专员的回执(command/exit_code/stdout/stderr)之前,不要声称“已运行/已通过/无错”。',
|
|
41
41
|
includeDevopsPolicyForSpecialist: false,
|
|
42
42
|
};
|
|
@@ -54,18 +54,18 @@ function getShellPolicyCopy(language) {
|
|
|
54
54
|
specialistConfiguredNoTools: 'You are configured as a shell specialist, but you do not currently have shell tools available (team configuration error).',
|
|
55
55
|
specialistFixConfig: 'Until it is fixed: do not claim you ran any command; ask a human to fix team.yaml or grant shell tools to the correct specialist member.',
|
|
56
56
|
noHighRiskTools: 'You do not have high-risk shell tools (shell_cmd/stop_daemon/get_daemon_output).',
|
|
57
|
-
readonlyAuthorized: 'You are
|
|
58
|
-
readonlyDelegateWhenNeeded:
|
|
57
|
+
readonlyAuthorized: 'You are authorized to use `readonly_shell` only for read-only inspection (small allowlist only; no writes/deletes/network/process management). When it is truly read-only, call it directly.',
|
|
58
|
+
readonlyDelegateWhenNeeded: (value) => `Boundary rule: anything beyond read-only must not be executed by you. If it is outside the allowlist, or involves writes/deletes/network/long-running jobs/process management, you must tellask one of these shell specialists to execute it: ${value}. Provide a justified, reviewable proposal:`,
|
|
59
59
|
noShellTools: 'You do not have shell tools configured (shell execution is restricted to designated specialists): do not fabricate/assume command output, and do not ask the system to execute commands directly.',
|
|
60
|
-
delegateWhenNeeded:
|
|
60
|
+
delegateWhenNeeded: (value) => `When you truly need shell execution, you must tellask one of these shell specialists to execute it: ${value}. Provide a justified, reviewable proposal:`,
|
|
61
61
|
delegationProposalBullets: [
|
|
62
62
|
'- Goal (why)',
|
|
63
63
|
'- Proposed command (what) + expected working directory (cwd) + expected output/verification (how to verify)',
|
|
64
64
|
'- Risk assessment and guardrails (risk & guardrails)',
|
|
65
65
|
],
|
|
66
66
|
specialistListLine: (value) => `Shell specialists in this team: ${value}`,
|
|
67
|
-
delegationSpecialistsLine: (value) => `Shell
|
|
68
|
-
tellaskBlockReminder:
|
|
67
|
+
delegationSpecialistsLine: (value) => `Shell specialists you can tellask: ${value}`,
|
|
68
|
+
tellaskBlockReminder: (exampleHeads) => `Important: if you intend to delegate, include the full tellask block in the same message (tellask headline must start at column 0 and use a real specialist id). Examples: ${exampleHeads}. Do not just say “I will ask someone to run it”.`,
|
|
69
69
|
claimAfterReceiptReminder: 'Important: do not claim “ran/passed/no errors” until you see the shell specialist’s receipt (command/exit_code/stdout/stderr).',
|
|
70
70
|
includeDevopsPolicyForSpecialist: true,
|
|
71
71
|
};
|
|
@@ -81,6 +81,13 @@ function buildShellPolicyPrompt(ctx) {
|
|
|
81
81
|
: copy.noSpecialistsText;
|
|
82
82
|
const specialistListLine = copy.specialistListLine(shellSpecialists);
|
|
83
83
|
const specialistDelegationLine = copy.delegationSpecialistsLine(shellSpecialists);
|
|
84
|
+
const tellaskHeadExamples = shellSpecialistMemberIds.length > 0
|
|
85
|
+
? shellSpecialistMemberIds
|
|
86
|
+
.map((id) => `\`!?@${id} ...\``)
|
|
87
|
+
.join(language === 'zh' ? ' / ' : ' / ')
|
|
88
|
+
: language === 'zh'
|
|
89
|
+
? '(当前无可用 shell 专员)'
|
|
90
|
+
: '(no available shell specialists)';
|
|
84
91
|
const buildDelegationBlock = (introLine) => [
|
|
85
92
|
introLine,
|
|
86
93
|
...copy.delegationProposalBullets,
|
|
@@ -88,7 +95,7 @@ function buildShellPolicyPrompt(ctx) {
|
|
|
88
95
|
'',
|
|
89
96
|
devopsScriptPolicy,
|
|
90
97
|
'',
|
|
91
|
-
copy.tellaskBlockReminder,
|
|
98
|
+
copy.tellaskBlockReminder(tellaskHeadExamples),
|
|
92
99
|
copy.claimAfterReceiptReminder,
|
|
93
100
|
];
|
|
94
101
|
if (agentIsShellSpecialist && agentHasShellTools) {
|
|
@@ -118,9 +125,9 @@ function buildShellPolicyPrompt(ctx) {
|
|
|
118
125
|
copy.noHighRiskTools,
|
|
119
126
|
copy.readonlyAuthorized,
|
|
120
127
|
'',
|
|
121
|
-
...buildDelegationBlock(copy.readonlyDelegateWhenNeeded),
|
|
128
|
+
...buildDelegationBlock(copy.readonlyDelegateWhenNeeded(shellSpecialists)),
|
|
122
129
|
]
|
|
123
|
-
: [copy.noShellTools, ...buildDelegationBlock(copy.delegateWhenNeeded)];
|
|
130
|
+
: [copy.noShellTools, ...buildDelegationBlock(copy.delegateWhenNeeded(shellSpecialists))];
|
|
124
131
|
return `${copy.title}\n\n${bodyLines.join('\n')}`.trim();
|
|
125
132
|
}
|
|
126
133
|
function getMemoryPromptCopy(ctx) {
|
|
@@ -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-
|
|
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-CbQiF1hF.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-
|
|
661
|
+
//# sourceMappingURL=_baseUniq-B6S2Szf-.js.map
|