@inf-monkeys-tech/monkeys-cli 0.12.0 → 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.
Files changed (90) hide show
  1. package/LICENSE +232 -0
  2. package/README.md +8 -1
  3. package/README.zh.md +1 -1
  4. package/dist/command/metadata.d.ts.map +1 -1
  5. package/dist/command/metadata.js +6 -0
  6. package/dist/command/metadata.js.map +1 -1
  7. package/dist/commands/dev-agent/work/conversation/list.d.ts +14 -0
  8. package/dist/commands/dev-agent/work/conversation/list.d.ts.map +1 -0
  9. package/dist/commands/dev-agent/work/conversation/list.js +22 -0
  10. package/dist/commands/dev-agent/work/conversation/list.js.map +1 -0
  11. package/dist/commands/dev-agent/work/review/evidence/download.d.ts +17 -0
  12. package/dist/commands/dev-agent/work/review/evidence/download.d.ts.map +1 -0
  13. package/dist/commands/dev-agent/work/review/evidence/download.js +38 -0
  14. package/dist/commands/dev-agent/work/review/evidence/download.js.map +1 -0
  15. package/dist/commands/dev-agent/work/review/evidence/list.d.ts +13 -0
  16. package/dist/commands/dev-agent/work/review/evidence/list.d.ts.map +1 -0
  17. package/dist/commands/dev-agent/work/review/evidence/list.js +18 -0
  18. package/dist/commands/dev-agent/work/review/evidence/list.js.map +1 -0
  19. package/dist/commands/dev-agent/work/runtime/filesystem/download.d.ts +18 -0
  20. package/dist/commands/dev-agent/work/runtime/filesystem/download.d.ts.map +1 -0
  21. package/dist/commands/dev-agent/work/runtime/filesystem/download.js +43 -0
  22. package/dist/commands/dev-agent/work/runtime/filesystem/download.js.map +1 -0
  23. package/dist/commands/dev-agent/work/runtime/filesystem/read.d.ts +15 -0
  24. package/dist/commands/dev-agent/work/runtime/filesystem/read.d.ts.map +1 -0
  25. package/dist/commands/dev-agent/work/runtime/filesystem/read.js +25 -0
  26. package/dist/commands/dev-agent/work/runtime/filesystem/read.js.map +1 -0
  27. package/dist/commands/dev-agent/work/runtime/filesystem/tree.d.ts +15 -0
  28. package/dist/commands/dev-agent/work/runtime/filesystem/tree.d.ts.map +1 -0
  29. package/dist/commands/dev-agent/work/runtime/filesystem/tree.js +25 -0
  30. package/dist/commands/dev-agent/work/runtime/filesystem/tree.js.map +1 -0
  31. package/dist/commands/dev-agent/work/runtime/logs.d.ts +20 -0
  32. package/dist/commands/dev-agent/work/runtime/logs.d.ts.map +1 -0
  33. package/dist/commands/dev-agent/work/runtime/logs.js +65 -0
  34. package/dist/commands/dev-agent/work/runtime/logs.js.map +1 -0
  35. package/dist/commands/dev-agent/work/runtime/terminal.d.ts +13 -0
  36. package/dist/commands/dev-agent/work/runtime/terminal.d.ts.map +1 -0
  37. package/dist/commands/dev-agent/work/runtime/terminal.js +100 -0
  38. package/dist/commands/dev-agent/work/runtime/terminal.js.map +1 -0
  39. package/dist/commands/dev-agent/work/session/events/get.d.ts +15 -0
  40. package/dist/commands/dev-agent/work/session/events/get.d.ts.map +1 -0
  41. package/dist/commands/dev-agent/work/session/events/get.js +25 -0
  42. package/dist/commands/dev-agent/work/session/events/get.js.map +1 -0
  43. package/dist/commands/dev-agent/work/session/events/list.d.ts +20 -0
  44. package/dist/commands/dev-agent/work/session/events/list.d.ts.map +1 -0
  45. package/dist/commands/dev-agent/work/session/events/list.js +65 -0
  46. package/dist/commands/dev-agent/work/session/events/list.js.map +1 -0
  47. package/dist/commands/dev-agent/work/session/events/watch.d.ts +16 -0
  48. package/dist/commands/dev-agent/work/session/events/watch.d.ts.map +1 -0
  49. package/dist/commands/dev-agent/work/session/events/watch.js +44 -0
  50. package/dist/commands/dev-agent/work/session/events/watch.js.map +1 -0
  51. package/dist/commands/dev-agent/work/spec/list.d.ts +13 -0
  52. package/dist/commands/dev-agent/work/spec/list.d.ts.map +1 -0
  53. package/dist/commands/dev-agent/work/spec/list.js +18 -0
  54. package/dist/commands/dev-agent/work/spec/list.js.map +1 -0
  55. package/dist/dev-agent-work/adapters.d.ts +38 -1
  56. package/dist/dev-agent-work/adapters.d.ts.map +1 -1
  57. package/dist/dev-agent-work/adapters.js +145 -3
  58. package/dist/dev-agent-work/adapters.js.map +1 -1
  59. package/dist/dev-agent-work/client.d.ts +104 -1
  60. package/dist/dev-agent-work/client.d.ts.map +1 -1
  61. package/dist/dev-agent-work/client.js +258 -3
  62. package/dist/dev-agent-work/client.js.map +1 -1
  63. package/dist/dev-agent-work/contracts.d.ts +107 -0
  64. package/dist/dev-agent-work/contracts.d.ts.map +1 -1
  65. package/dist/dev-agent-work/contracts.js +26 -0
  66. package/dist/dev-agent-work/contracts.js.map +1 -1
  67. package/dist/dev-agent-work/definitions.d.ts +11 -0
  68. package/dist/dev-agent-work/definitions.d.ts.map +1 -1
  69. package/dist/dev-agent-work/definitions.js +11 -0
  70. package/dist/dev-agent-work/definitions.js.map +1 -1
  71. package/dist/semantic/runtime.d.ts +7 -1
  72. package/dist/semantic/runtime.d.ts.map +1 -1
  73. package/dist/semantic/runtime.js +24 -0
  74. package/dist/semantic/runtime.js.map +1 -1
  75. package/dist/transport/http-client.d.ts +2 -0
  76. package/dist/transport/http-client.d.ts.map +1 -1
  77. package/dist/transport/http-client.js +12 -1
  78. package/dist/transport/http-client.js.map +1 -1
  79. package/dist/transport/sse.d.ts +4 -0
  80. package/dist/transport/sse.d.ts.map +1 -0
  81. package/dist/transport/sse.js +76 -0
  82. package/dist/transport/sse.js.map +1 -0
  83. package/dist/transport/stream-download.d.ts +19 -0
  84. package/dist/transport/stream-download.d.ts.map +1 -0
  85. package/dist/transport/stream-download.js +74 -0
  86. package/dist/transport/stream-download.js.map +1 -0
  87. package/oclif.manifest.json +1120 -53
  88. package/package.json +3 -3
  89. package/skills/monkeys-dev-agent-work/SKILL.md +2 -1
  90. package/skills/monkeys-dev-agent-work/references/dev-agent-work.md +38 -0
