aimux-cli 0.1.9 → 0.1.11
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/builtin-metadata-watchers.js +2 -103
- package/dist/builtin-metadata-watchers.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon.js +45 -10
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/targets.js +3 -1
- package/dist/dashboard/targets.js.map +1 -1
- package/dist/default-plugins/transcript-length.d.ts +6 -0
- package/dist/default-plugins/transcript-length.js +84 -0
- package/dist/default-plugins/transcript-length.js.map +1 -0
- package/dist/http-client.js +1 -0
- package/dist/http-client.js.map +1 -1
- package/dist/main.js +80 -83
- package/dist/main.js.map +1 -1
- package/dist/metadata-server.d.ts +1 -0
- package/dist/metadata-server.js +17 -0
- package/dist/metadata-server.js.map +1 -1
- package/dist/metadata-store.d.ts +10 -0
- package/dist/metadata-store.js +1 -1
- package/dist/metadata-store.js.map +1 -1
- package/dist/multiplexer/dashboard-interaction.js +0 -1
- package/dist/multiplexer/dashboard-interaction.js.map +1 -1
- package/dist/multiplexer/dashboard-model.js +43 -8
- package/dist/multiplexer/dashboard-model.js.map +1 -1
- package/dist/multiplexer/index.js +2 -24
- package/dist/multiplexer/index.js.map +1 -1
- package/dist/multiplexer/persistence-methods.js +5 -2
- package/dist/multiplexer/persistence-methods.js.map +1 -1
- package/dist/multiplexer/runtime-state.js +0 -1
- package/dist/multiplexer/runtime-state.js.map +1 -1
- package/dist/multiplexer/runtime-sync.js +0 -1
- package/dist/multiplexer/runtime-sync.js.map +1 -1
- package/dist/multiplexer/session-launch.js +13 -26
- package/dist/multiplexer/session-launch.js.map +1 -1
- package/dist/plugin-runtime.d.ts +11 -2
- package/dist/plugin-runtime.js +111 -42
- package/dist/plugin-runtime.js.map +1 -1
- package/dist/session-bootstrap.d.ts +7 -4
- package/dist/session-bootstrap.js +183 -112
- package/dist/session-bootstrap.js.map +1 -1
- package/dist/shell-hooks.js +37 -15
- package/dist/shell-hooks.js.map +1 -1
- package/dist/shell-state.d.ts +28 -0
- package/dist/shell-state.js +51 -0
- package/dist/shell-state.js.map +1 -0
- package/dist/statusline-model.d.ts +12 -0
- package/dist/statusline-model.js.map +1 -1
- package/dist/tmux/runtime-manager.js +9 -2
- package/dist/tmux/runtime-manager.js.map +1 -1
- package/dist/tmux/statusline.js +35 -4
- package/dist/tmux/statusline.js.map +1 -1
- package/dist/worktree.d.ts +1 -0
- package/dist/worktree.js +59 -35
- package/dist/worktree.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,34 +11,40 @@ export class SessionBootstrapService {
|
|
|
11
11
|
this.deps = deps;
|
|
12
12
|
}
|
|
13
13
|
buildSessionPreamble(opts) {
|
|
14
|
-
const { sessionId, worktreePath, extraPreamble } = opts;
|
|
15
|
-
let preamble = "
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
const { sessionId, worktreePath, extraPreamble, includeAimuxPreamble = true } = opts;
|
|
15
|
+
let preamble = "";
|
|
16
|
+
if (includeAimuxPreamble) {
|
|
17
|
+
preamble =
|
|
18
|
+
"You are running inside aimux, an agent multiplexer. " +
|
|
19
|
+
"Other agents may be working on this codebase simultaneously.\n" +
|
|
20
|
+
`Your session ID is ${sessionId}.\n` +
|
|
21
|
+
`- .aimux/context/${sessionId}/live.md — your recent conversation history\n` +
|
|
22
|
+
`- .aimux/context/${sessionId}/summary.md — your compacted history\n` +
|
|
23
|
+
`- .aimux/plans/${sessionId}.md — your shared working plan\n` +
|
|
24
|
+
"- .aimux/sessions.json — all running agents\n" +
|
|
25
|
+
"- Other agent contexts are in .aimux/context/{their-session-id}/. Check sessions.json for the list.\n" +
|
|
26
|
+
"- Other agent plans are in .aimux/plans/{their-session-id}.md.\n" +
|
|
27
|
+
"- .aimux/history/ — full raw conversation history (JSONL)";
|
|
28
|
+
}
|
|
29
|
+
if (includeAimuxPreamble) {
|
|
30
|
+
const globalAimuxMd = join(homedir(), "AIMUX.md");
|
|
31
|
+
const projectAimuxMd = join(process.cwd(), "AIMUX.md");
|
|
32
|
+
for (const mdPath of [globalAimuxMd, projectAimuxMd]) {
|
|
33
|
+
if (!existsSync(mdPath))
|
|
33
34
|
continue;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
try {
|
|
36
|
+
const userPreamble = readFileSync(mdPath, "utf-8").trim();
|
|
37
|
+
if (!userPreamble)
|
|
38
|
+
continue;
|
|
39
|
+
preamble += "\n\n" + userPreamble;
|
|
40
|
+
debug(`loaded ${mdPath} (${userPreamble.length} chars)`, "preamble");
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Ignore unreadable user preamble files.
|
|
44
|
+
}
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
if (worktreePath) {
|
|
47
|
+
if (includeAimuxPreamble && worktreePath) {
|
|
42
48
|
try {
|
|
43
49
|
const allWt = listAllWorktrees(worktreePath);
|
|
44
50
|
const thisWt = allWt.find((w) => w.path === worktreePath);
|
|
@@ -57,60 +63,78 @@ export class SessionBootstrapService {
|
|
|
57
63
|
preamble += `\n\nYou are working in a git worktree at ${worktreePath}. Stay in this directory.`;
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
66
|
+
if (includeAimuxPreamble) {
|
|
67
|
+
preamble +=
|
|
68
|
+
"\n\n## Planning\n" +
|
|
69
|
+
"Maintain a plan file at .aimux/plans/" +
|
|
70
|
+
sessionId +
|
|
71
|
+
".md.\n" +
|
|
72
|
+
"Keep it current enough that other agents can audit, annotate, or continue your work.\n" +
|
|
73
|
+
"Use this structure:\n" +
|
|
74
|
+
"- Goal\n" +
|
|
75
|
+
"- Current Status\n" +
|
|
76
|
+
"- Steps\n" +
|
|
77
|
+
"- Notes\n" +
|
|
78
|
+
"Update it when your plan materially changes or when you complete a step.";
|
|
79
|
+
preamble +=
|
|
80
|
+
"\n\n## Status\n" +
|
|
81
|
+
"Maintain a status file at .aimux/status/" +
|
|
82
|
+
sessionId +
|
|
83
|
+
".md (3-5 lines max).\n" +
|
|
84
|
+
"Update it whenever your focus changes. Include:\n" +
|
|
85
|
+
"- What you're currently working on\n" +
|
|
86
|
+
"- Key files involved\n" +
|
|
87
|
+
"- Current state (investigating, implementing, testing, blocked, etc.)";
|
|
88
|
+
preamble +=
|
|
89
|
+
"\n\n## Aimux Cross-Agent Delegation\n" +
|
|
90
|
+
"IMPORTANT: This is the aimux delegation system for coordinating work across agents in this multiplexer. " +
|
|
91
|
+
"It is separate from any built-in task/todo features in your own tool.\n\n" +
|
|
92
|
+
"### Delegating work to another agent\n" +
|
|
93
|
+
"When asked to delegate, hand off, or assign work to another agent, create a JSON file:\n" +
|
|
94
|
+
"```\n" +
|
|
95
|
+
".aimux/tasks/{short-descriptive-name}.json\n" +
|
|
96
|
+
"```\n" +
|
|
97
|
+
"Contents:\n" +
|
|
98
|
+
"```json\n" +
|
|
99
|
+
'{\n "id": "{same as filename without .json}",\n "status": "pending",\n' +
|
|
100
|
+
' "assignedBy": "' +
|
|
101
|
+
sessionId +
|
|
102
|
+
'",\n' +
|
|
103
|
+
' "description": "Brief summary of the task",\n' +
|
|
104
|
+
' "prompt": "Detailed instructions for the other agent",\n' +
|
|
105
|
+
' "createdAt": "{ISO timestamp}",\n "updatedAt": "{ISO timestamp}"\n}\n' +
|
|
106
|
+
"```\n" +
|
|
107
|
+
"Optional fields: `assignedTo` (target session ID), `tool` (preferred tool type).\n" +
|
|
108
|
+
"Aimux will automatically dispatch pending tasks to idle agents and inject the prompt.\n" +
|
|
109
|
+
"Check .aimux/sessions.json for available agents and their session IDs.\n\n" +
|
|
110
|
+
"### Receiving a delegated task\n" +
|
|
111
|
+
"When you see `[AIMUX TASK ...]` in your input, another agent delegated work to you.\n" +
|
|
112
|
+
"Complete the work, then update the task file:\n" +
|
|
113
|
+
'- Success: set `status` to `"done"` and add a `result` field with a summary\n' +
|
|
114
|
+
'- Failure: set `status` to `"failed"` and add an `error` field\n' +
|
|
115
|
+
"The delegating agent will be notified automatically.";
|
|
116
|
+
}
|
|
109
117
|
if (extraPreamble) {
|
|
110
|
-
preamble += "\n" + extraPreamble;
|
|
118
|
+
preamble += (preamble ? "\n" : "") + extraPreamble;
|
|
111
119
|
}
|
|
112
120
|
return preamble;
|
|
113
121
|
}
|
|
122
|
+
buildInitialKickoffPrompt(sessionId, preamble) {
|
|
123
|
+
const summaryPath = join(getContextDir(), sessionId, "summary.md");
|
|
124
|
+
const livePath = join(getContextDir(), sessionId, "live.md");
|
|
125
|
+
const planPath = join(getPlansDir(), `${sessionId}.md`);
|
|
126
|
+
const statusPath = join(getStatusDir(), `${sessionId}.md`);
|
|
127
|
+
return [
|
|
128
|
+
`This is an aimux-managed session with session ID ${sessionId}.`,
|
|
129
|
+
`Your shared session files live at ${summaryPath}, ${livePath}, ${planPath}, and ${statusPath}.`,
|
|
130
|
+
"Read and follow these operating instructions for this session before continuing.",
|
|
131
|
+
"Treat them as standing session rules and coordination context, not as a user request.",
|
|
132
|
+
"",
|
|
133
|
+
preamble.trim(),
|
|
134
|
+
]
|
|
135
|
+
.filter(Boolean)
|
|
136
|
+
.join("\n");
|
|
137
|
+
}
|
|
114
138
|
ensurePlanFile(sessionId, command, worktreePath) {
|
|
115
139
|
try {
|
|
116
140
|
const plansDir = getPlansDir();
|
|
@@ -268,11 +292,14 @@ export class SessionBootstrapService {
|
|
|
268
292
|
.filter(Boolean)
|
|
269
293
|
.join("\n");
|
|
270
294
|
}
|
|
271
|
-
|
|
295
|
+
buildCodexForkKickoffPrompt(sourceSessionId, targetSessionId, snapshot, instruction) {
|
|
272
296
|
const activitySummary = this.summarizeForkSourceActivity(snapshot);
|
|
297
|
+
const summaryPath = join(getContextDir(), targetSessionId, "summary.md");
|
|
298
|
+
const livePath = join(getContextDir(), targetSessionId, "live.md");
|
|
299
|
+
const planPath = join(getPlansDir(), `${targetSessionId}.md`);
|
|
273
300
|
return [
|
|
274
301
|
`This session is a fork of ${sourceSessionId}.`,
|
|
275
|
-
`Read
|
|
302
|
+
`Read ${summaryPath}, ${livePath}, and ${planPath} first.`,
|
|
276
303
|
"Treat them as real carried-over memory, not fresh-session scaffolding.",
|
|
277
304
|
"Do not start with git archaeology.",
|
|
278
305
|
activitySummary ? `Recent source activity: ${activitySummary}` : undefined,
|
|
@@ -282,7 +309,7 @@ export class SessionBootstrapService {
|
|
|
282
309
|
.filter(Boolean)
|
|
283
310
|
.join(" ");
|
|
284
311
|
}
|
|
285
|
-
|
|
312
|
+
buildCodexMigrationKickoffPrompt(sessionId, sourceWorktreePath, targetWorktreePath, snapshot, instruction) {
|
|
286
313
|
const activitySummary = this.summarizeForkSourceActivity(snapshot);
|
|
287
314
|
const summaryPath = join(getContextDir(), sessionId, "summary.md");
|
|
288
315
|
const livePath = join(getContextDir(), sessionId, "live.md");
|
|
@@ -301,6 +328,25 @@ export class SessionBootstrapService {
|
|
|
301
328
|
.filter(Boolean)
|
|
302
329
|
.join(" ");
|
|
303
330
|
}
|
|
331
|
+
deliverDetachedCodexKickoffPrompt(targetSessionId, kickoff, delayMs = 1800) {
|
|
332
|
+
return new Promise((resolve) => {
|
|
333
|
+
setTimeout(async () => {
|
|
334
|
+
try {
|
|
335
|
+
const target = this.deps.getSessionTmuxTarget(targetSessionId);
|
|
336
|
+
if (target) {
|
|
337
|
+
this.deps.tmuxRuntimeManager.sendText(target, kickoff);
|
|
338
|
+
await this.waitForDetachedCodexKickoffSubmit(targetSessionId, target, kickoff);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
// Continue even if kickoff automation fails; user can still recover manually.
|
|
343
|
+
}
|
|
344
|
+
finally {
|
|
345
|
+
resolve();
|
|
346
|
+
}
|
|
347
|
+
}, delayMs);
|
|
348
|
+
});
|
|
349
|
+
}
|
|
304
350
|
seedForkArtifacts(sourceSessionId, targetSessionId, targetToolConfigKey) {
|
|
305
351
|
const snapshot = this.readForkSourceSnapshot(sourceSessionId);
|
|
306
352
|
const activitySummary = this.summarizeForkSourceActivity(snapshot);
|
|
@@ -362,51 +408,71 @@ export class SessionBootstrapService {
|
|
|
362
408
|
.filter(Boolean)
|
|
363
409
|
.join("\n"));
|
|
364
410
|
}
|
|
365
|
-
|
|
366
|
-
const startedAt = Date.now();
|
|
411
|
+
waitForDetachedCodexKickoffSubmit(targetSessionId, target, kickoff) {
|
|
367
412
|
return new Promise((resolve) => {
|
|
368
|
-
const
|
|
369
|
-
if (
|
|
370
|
-
|
|
371
|
-
resolve(false);
|
|
413
|
+
const waitForDraft = (attempt = 1, visibleCount = 0, lastSignature = "") => {
|
|
414
|
+
if (attempt > 20) {
|
|
415
|
+
step(1);
|
|
372
416
|
return;
|
|
373
417
|
}
|
|
374
418
|
setTimeout(() => {
|
|
375
419
|
try {
|
|
376
420
|
const currentTarget = this.deps.getSessionTmuxTarget(targetSessionId);
|
|
377
421
|
if (!currentTarget || currentTarget.windowId !== target.windowId) {
|
|
378
|
-
debug(`fork kickoff submit: target=${targetSessionId} no longer active`, "fork");
|
|
379
422
|
resolve(false);
|
|
380
423
|
return;
|
|
381
424
|
}
|
|
382
425
|
const stillDraft = this.paneStillContainsDraft(target, kickoff);
|
|
383
|
-
const
|
|
384
|
-
const
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
resolve(true);
|
|
426
|
+
const signature = stillDraft ? this.captureDraftSignature(target) : "";
|
|
427
|
+
const nextVisibleCount = stillDraft && signature && signature === lastSignature ? visibleCount + 1 : stillDraft ? 1 : 0;
|
|
428
|
+
if (nextVisibleCount >= 2) {
|
|
429
|
+
step(1);
|
|
388
430
|
return;
|
|
389
431
|
}
|
|
390
|
-
|
|
391
|
-
|
|
432
|
+
waitForDraft(attempt + 1, nextVisibleCount, signature);
|
|
433
|
+
}
|
|
434
|
+
catch {
|
|
435
|
+
waitForDraft(attempt + 1, visibleCount, lastSignature);
|
|
436
|
+
}
|
|
437
|
+
}, attempt === 1 ? 300 : 250);
|
|
438
|
+
};
|
|
439
|
+
const step = (attempt = 1) => {
|
|
440
|
+
if (attempt > 4) {
|
|
441
|
+
resolve(false);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
setTimeout(() => {
|
|
445
|
+
try {
|
|
446
|
+
const currentTarget = this.deps.getSessionTmuxTarget(targetSessionId);
|
|
447
|
+
if (!currentTarget || currentTarget.windowId !== target.windowId) {
|
|
448
|
+
resolve(false);
|
|
392
449
|
return;
|
|
393
450
|
}
|
|
394
|
-
|
|
395
|
-
if (
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}
|
|
399
|
-
else {
|
|
400
|
-
this.deps.tmuxRuntimeManager.sendEnter(target);
|
|
451
|
+
this.deps.tmuxRuntimeManager.sendCarriageReturn(target);
|
|
452
|
+
if (attempt >= 4) {
|
|
453
|
+
resolve(true);
|
|
454
|
+
return;
|
|
401
455
|
}
|
|
402
|
-
|
|
456
|
+
setTimeout(() => {
|
|
457
|
+
try {
|
|
458
|
+
const stillDraft = this.paneStillContainsDraft(target, kickoff);
|
|
459
|
+
if (stillDraft) {
|
|
460
|
+
step(attempt + 1);
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
catch {
|
|
465
|
+
// Fall through and treat it as submitted; the next user-visible render will confirm.
|
|
466
|
+
}
|
|
467
|
+
resolve(true);
|
|
468
|
+
}, 700);
|
|
403
469
|
}
|
|
404
470
|
catch {
|
|
405
471
|
resolve(false);
|
|
406
472
|
}
|
|
407
|
-
}, attempt === 1 ?
|
|
473
|
+
}, attempt === 1 ? 200 : 700);
|
|
408
474
|
};
|
|
409
|
-
|
|
475
|
+
waitForDraft();
|
|
410
476
|
});
|
|
411
477
|
}
|
|
412
478
|
finalizePreamble(command, preamble) {
|
|
@@ -423,23 +489,28 @@ export class SessionBootstrapService {
|
|
|
423
489
|
const pane = this.deps.tmuxRuntimeManager.captureTarget(target, { startLine: -60 });
|
|
424
490
|
const normalize = (value) => value.replace(/\s+/g, " ").trim().toLowerCase();
|
|
425
491
|
const normalizedPane = normalize(pane);
|
|
426
|
-
const
|
|
427
|
-
|
|
428
|
-
"treat them as real carried-over memory",
|
|
429
|
-
"after reading them, briefly summarize",
|
|
430
|
-
].filter((fragment) => normalize(draft).includes(fragment));
|
|
431
|
-
if (expectedFragments.length === 0)
|
|
492
|
+
const normalizedDraft = normalize(draft);
|
|
493
|
+
if (!normalizedDraft)
|
|
432
494
|
return false;
|
|
433
|
-
|
|
495
|
+
if (normalizedPane.includes(normalizedDraft))
|
|
496
|
+
return true;
|
|
497
|
+
if (normalizedPane.includes("[pasted content"))
|
|
498
|
+
return true;
|
|
499
|
+
const fragments = normalizedDraft
|
|
500
|
+
.split(/[.!?]\s+/)
|
|
501
|
+
.map((fragment) => fragment.trim())
|
|
502
|
+
.filter((fragment) => fragment.length >= 24)
|
|
503
|
+
.slice(0, 3);
|
|
504
|
+
return fragments.some((fragment) => normalizedPane.includes(fragment));
|
|
434
505
|
}
|
|
435
506
|
catch {
|
|
436
507
|
return false;
|
|
437
508
|
}
|
|
438
509
|
}
|
|
439
|
-
|
|
510
|
+
captureDraftSignature(target) {
|
|
440
511
|
try {
|
|
441
|
-
const pane = this.deps.tmuxRuntimeManager.captureTarget(target, { startLine: -
|
|
442
|
-
return pane.replace(/\s+/g, " ").trim().slice(-
|
|
512
|
+
const pane = this.deps.tmuxRuntimeManager.captureTarget(target, { startLine: -20 });
|
|
513
|
+
return pane.replace(/\s+/g, " ").trim().slice(-240);
|
|
443
514
|
}
|
|
444
515
|
catch {
|
|
445
516
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-bootstrap.js","sourceRoot":"","sources":["../src/session-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-bootstrap.js","sourceRoot":"","sources":["../src/session-bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/shell-hooks.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { basename, dirname, join } from "node:path";
|
|
3
3
|
import { getProjectStateDirFor } from "./paths.js";
|
|
4
|
-
import { getAimuxCliEntryPath } from "./claude-hooks.js";
|
|
5
4
|
function shellQuote(value) {
|
|
6
5
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
7
6
|
}
|
|
@@ -21,12 +20,25 @@ function buildZshRc() {
|
|
|
21
20
|
}
|
|
22
21
|
function buildZshIntegration() {
|
|
23
22
|
return [
|
|
23
|
+
"_aimux_read_endpoint() {",
|
|
24
|
+
' [ -n "$AIMUX_METADATA_ENDPOINT_FILE" ] || return 1',
|
|
25
|
+
' [ -f "$AIMUX_METADATA_ENDPOINT_FILE" ] || return 1',
|
|
26
|
+
' local endpoint=""',
|
|
27
|
+
' IFS= read -r endpoint < "$AIMUX_METADATA_ENDPOINT_FILE" || return 1',
|
|
28
|
+
' [ -n "$endpoint" ] || return 1',
|
|
29
|
+
' printf "%s" "$endpoint"',
|
|
30
|
+
"}",
|
|
31
|
+
"",
|
|
24
32
|
"_aimux_report_shell_state() {",
|
|
25
|
-
' [ -n "$AIMUX_NODE_BIN" ] || return 0',
|
|
26
|
-
' [ -n "$AIMUX_CLI_ENTRY" ] || return 0',
|
|
27
33
|
' [ -n "$AIMUX_SESSION_ID" ] || return 0',
|
|
28
|
-
' [ -n "$
|
|
29
|
-
'
|
|
34
|
+
' [ -n "$AIMUX_TOOL" ] || AIMUX_TOOL="shell"',
|
|
35
|
+
' [ "${AIMUX_LAST_SHELL_STATE:-}" = "$1" ] && return 0',
|
|
36
|
+
' local endpoint="" payload=""',
|
|
37
|
+
' endpoint="$(_aimux_read_endpoint)" || return 0',
|
|
38
|
+
' payload=$(printf \'{"state":"%s","sessionId":"%s","tool":"%s"}\' "$1" "$AIMUX_SESSION_ID" "$AIMUX_TOOL")',
|
|
39
|
+
' AIMUX_LAST_SHELL_STATE="$1"',
|
|
40
|
+
" command -v curl >/dev/null 2>&1 || return 0",
|
|
41
|
+
' { command nohup curl --silent --show-error --fail --max-time 1 --output /dev/null -H "content-type: application/json" --data "$payload" "$endpoint/shell-state" >/dev/null 2>&1 </dev/null || true; } &! ',
|
|
30
42
|
"}",
|
|
31
43
|
"",
|
|
32
44
|
"_aimux_preexec() {",
|
|
@@ -61,12 +73,26 @@ function buildBashRc() {
|
|
|
61
73
|
}
|
|
62
74
|
function buildBashIntegration() {
|
|
63
75
|
return [
|
|
76
|
+
"_aimux_read_endpoint() {",
|
|
77
|
+
' [ -n "$AIMUX_METADATA_ENDPOINT_FILE" ] || return 1',
|
|
78
|
+
' [ -f "$AIMUX_METADATA_ENDPOINT_FILE" ] || return 1',
|
|
79
|
+
' local endpoint=""',
|
|
80
|
+
' IFS= read -r endpoint < "$AIMUX_METADATA_ENDPOINT_FILE" || return 1',
|
|
81
|
+
' [ -n "$endpoint" ] || return 1',
|
|
82
|
+
' printf "%s" "$endpoint"',
|
|
83
|
+
"}",
|
|
84
|
+
"",
|
|
64
85
|
"_aimux_report_shell_state() {",
|
|
65
|
-
' [ -n "$AIMUX_NODE_BIN" ] || return 0',
|
|
66
|
-
' [ -n "$AIMUX_CLI_ENTRY" ] || return 0',
|
|
67
86
|
' [ -n "$AIMUX_SESSION_ID" ] || return 0',
|
|
68
|
-
' [ -n "$
|
|
69
|
-
'
|
|
87
|
+
' [ -n "$AIMUX_TOOL" ] || AIMUX_TOOL="shell"',
|
|
88
|
+
' [ "${AIMUX_LAST_SHELL_STATE:-}" = "$1" ] && return 0',
|
|
89
|
+
' local endpoint="" payload=""',
|
|
90
|
+
' endpoint="$(_aimux_read_endpoint)" || return 0',
|
|
91
|
+
' payload=$(printf \'{"state":"%s","sessionId":"%s","tool":"%s"}\' "$1" "$AIMUX_SESSION_ID" "$AIMUX_TOOL")',
|
|
92
|
+
' AIMUX_LAST_SHELL_STATE="$1"',
|
|
93
|
+
" command -v curl >/dev/null 2>&1 || return 0",
|
|
94
|
+
' command nohup curl --silent --show-error --fail --max-time 1 --output /dev/null -H "content-type: application/json" --data "$payload" "$endpoint/shell-state" >/dev/null 2>&1 </dev/null &',
|
|
95
|
+
" disown $! 2>/dev/null || true",
|
|
70
96
|
"}",
|
|
71
97
|
"",
|
|
72
98
|
"_aimux_preexec_command() {",
|
|
@@ -106,11 +132,9 @@ export function prepareShellIntegration(projectRoot, shellPath = process.env.SHE
|
|
|
106
132
|
export function wrapCommandWithShellIntegration(opts) {
|
|
107
133
|
const prepared = prepareShellIntegration(opts.projectRoot, opts.shellPath);
|
|
108
134
|
const envArgs = [
|
|
109
|
-
`AIMUX_NODE_BIN=${process.execPath}`,
|
|
110
|
-
`AIMUX_CLI_ENTRY=${getAimuxCliEntryPath()}`,
|
|
111
135
|
`AIMUX_SESSION_ID=${opts.sessionId}`,
|
|
112
|
-
`AIMUX_PROJECT_ROOT=${opts.projectRoot}`,
|
|
113
136
|
`AIMUX_TOOL=${opts.tool}`,
|
|
137
|
+
`AIMUX_METADATA_ENDPOINT_FILE=${join(getProjectStateDirFor(opts.projectRoot), "metadata-api.txt")}`,
|
|
114
138
|
`AIMUX_SHELL_INTEGRATION_SCRIPT=${prepared.integrationScriptPath}`,
|
|
115
139
|
];
|
|
116
140
|
const commandString = [opts.command, ...opts.args].map(shellQuote).join(" ");
|
|
@@ -122,11 +146,9 @@ export function wrapCommandWithShellIntegration(opts) {
|
|
|
122
146
|
export function wrapInteractiveShellWithIntegration(opts) {
|
|
123
147
|
const prepared = prepareShellIntegration(opts.projectRoot, opts.shellPath);
|
|
124
148
|
const envArgs = [
|
|
125
|
-
`AIMUX_NODE_BIN=${process.execPath}`,
|
|
126
|
-
`AIMUX_CLI_ENTRY=${getAimuxCliEntryPath()}`,
|
|
127
149
|
`AIMUX_SESSION_ID=${opts.sessionId}`,
|
|
128
|
-
`AIMUX_PROJECT_ROOT=${opts.projectRoot}`,
|
|
129
150
|
`AIMUX_TOOL=${opts.tool}`,
|
|
151
|
+
`AIMUX_METADATA_ENDPOINT_FILE=${join(getProjectStateDirFor(opts.projectRoot), "metadata-api.txt")}`,
|
|
130
152
|
`AIMUX_SHELL_INTEGRATION_SCRIPT=${prepared.integrationScriptPath}`,
|
|
131
153
|
];
|
|
132
154
|
const shellArgs = prepared.shellName === "bash"
|
package/dist/shell-hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-hooks.js","sourceRoot":"","sources":["../src/shell-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-hooks.js","sourceRoot":"","sources":["../src/shell-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AgentTracker } from "./agent-tracker.js";
|
|
2
|
+
import type { AgentActivityState } from "./agent-events.js";
|
|
3
|
+
import type { AlertKind } from "./project-events.js";
|
|
4
|
+
export interface ApplyShellStateInput {
|
|
5
|
+
state: string;
|
|
6
|
+
sessionId: string;
|
|
7
|
+
tool?: string;
|
|
8
|
+
tracker: AgentTracker;
|
|
9
|
+
projectRoot?: string;
|
|
10
|
+
emitAlert: (input: {
|
|
11
|
+
kind: AlertKind;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
title: string;
|
|
14
|
+
message: string;
|
|
15
|
+
dedupeKey?: string;
|
|
16
|
+
forceNotify?: boolean;
|
|
17
|
+
}) => void;
|
|
18
|
+
}
|
|
19
|
+
export interface ApplyShellStateResult {
|
|
20
|
+
ok: true;
|
|
21
|
+
state: string;
|
|
22
|
+
sessionId: string;
|
|
23
|
+
tool: string;
|
|
24
|
+
previousActivity?: AgentActivityState;
|
|
25
|
+
nextActivity: AgentActivityState;
|
|
26
|
+
notified: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function applyShellStateTransition(input: ApplyShellStateInput): ApplyShellStateResult;
|