@operator-labs/darwin 0.3.0 → 0.4.0
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/README.md +1 -2
- package/dist/app.js +37 -7
- package/dist/app.js.map +1 -1
- package/dist/lib/collaboration-mode.d.ts +5 -0
- package/dist/lib/collaboration-mode.js +65 -0
- package/dist/lib/collaboration-mode.js.map +1 -0
- package/dist/lib/command-surface.d.ts +3 -0
- package/dist/lib/command-surface.js +9 -0
- package/dist/lib/command-surface.js.map +1 -1
- package/dist/lib/operator-harness.d.ts +2 -0
- package/dist/lib/operator-harness.js +67 -11
- package/dist/lib/operator-harness.js.map +1 -1
- package/dist/lib/package-version.d.ts +1 -0
- package/dist/lib/package-version.js +7 -0
- package/dist/lib/package-version.js.map +1 -0
- package/dist/lib/pi-tools.d.ts +2 -1
- package/dist/lib/pi-tools.js +27 -1
- package/dist/lib/pi-tools.js.map +1 -1
- package/dist/ui/components/footer.d.ts +2 -0
- package/dist/ui/components/footer.js +6 -2
- package/dist/ui/components/footer.js.map +1 -1
- package/dist/ui/components/intro.d.ts +2 -1
- package/dist/ui/components/intro.js +5 -2
- package/dist/ui/components/intro.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/app.js
CHANGED
|
@@ -7,6 +7,7 @@ import { getStoredApiKey, getStoredBaseUrl, initDirs } from "./lib/config.js";
|
|
|
7
7
|
import { appendLocalSessionMessage, appendLocalSessionToolCall, appendLocalSessionToolResult, createLocalSession, listLocalSessions, loadLocalSession, } from "./lib/local-sessions.js";
|
|
8
8
|
import { buildHarnessPrompt, DARWIN_HARNESS_END, DARWIN_HARNESS_START, isToolCallPrefix, parseToolCall, } from "./lib/operator-harness.js";
|
|
9
9
|
import { createOperatorClient } from "./lib/operator.js";
|
|
10
|
+
import { getPackageVersion } from "./lib/package-version.js";
|
|
10
11
|
import { PiToolHarness } from "./lib/pi-tools.js";
|
|
11
12
|
import { editorTheme, theme } from "./theme.js";
|
|
12
13
|
import { ChatLogComponent } from "./ui/components/chat-log.js";
|
|
@@ -25,14 +26,24 @@ function shortWorkspaceLabel(root) {
|
|
|
25
26
|
function shortSessionId(sessionId) {
|
|
26
27
|
return sessionId.slice(0, 8);
|
|
27
28
|
}
|
|
28
|
-
function formatStatusSummary(sessionId, authSummary) {
|
|
29
|
-
|
|
29
|
+
function formatStatusSummary(sessionId, authSummary, collaborationMode) {
|
|
30
|
+
const parts = [
|
|
30
31
|
theme.muted(shortWorkspaceLabel(workspaceRoot)),
|
|
31
32
|
theme.border("·"),
|
|
32
33
|
theme.muted(shortSessionId(sessionId)),
|
|
33
34
|
theme.border("·"),
|
|
34
35
|
authSummary,
|
|
35
|
-
]
|
|
36
|
+
];
|
|
37
|
+
if (collaborationMode === "plan") {
|
|
38
|
+
parts.push(theme.border("·"), theme.warning("plan mode"));
|
|
39
|
+
}
|
|
40
|
+
return parts.join(" ");
|
|
41
|
+
}
|
|
42
|
+
function formatFooterHint(collaborationMode) {
|
|
43
|
+
if (collaborationMode === "plan") {
|
|
44
|
+
return `${theme.primary("?")} ${theme.muted("for help")} ${theme.border("·")} ${theme.primary("/plan")} ${theme.muted("to return to default mode")}`;
|
|
45
|
+
}
|
|
46
|
+
return `${theme.primary("?")} ${theme.muted("for help")} ${theme.border("·")} ${theme.primary("/plan")} ${theme.muted("for read-only planning")}`;
|
|
36
47
|
}
|
|
37
48
|
function formatAuthSummary(status) {
|
|
38
49
|
if (!getStoredApiKey()) {
|
|
@@ -211,7 +222,7 @@ export async function runAppWithOptions(options = {}) {
|
|
|
211
222
|
initDirs();
|
|
212
223
|
const tui = new TUI(new ProcessTerminal(), true);
|
|
213
224
|
const root = new Container();
|
|
214
|
-
const intro = new IntroComponent(tui);
|
|
225
|
+
const intro = new IntroComponent(tui, getPackageVersion());
|
|
215
226
|
const chatLog = new ChatLogComponent(tui);
|
|
216
227
|
const footer = new FooterComponent();
|
|
217
228
|
const working = new WorkingIndicatorComponent(tui);
|
|
@@ -228,10 +239,12 @@ export async function runAppWithOptions(options = {}) {
|
|
|
228
239
|
: await createLocalSession(workspaceRoot),
|
|
229
240
|
authSummary: `${theme.warning("Unauthenticated")} ${theme.muted(`@ ${getStoredBaseUrl()}`)}`,
|
|
230
241
|
busy: false,
|
|
242
|
+
collaborationMode: "default",
|
|
231
243
|
};
|
|
232
244
|
const renderMain = () => {
|
|
233
245
|
root.clear();
|
|
234
|
-
footer.
|
|
246
|
+
footer.setHint(formatFooterHint(state.collaborationMode));
|
|
247
|
+
footer.setStatus(formatStatusSummary(state.session.id, state.authSummary, state.collaborationMode));
|
|
235
248
|
root.addChild(intro);
|
|
236
249
|
root.addChild(chatLog);
|
|
237
250
|
if (state.busy) {
|
|
@@ -245,7 +258,7 @@ export async function runAppWithOptions(options = {}) {
|
|
|
245
258
|
const refreshAuthSummary = async () => {
|
|
246
259
|
const status = await getAuthStatus();
|
|
247
260
|
state.authSummary = formatAuthSummary(status);
|
|
248
|
-
footer.setStatus(formatStatusSummary(state.session.id, state.authSummary));
|
|
261
|
+
footer.setStatus(formatStatusSummary(state.session.id, state.authSummary, state.collaborationMode));
|
|
249
262
|
tui.requestRender();
|
|
250
263
|
};
|
|
251
264
|
const setBusy = (busy, mode = "idle", message) => {
|
|
@@ -295,6 +308,7 @@ export async function runAppWithOptions(options = {}) {
|
|
|
295
308
|
setBusy(true, "thinking", "Darwin is working...");
|
|
296
309
|
try {
|
|
297
310
|
let nextPrompt = await buildHarnessPrompt({
|
|
311
|
+
collaborationMode: state.collaborationMode,
|
|
298
312
|
workspaceRoot,
|
|
299
313
|
session: state.session,
|
|
300
314
|
});
|
|
@@ -328,7 +342,7 @@ export async function runAppWithOptions(options = {}) {
|
|
|
328
342
|
}
|
|
329
343
|
chatLog.startTool(toolCall.tool, toolCall.args);
|
|
330
344
|
state.session = await appendLocalSessionToolCall(workspaceRoot, state.session, toolCall);
|
|
331
|
-
const toolResult = await piTools.execute(toolCall);
|
|
345
|
+
const toolResult = await piTools.execute(toolCall, state.collaborationMode);
|
|
332
346
|
if (toolResult.isError) {
|
|
333
347
|
chatLog.failTool(toolResult.summary);
|
|
334
348
|
}
|
|
@@ -337,6 +351,7 @@ export async function runAppWithOptions(options = {}) {
|
|
|
337
351
|
}
|
|
338
352
|
state.session = await appendLocalSessionToolResult(workspaceRoot, state.session, toolResult);
|
|
339
353
|
nextPrompt = await buildHarnessPrompt({
|
|
354
|
+
collaborationMode: state.collaborationMode,
|
|
340
355
|
workspaceRoot,
|
|
341
356
|
session: state.session,
|
|
342
357
|
});
|
|
@@ -383,6 +398,21 @@ export async function runAppWithOptions(options = {}) {
|
|
|
383
398
|
tui.requestRender();
|
|
384
399
|
return;
|
|
385
400
|
}
|
|
401
|
+
if (command.type === "plan") {
|
|
402
|
+
const nextMode = command.enabled === undefined
|
|
403
|
+
? state.collaborationMode === "plan"
|
|
404
|
+
? "default"
|
|
405
|
+
: "plan"
|
|
406
|
+
: command.enabled
|
|
407
|
+
? "plan"
|
|
408
|
+
: "default";
|
|
409
|
+
state.collaborationMode = nextMode;
|
|
410
|
+
chatLog.addNote(nextMode === "plan"
|
|
411
|
+
? "Plan mode enabled. Darwin will stay read-only, explore with non-mutating tools, and return a `<proposed_plan>` block."
|
|
412
|
+
: "Plan mode disabled. Darwin can implement changes again.");
|
|
413
|
+
renderMain();
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
386
416
|
if (command.type === "login") {
|
|
387
417
|
if (command.apiKey) {
|
|
388
418
|
setApiKey(command.apiKey);
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const darwinCollaborationModes: readonly ["default", "plan"];
|
|
2
|
+
export type DarwinCollaborationMode = (typeof darwinCollaborationModes)[number];
|
|
3
|
+
export declare const darwinPlanModeToolNames: readonly ["read", "bash", "grep", "find", "ls"];
|
|
4
|
+
export declare function isPlanModeToolAllowed(toolName: string): boolean;
|
|
5
|
+
export declare function isSafePlanModeBashCommand(command: string): boolean;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const darwinCollaborationModes = ["default", "plan"];
|
|
2
|
+
export const darwinPlanModeToolNames = ["read", "bash", "grep", "find", "ls"];
|
|
3
|
+
const planModeSafeBashPatterns = [
|
|
4
|
+
/^\s*pwd(?:\s+.*)?$/i,
|
|
5
|
+
/^\s*ls(?:\s+.*)?$/i,
|
|
6
|
+
/^\s*find(?:\s+.*)?$/i,
|
|
7
|
+
/^\s*grep(?:\s+.*)?$/i,
|
|
8
|
+
/^\s*rg(?:\s+.*)?$/i,
|
|
9
|
+
/^\s*fd(?:\s+.*)?$/i,
|
|
10
|
+
/^\s*cat(?:\s+.*)?$/i,
|
|
11
|
+
/^\s*head(?:\s+.*)?$/i,
|
|
12
|
+
/^\s*tail(?:\s+.*)?$/i,
|
|
13
|
+
/^\s*sed\s+-n(?:\s+.*)?$/i,
|
|
14
|
+
/^\s*awk(?:\s+.*)?$/i,
|
|
15
|
+
/^\s*wc(?:\s+.*)?$/i,
|
|
16
|
+
/^\s*sort(?:\s+.*)?$/i,
|
|
17
|
+
/^\s*uniq(?:\s+.*)?$/i,
|
|
18
|
+
/^\s*diff(?:\s+.*)?$/i,
|
|
19
|
+
/^\s*file(?:\s+.*)?$/i,
|
|
20
|
+
/^\s*stat(?:\s+.*)?$/i,
|
|
21
|
+
/^\s*du(?:\s+.*)?$/i,
|
|
22
|
+
/^\s*df(?:\s+.*)?$/i,
|
|
23
|
+
/^\s*tree(?:\s+.*)?$/i,
|
|
24
|
+
/^\s*which(?:\s+.*)?$/i,
|
|
25
|
+
/^\s*whereis(?:\s+.*)?$/i,
|
|
26
|
+
/^\s*type(?:\s+.*)?$/i,
|
|
27
|
+
/^\s*env(?:\s+.*)?$/i,
|
|
28
|
+
/^\s*printenv(?:\s+.*)?$/i,
|
|
29
|
+
/^\s*uname(?:\s+.*)?$/i,
|
|
30
|
+
/^\s*whoami(?:\s+.*)?$/i,
|
|
31
|
+
/^\s*id(?:\s+.*)?$/i,
|
|
32
|
+
/^\s*date(?:\s+.*)?$/i,
|
|
33
|
+
/^\s*uptime(?:\s+.*)?$/i,
|
|
34
|
+
/^\s*ps(?:\s+.*)?$/i,
|
|
35
|
+
/^\s*git\s+(status|log|diff|show|branch|remote|config\s+--get)(?:\s+.*)?$/i,
|
|
36
|
+
/^\s*npm\s+(list|ls|view|info|search|outdated|audit)(?:\s+.*)?$/i,
|
|
37
|
+
/^\s*yarn\s+(list|info|why|audit)(?:\s+.*)?$/i,
|
|
38
|
+
/^\s*bun\s+(pm|why|outdated)(?:\s+.*)?$/i,
|
|
39
|
+
/^\s*node\s+--version(?:\s+.*)?$/i,
|
|
40
|
+
/^\s*python(?:3)?\s+--version(?:\s+.*)?$/i,
|
|
41
|
+
];
|
|
42
|
+
const planModeUnsafeBashPatterns = [
|
|
43
|
+
/&&/,
|
|
44
|
+
/\|\|/,
|
|
45
|
+
/;/,
|
|
46
|
+
/>/,
|
|
47
|
+
/</,
|
|
48
|
+
/`/,
|
|
49
|
+
/\$\(/,
|
|
50
|
+
/\r|\n/,
|
|
51
|
+
];
|
|
52
|
+
export function isPlanModeToolAllowed(toolName) {
|
|
53
|
+
return darwinPlanModeToolNames.includes(toolName);
|
|
54
|
+
}
|
|
55
|
+
export function isSafePlanModeBashCommand(command) {
|
|
56
|
+
const trimmed = command.trim();
|
|
57
|
+
if (trimmed.length === 0) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (planModeUnsafeBashPatterns.some((pattern) => pattern.test(trimmed))) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return planModeSafeBashPatterns.some((pattern) => pattern.test(trimmed));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=collaboration-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collaboration-mode.js","sourceRoot":"","sources":["../../src/lib/collaboration-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAU,CAAC;AAIrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAU,CAAC;AAEvF,MAAM,wBAAwB,GAAG;IAC/B,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,yBAAyB;IACzB,sBAAsB;IACtB,qBAAqB;IACrB,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;IACxB,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,oBAAoB;IACpB,2EAA2E;IAC3E,iEAAiE;IACjE,8CAA8C;IAC9C,yCAAyC;IACzC,kCAAkC;IAClC,0CAA0C;CAC3C,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,IAAI;IACJ,MAAM;IACN,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAO;CACR,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,OAAO,uBAAuB,CAAC,QAAQ,CAAC,QAAoD,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -3,6 +3,7 @@ const tuiCommandSpecs = [
|
|
|
3
3
|
{ phrase: "/help", description: "Show usage" },
|
|
4
4
|
{ phrase: "/quit", description: "Exit the app" },
|
|
5
5
|
{ phrase: "/clear", description: "Clear the timeline" },
|
|
6
|
+
{ phrase: "/plan", description: "Toggle read-only plan mode" },
|
|
6
7
|
{ phrase: "/login", description: "Authenticate with Operator" },
|
|
7
8
|
{ phrase: "/logout", description: "Clear stored API key" },
|
|
8
9
|
{ phrase: "/status", description: "Show current auth status" },
|
|
@@ -42,6 +43,7 @@ const tuiHelpLines = [
|
|
|
42
43
|
"`/new` Start a fresh Darwin chat thread",
|
|
43
44
|
"`/chats` List local Darwin sessions",
|
|
44
45
|
"`/open <id>` Reopen a local session by id or prefix",
|
|
46
|
+
"`/plan [on|off]` Toggle read-only plan mode",
|
|
45
47
|
"`/clear` Clear the current timeline view",
|
|
46
48
|
"",
|
|
47
49
|
"**Auth**",
|
|
@@ -165,6 +167,13 @@ export function parseTuiCommand(header) {
|
|
|
165
167
|
if (/^clear$/i.test(raw)) {
|
|
166
168
|
return { type: "clear" };
|
|
167
169
|
}
|
|
170
|
+
const planMatch = raw.match(/^plan(?:\s+(on|off))?$/i);
|
|
171
|
+
if (planMatch) {
|
|
172
|
+
return {
|
|
173
|
+
type: "plan",
|
|
174
|
+
enabled: planMatch[1] === undefined ? undefined : planMatch[1].toLowerCase() === "on",
|
|
175
|
+
};
|
|
176
|
+
}
|
|
168
177
|
if (/^new(?:\s+chat)?$/i.test(raw)) {
|
|
169
178
|
return { type: "new" };
|
|
170
179
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-surface.js","sourceRoot":"","sources":["../../src/lib/command-surface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-surface.js","sourceRoot":"","sources":["../../src/lib/command-surface.ts"],"names":[],"mappings":"AA6BA,MAAM,eAAe,GAAkB;IACrC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE;IAC1C,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE;IAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;IAChD,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACvD,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC9D,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC/D,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC1D,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAC9D,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kCAAkC,EAAE;IACnE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC/D,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC9D,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;CACxD,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,QAAQ;IACR,EAAE;IACF,QAAQ;IACR,6DAA6D;IAC7D,6DAA6D;IAC7D,gEAAgE;IAChE,oDAAoD;IACpD,sDAAsD;IACtD,0EAA0E;IAC1E,oDAAoD;IACpD,yCAAyC;IACzC,EAAE;IACF,eAAe;IACf,qEAAqE;IACrE,EAAE;IACF,QAAQ;IACR,8CAA8C;CAC/C,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,YAAY;IACZ,EAAE;IACF,yFAAyF;IACzF,iGAAiG;IACjG,4FAA4F;IAC5F,EAAE;IACF,aAAa;IACb,EAAE;IACF,yCAAyC;IACzC,qCAAqC;IACrC,qDAAqD;IACrD,6CAA6C;IAC7C,0CAA0C;IAC1C,EAAE;IACF,UAAU;IACV,EAAE;IACF,sCAAsC;IACtC,uDAAuD;IACvD,8CAA8C;IAC9C,qCAAqC;IACrC,EAAE;IACF,cAAc;IACd,EAAE;IACF,oCAAoC;IACpC,qCAAqC;IACrC,EAAE;IACF,aAAa;IACb,EAAE;IACF,oBAAoB;IACpB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAAyB;IACnD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC5C,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;KACb,CAAC;IAEF,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,KAAK;YACR,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QACnD,CAAC;QACD,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,WAAW;YACd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACvD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DarwinCollaborationMode } from "./collaboration-mode.js";
|
|
1
2
|
import type { DarwinSession } from "./local-sessions.js";
|
|
2
3
|
import { type DarwinLocalToolCall } from "./pi-tools.js";
|
|
3
4
|
export declare const DARWIN_HARNESS_START = "<darwin_harness>";
|
|
@@ -5,6 +6,7 @@ export declare const DARWIN_HARNESS_END = "</darwin_harness>";
|
|
|
5
6
|
export declare const DARWIN_TOOL_CALL_START = "<darwin_local_tool_call>";
|
|
6
7
|
export declare const DARWIN_TOOL_CALL_END = "</darwin_local_tool_call>";
|
|
7
8
|
export interface BuildHarnessPromptParams {
|
|
9
|
+
collaborationMode?: DarwinCollaborationMode;
|
|
8
10
|
workspaceRoot: string;
|
|
9
11
|
session: DarwinSession;
|
|
10
12
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as fs from "node:fs/promises";
|
|
2
|
+
import { darwinPlanModeToolNames } from "./collaboration-mode.js";
|
|
2
3
|
import { darwinLocalToolNames } from "./pi-tools.js";
|
|
3
4
|
export const DARWIN_HARNESS_START = "<darwin_harness>";
|
|
4
5
|
export const DARWIN_HARNESS_END = "</darwin_harness>";
|
|
@@ -99,14 +100,62 @@ async function readAgentsInstructions(root) {
|
|
|
99
100
|
return null;
|
|
100
101
|
}
|
|
101
102
|
}
|
|
103
|
+
function getToolInstructions(collaborationMode) {
|
|
104
|
+
if (collaborationMode === "plan") {
|
|
105
|
+
return [
|
|
106
|
+
"Current collaboration mode: plan",
|
|
107
|
+
"You are in Plan mode until the user explicitly switches out of it.",
|
|
108
|
+
"Plan mode is for discovery and decision-complete planning, not implementation.",
|
|
109
|
+
"If the user asks you to execute work while still in Plan mode, treat that as a request to plan the execution.",
|
|
110
|
+
"",
|
|
111
|
+
"Plan mode rules:",
|
|
112
|
+
"1. You may perform non-mutating exploration with local tools to reduce ambiguity.",
|
|
113
|
+
"2. You must not edit files, write files, or perform other mutating local actions.",
|
|
114
|
+
"3. Before asking the user clarifying questions, do at least one targeted exploration pass when local context can answer the question.",
|
|
115
|
+
"4. Ask only the questions that materially change the plan or resolve an important tradeoff.",
|
|
116
|
+
"5. When the plan is ready, answer with exactly one complete `<proposed_plan>` block and keep the rest of the answer minimal.",
|
|
117
|
+
"6. When the plan is ready, close the response immediately after the completed `<proposed_plan>` block.",
|
|
118
|
+
"",
|
|
119
|
+
"Plan mode output contract:",
|
|
120
|
+
"1. Put `<proposed_plan>` on its own line.",
|
|
121
|
+
"2. Put the full markdown plan on the next line(s).",
|
|
122
|
+
"3. Put `</proposed_plan>` on its own line.",
|
|
123
|
+
"4. The plan must be implementation-ready and leave no important decisions unresolved.",
|
|
124
|
+
"",
|
|
125
|
+
"Available local Pi tools in Plan mode and exact argument names:",
|
|
126
|
+
'- `read` with `{"path":"src/app.ts","offset":0,"limit":200}`',
|
|
127
|
+
'- `bash` with `{"command":"pwd","timeout":120000}`',
|
|
128
|
+
'- `ls` with `{"path":".","limit":200}`',
|
|
129
|
+
'- `grep` with `{"pattern":"foo","path":"src","glob":"*.ts","ignoreCase":true,"literal":false,"context":2,"limit":200}`',
|
|
130
|
+
'- `find` with `{"pattern":"*.ts","path":"src","limit":200}`',
|
|
131
|
+
"",
|
|
132
|
+
"Plan mode bash restrictions:",
|
|
133
|
+
"Use only a single read-only inspection command.",
|
|
134
|
+
"Do not use shell chaining, redirects, or commands that modify files or external state.",
|
|
135
|
+
];
|
|
136
|
+
}
|
|
137
|
+
return [
|
|
138
|
+
"Current collaboration mode: default",
|
|
139
|
+
"",
|
|
140
|
+
"Available local Pi tools and exact argument names:",
|
|
141
|
+
'- `read` with `{"path":"src/app.ts","offset":0,"limit":200}`',
|
|
142
|
+
'- `write` with `{"path":"notes.txt","content":"..."}`',
|
|
143
|
+
'- `edit` with `{"path":"src/app.ts","oldText":"before","newText":"after"}`',
|
|
144
|
+
'- `bash` with `{"command":"npm test","timeout":120000}`',
|
|
145
|
+
'- `ls` with `{"path":".","limit":200}`',
|
|
146
|
+
'- `grep` with `{"pattern":"foo","path":"src","glob":"*.ts","ignoreCase":true,"literal":false,"context":2,"limit":200}`',
|
|
147
|
+
'- `find` with `{"pattern":"*.ts","path":"src","limit":200}`',
|
|
148
|
+
];
|
|
149
|
+
}
|
|
102
150
|
export async function buildHarnessPrompt(params) {
|
|
151
|
+
const collaborationMode = params.collaborationMode ?? "default";
|
|
103
152
|
const snapshot = await getWorkspaceSnapshot(params.workspaceRoot);
|
|
104
153
|
const agentsInstructions = await readAgentsInstructions(params.workspaceRoot);
|
|
105
154
|
const sessionHistory = formatStructuredHistory(params.session);
|
|
106
155
|
const currentObjective = getCurrentObjective(params.session);
|
|
107
156
|
return [
|
|
108
157
|
DARWIN_HARNESS_START,
|
|
109
|
-
"You are Darwin
|
|
158
|
+
"You are Darwin, a local coding agent running through Operator chat.",
|
|
110
159
|
"Operator chat is the user-visible source of truth for this session.",
|
|
111
160
|
"Your primary goal is to develop agents that get incrementally better at the task they are given. Each mutation and skill download should aim for general capability improvement by default, while still optimizing for a benchmark when the user wants that.",
|
|
112
161
|
"This Darwin session maps 1:1 to the current Operator chat thread.",
|
|
@@ -127,10 +176,17 @@ export async function buildHarnessPrompt(params) {
|
|
|
127
176
|
"4. When the user asks to improve an agent, do the full loop: define the target, create or mutate one or more agents, run the evaluation, compare outcomes, extract lessons, and propose the next iteration.",
|
|
128
177
|
"5. When the user asks for multiple variants, create a small set of meaningfully different agents or skill bundles, run all of them, and compare them on the same task.",
|
|
129
178
|
"6. Prefer improvements that transfer across tasks: decomposition, verification, evidence gathering, tool selection, error recovery, concise reporting, and calibrated confidence.",
|
|
179
|
+
"7. For forecasting tasks like weather, AQI, BTC, or virality, prefer retrospective evaluation on archived data before any live deployment.",
|
|
180
|
+
"8. When archived outcomes exist, use masked backtesting: give each agent only the information available up to the prediction timestamp, hide the realized outcome, then score the prediction after reveal.",
|
|
181
|
+
"9. Guard against leakage. Do not let agents see future labels, edited repost counts, or metadata that was only available after the event resolved.",
|
|
182
|
+
"10. Prefer rolling or walk-forward splits over a single static split when the domain changes over time.",
|
|
183
|
+
"11. For agent improvement loops on forecasting tasks, treat selection as an evolutionary search: keep the variants that score best on held-out periods and mutate from those winners.",
|
|
130
184
|
"",
|
|
131
|
-
"Darwin
|
|
185
|
+
"Darwin example loop:",
|
|
132
186
|
"1. If the user asks for an agent that is really good at some task, treat that as a request to optimize an agent through repeated evaluation, not as a one-shot instance creation task.",
|
|
133
187
|
"2. Use Operator chat and hosted tools to create the baseline agent, install skills, create additional variants, and run the evaluations.",
|
|
188
|
+
"2a. Use Operator chat to install, update, or remove skills on hosted agents whenever the user asks for skill lifecycle changes.",
|
|
189
|
+
"2b. Use Operator chat to inspect and edit Operator-managed agent files such as `agents.md`, `soul.md`, and similar hosted configuration or memory files when relevant.",
|
|
134
190
|
"3. If the user does not provide a benchmark or test suite, guide them toward one or choose a small benchmark with objective scoring and fast feedback, then say what benchmark you chose and why.",
|
|
135
191
|
"4. Start with a baseline plus a few variants with clearly different traits, prompts, or skill bundles. Keep the mutation surface legible so results are interpretable. Keep in mind your instance and token budget.",
|
|
136
192
|
"5. Run every variant on the same evaluation set. Record structured results so the runs can be compared directly.",
|
|
@@ -139,10 +195,13 @@ export async function buildHarnessPrompt(params) {
|
|
|
139
195
|
"8. Continue iterating when the budget allows, so the last-stage agent is meaningfully better than the initial agent on the measured task.",
|
|
140
196
|
"9. Guide the user through the loop in plain language. Make the workflow visible: baseline, variants, evaluation, analysis, mutation, rerun.",
|
|
141
197
|
"10. Use the local filesystem as a scratch pad for experiment logs, hypotheses, benchmark definitions, run results, failure notes, and iteration summaries.",
|
|
198
|
+
"11. Minimal forecasting protocol: define `prediction_time`, `observation_window`, and `target_window`. Build masked examples from the archive using only information available at `prediction_time`.",
|
|
199
|
+
"12. Run walk-forward evaluation across successive time slices.",
|
|
200
|
+
"13. Score each variant with domain metrics appropriate to the task.",
|
|
142
201
|
"",
|
|
143
202
|
"Rules:",
|
|
144
203
|
"- Do not ask the user for permission to inspect or modify local files. Use the tools.",
|
|
145
|
-
"- Access OpenClaw agents and their state through Operator, not through the local filesystem.",
|
|
204
|
+
"- Access OpenClaw agents and their state through Operator chat, not through the local filesystem.",
|
|
146
205
|
"- You should view the Operator chat and tools as a kind of agent cloud laboratory.",
|
|
147
206
|
"- If the user asks you to create an agent, install skills, create multiple variants, or run a benchmark, prefer doing that through Operator chat and hosted tools instead of treating it as a local coding task.",
|
|
148
207
|
"- When benchmarking agents, record enough structure to compare runs clearly: agent identity, variant traits or skills, task, metric, score, failures, and notable observations.",
|
|
@@ -151,15 +210,9 @@ export async function buildHarnessPrompt(params) {
|
|
|
151
210
|
"- For benchmark runs, evaluation rounds, leaderboard updates, and other structured result summaries, emit a fenced code block with language `chart` by default whenever the data can support it. Use prose-only summaries only when the data is too sparse or unstructured for a meaningful chart.",
|
|
152
211
|
"- Pair charts with a compact textual summary so the user gets both the visual trend and the key conclusion.",
|
|
153
212
|
"- When you mention a chart or visualization, prefer using the structured benchmark data you already stored in `.darwin/` so the chart can be regenerated or refined later.",
|
|
213
|
+
"- When the answer is complete, finish on the last substantive sentence.",
|
|
154
214
|
"",
|
|
155
|
-
|
|
156
|
-
'- `read` with `{"path":"src/app.ts","offset":0,"limit":200}`',
|
|
157
|
-
'- `write` with `{"path":"notes.txt","content":"..."}`',
|
|
158
|
-
'- `edit` with `{"path":"src/app.ts","oldText":"before","newText":"after"}`',
|
|
159
|
-
'- `bash` with `{"command":"npm test","timeout":120000}`',
|
|
160
|
-
'- `ls` with `{"path":".","limit":200}`',
|
|
161
|
-
'- `grep` with `{"pattern":"foo","path":"src","glob":"*.ts","ignoreCase":true,"literal":false,"context":2,"limit":200}`',
|
|
162
|
-
'- `find` with `{"pattern":"*.ts","path":"src","limit":200}`',
|
|
215
|
+
...getToolInstructions(collaborationMode),
|
|
163
216
|
"",
|
|
164
217
|
"Tool protocol:",
|
|
165
218
|
"If you need a local tool, respond with exactly one block and nothing else:",
|
|
@@ -169,6 +222,9 @@ export async function buildHarnessPrompt(params) {
|
|
|
169
222
|
"Work until the task is actually complete.",
|
|
170
223
|
"Do not stop early because of an assumed tool limit.",
|
|
171
224
|
"Repeat a local tool call only when something materially changed and you need fresh results.",
|
|
225
|
+
collaborationMode === "plan"
|
|
226
|
+
? `Only use these tools in Plan mode: ${darwinPlanModeToolNames.join(", ")}.`
|
|
227
|
+
: `You may use any of these tools in Default mode: ${darwinLocalToolNames.join(", ")}.`,
|
|
172
228
|
"",
|
|
173
229
|
`Current Darwin objective: ${currentObjective}`,
|
|
174
230
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-harness.js","sourceRoot":"","sources":["../../src/lib/operator-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"operator-harness.js","sourceRoot":"","sources":["../../src/lib/operator-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getPackageVersion(): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
const require = createRequire(import.meta.url);
|
|
3
|
+
const packageJson = require("../../package.json");
|
|
4
|
+
export function getPackageVersion() {
|
|
5
|
+
return typeof packageJson.version === "string" ? packageJson.version : "0.0.0";
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=package-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-version.js","sourceRoot":"","sources":["../../src/lib/package-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAyB,CAAC;AAE1E,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AACjF,CAAC"}
|
package/dist/lib/pi-tools.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DarwinCollaborationMode } from "./collaboration-mode.js";
|
|
1
2
|
export declare const darwinLocalToolNames: readonly ["read", "bash", "edit", "write", "grep", "find", "ls"];
|
|
2
3
|
export type DarwinLocalToolName = (typeof darwinLocalToolNames)[number];
|
|
3
4
|
export interface DarwinLocalToolCall {
|
|
@@ -15,5 +16,5 @@ export interface DarwinLocalToolResult {
|
|
|
15
16
|
export declare class PiToolHarness {
|
|
16
17
|
private readonly tools;
|
|
17
18
|
constructor(cwd: string);
|
|
18
|
-
execute(call: DarwinLocalToolCall): Promise<DarwinLocalToolResult>;
|
|
19
|
+
execute(call: DarwinLocalToolCall, collaborationMode?: DarwinCollaborationMode): Promise<DarwinLocalToolResult>;
|
|
19
20
|
}
|
package/dist/lib/pi-tools.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createBashTool, createEditTool, createFindTool, createGrepTool, createLsTool, createReadTool, createWriteTool, } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
import { isPlanModeToolAllowed, isSafePlanModeBashCommand, } from "./collaboration-mode.js";
|
|
2
3
|
export const darwinLocalToolNames = ["read", "bash", "edit", "write", "grep", "find", "ls"];
|
|
3
4
|
function truncate(text, max = 12_000) {
|
|
4
5
|
if (text.length <= max) {
|
|
@@ -40,11 +41,36 @@ export class PiToolHarness {
|
|
|
40
41
|
ls: createLsTool(cwd),
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
|
-
async execute(call) {
|
|
44
|
+
async execute(call, collaborationMode = "default") {
|
|
44
45
|
const tool = this.tools[call.tool];
|
|
45
46
|
if (!tool) {
|
|
46
47
|
throw new Error(`Unknown Pi tool: ${call.tool}`);
|
|
47
48
|
}
|
|
49
|
+
if (collaborationMode === "plan") {
|
|
50
|
+
if (!isPlanModeToolAllowed(call.tool)) {
|
|
51
|
+
return {
|
|
52
|
+
tool: call.tool,
|
|
53
|
+
args: call.args,
|
|
54
|
+
summary: `Plan mode blocks ${call.tool}`,
|
|
55
|
+
output: `Plan mode blocks the \`${call.tool}\` tool. Use read-only exploration tools and return a <proposed_plan> instead of implementing changes.`,
|
|
56
|
+
details: undefined,
|
|
57
|
+
isError: true,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (call.tool === "bash") {
|
|
61
|
+
const command = typeof call.args["command"] === "string" ? call.args["command"] : "";
|
|
62
|
+
if (!isSafePlanModeBashCommand(command)) {
|
|
63
|
+
return {
|
|
64
|
+
tool: call.tool,
|
|
65
|
+
args: call.args,
|
|
66
|
+
summary: "Plan mode blocked unsafe bash",
|
|
67
|
+
output: "Plan mode allows only a single read-only inspection command in `bash`. Avoid shell chaining, redirects, and any mutating command.",
|
|
68
|
+
details: undefined,
|
|
69
|
+
isError: true,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
48
74
|
try {
|
|
49
75
|
const result = await tool.execute(crypto.randomUUID(), call.args);
|
|
50
76
|
const output = truncate(flattenOutput(result.content));
|
package/dist/lib/pi-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-tools.js","sourceRoot":"","sources":["../../src/lib/pi-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAU,CAAC;AAkBrG,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAG,GAAG,MAAM;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,OAA+C;IACpE,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IAC1B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,IAAyB,EAAE,MAAc,EAAE,OAAgB;IAClF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,SAAS,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,IAAI,YAAY,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,aAAa;IACP,KAAK,CAA8C;IAEpE,YAAY,GAAW;QACrB,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;YACzB,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;YACzB,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;YACzB,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;YACzB,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;YACzB,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"pi-tools.js","sourceRoot":"","sources":["../../src/lib/pi-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { Container, Text } from "@mariozechner/pi-tui";
|
|
2
|
-
import { theme } from "../../theme.js";
|
|
3
2
|
export class FooterComponent extends Container {
|
|
3
|
+
hintText;
|
|
4
4
|
statusText;
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
|
-
this.
|
|
7
|
+
this.hintText = new Text("", 0, 0);
|
|
8
|
+
this.addChild(this.hintText);
|
|
8
9
|
this.statusText = new Text("", 0, 0);
|
|
9
10
|
this.addChild(this.statusText);
|
|
10
11
|
}
|
|
12
|
+
setHint(text) {
|
|
13
|
+
this.hintText.setText(text);
|
|
14
|
+
}
|
|
11
15
|
setStatus(text) {
|
|
12
16
|
this.statusText.setText(text);
|
|
13
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/ui/components/footer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/ui/components/footer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIvD,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC3B,QAAQ,CAAO;IACf,UAAU,CAAO;IAElC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -2,9 +2,10 @@ import { Container, type TUI } from "@mariozechner/pi-tui";
|
|
|
2
2
|
export declare class IntroComponent extends Container {
|
|
3
3
|
private readonly helperText;
|
|
4
4
|
private readonly tui;
|
|
5
|
+
private readonly version;
|
|
5
6
|
private exampleIndex;
|
|
6
7
|
private timer;
|
|
7
|
-
constructor(tui: TUI);
|
|
8
|
+
constructor(tui: TUI, version: string);
|
|
8
9
|
dispose(): void;
|
|
9
10
|
private setExample;
|
|
10
11
|
private ensureTimer;
|
|
@@ -16,11 +16,13 @@ const ROTATION_INTERVAL_MS = 18000;
|
|
|
16
16
|
export class IntroComponent extends Container {
|
|
17
17
|
helperText;
|
|
18
18
|
tui;
|
|
19
|
+
version;
|
|
19
20
|
exampleIndex;
|
|
20
21
|
timer = null;
|
|
21
|
-
constructor(tui) {
|
|
22
|
+
constructor(tui, version) {
|
|
22
23
|
super();
|
|
23
24
|
this.tui = tui;
|
|
25
|
+
this.version = version;
|
|
24
26
|
this.exampleIndex = Math.floor(Date.now() / ROTATION_INTERVAL_MS) % EXAMPLE_PROMPTS.length;
|
|
25
27
|
this.addChild(new Spacer(1));
|
|
26
28
|
this.addChild(new Text(theme.bold(theme.primary([
|
|
@@ -31,6 +33,7 @@ export class IntroComponent extends Container {
|
|
|
31
33
|
"██████╔╝██║ ██║██║ ██║╚███╔███╔╝██║██║ ╚████║",
|
|
32
34
|
"╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝╚═╝ ╚═══╝",
|
|
33
35
|
].join("\n"))), 0, 0));
|
|
36
|
+
this.addChild(new Text(theme.muted(`v${this.version}`), 0, 0));
|
|
34
37
|
this.addChild(new Spacer(1));
|
|
35
38
|
this.helperText = new Text("", 0, 0);
|
|
36
39
|
this.addChild(this.helperText);
|
|
@@ -46,7 +49,7 @@ export class IntroComponent extends Container {
|
|
|
46
49
|
this.timer = null;
|
|
47
50
|
}
|
|
48
51
|
setExample(index) {
|
|
49
|
-
this.helperText.setText(`${theme.white("
|
|
52
|
+
this.helperText.setText(`${theme.white("directed evolution and orchestration.")} ${theme.muted(`Try: "${EXAMPLE_PROMPTS[index]}"`)}`);
|
|
50
53
|
}
|
|
51
54
|
ensureTimer() {
|
|
52
55
|
if (this.timer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intro.js","sourceRoot":"","sources":["../../../src/ui/components/intro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAY,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,eAAe,GAAG;IACtB,iGAAiG;IACjG,wDAAwD;IACxD,yFAAyF;IACzF,uFAAuF;IACvF,2EAA2E;IAC3E,0FAA0F;IAC1F,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,mFAAmF;CACpF,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC1B,UAAU,CAAO;IACjB,GAAG,CAAM;
|
|
1
|
+
{"version":3,"file":"intro.js","sourceRoot":"","sources":["../../../src/ui/components/intro.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operator-labs/darwin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Darwin implements natural selection for OpenClaw agents on Operator.io",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@mariozechner/pi-ai": "^0.58.3",
|
|
31
31
|
"@mariozechner/pi-coding-agent": "^0.58.3",
|
|
32
32
|
"@mariozechner/pi-tui": "^0.58.3",
|
|
33
|
-
"@operator-labs/sdk": "
|
|
33
|
+
"@operator-labs/sdk": "0.2.0",
|
|
34
34
|
"chalk": "^5.6.2",
|
|
35
35
|
"open": "^10.2.0"
|
|
36
36
|
},
|