@inf-monkeys-tech/monkeys-cli 0.12.1 → 0.12.2
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 +4 -1
- package/dist/command/metadata.d.ts.map +1 -1
- package/dist/command/metadata.js +6 -0
- package/dist/command/metadata.js.map +1 -1
- package/dist/commands/dev-agent/work/conversation/list.d.ts +14 -0
- package/dist/commands/dev-agent/work/conversation/list.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/conversation/list.js +22 -0
- package/dist/commands/dev-agent/work/conversation/list.js.map +1 -0
- package/dist/commands/dev-agent/work/review/evidence/download.d.ts +17 -0
- package/dist/commands/dev-agent/work/review/evidence/download.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/review/evidence/download.js +38 -0
- package/dist/commands/dev-agent/work/review/evidence/download.js.map +1 -0
- package/dist/commands/dev-agent/work/review/evidence/list.d.ts +13 -0
- package/dist/commands/dev-agent/work/review/evidence/list.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/review/evidence/list.js +18 -0
- package/dist/commands/dev-agent/work/review/evidence/list.js.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/download.d.ts +18 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/download.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/download.js +43 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/download.js.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/read.d.ts +15 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/read.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/read.js +25 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/read.js.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/tree.d.ts +15 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/tree.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/tree.js +25 -0
- package/dist/commands/dev-agent/work/runtime/filesystem/tree.js.map +1 -0
- package/dist/commands/dev-agent/work/runtime/logs.d.ts +20 -0
- package/dist/commands/dev-agent/work/runtime/logs.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/runtime/logs.js +65 -0
- package/dist/commands/dev-agent/work/runtime/logs.js.map +1 -0
- package/dist/commands/dev-agent/work/runtime/terminal.d.ts +13 -0
- package/dist/commands/dev-agent/work/runtime/terminal.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/runtime/terminal.js +100 -0
- package/dist/commands/dev-agent/work/runtime/terminal.js.map +1 -0
- package/dist/commands/dev-agent/work/session/events/get.d.ts +15 -0
- package/dist/commands/dev-agent/work/session/events/get.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/session/events/get.js +25 -0
- package/dist/commands/dev-agent/work/session/events/get.js.map +1 -0
- package/dist/commands/dev-agent/work/session/events/list.d.ts +20 -0
- package/dist/commands/dev-agent/work/session/events/list.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/session/events/list.js +65 -0
- package/dist/commands/dev-agent/work/session/events/list.js.map +1 -0
- package/dist/commands/dev-agent/work/session/events/watch.d.ts +16 -0
- package/dist/commands/dev-agent/work/session/events/watch.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/session/events/watch.js +44 -0
- package/dist/commands/dev-agent/work/session/events/watch.js.map +1 -0
- package/dist/commands/dev-agent/work/spec/list.d.ts +13 -0
- package/dist/commands/dev-agent/work/spec/list.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/spec/list.js +18 -0
- package/dist/commands/dev-agent/work/spec/list.js.map +1 -0
- package/dist/dev-agent-work/adapters.d.ts +38 -1
- package/dist/dev-agent-work/adapters.d.ts.map +1 -1
- package/dist/dev-agent-work/adapters.js +145 -3
- package/dist/dev-agent-work/adapters.js.map +1 -1
- package/dist/dev-agent-work/client.d.ts +104 -1
- package/dist/dev-agent-work/client.d.ts.map +1 -1
- package/dist/dev-agent-work/client.js +258 -3
- package/dist/dev-agent-work/client.js.map +1 -1
- package/dist/dev-agent-work/contracts.d.ts +107 -0
- package/dist/dev-agent-work/contracts.d.ts.map +1 -1
- package/dist/dev-agent-work/contracts.js +26 -0
- package/dist/dev-agent-work/contracts.js.map +1 -1
- package/dist/dev-agent-work/definitions.d.ts +11 -0
- package/dist/dev-agent-work/definitions.d.ts.map +1 -1
- package/dist/dev-agent-work/definitions.js +11 -0
- package/dist/dev-agent-work/definitions.js.map +1 -1
- package/dist/semantic/runtime.d.ts +7 -1
- package/dist/semantic/runtime.d.ts.map +1 -1
- package/dist/semantic/runtime.js +24 -0
- package/dist/semantic/runtime.js.map +1 -1
- package/dist/transport/http-client.d.ts +2 -0
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +12 -1
- package/dist/transport/http-client.js.map +1 -1
- package/dist/transport/sse.d.ts +4 -0
- package/dist/transport/sse.d.ts.map +1 -0
- package/dist/transport/sse.js +76 -0
- package/dist/transport/sse.js.map +1 -0
- package/dist/transport/stream-download.d.ts +19 -0
- package/dist/transport/stream-download.d.ts.map +1 -0
- package/dist/transport/stream-download.js +74 -0
- package/dist/transport/stream-download.js.map +1 -0
- package/oclif.manifest.json +1120 -53
- package/package.json +2 -2
- package/skills/monkeys-dev-agent-work/SKILL.md +2 -1
- package/skills/monkeys-dev-agent-work/references/dev-agent-work.md +38 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand } from '../../../../config/local-command.js';
|
|
3
|
+
import { DevAgentWorkClient } from '../../../../dev-agent-work/client.js';
|
|
4
|
+
import { loadDevAgentWorkRuntime } from '../../../../dev-agent-work/runtime.js';
|
|
5
|
+
import { bindCliErrorToCommand, CliError, EXIT_CODES } from '../../../../errors/cli-error.js';
|
|
6
|
+
import { assertConfirmation } from '../../../../policy/risk.js';
|
|
7
|
+
export default class DevAgentWorkRuntimeTerminal extends LocalCommand {
|
|
8
|
+
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
9
|
+
static description = 'Open an authenticated interactive shell in a Dev Agent Runtime; Ctrl+D or exit closes it.';
|
|
10
|
+
static flags = {
|
|
11
|
+
'run-id': Flags.string({ summary: 'Run ID; defaults to the current Run' }),
|
|
12
|
+
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
13
|
+
};
|
|
14
|
+
async run() {
|
|
15
|
+
const { args, flags } = await this.parse(DevAgentWorkRuntimeTerminal);
|
|
16
|
+
try {
|
|
17
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY || typeof process.stdin.setRawMode !== 'function') {
|
|
18
|
+
throw new CliError('Runtime Terminal requires an interactive TTY for stdin and stdout.', {
|
|
19
|
+
code: 'TERMINAL_TTY_REQUIRED',
|
|
20
|
+
exitCode: EXIT_CODES.validation,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
assertConfirmation({ interactive: true, risk: 'privileged', yes: flags.yes });
|
|
24
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
25
|
+
const opened = await new DevAgentWorkClient(runtime).openRuntimeTerminal(args.workItemId, flags['run-id']);
|
|
26
|
+
const socket = opened.socket;
|
|
27
|
+
socket.binaryType = 'arraybuffer';
|
|
28
|
+
const wasRaw = process.stdin.isRaw;
|
|
29
|
+
const resize = () => {
|
|
30
|
+
if (socket.readyState === socket.OPEN) {
|
|
31
|
+
socket.send(JSON.stringify({ cols: process.stdout.columns || 80, rows: process.stdout.rows || 24, type: 'resize' }));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const stdin = (chunk) => {
|
|
35
|
+
if (socket.readyState === socket.OPEN)
|
|
36
|
+
socket.send(chunk);
|
|
37
|
+
};
|
|
38
|
+
process.stderr.write(`Connecting to Runtime ${opened.target.runtimeId} (Run ${opened.target.runId})...\n`);
|
|
39
|
+
process.stdin.setRawMode(true);
|
|
40
|
+
process.stdin.resume();
|
|
41
|
+
process.stdin.on('data', stdin);
|
|
42
|
+
process.stdout.on('resize', resize);
|
|
43
|
+
try {
|
|
44
|
+
await new Promise((resolve, reject) => {
|
|
45
|
+
socket.addEventListener('open', () => resize(), { once: true });
|
|
46
|
+
socket.addEventListener('message', (event) => {
|
|
47
|
+
if (typeof event.data === 'string') {
|
|
48
|
+
try {
|
|
49
|
+
const message = JSON.parse(event.data);
|
|
50
|
+
if (message.type === 'connected')
|
|
51
|
+
return;
|
|
52
|
+
if (message.type === 'error') {
|
|
53
|
+
process.stderr.write(`\r\nRuntime Terminal error: ${String(message.message || 'Unknown terminal error')}\r\n`);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
process.stdout.write(event.data);
|
|
59
|
+
}
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (event.data instanceof ArrayBuffer)
|
|
63
|
+
process.stdout.write(Buffer.from(event.data));
|
|
64
|
+
});
|
|
65
|
+
socket.addEventListener('error', (event) => {
|
|
66
|
+
reject(new CliError('Runtime Terminal WebSocket failed.', {
|
|
67
|
+
cause: event.error,
|
|
68
|
+
code: 'TERMINAL_CONNECTION_FAILED',
|
|
69
|
+
exitCode: EXIT_CODES.network,
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
socket.addEventListener('close', (event) => {
|
|
73
|
+
if (event.code === 1000 || event.code === 1005)
|
|
74
|
+
resolve();
|
|
75
|
+
else {
|
|
76
|
+
reject(new CliError('Runtime Terminal closed unexpectedly.', {
|
|
77
|
+
code: 'TERMINAL_CLOSED_UNEXPECTEDLY',
|
|
78
|
+
exitCode: EXIT_CODES.api,
|
|
79
|
+
safeDetails: { closeCode: event.code, reason: event.reason },
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
process.stdin.off('data', stdin);
|
|
87
|
+
process.stdout.off('resize', resize);
|
|
88
|
+
process.stdin.setRawMode(wasRaw);
|
|
89
|
+
process.stdin.pause();
|
|
90
|
+
if (socket.readyState === socket.CONNECTING || socket.readyState === socket.OPEN)
|
|
91
|
+
socket.close(1000, 'CLI terminal closed');
|
|
92
|
+
process.stderr.write('\r\n');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
throw bindCliErrorToCommand(error, 'dev-agent work runtime terminal');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/runtime/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LocalCommand } from '../../../../../config/local-command.js';
|
|
2
|
+
export default class DevAgentWorkSessionEventsGet extends LocalCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
eventId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static description: string;
|
|
8
|
+
static flags: {
|
|
9
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'run-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,wCAAwC,CAAC;AAKvF,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,YAAY;IACpE,OAAgB,IAAI;QAClB,UAAU;QACV,OAAO;MACP;IACF,OAAgB,WAAW,SAA0D;IACrF,OAAgB,KAAK;QACnB,MAAM;QACN,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CASzB;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand, localOutputFlag } from '../../../../../config/local-command.js';
|
|
3
|
+
import { DevAgentWorkClient } from '../../../../../dev-agent-work/client.js';
|
|
4
|
+
import { devAgentWorkOutput } from '../../../../../dev-agent-work/output.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../../../dev-agent-work/runtime.js';
|
|
6
|
+
export default class DevAgentWorkSessionEventsGet extends LocalCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }),
|
|
9
|
+
eventId: Args.string({ description: 'Runtime Session Event ID', required: true }),
|
|
10
|
+
};
|
|
11
|
+
static description = 'Get one Runtime Session Event with its full payload.';
|
|
12
|
+
static flags = {
|
|
13
|
+
output: localOutputFlag,
|
|
14
|
+
'run-id': Flags.string({ summary: 'Run ID; defaults to the current Run' }),
|
|
15
|
+
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { args, flags } = await this.parse(DevAgentWorkSessionEventsGet);
|
|
19
|
+
await this.emit('dev-agent work session events get', flags.output, async () => {
|
|
20
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
21
|
+
return devAgentWorkOutput(runtime, await new DevAgentWorkClient(runtime).getSessionEvent(args.workItemId, args.eventId, flags['run-id']));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,YAAY;IACpE,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAClF,CAAC;IACF,MAAM,CAAU,WAAW,GAAG,sDAAsD,CAAC;IACrF,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QAC1E,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;KACpE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,kBAAkB,CACvB,OAAO,EACP,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CACtG,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LocalCommand } from '../../../../../config/local-command.js';
|
|
2
|
+
export default class DevAgentWorkSessionEventsList extends LocalCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static flags: {
|
|
8
|
+
'after-sequence': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'before-sequence': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'page-all': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
'page-limit': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
payload: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'run-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,wCAAwC,CAAC;AAMvF,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,YAAY;IACrE,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA8F;IACzH,OAAgB,KAAK;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,KAAK;QACL,MAAM;QACN,UAAU;QACV,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CzB;CACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand, localOutputFlag } from '../../../../../config/local-command.js';
|
|
3
|
+
import { DevAgentWorkClient } from '../../../../../dev-agent-work/client.js';
|
|
4
|
+
import { devAgentWorkOutput } from '../../../../../dev-agent-work/output.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../../../dev-agent-work/runtime.js';
|
|
6
|
+
import { CliError, EXIT_CODES } from '../../../../../errors/cli-error.js';
|
|
7
|
+
export default class DevAgentWorkSessionEventsList extends LocalCommand {
|
|
8
|
+
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
9
|
+
static description = 'List Runtime Session Events with optional full payloads and bounded backward pagination.';
|
|
10
|
+
static flags = {
|
|
11
|
+
'after-sequence': Flags.integer({ min: 0, summary: 'Return Events after this sequence' }),
|
|
12
|
+
'before-sequence': Flags.integer({ exclusive: ['after-sequence'], min: 1, summary: 'Return Events before this sequence' }),
|
|
13
|
+
limit: Flags.integer({ default: 200, min: 1, max: 200, summary: 'Events requested per Server page' }),
|
|
14
|
+
output: localOutputFlag,
|
|
15
|
+
'page-all': Flags.boolean({ default: false, exclusive: ['after-sequence'], summary: 'Fetch older Event pages automatically' }),
|
|
16
|
+
'page-limit': Flags.integer({ default: 20, min: 1, max: 100, summary: 'Maximum Server pages fetched with --page-all' }),
|
|
17
|
+
payload: Flags.string({ default: 'full', options: ['summary', 'full'], summary: 'Event payload mode' }),
|
|
18
|
+
'run-id': Flags.string({ summary: 'Run ID; defaults to the current Run' }),
|
|
19
|
+
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
const { args, flags } = await this.parse(DevAgentWorkSessionEventsList);
|
|
23
|
+
await this.emit('dev-agent work session events list', flags.output, async () => {
|
|
24
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
25
|
+
const client = new DevAgentWorkClient(runtime);
|
|
26
|
+
let result = await client.listSessionEvents(args.workItemId, {
|
|
27
|
+
...(flags['after-sequence'] === undefined ? {} : { afterSequence: flags['after-sequence'] }),
|
|
28
|
+
...(flags['before-sequence'] === undefined ? {} : { beforeSequence: flags['before-sequence'] }),
|
|
29
|
+
limit: flags.limit,
|
|
30
|
+
payloadMode: flags.payload,
|
|
31
|
+
...(flags['run-id'] ? { runId: flags['run-id'] } : {}),
|
|
32
|
+
});
|
|
33
|
+
if (!flags['page-all'])
|
|
34
|
+
return devAgentWorkOutput(runtime, result);
|
|
35
|
+
const byId = new Map(result.data.items.map((item) => [item.id, item]));
|
|
36
|
+
let pagesFetched = 1;
|
|
37
|
+
let beforeSequence = result.data.previousBeforeSequence;
|
|
38
|
+
const seen = new Set();
|
|
39
|
+
while (result.data.hasMoreBefore && pagesFetched < flags['page-limit']) {
|
|
40
|
+
if (beforeSequence <= 0 || seen.has(beforeSequence)) {
|
|
41
|
+
throw new CliError('Runtime Session Event pagination did not make progress.', {
|
|
42
|
+
code: 'DEV_AGENT_WORK_EVENT_PAGINATION_STALLED',
|
|
43
|
+
exitCode: EXIT_CODES.compatibility,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
seen.add(beforeSequence);
|
|
47
|
+
result = await client.listSessionEvents(args.workItemId, {
|
|
48
|
+
beforeSequence,
|
|
49
|
+
limit: flags.limit,
|
|
50
|
+
payloadMode: flags.payload,
|
|
51
|
+
...(flags['run-id'] ? { runId: flags['run-id'] } : {}),
|
|
52
|
+
});
|
|
53
|
+
result.data.items.forEach((item) => byId.set(item.id, item));
|
|
54
|
+
beforeSequence = result.data.previousBeforeSequence;
|
|
55
|
+
pagesFetched += 1;
|
|
56
|
+
}
|
|
57
|
+
const items = [...byId.values()].sort((left, right) => left.sequence - right.sequence);
|
|
58
|
+
return devAgentWorkOutput(runtime, {
|
|
59
|
+
...result,
|
|
60
|
+
data: { ...result.data, items, returned: items.length, pagesFetched, truncated: result.data.hasMoreBefore },
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LocalCommand } from '../../../../../config/local-command.js';
|
|
2
|
+
export default class DevAgentWorkSessionEventsWatch extends LocalCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static flags: {
|
|
8
|
+
'after-sequence': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
payload: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'run-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/watch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,wCAAwC,CAAC;AAWvF,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,YAAY;IACtE,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAAmG;IAC9H,OAAgB,KAAK;QACnB,gBAAgB;QAChB,MAAM;QACN,OAAO;QACP,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBzB;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand, localOutputFlag } from '../../../../../config/local-command.js';
|
|
3
|
+
import { successResult } from '../../../../../contracts/result.js';
|
|
4
|
+
import { DevAgentWorkClient } from '../../../../../dev-agent-work/client.js';
|
|
5
|
+
import { adaptSessionEvent } from '../../../../../dev-agent-work/adapters.js';
|
|
6
|
+
import { devAgentWorkMeta } from '../../../../../dev-agent-work/context.js';
|
|
7
|
+
import { loadDevAgentWorkRuntime } from '../../../../../dev-agent-work/runtime.js';
|
|
8
|
+
import { bindCliErrorToCommand } from '../../../../../errors/cli-error.js';
|
|
9
|
+
import { renderCommandResult } from '../../../../../output/render.js';
|
|
10
|
+
import { redactValue } from '../../../../../security/redact.js';
|
|
11
|
+
import { parseSseJson } from '../../../../../transport/sse.js';
|
|
12
|
+
export default class DevAgentWorkSessionEventsWatch extends LocalCommand {
|
|
13
|
+
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
14
|
+
static description = 'Stream the complete Runtime Session Event feed over SSE; Ctrl+C only stops local observation.';
|
|
15
|
+
static flags = {
|
|
16
|
+
'after-sequence': Flags.integer({ min: 0, summary: 'Start after this Event sequence' }),
|
|
17
|
+
output: localOutputFlag,
|
|
18
|
+
payload: Flags.string({ default: 'full', options: ['summary', 'full'], summary: 'Event payload mode' }),
|
|
19
|
+
'run-id': Flags.string({ summary: 'Run ID; defaults to the current Run' }),
|
|
20
|
+
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
const { args, flags } = await this.parse(DevAgentWorkSessionEventsWatch);
|
|
24
|
+
const format = flags.output;
|
|
25
|
+
try {
|
|
26
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
27
|
+
const opened = await new DevAgentWorkClient(runtime).openSessionEventStream(args.workItemId, {
|
|
28
|
+
...(flags['after-sequence'] === undefined ? {} : { afterSequence: flags['after-sequence'] }),
|
|
29
|
+
payloadMode: flags.payload,
|
|
30
|
+
...(flags['run-id'] ? { runId: flags['run-id'] } : {}),
|
|
31
|
+
});
|
|
32
|
+
for await (const raw of parseSseJson(opened.response.body)) {
|
|
33
|
+
const event = adaptSessionEvent(raw, opened.target);
|
|
34
|
+
const value = { ...devAgentWorkMeta(runtime, opened.binding), ...opened.target, event, streamingMode: 'sse' };
|
|
35
|
+
const result = redactValue(successResult(value, { command: 'dev-agent work session events watch' }));
|
|
36
|
+
this.log(await renderCommandResult(result, { format, ...(flags.jq ? { jq: flags.jq } : {}) }));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
throw bindCliErrorToCommand(error, 'dev-agent work session events watch');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/session/events/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LocalCommand } from '../../../../config/local-command.js';
|
|
2
|
+
export default class DevAgentWorkSpecList extends LocalCommand {
|
|
3
|
+
static args: {
|
|
4
|
+
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static flags: {
|
|
8
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
subscription: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/spec/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,qCAAqC,CAAC;AAKpF,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IAC5D,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAAwG;IACnI,OAAgB,KAAK;QAAK,MAAM;QAAmB,YAAY;MAA0D;IAEnH,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzB;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { LocalCommand, localOutputFlag } from '../../../../config/local-command.js';
|
|
3
|
+
import { DevAgentWorkClient } from '../../../../dev-agent-work/client.js';
|
|
4
|
+
import { devAgentWorkOutput } from '../../../../dev-agent-work/output.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../../dev-agent-work/runtime.js';
|
|
6
|
+
export default class DevAgentWorkSpecList extends LocalCommand {
|
|
7
|
+
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
8
|
+
static description = 'List every Spec Revision for a Dev Agent Work Item, including full Markdown and approval metadata.';
|
|
9
|
+
static flags = { output: localOutputFlag, subscription: Flags.string({ summary: 'Kernel Subscription name' }) };
|
|
10
|
+
async run() {
|
|
11
|
+
const { args, flags } = await this.parse(DevAgentWorkSpecList);
|
|
12
|
+
await this.emit('dev-agent work spec list', flags.output, async () => {
|
|
13
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
14
|
+
return devAgentWorkOutput(runtime, await new DevAgentWorkClient(runtime).listSpecRevisions(args.workItemId));
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/spec/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,YAAY;IAC5D,MAAM,CAAU,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9G,MAAM,CAAU,WAAW,GAAG,oGAAoG,CAAC;IACnI,MAAM,CAAU,KAAK,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,EAAE,CAAC;IAEzH,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import { type DevAgentWorkCollaboratorResult, type DevAgentWorkDetail, type DevAgentWorkListResult, type DevAgentWorkStatus, type DevAgentWorkSummary } from './contracts.js';
|
|
1
|
+
import { type DevAgentWorkCollaboratorResult, type DevAgentWorkConversationMessage, type DevAgentWorkDetail, type DevAgentWorkListResult, type DevAgentWorkReviewEvidence, type DevAgentWorkRuntimeEvent, type DevAgentWorkSessionEvent, type DevAgentWorkStatus, type DevAgentWorkSummary } from './contracts.js';
|
|
2
2
|
export declare function normalizeDevAgentWorkStatus(value: unknown): DevAgentWorkStatus;
|
|
3
3
|
export declare function adaptDevAgentWorkSummary(value: unknown): DevAgentWorkSummary;
|
|
4
|
+
export interface DevAgentWorkReviewEvidenceCandidate {
|
|
5
|
+
evidence: DevAgentWorkReviewEvidence;
|
|
6
|
+
runId?: string | undefined;
|
|
7
|
+
runtimeId?: string | undefined;
|
|
8
|
+
storageKey?: string | undefined;
|
|
9
|
+
workItemId?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare function adaptReviewEvidenceCandidates(value: unknown): DevAgentWorkReviewEvidenceCandidate[];
|
|
4
12
|
export declare function adaptDevAgentWorkDetail(value: unknown): DevAgentWorkDetail;
|
|
5
13
|
export declare function adaptDevAgentWorkList(value: unknown, options: {
|
|
6
14
|
attentionRequired?: boolean;
|
|
@@ -12,4 +20,33 @@ export declare function adaptSafeCollection(value: unknown): {
|
|
|
12
20
|
returned: number;
|
|
13
21
|
serverTotal: number;
|
|
14
22
|
};
|
|
23
|
+
export declare function adaptConversationMessages(value: unknown, context: {
|
|
24
|
+
runId: string;
|
|
25
|
+
runtimeId: string;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
}): DevAgentWorkConversationMessage[];
|
|
28
|
+
export declare function adaptRuntimeEvent(value: unknown, expected: {
|
|
29
|
+
runtimeId: string;
|
|
30
|
+
}): DevAgentWorkRuntimeEvent;
|
|
31
|
+
export declare function adaptSessionEvent(value: unknown, expected: {
|
|
32
|
+
runtimeId: string;
|
|
33
|
+
sessionId: string;
|
|
34
|
+
}): DevAgentWorkSessionEvent;
|
|
35
|
+
export declare function adaptRuntimeEventPage(value: unknown, expected: {
|
|
36
|
+
runtimeId: string;
|
|
37
|
+
}): {
|
|
38
|
+
items: DevAgentWorkRuntimeEvent[];
|
|
39
|
+
hasMoreBefore: boolean;
|
|
40
|
+
nextAfterSequence: number;
|
|
41
|
+
previousBeforeSequence: number;
|
|
42
|
+
};
|
|
43
|
+
export declare function adaptSessionEventPage(value: unknown, expected: {
|
|
44
|
+
runtimeId: string;
|
|
45
|
+
sessionId: string;
|
|
46
|
+
}): {
|
|
47
|
+
items: DevAgentWorkSessionEvent[];
|
|
48
|
+
hasMoreBefore: boolean;
|
|
49
|
+
nextAfterSequence: number;
|
|
50
|
+
previousBeforeSequence: number;
|
|
51
|
+
};
|
|
15
52
|
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/dev-agent-work/adapters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/dev-agent-work/adapters.ts"],"names":[],"mappings":"AAEA,OAAO,EAgBL,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAG3B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAG7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAYxB,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAW9E;AA0CD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAmC5E;AAsDD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,mCAAmC,EAAE,CAsCnG;AAsBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CA8C1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAyBxI;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,8BAA8B,CAwF7F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CA4B/H;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/D,+BAA+B,EAAE,CAoBnC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,wBAAwB,CAuB3G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,wBAAwB,CAI9H;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;EAUpF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;EAUvG"}
|