dominds 1.25.17 → 1.25.19
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/bootstrap/rtws-cli.d.ts +0 -1
- package/dist/bootstrap/rtws-cli.js +9 -3
- package/dist/cli/create.d.ts +1 -1
- package/dist/cli/create.js +1 -1
- package/dist/cli/read.js +1 -1
- package/dist/cli/tui.js +1 -1
- package/dist/cli/webui.js +1 -1
- package/dist/cli.js +6 -13
- package/dist/docs/cli-usage.md +7 -7
- package/dist/docs/cli-usage.zh.md +7 -7
- package/dist/docs/context-health.md +39 -1
- package/dist/docs/context-health.zh.md +30 -1
- package/dist/docs/dialog-persistence.md +1 -1
- package/dist/docs/dominds-terminology.md +2 -2
- package/dist/llm/kernel-driver/drive.js +167 -7
- package/dist/server/dominds-self-update-restart-helper.d.ts +15 -0
- package/dist/server/dominds-self-update-restart-helper.js +305 -0
- package/dist/server/dominds-self-update.js +162 -120
- package/dist/server.js +4 -3
- package/package.json +1 -1
- package/webapp/dist/assets/{_basePickBy-bB-pfQPi.js → _basePickBy-DUivPKf7.js} +3 -3
- package/webapp/dist/assets/{_basePickBy-bB-pfQPi.js.map → _basePickBy-DUivPKf7.js.map} +1 -1
- package/webapp/dist/assets/{_baseUniq-CGrWBZre.js → _baseUniq-hcs024vD.js} +2 -2
- package/webapp/dist/assets/{_baseUniq-CGrWBZre.js.map → _baseUniq-hcs024vD.js.map} +1 -1
- package/webapp/dist/assets/{arc-I9vbIaKk.js → arc-Dr6-FXp5.js} +2 -2
- package/webapp/dist/assets/{arc-I9vbIaKk.js.map → arc-Dr6-FXp5.js.map} +1 -1
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CrwjTxLz.js → architectureDiagram-2XIMDMQ5-DXqcDq4R.js} +7 -7
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CrwjTxLz.js.map → architectureDiagram-2XIMDMQ5-DXqcDq4R.js.map} +1 -1
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DTm0qfvP.js → blockDiagram-WCTKOSBZ-IIP6LGXS.js} +7 -7
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-DTm0qfvP.js.map → blockDiagram-WCTKOSBZ-IIP6LGXS.js.map} +1 -1
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-DwRQtzZF.js → c4Diagram-IC4MRINW-D_d3F9XD.js} +3 -3
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-DwRQtzZF.js.map → c4Diagram-IC4MRINW-D_d3F9XD.js.map} +1 -1
- package/webapp/dist/assets/{channel-BHLOwBnI.js → channel-CWWjsXtU.js} +2 -2
- package/webapp/dist/assets/{channel-BHLOwBnI.js.map → channel-CWWjsXtU.js.map} +1 -1
- package/webapp/dist/assets/{chunk-4BX2VUAB-C-uXnDVV.js → chunk-4BX2VUAB-BF4yph2W.js} +2 -2
- package/webapp/dist/assets/{chunk-4BX2VUAB-C-uXnDVV.js.map → chunk-4BX2VUAB-BF4yph2W.js.map} +1 -1
- package/webapp/dist/assets/{chunk-55IACEB6-Dq9BI2N6.js → chunk-55IACEB6-Hn3CmDYz.js} +2 -2
- package/webapp/dist/assets/{chunk-55IACEB6-Dq9BI2N6.js.map → chunk-55IACEB6-Hn3CmDYz.js.map} +1 -1
- package/webapp/dist/assets/{chunk-FMBD7UC4-DR9kFZOV.js → chunk-FMBD7UC4-C05pl9Ov.js} +2 -2
- package/webapp/dist/assets/{chunk-FMBD7UC4-DR9kFZOV.js.map → chunk-FMBD7UC4-C05pl9Ov.js.map} +1 -1
- package/webapp/dist/assets/{chunk-JSJVCQXG-xnc6SVE5.js → chunk-JSJVCQXG-BVlq_BAS.js} +2 -2
- package/webapp/dist/assets/{chunk-JSJVCQXG-xnc6SVE5.js.map → chunk-JSJVCQXG-BVlq_BAS.js.map} +1 -1
- package/webapp/dist/assets/{chunk-KX2RTZJC-rUxlh4aS.js → chunk-KX2RTZJC-BQoaRWif.js} +2 -2
- package/webapp/dist/assets/{chunk-KX2RTZJC-rUxlh4aS.js.map → chunk-KX2RTZJC-BQoaRWif.js.map} +1 -1
- package/webapp/dist/assets/{chunk-NQ4KR5QH-BGU4PhTQ.js → chunk-NQ4KR5QH-0okCAXtW.js} +4 -4
- package/webapp/dist/assets/{chunk-NQ4KR5QH-BGU4PhTQ.js.map → chunk-NQ4KR5QH-0okCAXtW.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QZHKN3VN-CAlu4xE7.js → chunk-QZHKN3VN-DEiprgz-.js} +2 -2
- package/webapp/dist/assets/{chunk-QZHKN3VN-CAlu4xE7.js.map → chunk-QZHKN3VN-DEiprgz-.js.map} +1 -1
- package/webapp/dist/assets/{chunk-WL4C6EOR-zZXRkBBY.js → chunk-WL4C6EOR-B-Xkb3lo.js} +6 -6
- package/webapp/dist/assets/{chunk-WL4C6EOR-zZXRkBBY.js.map → chunk-WL4C6EOR-B-Xkb3lo.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DI1CfOtL.js → classDiagram-VBA2DB6C-DCCQrdwF.js} +7 -7
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-DI1CfOtL.js.map → classDiagram-VBA2DB6C-DCCQrdwF.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DI1CfOtL.js → classDiagram-v2-RAHNMMFH-DCCQrdwF.js} +7 -7
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-DI1CfOtL.js.map → classDiagram-v2-RAHNMMFH-DCCQrdwF.js.map} +1 -1
- package/webapp/dist/assets/{clone-quTqCNPA.js → clone-Drtik9pk.js} +2 -2
- package/webapp/dist/assets/{clone-quTqCNPA.js.map → clone-Drtik9pk.js.map} +1 -1
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BY28yO7Y.js → cose-bilkent-S5V4N54A-BBWvHErL.js} +2 -2
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BY28yO7Y.js.map → cose-bilkent-S5V4N54A-BBWvHErL.js.map} +1 -1
- package/webapp/dist/assets/{dagre-KLK3FWXG-DLyZ54D-.js → dagre-KLK3FWXG-2qk0ikdt.js} +7 -7
- package/webapp/dist/assets/{dagre-KLK3FWXG-DLyZ54D-.js.map → dagre-KLK3FWXG-2qk0ikdt.js.map} +1 -1
- package/webapp/dist/assets/{diagram-E7M64L7V-CD-HWZAJ.js → diagram-E7M64L7V-C1DbHDbf.js} +8 -8
- package/webapp/dist/assets/{diagram-E7M64L7V-CD-HWZAJ.js.map → diagram-E7M64L7V-C1DbHDbf.js.map} +1 -1
- package/webapp/dist/assets/{diagram-IFDJBPK2-BHOQ9HH2.js → diagram-IFDJBPK2-DToz8zk9.js} +7 -7
- package/webapp/dist/assets/{diagram-IFDJBPK2-BHOQ9HH2.js.map → diagram-IFDJBPK2-DToz8zk9.js.map} +1 -1
- package/webapp/dist/assets/{diagram-P4PSJMXO-OEPgBDcD.js → diagram-P4PSJMXO-B9V-tQMe.js} +7 -7
- package/webapp/dist/assets/{diagram-P4PSJMXO-OEPgBDcD.js.map → diagram-P4PSJMXO-B9V-tQMe.js.map} +1 -1
- package/webapp/dist/assets/{erDiagram-INFDFZHY-Dcgo204J.js → erDiagram-INFDFZHY-CV68FwGf.js} +5 -5
- package/webapp/dist/assets/{erDiagram-INFDFZHY-Dcgo204J.js.map → erDiagram-INFDFZHY-CV68FwGf.js.map} +1 -1
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-CWLo3Lkf.js → flowDiagram-PKNHOUZH-CW06almb.js} +7 -7
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-CWLo3Lkf.js.map → flowDiagram-PKNHOUZH-CW06almb.js.map} +1 -1
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DWXL4ZD6.js → ganttDiagram-A5KZAMGK-C96NncCU.js} +3 -3
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DWXL4ZD6.js.map → ganttDiagram-A5KZAMGK-C96NncCU.js.map} +1 -1
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js → gitGraphDiagram-K3NZZRJ6-CAuIexWi.js} +8 -8
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js.map → gitGraphDiagram-K3NZZRJ6-CAuIexWi.js.map} +1 -1
- package/webapp/dist/assets/{graph-Bq1MLNWN.js → graph-CvhwAY6w.js} +3 -3
- package/webapp/dist/assets/{graph-Bq1MLNWN.js.map → graph-CvhwAY6w.js.map} +1 -1
- package/webapp/dist/assets/{index-r4An5YoX.js → index-BOO_zFrI.js} +305 -39
- package/webapp/dist/assets/{index-r4An5YoX.js.map → index-BOO_zFrI.js.map} +1 -1
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-CoF5OE3_.js → infoDiagram-LFFYTUFH-C16Sckpz.js} +6 -6
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-CoF5OE3_.js.map → infoDiagram-LFFYTUFH-C16Sckpz.js.map} +1 -1
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-iKggfQhA.js → ishikawaDiagram-PHBUUO56-oNG6I0p3.js} +2 -2
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-iKggfQhA.js.map → ishikawaDiagram-PHBUUO56-oNG6I0p3.js.map} +1 -1
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-NYDQ7_xv.js → journeyDiagram-4ABVD52K-437hhFHC.js} +5 -5
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-NYDQ7_xv.js.map → journeyDiagram-4ABVD52K-437hhFHC.js.map} +1 -1
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-YWCnJwk0.js → kanban-definition-K7BYSVSG-DsCV_Tpx.js} +3 -3
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-YWCnJwk0.js.map → kanban-definition-K7BYSVSG-DsCV_Tpx.js.map} +1 -1
- package/webapp/dist/assets/{layout-CE6gccWy.js → layout-BttZf7fQ.js} +5 -5
- package/webapp/dist/assets/{layout-CE6gccWy.js.map → layout-BttZf7fQ.js.map} +1 -1
- package/webapp/dist/assets/{linear-12arIJK-.js → linear-B75vD4Ho.js} +2 -2
- package/webapp/dist/assets/{linear-12arIJK-.js.map → linear-B75vD4Ho.js.map} +1 -1
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D_5iNhfP.js → mindmap-definition-YRQLILUH-DA1-XaNi.js} +4 -4
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D_5iNhfP.js.map → mindmap-definition-YRQLILUH-DA1-XaNi.js.map} +1 -1
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DCbLQaXM.js → pieDiagram-SKSYHLDU-Bx6hUJ4Q.js} +8 -8
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DCbLQaXM.js.map → pieDiagram-SKSYHLDU-Bx6hUJ4Q.js.map} +1 -1
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-CVRDOyty.js → quadrantDiagram-337W2JSQ-zyduIle0.js} +3 -3
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-CVRDOyty.js.map → quadrantDiagram-337W2JSQ-zyduIle0.js.map} +1 -1
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-iBpmayOS.js → requirementDiagram-Z7DCOOCP-BgfjyEJM.js} +4 -4
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-iBpmayOS.js.map → requirementDiagram-Z7DCOOCP-BgfjyEJM.js.map} +1 -1
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-DqzWCtib.js → sankeyDiagram-WA2Y5GQK-lmOWaczS.js} +2 -2
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-DqzWCtib.js.map → sankeyDiagram-WA2Y5GQK-lmOWaczS.js.map} +1 -1
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DHzt-u2j.js → sequenceDiagram-2WXFIKYE-DqJz-iYI.js} +4 -4
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DHzt-u2j.js.map → sequenceDiagram-2WXFIKYE-DqJz-iYI.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-D14FagfU.js → stateDiagram-RAJIS63D-CngWYuX-.js} +9 -9
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-D14FagfU.js.map → stateDiagram-RAJIS63D-CngWYuX-.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-CZRolF-A.js → stateDiagram-v2-FVOUBMTO-BxyHvrvU.js} +5 -5
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-CZRolF-A.js.map → stateDiagram-v2-FVOUBMTO-BxyHvrvU.js.map} +1 -1
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-L4O4kc8p.js → timeline-definition-YZTLITO2-C7t6WVS3.js} +3 -3
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-L4O4kc8p.js.map → timeline-definition-YZTLITO2-C7t6WVS3.js.map} +1 -1
- package/webapp/dist/assets/{treemap-KZPCXAKY-CvHKWhtl.js → treemap-KZPCXAKY-BDZ3n5TC.js} +5 -5
- package/webapp/dist/assets/{treemap-KZPCXAKY-CvHKWhtl.js.map → treemap-KZPCXAKY-BDZ3n5TC.js.map} +1 -1
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-8sPBS5jq.js → vennDiagram-LZ73GAT5-CEw7GPed.js} +2 -2
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-8sPBS5jq.js.map → vennDiagram-LZ73GAT5-CEw7GPed.js.map} +1 -1
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-CqLmOgCw.js → xychartDiagram-JWTSCODW-DmS8BiaA.js} +3 -3
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-CqLmOgCw.js.map → xychartDiagram-JWTSCODW-DmS8BiaA.js.map} +1 -1
- package/webapp/dist/index.html +1 -1
|
@@ -38,6 +38,12 @@ const path = __importStar(require("path"));
|
|
|
38
38
|
function extractGlobalRtwsChdir(params) {
|
|
39
39
|
let chdir;
|
|
40
40
|
const out = [];
|
|
41
|
+
const readAbsoluteChdir = (argName, value) => {
|
|
42
|
+
if (!path.isAbsolute(value)) {
|
|
43
|
+
throw new Error(`${argName} requires an absolute directory path: ${value}`);
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
41
47
|
for (let i = 0; i < params.argv.length; i++) {
|
|
42
48
|
const arg = params.argv[i];
|
|
43
49
|
if (arg === '--') {
|
|
@@ -49,7 +55,7 @@ function extractGlobalRtwsChdir(params) {
|
|
|
49
55
|
if (typeof next !== 'string' || next.length === 0 || next === '--') {
|
|
50
56
|
throw new Error(`${arg} requires a directory argument`);
|
|
51
57
|
}
|
|
52
|
-
chdir =
|
|
58
|
+
chdir = readAbsoluteChdir(arg, next);
|
|
53
59
|
i++;
|
|
54
60
|
continue;
|
|
55
61
|
}
|
|
@@ -57,14 +63,14 @@ function extractGlobalRtwsChdir(params) {
|
|
|
57
63
|
const value = arg.slice('--cwd='.length);
|
|
58
64
|
if (value.length === 0)
|
|
59
65
|
throw new Error(`--cwd requires a directory argument`);
|
|
60
|
-
chdir =
|
|
66
|
+
chdir = readAbsoluteChdir('--cwd', value);
|
|
61
67
|
continue;
|
|
62
68
|
}
|
|
63
69
|
if (arg.startsWith('--chdir=')) {
|
|
64
70
|
const value = arg.slice('--chdir='.length);
|
|
65
71
|
if (value.length === 0)
|
|
66
72
|
throw new Error(`--chdir requires a directory argument`);
|
|
67
|
-
chdir =
|
|
73
|
+
chdir = readAbsoluteChdir('--chdir', value);
|
|
68
74
|
continue;
|
|
69
75
|
}
|
|
70
76
|
out.push(arg);
|
package/dist/cli/create.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Notes:
|
|
10
10
|
* - Template can be a short name (resolved via DOMINDS_TEMPLATE_BASE) or a git URL.
|
|
11
|
-
* - rtws directory is `process.cwd()`. Use 'dominds -C <dir> create ...' to create under another base dir.
|
|
11
|
+
* - rtws directory is `process.cwd()`. Use 'dominds -C <abs-dir> create ...' to create under another base dir.
|
|
12
12
|
*/
|
|
13
13
|
declare function main(argv?: readonly string[]): Promise<void>;
|
|
14
14
|
export { main };
|
package/dist/cli/create.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Notes:
|
|
11
11
|
* - Template can be a short name (resolved via DOMINDS_TEMPLATE_BASE) or a git URL.
|
|
12
|
-
* - rtws directory is `process.cwd()`. Use 'dominds -C <dir> create ...' to create under another base dir.
|
|
12
|
+
* - rtws directory is `process.cwd()`. Use 'dominds -C <abs-dir> create ...' to create under another base dir.
|
|
13
13
|
*/
|
|
14
14
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
15
|
if (k2 === undefined) k2 = k;
|
package/dist/cli/read.js
CHANGED
|
@@ -59,7 +59,7 @@ function printUsage() {
|
|
|
59
59
|
console.log('`--audit` runs prompt audit via hidden teammate @fuxi using default LLM config (skips when unavailable), and also includes static toolset checks (registry vs `.minds/mcp.yaml` declarations).');
|
|
60
60
|
console.log('When <member-id> is omitted, reads all visible team members.');
|
|
61
61
|
console.log('');
|
|
62
|
-
console.log("Note: rtws (runtime workspace) directory is `process.cwd()`. Use 'dominds -C <dir> read' to run in another rtws.");
|
|
62
|
+
console.log("Note: rtws (runtime workspace) directory is `process.cwd()`. Use 'dominds -C <abs-dir> read' to run in another rtws.");
|
|
63
63
|
console.log('');
|
|
64
64
|
console.log('Examples:');
|
|
65
65
|
console.log(' dominds read # Read all team members');
|
package/dist/cli/tui.js
CHANGED
|
@@ -76,7 +76,7 @@ function showHelp() {
|
|
|
76
76
|
console.log('');
|
|
77
77
|
console.log('Start or continue a dialog with an AI team member using a Taskdoc.');
|
|
78
78
|
console.log('');
|
|
79
|
-
console.log("Note: rtws (runtime workspace) directory is `process.cwd()`. Use 'dominds -C <dir> tui ...' to run in another rtws.");
|
|
79
|
+
console.log("Note: rtws (runtime workspace) directory is `process.cwd()`. Use 'dominds -C <abs-dir> tui ...' to run in another rtws.");
|
|
80
80
|
console.log('');
|
|
81
81
|
console.log('Arguments:');
|
|
82
82
|
console.log(' <taskdoc-path> Path to Taskdoc (required for dialog)');
|
package/dist/cli/webui.js
CHANGED
|
@@ -30,7 +30,7 @@ Usage:
|
|
|
30
30
|
dominds webui [options]
|
|
31
31
|
|
|
32
32
|
Note:
|
|
33
|
-
rtws (runtime workspace) directory is \`process.cwd()\`. Use 'dominds -C <dir> webui' to run in another rtws.
|
|
33
|
+
rtws (runtime workspace) directory is \`process.cwd()\`. Use 'dominds -C <abs-dir> webui' to run in another rtws.
|
|
34
34
|
|
|
35
35
|
Options:
|
|
36
36
|
-p, --port <port> Port to listen on. Bare port is strict; suffix + tries higher ports; suffix - tries lower ports.
|
package/dist/cli.js
CHANGED
|
@@ -107,10 +107,10 @@ function printHelp() {
|
|
|
107
107
|
Dominds CLI - AI-driven DevOps framework with persistent memory
|
|
108
108
|
|
|
109
109
|
Usage:
|
|
110
|
-
dominds [-C <dir>] [subcommand] [options]
|
|
110
|
+
dominds [-C <abs-dir>] [subcommand] [options]
|
|
111
111
|
|
|
112
112
|
Global Options:
|
|
113
|
-
-C <dir>
|
|
113
|
+
-C <abs-dir> Change to absolute runtime workspace directory (rtws) before running
|
|
114
114
|
|
|
115
115
|
Subcommands:
|
|
116
116
|
webui [options] Start WebUI server (default)
|
|
@@ -133,7 +133,7 @@ Subcommands:
|
|
|
133
133
|
Examples:
|
|
134
134
|
dominds # Start WebUI server (default)
|
|
135
135
|
dominds webui # Start WebUI server
|
|
136
|
-
dominds -C
|
|
136
|
+
dominds -C /path/to/my-ws webui # Start in specific rtws
|
|
137
137
|
dominds tui --help # Show TUI help
|
|
138
138
|
dominds run task.tsk # Run task dialog
|
|
139
139
|
dominds read # Read team configuration
|
|
@@ -159,10 +159,9 @@ function printVersion() {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
async function main(argv = process.argv.slice(2)) {
|
|
162
|
-
const baseCwd = process.cwd();
|
|
163
162
|
let parsed;
|
|
164
163
|
try {
|
|
165
|
-
parsed = (0, rtws_cli_1.extractGlobalRtwsChdir)({ argv
|
|
164
|
+
parsed = (0, rtws_cli_1.extractGlobalRtwsChdir)({ argv });
|
|
166
165
|
}
|
|
167
166
|
catch (err) {
|
|
168
167
|
console.error('Error:', err instanceof Error ? err.message : String(err));
|
|
@@ -173,10 +172,7 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
173
172
|
if (args.length === 0) {
|
|
174
173
|
if (parsed.chdir) {
|
|
175
174
|
try {
|
|
176
|
-
|
|
177
|
-
? parsed.chdir
|
|
178
|
-
: path.resolve(baseCwd, parsed.chdir);
|
|
179
|
-
process.chdir(absoluteRtwsRoot);
|
|
175
|
+
process.chdir(parsed.chdir);
|
|
180
176
|
}
|
|
181
177
|
catch (err) {
|
|
182
178
|
console.error(`Error: failed to change directory to '${parsed.chdir}':`, err);
|
|
@@ -222,10 +218,7 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
222
218
|
if (!shouldSkipRtwsSetup) {
|
|
223
219
|
if (parsed.chdir) {
|
|
224
220
|
try {
|
|
225
|
-
|
|
226
|
-
? parsed.chdir
|
|
227
|
-
: path.resolve(baseCwd, parsed.chdir);
|
|
228
|
-
process.chdir(absoluteRtwsRoot);
|
|
221
|
+
process.chdir(parsed.chdir);
|
|
229
222
|
}
|
|
230
223
|
catch (err) {
|
|
231
224
|
console.error(`Error: failed to change directory to '${parsed.chdir}':`, err);
|
package/dist/docs/cli-usage.md
CHANGED
|
@@ -4,7 +4,7 @@ Chinese version: [中文版](./cli-usage.zh.md)
|
|
|
4
4
|
|
|
5
5
|
The `dominds` CLI provides a unified entry point, but the **primary interaction experience is the Web UI** (the default `dominds` command). This guide focuses on the Web UI workflow.
|
|
6
6
|
|
|
7
|
-
> Note: In this document, **rtws (runtime workspace)** refers to the runtime root directory Dominds uses (by default `process.cwd()`, switchable via `-C <dir
|
|
7
|
+
> Note: In this document, **rtws (runtime workspace)** refers to the runtime root directory Dominds uses (by default `process.cwd()`, switchable via `-C <abs-dir>`; `-C` only accepts absolute paths).
|
|
8
8
|
|
|
9
9
|
> Note: `dominds tui` / `dominds run` are currently reserved subcommand names and do not have a stable implementation yet. As a result, this guide does not document TUI options or detailed usage.
|
|
10
10
|
|
|
@@ -49,7 +49,7 @@ dominds webui [options]
|
|
|
49
49
|
|
|
50
50
|
# Common: choose port / rtws
|
|
51
51
|
dominds webui -p 8080
|
|
52
|
-
dominds webui -C
|
|
52
|
+
dominds webui -C /path/to/my-rtws
|
|
53
53
|
|
|
54
54
|
# Minds reader: inspect team configuration
|
|
55
55
|
dominds read [options] [member-id]
|
|
@@ -83,7 +83,7 @@ Start the web-based user interface for the current rtws. This provides a graphic
|
|
|
83
83
|
|
|
84
84
|
- `-p, --port <port>` - Port to listen on; a bare port binds strictly, suffix `+` tries higher ports, and suffix `-` tries lower ports (omitting `--port` is equivalent to `5666-`)
|
|
85
85
|
- `-h, --host <host>` - Host to bind to (default: localhost)
|
|
86
|
-
- `-C, --cwd <dir>` - Change to rtws directory before starting
|
|
86
|
+
- `-C, --cwd <abs-dir>` - Change to rtws directory before starting; absolute paths only
|
|
87
87
|
- `--help` - Show help message
|
|
88
88
|
|
|
89
89
|
**Examples:**
|
|
@@ -92,7 +92,7 @@ Start the web-based user interface for the current rtws. This provides a graphic
|
|
|
92
92
|
dominds
|
|
93
93
|
dominds webui -p 8080
|
|
94
94
|
dominds webui -p 8080+
|
|
95
|
-
dominds webui -C
|
|
95
|
+
dominds webui -C /path/to/my-rtws
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
**Common use cases:**
|
|
@@ -122,7 +122,7 @@ Read and inspect agent prompts/configuration for the rtws. This is commonly used
|
|
|
122
122
|
|
|
123
123
|
**Options:**
|
|
124
124
|
|
|
125
|
-
- `-C, --cwd <dir>` - Change to rtws directory before reading
|
|
125
|
+
- `-C, --cwd <abs-dir>` - Change to rtws directory before reading; absolute paths only
|
|
126
126
|
- `--only-prompt` - Show only system prompts
|
|
127
127
|
- `--only-mem` - Show only memory
|
|
128
128
|
- `--help` - Show help message
|
|
@@ -132,7 +132,7 @@ Read and inspect agent prompts/configuration for the rtws. This is commonly used
|
|
|
132
132
|
```bash
|
|
133
133
|
dominds read
|
|
134
134
|
dominds read developer
|
|
135
|
-
dominds read -C
|
|
135
|
+
dominds read -C /path/to/my-rtws
|
|
136
136
|
dominds read --only-prompt
|
|
137
137
|
dominds read --only-mem
|
|
138
138
|
```
|
|
@@ -190,7 +190,7 @@ dominds
|
|
|
190
190
|
dominds webui -p 8080
|
|
191
191
|
|
|
192
192
|
# 3) Start in a specific rtws
|
|
193
|
-
dominds webui -C
|
|
193
|
+
dominds webui -C /path/to/my-rtws
|
|
194
194
|
|
|
195
195
|
# 4) Inspect current team/rtws configuration
|
|
196
196
|
dominds read
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
`dominds` 提供统一的命令行入口,但**主要交互界面是 Web UI**(默认命令 `dominds`)。本文档以 Web UI 工作流为主。
|
|
6
6
|
|
|
7
|
-
> 注:本文统一使用 **rtws(运行时工作区)** 表示 Dominds 运行时使用的根目录(默认等于 `process.cwd()`,可通过 `-C <dir>`
|
|
7
|
+
> 注:本文统一使用 **rtws(运行时工作区)** 表示 Dominds 运行时使用的根目录(默认等于 `process.cwd()`,可通过 `-C <abs-dir>` 切换;`-C` 只接受绝对路径)。
|
|
8
8
|
|
|
9
9
|
> 说明:`dominds tui` / `dominds run` 相关功能目前尚未提供稳定实现(子命令名保留用于未来规划),因此本指南不再展开 TUI 的命令选项与用法细节。
|
|
10
10
|
|
|
@@ -49,7 +49,7 @@ dominds webui [options]
|
|
|
49
49
|
|
|
50
50
|
# 常用:指定端口 / rtws
|
|
51
51
|
dominds webui -p 8080
|
|
52
|
-
dominds webui -C
|
|
52
|
+
dominds webui -C /path/to/my-rtws
|
|
53
53
|
|
|
54
54
|
# Minds 阅读器:分析团队配置
|
|
55
55
|
dominds read [options] [member-id]
|
|
@@ -83,7 +83,7 @@ dominds webui [options]
|
|
|
83
83
|
|
|
84
84
|
- `-p, --port <port>` - 监听端口;裸端口严格绑定,后缀 `+` 向更大端口自动尝试,后缀 `-` 向更小端口自动尝试(未指定时等价于 `5666-`)
|
|
85
85
|
- `-h, --host <host>` - 绑定的主机(默认:localhost)
|
|
86
|
-
- `-C, --cwd <dir>` - 启动前更改 rtws
|
|
86
|
+
- `-C, --cwd <abs-dir>` - 启动前更改 rtws 目录;只接受绝对路径
|
|
87
87
|
- `--help` - 显示帮助消息
|
|
88
88
|
|
|
89
89
|
**示例:**
|
|
@@ -99,7 +99,7 @@ dominds webui -p 8080
|
|
|
99
99
|
dominds webui -p 8080+
|
|
100
100
|
|
|
101
101
|
# 在特定 rtws 启动 Web UI
|
|
102
|
-
dominds webui -C
|
|
102
|
+
dominds webui -C /path/to/my-rtws
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
**常见用途:**
|
|
@@ -129,7 +129,7 @@ dominds read [options] [member-id]
|
|
|
129
129
|
|
|
130
130
|
**选项:**
|
|
131
131
|
|
|
132
|
-
- `-C, --cwd <dir>` - 读取前更改 rtws
|
|
132
|
+
- `-C, --cwd <abs-dir>` - 读取前更改 rtws 目录;只接受绝对路径
|
|
133
133
|
- `--only-prompt` - 仅显示系统提示词
|
|
134
134
|
- `--only-mem` - 仅显示内存
|
|
135
135
|
- `--help` - 显示帮助消息
|
|
@@ -139,7 +139,7 @@ dominds read [options] [member-id]
|
|
|
139
139
|
```bash
|
|
140
140
|
dominds read
|
|
141
141
|
dominds read developer
|
|
142
|
-
dominds read -C
|
|
142
|
+
dominds read -C /path/to/my-rtws
|
|
143
143
|
dominds read --only-prompt
|
|
144
144
|
dominds read --only-mem
|
|
145
145
|
```
|
|
@@ -204,7 +204,7 @@ dominds
|
|
|
204
204
|
dominds webui -p 8080
|
|
205
205
|
|
|
206
206
|
# 3) 在特定 rtws 启动
|
|
207
|
-
dominds webui -C
|
|
207
|
+
dominds webui -C /path/to/my-rtws
|
|
208
208
|
|
|
209
209
|
# 4) 查看/核对当前团队配置
|
|
210
210
|
dominds read
|
|
@@ -19,6 +19,10 @@ Dominds already has:
|
|
|
19
19
|
|
|
20
20
|
- Collect **token usage stats** from LLM provider wrappers after each generation.
|
|
21
21
|
- Compute a simple **context health** signal from provider stats + model metadata.
|
|
22
|
+
- When the current computed health is `caution` or `critical`, keep large function results from
|
|
23
|
+
adding more raw material to the next prompt. Large return content is replaced with a
|
|
24
|
+
scope-specific, low-cognitive-load instruction that tells the agent the output is too large to see
|
|
25
|
+
before `clear_mind`.
|
|
22
26
|
- When the dialog context is “too large”, enforce a **v3 remediation** workflow that is short,
|
|
23
27
|
executable, and regression-testable:
|
|
24
28
|
- In **caution**, record an auto-inserted **role=user prompt** as a normal, persisted user message
|
|
@@ -152,6 +156,34 @@ Rules:
|
|
|
152
156
|
- Do not duplicate Taskdoc content except for a short bridge when strictly needed.
|
|
153
157
|
- Do not paste long raw logs/tool outputs into the continuation package.
|
|
154
158
|
|
|
159
|
+
### Large Function Results During Remediation
|
|
160
|
+
|
|
161
|
+
When the current generation's computed context health is `caution` or `critical`, Dominds applies a
|
|
162
|
+
runtime visibility limit to every ordinary function result before it is persisted back into dialog
|
|
163
|
+
history. If current usage is unavailable, the driver falls back to the previous known context health
|
|
164
|
+
for this visibility decision. This limit only applies to returned content. Function arguments remain
|
|
165
|
+
unrestricted, because large arguments are often the necessary path for preserving current-dialog
|
|
166
|
+
details into Taskdoc sections or reminders.
|
|
167
|
+
|
|
168
|
+
If a function result is larger than the runtime visibility budget, measured by the total returned
|
|
169
|
+
bytes visible to the model, Dominds does not insert the raw return content into the model context.
|
|
170
|
+
Text is counted as UTF-8 bytes; image items use their recorded byte length. Instead, Dominds inserts
|
|
171
|
+
a short scope-specific message:
|
|
172
|
+
|
|
173
|
+
- Main Dialog: tell the agent that this function return is too large to see before `clear_mind`,
|
|
174
|
+
instruct it not to retry the same kind of large output, then tell it to write needed next-course
|
|
175
|
+
information into Taskdoc sections, preserve any remaining easy-to-lose details in reminders, and
|
|
176
|
+
call `clear_mind({})`.
|
|
177
|
+
- Side Dialog: tell the agent that this function return is too large to see before `clear_mind`,
|
|
178
|
+
instruct it not to retry the same kind of large output, then tell it to organize the conclusion,
|
|
179
|
+
evidence pointers, and risks for the Main Dialog, preserve any easy-to-lose details in reminders,
|
|
180
|
+
and finish the Side Dialog reply as soon as possible.
|
|
181
|
+
|
|
182
|
+
The replacement text may include only a short human-scale detail such as the approximate original
|
|
183
|
+
byte count. It must not present the tool invocation as an execution failure: the function may have
|
|
184
|
+
executed and produced side effects; only its large return content is unavailable before
|
|
185
|
+
`clear_mind`.
|
|
186
|
+
|
|
155
187
|
### Caution (yellow)
|
|
156
188
|
|
|
157
189
|
When `level === 'caution'`, the driver auto-inserts a **role=user** guidance prompt into the _next_
|
|
@@ -240,7 +272,9 @@ Additional constraints:
|
|
|
240
272
|
2. Thread usage stats into the dialog state (persist alongside dialog turns).
|
|
241
273
|
3. Implement the context health monitor computation and persist it per generation.
|
|
242
274
|
4. Implement v3 remediation (persisted role=user prompt insertion + caution reminder-curation cadence + critical countdown + auto clear_mind).
|
|
243
|
-
5.
|
|
275
|
+
5. Suppress oversized function-return content during `caution` / `critical` remediation while leaving
|
|
276
|
+
function arguments unrestricted.
|
|
277
|
+
6. Add minimal regression guards for the v3 behavior (types + gating).
|
|
244
278
|
|
|
245
279
|
## Acceptance Criteria
|
|
246
280
|
|
|
@@ -265,4 +299,8 @@ Additional constraints:
|
|
|
265
299
|
then `clear_mind`; Side Dialog prompts instruct detailed reminder curation only, then `clear_mind`.
|
|
266
300
|
When the countdown reaches 0, the driver auto-executes `clear_mind` and starts a new course (no Q4H,
|
|
267
301
|
no suspension).
|
|
302
|
+
- During `caution` / `critical`, any ordinary function result whose returned content exceeds the
|
|
303
|
+
runtime visibility byte budget is replaced with the scope-specific “too large to see before
|
|
304
|
+
`clear_mind`” instruction instead of raw output. This is not reported as tool execution failure,
|
|
305
|
+
and function arguments are not limited.
|
|
268
306
|
- UI shows context health with green/yellow/red (and “unknown” handling when usage is unavailable).
|
|
@@ -16,6 +16,9 @@ Dominds 已具备以下功能:
|
|
|
16
16
|
|
|
17
17
|
- 从 LLM 提供商包装器收集每次生成后的 **token 使用统计**。
|
|
18
18
|
- 从提供商统计 + 模型元数据计算简单的**上下文健康**信号。
|
|
19
|
+
- 当本轮计算出的健康状态为 `caution` / `critical` 时,避免大函数返回继续把原始材料塞进下一轮
|
|
20
|
+
prompt。过大的返回内容会被替换成按主线/支线定制的低心智负担指令,告诉智能体:清理头脑之
|
|
21
|
+
前,这类大输出当前不可见。
|
|
19
22
|
- 当对话上下文"过大"时,执行简短的、可执行的、可回归测试的 **v3 恢复**工作流:
|
|
20
23
|
- 在 **caution(警告)** 级别,记录一条自动插入的 **role=user prompt** 作为正常的、持久化的用户消息(UI 可见并渲染为正常的用户指令)。
|
|
21
24
|
- 在 **critical(严重)** 级别,通过**倒计时恢复**(最多 5 轮)强制执行稳定性:
|
|
@@ -119,6 +122,28 @@ Dominds 计算比率:
|
|
|
119
122
|
- 除非确有必要,不要重复差遣牒已覆盖的内容。
|
|
120
123
|
- 不要把长原始日志/大段 tool output 直接塞进接续包。
|
|
121
124
|
|
|
125
|
+
### 处置态下的大函数返回
|
|
126
|
+
|
|
127
|
+
当本轮生成计算出的上下文健康为 `caution` 或 `critical` 时,Dominds 在普通函数结果写回对话
|
|
128
|
+
历史前,对返回内容应用运行时可见性上限。如果本轮 usage 不可用,则回退使用上一轮已知上下文健
|
|
129
|
+
康来做这个可见性判断。这个限制只作用于函数返回内容;函数输入不受限制,因为较大的 `do_mind`
|
|
130
|
+
/ `change_mind` / `add_reminder` / `update_reminder` 参数经常正是把当前对话细节保存进差遣牒
|
|
131
|
+
或提醒项的必要路径。
|
|
132
|
+
|
|
133
|
+
如果函数返回内容超过运行时可见性预算(按模型可见的返回总字节数计算),Dominds 不把原始返回
|
|
134
|
+
内容插入模型上下文,而是插入一段按对话范围定制的短消息。文本按 UTF-8 字节计算;图片项使用已
|
|
135
|
+
记录的 `byteLength`。
|
|
136
|
+
|
|
137
|
+
- 主线对话:告诉智能体“这次函数返回内容太大,清理头脑之前当前不可见”;要求不要重试获取这类
|
|
138
|
+
大段输出;然后要求把下一程还需要知道的信息写入差遣牒合适章节,把差遣牒没有覆盖、但恢复工
|
|
139
|
+
作会丢的信息写入提醒项,最后调用 `clear_mind({})`。
|
|
140
|
+
- 支线对话:告诉智能体“这次函数返回内容太大,清理头脑之前当前不可见”;要求不要重试获取这类
|
|
141
|
+
大段输出;然后要求把需要回传给主线对话的结论、证据定位和风险整理清楚,必要时把恢复工作会
|
|
142
|
+
丢的信息写入提醒项,并尽快完成当前支线回复。
|
|
143
|
+
|
|
144
|
+
替换文案可以只保留简短的人类可读细节,例如“本次返回约 N 字节”。不要把这件事表述成工具执行
|
|
145
|
+
失败:函数可能已经执行并产生副作用;只是清理头脑之前,其大段返回内容当前不可见。
|
|
146
|
+
|
|
122
147
|
### 警告(黄色)
|
|
123
148
|
|
|
124
149
|
当 `level === 'caution'` 时,驱动程序在**下一个** LLM 生成轮次自动插入一条 **role=user** 指导提示,并**将其持久化为普通用户消息**,以便 UI 将其渲染为正常的用户指令。
|
|
@@ -191,7 +216,8 @@ Dominds 计算比率:
|
|
|
191
216
|
2. 将使用统计传入对话状态(与每程对话一起持久化)。
|
|
192
217
|
3. 实现上下文健康监控计算并每次生成持久化。
|
|
193
218
|
4. 实现 v3 恢复(持久化的 role=user 提示插入 + 警告提醒整理节奏 + 严重倒计时 + 自动 clear_mind)。
|
|
194
|
-
5.
|
|
219
|
+
5. 在 `caution` / `critical` 处置态下隐藏超大函数返回内容,同时保持函数输入不受限制。
|
|
220
|
+
6. 为 v3 行为添加最小回归防护(类型 + 门控)。
|
|
195
221
|
|
|
196
222
|
## 验收标准
|
|
197
223
|
|
|
@@ -202,4 +228,7 @@ Dominds 计算比率:
|
|
|
202
228
|
- v3 恢复:
|
|
203
229
|
- `caution`:驱动程序插入持久化的 role=user prompt(UI 可见的用户指令)。进入 `caution` 时插入一次;保持在 `caution` 状态时按节奏重新插入(默认:每 10 次生成;可按模型配置)。主线提示要求先把未落文档、且下一程需要知会的讨论细节补进差遣牒,再至少调用 `update_reminder` / `add_reminder` 之一维护接续包草稿;支线提示要求不要维护差遣牒/更新提案,直接维护足够详尽的接续包提醒项;然后在就绪时执行 `clear_mind`。
|
|
204
230
|
- `critical`:驱动程序使用**记录的角色为 user 的 prompt** 运行倒计时恢复(最多 5 轮)。每次提示包含倒计时;主线提示指示先补差遣牒,再整理提醒项并 `clear_mind`;支线提示指示只维护详尽提醒项并 `clear_mind`。当倒计时归零时,驱动程序自动执行 `clear_mind` 并开始新一程(无 Q4H,无暂停)。
|
|
231
|
+
- 在 `caution` / `critical` 中,任何普通函数结果的返回内容超过运行时可见性字节预算时,都用按
|
|
232
|
+
范围定制的“清理头脑之前当前不可见”指令替换原始输出;这不表述为工具执行失败,也不限制函数
|
|
233
|
+
输入。
|
|
205
234
|
- UI 显示上下文健康状态:绿色/黄色/红色(以及使用情况不可用时的"未知"处理)。
|
|
@@ -4,7 +4,7 @@ Chinese version: [中文版](./dialog-persistence.zh.md)
|
|
|
4
4
|
|
|
5
5
|
This document describes the persistence layer and storage mechanisms for the Dominds dialog system, including file system conventions, data structures, and storage patterns.
|
|
6
6
|
|
|
7
|
-
> Note: In this document, **rtws (runtime workspace)** refers to Dominds' runtime root directory (by default `process.cwd()`, switchable via `-C <dir
|
|
7
|
+
> Note: In this document, **rtws (runtime workspace)** refers to Dominds' runtime root directory (by default `process.cwd()`, switchable via `-C <abs-dir>`; `-C` only accepts absolute paths).
|
|
8
8
|
|
|
9
9
|
## Current Implementation Status
|
|
10
10
|
|
|
@@ -264,8 +264,8 @@ Example / 示例(概念):
|
|
|
264
264
|
|
|
265
265
|
### rtws(运行时工作区)
|
|
266
266
|
|
|
267
|
-
- EN: **rtws** (runtime workspace) is the directory Dominds treats as its runtime root (by default it is `process.cwd()`, and can be changed via `-C <dir
|
|
268
|
-
- ZH: **rtws(运行时工作区)**是 Dominds 运行时使用的根目录(默认等于 `process.cwd()`,可通过 `-C <dir>`
|
|
267
|
+
- EN: **rtws** (runtime workspace) is the directory Dominds treats as its runtime root (by default it is `process.cwd()`, and can be changed via `-C <abs-dir>`; `-C` only accepts absolute paths). Files like `.minds/` and `.dialogs/` live under the rtws.
|
|
268
|
+
- ZH: **rtws(运行时工作区)**是 Dominds 运行时使用的根目录(默认等于 `process.cwd()`,可通过 `-C <abs-dir>` 切换;`-C` 只接受绝对路径)。诸如 `.minds/`、`.dialogs/` 等运行态目录均位于 rtws 下。
|
|
269
269
|
|
|
270
270
|
- EN: Wording rule: when the meaning is **rtws**, prefer writing “rtws (runtime workspace)” (or just “rtws” after the first mention) rather than the ambiguous generic “workspace”.
|
|
271
271
|
- ZH: 用词规则:当语义指向 **rtws** 时,优先写“rtws(运行时工作区)”(或在已定义后只写“rtws”),避免在对外提示/文档中只写“工作区”从而与其他语境的 workspace/workdir 混淆。
|