@@ -0,0 +1,15 @@
1
+ import { LocalCommand } from '../../../../../config/local-command.js';
2
+ export default class DevAgentWorkRuntimeFilesystemRead extends LocalCommand {
3
+ static args: {
4
+ workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ path: 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=read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/runtime/filesystem/read.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,wCAAwC,CAAC;AAKvF,MAAM,CAAC,OAAO,OAAO,iCAAkC,SAAQ,YAAY;IACzE,OAAgB,IAAI;QAClB,UAAU;QACV,IAAI;MACJ;IACF,OAAgB,WAAW,SAAiF;IAC5G,OAAgB,KAAK;QACnB,MAAM;QACN,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzB;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 DevAgentWorkRuntimeFilesystemRead extends LocalCommand {
7
+ static args = {
8
+ workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }),
9
+ path: Args.string({ description: 'Runtime workspace file path', required: true }),
10
+ };
11
+ static description = 'Read one Runtime workspace file with explicit encoding and binary metadata.';
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(DevAgentWorkRuntimeFilesystemRead);
19
+ await this.emit('dev-agent work runtime filesystem read', flags.output, async () => {
20
+ const runtime = await loadDevAgentWorkRuntime(flags.subscription);
21
+ return devAgentWorkOutput(runtime, await new DevAgentWorkClient(runtime).filesystemFile(args.workItemId, args.path, flags['run-id']));
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/runtime/filesystem/read.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,iCAAkC,SAAQ,YAAY;IACzE,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAClF,CAAC;IACF,MAAM,CAAU,WAAW,GAAG,6EAA6E,CAAC;IAC5G,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,iCAAiC,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { LocalCommand } from '../../../../../config/local-command.js';
2
+ export default class DevAgentWorkRuntimeFilesystemTree extends LocalCommand {
3
+ static args: {
4
+ workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
5
+ path: import("@oclif/core/interfaces").Arg<string | undefined, 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=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/runtime/filesystem/tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,wCAAwC,CAAC;AAKvF,MAAM,CAAC,OAAO,OAAO,iCAAkC,SAAQ,YAAY;IACzE,OAAgB,IAAI;QAClB,UAAU;QACV,IAAI;MACJ;IACF,OAAgB,WAAW,SAAqE;IAChG,OAAgB,KAAK;QACnB,MAAM;QACN,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzB;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 DevAgentWorkRuntimeFilesystemTree extends LocalCommand {
7
+ static args = {
8
+ workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }),
9
+ path: Args.string({ description: 'Optional Runtime workspace path', required: false }),
10
+ };
11
+ static description = 'Read the Runtime workspace file tree for a Dev Agent Work Item.';
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(DevAgentWorkRuntimeFilesystemTree);
19
+ await this.emit('dev-agent work runtime filesystem tree', flags.output, async () => {
20
+ const runtime = await loadDevAgentWorkRuntime(flags.subscription);
21
+ return devAgentWorkOutput(runtime, await new DevAgentWorkClient(runtime).filesystemTree(args.workItemId, args.path, flags['run-id']));
22
+ });
23
+ }
24
+ }
25
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../../../src/commands/dev-agent/work/runtime/filesystem/tree.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,iCAAkC,SAAQ,YAAY;IACzE,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACvF,CAAC;IACF,MAAM,CAAU,WAAW,GAAG,iEAAiE,CAAC;IAChG,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,iCAAiC,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxI,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { LocalCommand } from '../../../../config/local-command.js';
2
+ export default class DevAgentWorkRuntimeLogs 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=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/runtime/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,qCAAqC,CAAC;AAMpF,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,YAAY;IAC/D,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA4F;IACvH,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 DevAgentWorkRuntimeLogs extends LocalCommand {
8
+ static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
9
+ static description = 'Read the durable Runtime Event log used by the Kernel UI, with optional full payloads.';
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(DevAgentWorkRuntimeLogs);
23
+ await this.emit('dev-agent work runtime logs', flags.output, async () => {
24
+ const runtime = await loadDevAgentWorkRuntime(flags.subscription);
25
+ const client = new DevAgentWorkClient(runtime);
26
+ let result = await client.listRuntimeEvents(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 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.listRuntimeEvents(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=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/runtime/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { LocalCommand } from '../../../../config/local-command.js';
2
+ export default class DevAgentWorkRuntimeTerminal 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
+ 'run-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, 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=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/runtime/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAMnE,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,YAAY;IACnE,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA+F;IAC1H,OAAgB,KAAK;QACnB,QAAQ;QACR,YAAY;MACZ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAkFzB;CACF"}
@@ -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"}