@adhdev/daemon-standalone 1.0.47 → 1.0.49-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +84 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/public/assets/index-BjPWjmsH.css +1 -0
- package/public/assets/index-C5f45LAh.js +116 -0
- package/public/index.html +2 -2
- package/vendor/mcp-server/index.js +68 -2
- package/vendor/mcp-server/index.js.map +1 -1
- package/public/assets/index-CEPCfMWL.css +0 -1
- package/public/assets/index-D3K4NyAl.js +0 -116
package/public/index.html
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
<meta name="description" content="ADHDev self-hosted dashboard for controlling AI agents" />
|
|
8
8
|
<link rel="icon" href="/otter-logo.png" />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-C5f45LAh.js"></script>
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/vendor-DgFmqOGd.js">
|
|
12
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
12
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BjPWjmsH.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
15
|
<!-- Apply theme immediately to prevent FOIT (Flash of Incorrect Theme) -->
|
|
@@ -623,7 +623,9 @@ var CANONICAL_MESH_TOOL_NAMES = [
|
|
|
623
623
|
"mesh_magi_kind_panel_list",
|
|
624
624
|
"mesh_node_slots_set",
|
|
625
625
|
"mesh_node_slots_list",
|
|
626
|
-
"mesh_node_slots_propose"
|
|
626
|
+
"mesh_node_slots_propose",
|
|
627
|
+
"mesh_coordinator_prompt_append_get",
|
|
628
|
+
"mesh_coordinator_prompt_append_set"
|
|
627
629
|
];
|
|
628
630
|
var CANONICAL_MESH_TOOL_COUNT = CANONICAL_MESH_TOOL_NAMES.length;
|
|
629
631
|
var STATUS_PROBE_ARG_KEY = "_statusProbe";
|
|
@@ -1811,6 +1813,27 @@ var MESH_WRITE_MESH_JSON_CONFIG_TOOL = {
|
|
|
1811
1813
|
}
|
|
1812
1814
|
}
|
|
1813
1815
|
};
|
|
1816
|
+
var MESH_COORDINATOR_PROMPT_APPEND_GET_TOOL = {
|
|
1817
|
+
name: "mesh_coordinator_prompt_append_get",
|
|
1818
|
+
description: "Read the current user-level coordinator prompt APPEND text for a CLI type \u2014 the per-machine file at ~/.adhdev/coordinator-prompts/<cli>.append.md on this MCP server's daemon. Read this before mesh_coordinator_prompt_append_set so you know what you would be replacing. APPEND ONLY: this always stacks AFTER whichever base prompt wins (daemon default, or a mesh-level / user-level override) \u2014 there is no tool to read or write the OVERRIDE (base-replacing) file via MCP; that stays a dashboard-only, human-gated action by design.",
|
|
1819
|
+
inputSchema: {
|
|
1820
|
+
type: "object",
|
|
1821
|
+
properties: {
|
|
1822
|
+
cli_type: { type: "string", description: 'CLI type key, e.g. "claude-cli", "codex-cli". Defaults to "default" (applies to every CLI type without its own file).' }
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1825
|
+
};
|
|
1826
|
+
var MESH_COORDINATOR_PROMPT_APPEND_SET_TOOL = {
|
|
1827
|
+
name: "mesh_coordinator_prompt_append_set",
|
|
1828
|
+
description: "Write (or clear) the user-level coordinator prompt APPEND text for a CLI type \u2014 the per-machine file at ~/.adhdev/coordinator-prompts/<cli>.append.md on this MCP server's daemon. Applies to every mesh this daemon coordinates. Empty/omitted content deletes the file (reset to no append). WHOLESALE REPLACE: this replaces the entire append file, not an incremental add \u2014 read the current value first with mesh_coordinator_prompt_append_get if you want to preserve existing text. APPEND ONLY (safety boundary, not a missing feature): this can only ever add text after the base prompt; it can NEVER replace the daemon's base coordinator prompt (the OVERRIDE file), so a coordinator using this tool cannot erase its own core operating rules. There is no override parameter and none will be added.",
|
|
1829
|
+
inputSchema: {
|
|
1830
|
+
type: "object",
|
|
1831
|
+
properties: {
|
|
1832
|
+
cli_type: { type: "string", description: 'CLI type key, e.g. "claude-cli", "codex-cli". Defaults to "default".' },
|
|
1833
|
+
content: { type: "string", description: "The full append text to write. Omit or pass an empty string to clear (delete the file, falling back to no append at this layer)." }
|
|
1834
|
+
}
|
|
1835
|
+
}
|
|
1836
|
+
};
|
|
1814
1837
|
var ALL_MESH_TOOLS = [
|
|
1815
1838
|
MESH_STATUS_TOOL,
|
|
1816
1839
|
MESH_LIST_NODES_TOOL,
|
|
@@ -1863,7 +1886,9 @@ var ALL_MESH_TOOLS = [
|
|
|
1863
1886
|
MESH_MAGI_KIND_PANEL_LIST_TOOL,
|
|
1864
1887
|
MESH_NODE_SLOTS_SET_TOOL,
|
|
1865
1888
|
MESH_NODE_SLOTS_LIST_TOOL,
|
|
1866
|
-
MESH_NODE_SLOTS_PROPOSE_TOOL
|
|
1889
|
+
MESH_NODE_SLOTS_PROPOSE_TOOL,
|
|
1890
|
+
MESH_COORDINATOR_PROMPT_APPEND_GET_TOOL,
|
|
1891
|
+
MESH_COORDINATOR_PROMPT_APPEND_SET_TOOL
|
|
1867
1892
|
];
|
|
1868
1893
|
|
|
1869
1894
|
// src/tools/mesh-compact.ts
|
|
@@ -8443,6 +8468,41 @@ async function meshAddNode(transport, args, defaultMeshId) {
|
|
|
8443
8468
|
}, null, 2);
|
|
8444
8469
|
}
|
|
8445
8470
|
|
|
8471
|
+
// src/tools/mesh-tools-coordinator-prompt.ts
|
|
8472
|
+
var DEFAULT_CLI_TYPE_KEY = "default";
|
|
8473
|
+
async function meshCoordinatorPromptAppendGet(ctx, args = {}) {
|
|
8474
|
+
const key = readString(args.cli_type) || DEFAULT_CLI_TYPE_KEY;
|
|
8475
|
+
const result = unwrapCommandPayload(await ctx.transport.command("list_coordinator_prompts", {}));
|
|
8476
|
+
if (!result?.success) {
|
|
8477
|
+
return JSON.stringify({ success: false, error: result?.error || "list_coordinator_prompts failed" }, null, 2);
|
|
8478
|
+
}
|
|
8479
|
+
const entry = result.entries?.[key];
|
|
8480
|
+
return JSON.stringify({
|
|
8481
|
+
success: true,
|
|
8482
|
+
cli_type: key,
|
|
8483
|
+
append: entry?.append || "",
|
|
8484
|
+
dir: result.dir
|
|
8485
|
+
}, null, 2);
|
|
8486
|
+
}
|
|
8487
|
+
async function meshCoordinatorPromptAppendSet(ctx, args) {
|
|
8488
|
+
const key = readString(args.cli_type) || DEFAULT_CLI_TYPE_KEY;
|
|
8489
|
+
const content = typeof args.content === "string" ? args.content : "";
|
|
8490
|
+
const result = unwrapCommandPayload(await ctx.transport.command("write_coordinator_prompt", {
|
|
8491
|
+
key,
|
|
8492
|
+
kind: "append",
|
|
8493
|
+
content
|
|
8494
|
+
}));
|
|
8495
|
+
if (!result?.success) {
|
|
8496
|
+
return JSON.stringify({ success: false, error: result?.error || "write_coordinator_prompt failed" }, null, 2);
|
|
8497
|
+
}
|
|
8498
|
+
return JSON.stringify({
|
|
8499
|
+
success: true,
|
|
8500
|
+
cli_type: key,
|
|
8501
|
+
cleared: !content.trim(),
|
|
8502
|
+
path: result.path
|
|
8503
|
+
}, null, 2);
|
|
8504
|
+
}
|
|
8505
|
+
|
|
8446
8506
|
// src/tools/mesh-tools-refine.ts
|
|
8447
8507
|
async function meshRefineConfigSchema(ctx) {
|
|
8448
8508
|
const node = resolveRefineConfigNode(ctx);
|
|
@@ -9985,6 +10045,12 @@ async function startMcpServer(opts) {
|
|
|
9985
10045
|
case "mesh_node_slots_propose":
|
|
9986
10046
|
text = await meshNodeSlotsPropose(meshCtx, a);
|
|
9987
10047
|
break;
|
|
10048
|
+
case "mesh_coordinator_prompt_append_get":
|
|
10049
|
+
text = await meshCoordinatorPromptAppendGet(meshCtx, a);
|
|
10050
|
+
break;
|
|
10051
|
+
case "mesh_coordinator_prompt_append_set":
|
|
10052
|
+
text = await meshCoordinatorPromptAppendSet(meshCtx, a);
|
|
10053
|
+
break;
|
|
9988
10054
|
default:
|
|
9989
10055
|
return { content: [{ type: "text", text: `Unknown tool: ${name}` }], isError: true };
|
|
9990
10056
|
}
|