@inf-monkeys-tech/monkeys-cli 0.11.5 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -14
- package/README.zh.md +11 -8
- package/bin/run.js +4 -52
- package/bin/update-cache.js +3 -1
- package/dist/cli/run.d.ts +2 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +45 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/command/metadata.d.ts +1 -2
- package/dist/command/metadata.d.ts.map +1 -1
- package/dist/command/metadata.js +15 -24
- package/dist/command/metadata.js.map +1 -1
- package/dist/commands/{agent → dev-agent}/work/assign/existing.d.ts +1 -1
- package/dist/commands/dev-agent/work/assign/existing.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/assign/existing.js +10 -10
- package/dist/commands/dev-agent/work/assign/existing.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/assign/new.d.ts +1 -1
- package/dist/commands/dev-agent/work/assign/new.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/assign/new.js +8 -8
- package/dist/commands/dev-agent/work/assign/new.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/collaborators.d.ts +1 -1
- package/dist/commands/dev-agent/work/collaborators.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/collaborators.js +20 -0
- package/dist/commands/dev-agent/work/collaborators.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/conversation/send.d.ts +1 -1
- package/dist/commands/dev-agent/work/conversation/send.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/conversation/send.js +24 -0
- package/dist/commands/dev-agent/work/conversation/send.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/create.d.ts +1 -1
- package/dist/commands/dev-agent/work/create.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/create.js +15 -15
- package/dist/commands/dev-agent/work/create.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/delete.d.ts +1 -1
- package/dist/commands/dev-agent/work/delete.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/delete.js +8 -8
- package/dist/commands/dev-agent/work/delete.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/get.d.ts +1 -1
- package/dist/commands/dev-agent/work/get.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/get.js +21 -0
- package/dist/commands/dev-agent/work/get.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/list.d.ts +1 -1
- package/dist/commands/dev-agent/work/list.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/list.js +11 -11
- package/dist/commands/dev-agent/work/list.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/pause.d.ts +1 -1
- package/dist/commands/dev-agent/work/pause.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/pause.js +24 -0
- package/dist/commands/dev-agent/work/pause.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/resume.d.ts +1 -1
- package/dist/commands/dev-agent/work/resume.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/resume.js +24 -0
- package/dist/commands/dev-agent/work/resume.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/retry.d.ts +1 -1
- package/dist/commands/dev-agent/work/retry.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/retry.js +11 -11
- package/dist/commands/dev-agent/work/retry.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/review/approve.d.ts +1 -1
- package/dist/commands/dev-agent/work/review/approve.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/review/approve.js +27 -0
- package/dist/commands/dev-agent/work/review/approve.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/review/request-changes.d.ts +1 -1
- package/dist/commands/dev-agent/work/review/request-changes.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/review/request-changes.js +29 -0
- package/dist/commands/dev-agent/work/review/request-changes.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/runtime/list.d.ts +1 -1
- package/dist/commands/dev-agent/work/runtime/list.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/runtime/list.js +9 -9
- package/dist/commands/dev-agent/work/runtime/list.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/spec/approve.d.ts +1 -1
- package/dist/commands/dev-agent/work/spec/approve.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/spec/approve.js +10 -10
- package/dist/commands/dev-agent/work/spec/approve.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/spec/request-revision.d.ts +1 -1
- package/dist/commands/dev-agent/work/spec/request-revision.d.ts.map +1 -0
- package/dist/commands/dev-agent/work/spec/request-revision.js +28 -0
- package/dist/commands/dev-agent/work/spec/request-revision.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/update.d.ts +1 -1
- package/dist/commands/dev-agent/work/update.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/update.js +15 -15
- package/dist/commands/dev-agent/work/update.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/wait.d.ts +1 -1
- package/dist/commands/dev-agent/work/wait.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/wait.js +12 -12
- package/dist/commands/dev-agent/work/wait.js.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/watch.d.ts +1 -1
- package/dist/commands/dev-agent/work/watch.d.ts.map +1 -0
- package/dist/commands/{agent → dev-agent}/work/watch.js +14 -17
- package/dist/commands/dev-agent/work/watch.js.map +1 -0
- package/dist/commands/execution/watch.d.ts.map +1 -1
- package/dist/commands/execution/watch.js +4 -7
- package/dist/commands/execution/watch.js.map +1 -1
- package/dist/commands/install.d.ts +12 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +66 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +68 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/local-command.d.ts +0 -2
- package/dist/config/local-command.d.ts.map +1 -1
- package/dist/config/local-command.js +8 -14
- package/dist/config/local-command.js.map +1 -1
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +2 -12
- package/dist/config/registry.js.map +1 -1
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js +46 -5
- package/dist/config/store.js.map +1 -1
- package/dist/contracts/result.d.ts +1 -1
- package/dist/contracts/result.js +1 -1
- package/dist/contracts/version.d.ts +3 -3
- package/dist/contracts/version.d.ts.map +1 -1
- package/dist/contracts/version.js +3 -3
- package/dist/contracts/version.js.map +1 -1
- package/dist/dev-agent-work/adapters.d.ts +15 -0
- package/dist/dev-agent-work/adapters.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/adapters.js +25 -25
- package/dist/dev-agent-work/adapters.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/client.d.ts +23 -23
- package/dist/dev-agent-work/client.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/client.js +26 -24
- package/dist/dev-agent-work/client.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/context.d.ts +2 -2
- package/dist/dev-agent-work/context.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/context.js +3 -3
- package/dist/dev-agent-work/context.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/contracts.d.ts +46 -46
- package/dist/dev-agent-work/contracts.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/contracts.js +19 -13
- package/dist/dev-agent-work/contracts.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/definitions.d.ts +2 -2
- package/dist/dev-agent-work/definitions.d.ts.map +1 -0
- package/dist/dev-agent-work/definitions.js +33 -0
- package/dist/dev-agent-work/definitions.js.map +1 -0
- package/dist/dev-agent-work/index.d.ts.map +1 -0
- package/dist/dev-agent-work/index.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/input.d.ts +1 -1
- package/dist/dev-agent-work/input.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/input.js +16 -16
- package/dist/dev-agent-work/input.js.map +1 -0
- package/dist/{agent-work → dev-agent-work}/output.d.ts +3 -3
- package/dist/dev-agent-work/output.d.ts.map +1 -0
- package/dist/dev-agent-work/output.js +16 -0
- package/dist/dev-agent-work/output.js.map +1 -0
- package/dist/dev-agent-work/polling.d.ts +23 -0
- package/dist/dev-agent-work/polling.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/polling.js +8 -8
- package/dist/dev-agent-work/polling.js.map +1 -0
- package/dist/dev-agent-work/runtime.d.ts +2 -0
- package/dist/dev-agent-work/runtime.d.ts.map +1 -0
- package/dist/{agent-work → dev-agent-work}/runtime.js +3 -3
- package/dist/dev-agent-work/runtime.js.map +1 -0
- package/dist/errors/cli-error.d.ts +3 -0
- package/dist/errors/cli-error.d.ts.map +1 -1
- package/dist/errors/cli-error.js +17 -0
- package/dist/errors/cli-error.js.map +1 -1
- package/dist/output/render.js +1 -1
- package/dist/schema/command-schema.d.ts +2 -1
- package/dist/schema/command-schema.d.ts.map +1 -1
- package/dist/schema/command-schema.js +2 -1
- package/dist/schema/command-schema.js.map +1 -1
- package/dist/security/redact.d.ts.map +1 -1
- package/dist/security/redact.js +16 -2
- package/dist/security/redact.js.map +1 -1
- package/dist/skills/content.d.ts +1 -0
- package/dist/skills/content.d.ts.map +1 -1
- package/dist/skills/content.js +2 -2
- package/dist/skills/content.js.map +1 -1
- package/dist/skills/state.d.ts +33 -7
- package/dist/skills/state.d.ts.map +1 -1
- package/dist/skills/state.js +103 -14
- package/dist/skills/state.js.map +1 -1
- package/dist/skills/sync.d.ts +5 -2
- package/dist/skills/sync.d.ts.map +1 -1
- package/dist/skills/sync.js +110 -9
- package/dist/skills/sync.js.map +1 -1
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +46 -20
- package/dist/transport/http-client.js.map +1 -1
- package/dist/transport/multipart-upload.d.ts.map +1 -1
- package/dist/transport/multipart-upload.js +10 -7
- package/dist/transport/multipart-upload.js.map +1 -1
- package/dist/transport/url-policy.d.ts +2 -0
- package/dist/transport/url-policy.d.ts.map +1 -0
- package/dist/transport/url-policy.js +33 -0
- package/dist/transport/url-policy.js.map +1 -0
- package/dist/update/finalize.d.ts +26 -0
- package/dist/update/finalize.d.ts.map +1 -0
- package/dist/update/finalize.js +5 -0
- package/dist/update/finalize.js.map +1 -0
- package/dist/update/installation.d.ts +17 -0
- package/dist/update/installation.d.ts.map +1 -0
- package/dist/update/installation.js +63 -0
- package/dist/update/installation.js.map +1 -0
- package/dist/update/notifier.d.ts +4 -4
- package/dist/update/notifier.d.ts.map +1 -1
- package/dist/update/notifier.js +68 -39
- package/dist/update/notifier.js.map +1 -1
- package/dist/update/process.d.ts +11 -0
- package/dist/update/process.d.ts.map +1 -0
- package/dist/update/process.js +20 -0
- package/dist/update/process.js.map +1 -0
- package/dist/update/updater.d.ts +12 -13
- package/dist/update/updater.d.ts.map +1 -1
- package/dist/update/updater.js +149 -59
- package/dist/update/updater.js.map +1 -1
- package/oclif.manifest.json +3901 -6477
- package/package.json +7 -15
- package/skills/monkeys-dev-agent-work/SKILL.md +21 -0
- package/skills/monkeys-dev-agent-work/agents/openai.yaml +4 -0
- package/skills/{monkeys-agent-work/references/agent-work.md → monkeys-dev-agent-work/references/dev-agent-work.md} +28 -28
- package/skills/monkeys-shared/SKILL.md +1 -1
- package/skills/monkeys-shared/references/compatibility.md +4 -4
- package/skills/monkeys-shared/references/platform-overview.md +3 -3
- package/bin/install-wizard.js +0 -77
- package/dist/agent-work/adapters.d.ts +0 -15
- package/dist/agent-work/adapters.d.ts.map +0 -1
- package/dist/agent-work/adapters.js.map +0 -1
- package/dist/agent-work/client.d.ts.map +0 -1
- package/dist/agent-work/client.js.map +0 -1
- package/dist/agent-work/context.d.ts.map +0 -1
- package/dist/agent-work/context.js.map +0 -1
- package/dist/agent-work/contracts.d.ts.map +0 -1
- package/dist/agent-work/contracts.js.map +0 -1
- package/dist/agent-work/definitions.d.ts.map +0 -1
- package/dist/agent-work/definitions.js +0 -33
- package/dist/agent-work/definitions.js.map +0 -1
- package/dist/agent-work/index.d.ts.map +0 -1
- package/dist/agent-work/index.js.map +0 -1
- package/dist/agent-work/input.d.ts.map +0 -1
- package/dist/agent-work/input.js.map +0 -1
- package/dist/agent-work/output.d.ts.map +0 -1
- package/dist/agent-work/output.js +0 -16
- package/dist/agent-work/output.js.map +0 -1
- package/dist/agent-work/polling.d.ts +0 -23
- package/dist/agent-work/polling.d.ts.map +0 -1
- package/dist/agent-work/polling.js.map +0 -1
- package/dist/agent-work/runtime.d.ts +0 -2
- package/dist/agent-work/runtime.d.ts.map +0 -1
- package/dist/agent-work/runtime.js.map +0 -1
- package/dist/commands/agent/work/assign/existing.d.ts.map +0 -1
- package/dist/commands/agent/work/assign/existing.js.map +0 -1
- package/dist/commands/agent/work/assign/new.d.ts.map +0 -1
- package/dist/commands/agent/work/assign/new.js.map +0 -1
- package/dist/commands/agent/work/collaborators.d.ts.map +0 -1
- package/dist/commands/agent/work/collaborators.js +0 -20
- package/dist/commands/agent/work/collaborators.js.map +0 -1
- package/dist/commands/agent/work/conversation/send.d.ts.map +0 -1
- package/dist/commands/agent/work/conversation/send.js +0 -24
- package/dist/commands/agent/work/conversation/send.js.map +0 -1
- package/dist/commands/agent/work/create.d.ts.map +0 -1
- package/dist/commands/agent/work/create.js.map +0 -1
- package/dist/commands/agent/work/delete.d.ts.map +0 -1
- package/dist/commands/agent/work/delete.js.map +0 -1
- package/dist/commands/agent/work/get.d.ts.map +0 -1
- package/dist/commands/agent/work/get.js +0 -21
- package/dist/commands/agent/work/get.js.map +0 -1
- package/dist/commands/agent/work/list.d.ts.map +0 -1
- package/dist/commands/agent/work/list.js.map +0 -1
- package/dist/commands/agent/work/pause.d.ts.map +0 -1
- package/dist/commands/agent/work/pause.js +0 -24
- package/dist/commands/agent/work/pause.js.map +0 -1
- package/dist/commands/agent/work/resume.d.ts.map +0 -1
- package/dist/commands/agent/work/resume.js +0 -24
- package/dist/commands/agent/work/resume.js.map +0 -1
- package/dist/commands/agent/work/retry.d.ts.map +0 -1
- package/dist/commands/agent/work/retry.js.map +0 -1
- package/dist/commands/agent/work/review/approve.d.ts.map +0 -1
- package/dist/commands/agent/work/review/approve.js +0 -27
- package/dist/commands/agent/work/review/approve.js.map +0 -1
- package/dist/commands/agent/work/review/request-changes.d.ts.map +0 -1
- package/dist/commands/agent/work/review/request-changes.js +0 -29
- package/dist/commands/agent/work/review/request-changes.js.map +0 -1
- package/dist/commands/agent/work/runtime/list.d.ts.map +0 -1
- package/dist/commands/agent/work/runtime/list.js.map +0 -1
- package/dist/commands/agent/work/spec/approve.d.ts.map +0 -1
- package/dist/commands/agent/work/spec/approve.js.map +0 -1
- package/dist/commands/agent/work/spec/request-revision.d.ts.map +0 -1
- package/dist/commands/agent/work/spec/request-revision.js +0 -28
- package/dist/commands/agent/work/spec/request-revision.js.map +0 -1
- package/dist/commands/agent/work/update.d.ts.map +0 -1
- package/dist/commands/agent/work/update.js.map +0 -1
- package/dist/commands/agent/work/wait.d.ts.map +0 -1
- package/dist/commands/agent/work/wait.js.map +0 -1
- package/dist/commands/agent/work/watch.d.ts.map +0 -1
- package/dist/commands/agent/work/watch.js.map +0 -1
- package/dist/config/fast-subscription-list.d.ts +0 -6
- package/dist/config/fast-subscription-list.d.ts.map +0 -1
- package/dist/config/fast-subscription-list.js +0 -19
- package/dist/config/fast-subscription-list.js.map +0 -1
- package/skills/monkeys-agent-work/SKILL.md +0 -21
- package/skills/monkeys-agent-work/agents/openai.yaml +0 -4
- /package/dist/{agent-work → dev-agent-work}/index.d.ts +0 -0
- /package/dist/{agent-work → dev-agent-work}/index.js +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { DevAgentWorkClient } from '../../../../dev-agent-work/client.js';
|
|
3
|
+
import { readDevAgentWorkText } from '../../../../dev-agent-work/input.js';
|
|
4
|
+
import { devAgentWorkItemOutput } from '../../../../dev-agent-work/output.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../../dev-agent-work/runtime.js';
|
|
6
6
|
import { LocalCommand, localOutputFlag } from '../../../../config/local-command.js';
|
|
7
7
|
import { assertConfirmation } from '../../../../policy/risk.js';
|
|
8
|
-
export default class
|
|
8
|
+
export default class DevAgentWorkSpecApprove extends LocalCommand {
|
|
9
9
|
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
10
10
|
static description = 'Approve the specified Spec Revision and allow the Work Item to enter execution.';
|
|
11
11
|
static flags = {
|
|
@@ -16,12 +16,12 @@ export default class AgentWorkSpecApprove extends LocalCommand {
|
|
|
16
16
|
yes: Flags.boolean({ char: 'y', default: false, summary: 'Confirm approval of this Spec Revision' }),
|
|
17
17
|
};
|
|
18
18
|
async run() {
|
|
19
|
-
const { args, flags } = await this.parse(
|
|
20
|
-
await this.emit('agent work spec approve', flags.output, async () => {
|
|
19
|
+
const { args, flags } = await this.parse(DevAgentWorkSpecApprove);
|
|
20
|
+
await this.emit('dev-agent work spec approve', flags.output, async () => {
|
|
21
21
|
assertConfirmation({ interactive: Boolean(process.stdin.isTTY), risk: 'privileged', yes: flags.yes });
|
|
22
|
-
const note = await
|
|
23
|
-
const runtime = await
|
|
24
|
-
return
|
|
22
|
+
const note = await readDevAgentWorkText(flags.note, 'Approval instructions', 4_000);
|
|
23
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
24
|
+
return devAgentWorkItemOutput(runtime, await new DevAgentWorkClient(runtime).approveSpec(args.workItemId, {
|
|
25
25
|
...(note ? { note } : {}),
|
|
26
26
|
specRevisionId: flags['revision-id'],
|
|
27
27
|
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/spec/approve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,YAAY;IAC/D,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,iFAAiF,CAAC;IAChH,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;QACjE,MAAM,EAAE,eAAe;QACvB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QACnE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;QACjG,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;KACrG,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACtE,kBAAkB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtG,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,sBAAsB,CAC3B,OAAO,EACP,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE;gBACjE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;aACrC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LocalCommand } from '../../../../config/local-command.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class DevAgentWorkSpecRequestRevision extends LocalCommand {
|
|
3
3
|
static args: {
|
|
4
4
|
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-revision.d.ts","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/spec/request-revision.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAmB,MAAM,qCAAqC,CAAC;AAEpF,MAAM,CAAC,OAAO,OAAO,+BAAgC,SAAQ,YAAY;IACvE,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA8D;IACzF,OAAgB,KAAK;QACnB,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,aAAa;MACb;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAazB;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { DevAgentWorkClient } from '../../../../dev-agent-work/client.js';
|
|
3
|
+
import { readDevAgentWorkText } from '../../../../dev-agent-work/input.js';
|
|
4
|
+
import { devAgentWorkItemOutput } from '../../../../dev-agent-work/output.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../../dev-agent-work/runtime.js';
|
|
6
|
+
import { LocalCommand, localOutputFlag } from '../../../../config/local-command.js';
|
|
7
|
+
export default class DevAgentWorkSpecRequestRevision extends LocalCommand {
|
|
8
|
+
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
9
|
+
static description = 'Request the Agent to modify the specified Spec Revision.';
|
|
10
|
+
static flags = {
|
|
11
|
+
feedback: Flags.string({ required: true, summary: 'Revision comments or @file, up to 20,000 characters' }),
|
|
12
|
+
output: localOutputFlag,
|
|
13
|
+
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
14
|
+
'revision-id': Flags.string({ required: true, summary: 'Current precise Spec Revision ID' }),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(DevAgentWorkSpecRequestRevision);
|
|
18
|
+
await this.emit('dev-agent work spec request-revision', flags.output, async () => {
|
|
19
|
+
const feedback = await readDevAgentWorkText(flags.feedback, 'Spec revision comments', 20_000);
|
|
20
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
21
|
+
return devAgentWorkItemOutput(runtime, await new DevAgentWorkClient(runtime).requestSpecRevision(args.workItemId, {
|
|
22
|
+
feedback,
|
|
23
|
+
specRevisionId: flags['revision-id'],
|
|
24
|
+
}));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=request-revision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-revision.js","sourceRoot":"","sources":["../../../../../src/commands/dev-agent/work/spec/request-revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,CAAC,OAAO,OAAO,+BAAgC,SAAQ,YAAY;IACvE,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,0DAA0D,CAAC;IACzF,MAAM,CAAU,KAAK,GAAG;QACtB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;QAC1G,MAAM,EAAE,eAAe;QACvB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QACnE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;KAC7F,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,sBAAsB,CAC3B,OAAO,EACP,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE;gBACzE,QAAQ;gBACR,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;aACrC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LocalCommand } from '../../../config/local-command.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class DevAgentWorkUpdate extends LocalCommand {
|
|
3
3
|
static args: {
|
|
4
4
|
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/update.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAIjF,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,YAAY;IAC1D,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAAkF;IAC7G,OAAgB,KAAK;QACnB,aAAa;QACb,WAAW;QACX,MAAM;QACN,QAAQ;QACR,YAAY;QACZ,iBAAiB;QACjB,UAAU;QACV,cAAc;QACd,UAAU;QACV,KAAK;QACL,IAAI;MACJ;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCzB;CACF"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { DevAgentWorkClient } from '../../../dev-agent-work/client.js';
|
|
3
|
+
import { DEV_AGENT_WORK_PRIORITIES, DEV_AGENT_WORK_TYPES } from '../../../dev-agent-work/contracts.js';
|
|
4
|
+
import { readDevAgentWorkText, validateCreateFields } from '../../../dev-agent-work/input.js';
|
|
5
|
+
import { devAgentWorkItemOutput } from '../../../dev-agent-work/output.js';
|
|
6
|
+
import { loadDevAgentWorkRuntime } from '../../../dev-agent-work/runtime.js';
|
|
7
7
|
import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
|
|
8
8
|
import { CliError, EXIT_CODES } from '../../../errors/cli-error.js';
|
|
9
9
|
import { validateReferenceImages } from '../../../transport/multipart-upload.js';
|
|
10
|
-
export default class
|
|
10
|
+
export default class DevAgentWorkUpdate extends LocalCommand {
|
|
11
11
|
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
12
12
|
static description = 'Update a Dev Agent Work Item; only explicitly provided fields are submitted.';
|
|
13
13
|
static flags = {
|
|
14
14
|
'base-branch': Flags.string({ summary: 'target baseline branch' }),
|
|
15
15
|
description: Flags.string({ summary: 'Requirements description or @file' }),
|
|
16
16
|
output: localOutputFlag,
|
|
17
|
-
priority: Flags.string({ options: [...
|
|
17
|
+
priority: Flags.string({ options: [...DEV_AGENT_WORK_PRIORITIES], summary: 'priority' }),
|
|
18
18
|
subscription: Flags.string({ summary: 'Kernel Subscription name' }),
|
|
19
19
|
'reference-image': Flags.string({ multiple: true, summary: 'Replace with local reference image; repeat up to 3 times' }),
|
|
20
20
|
'repo-ref': Flags.string({ summary: 'Warehouse Ref' }),
|
|
21
21
|
'repo-subpath': Flags.string({ summary: 'Warehouse subdirectory' }),
|
|
22
22
|
'repo-url': Flags.string({ summary: 'Warehouse URL' }),
|
|
23
23
|
title: Flags.string({ summary: 'working title' }),
|
|
24
|
-
type: Flags.string({ options: [...
|
|
24
|
+
type: Flags.string({ options: [...DEV_AGENT_WORK_TYPES], summary: 'job type' }),
|
|
25
25
|
};
|
|
26
26
|
async run() {
|
|
27
|
-
const { args, flags } = await this.parse(
|
|
28
|
-
await this.emit('agent work update', flags.output, async () => {
|
|
27
|
+
const { args, flags } = await this.parse(DevAgentWorkUpdate);
|
|
28
|
+
await this.emit('dev-agent work update', flags.output, async () => {
|
|
29
29
|
if (flags.title)
|
|
30
30
|
validateCreateFields({ priority: flags.priority, title: flags.title, workType: flags.type });
|
|
31
|
-
const description = await
|
|
31
|
+
const description = await readDevAgentWorkText(flags.description, 'Requirement description', 20_000);
|
|
32
32
|
const hasImages = flags['reference-image'] !== undefined;
|
|
33
33
|
const files = await validateReferenceImages(flags['reference-image'] ?? []);
|
|
34
34
|
const payload = {
|
|
@@ -43,19 +43,19 @@ export default class AgentWorkUpdate extends LocalCommand {
|
|
|
43
43
|
};
|
|
44
44
|
if (!Object.keys(payload).length && !hasImages) {
|
|
45
45
|
throw new CliError('Provide at least one field that needs to be updated.', {
|
|
46
|
-
code: '
|
|
46
|
+
code: 'DEV_AGENT_WORK_UPDATE_EMPTY',
|
|
47
47
|
exitCode: EXIT_CODES.validation,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
const runtime = await
|
|
51
|
-
const client = new
|
|
50
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
51
|
+
const client = new DevAgentWorkClient(runtime);
|
|
52
52
|
if (hasImages) {
|
|
53
53
|
const referenceImages = [];
|
|
54
54
|
for (const file of files)
|
|
55
55
|
referenceImages.push((await client.uploadReferenceImage(file)).data);
|
|
56
56
|
payload.referenceImages = referenceImages;
|
|
57
57
|
}
|
|
58
|
-
return
|
|
58
|
+
return devAgentWorkItemOutput(runtime, await client.update(args.workItemId, payload));
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LocalCommand } from '../../../config/local-command.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class DevAgentWorkWait extends LocalCommand {
|
|
3
3
|
static args: {
|
|
4
4
|
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/wait.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,YAAY;IACxD,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA4G;IACvI,OAAgB,KAAK;QACnB,aAAa;QACb,MAAM;QACN,YAAY;QACZ,iBAAiB;QACjB,KAAK;MAKL;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BzB;CACF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { DevAgentWorkClient } from '../../../dev-agent-work/client.js';
|
|
3
|
+
import { DEV_AGENT_WORK_STATUSES } from '../../../dev-agent-work/contracts.js';
|
|
4
|
+
import { devAgentWorkMeta } from '../../../dev-agent-work/context.js';
|
|
5
|
+
import { waitForDevAgentWork } from '../../../dev-agent-work/polling.js';
|
|
6
|
+
import { loadDevAgentWorkRuntime } from '../../../dev-agent-work/runtime.js';
|
|
7
7
|
import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
|
|
8
|
-
export default class
|
|
8
|
+
export default class DevAgentWorkWait extends LocalCommand {
|
|
9
9
|
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
10
10
|
static description = 'Limited polling of Dev Agent Work until human attention, acceptance, specified status, or final state.';
|
|
11
11
|
static flags = {
|
|
@@ -15,26 +15,26 @@ export default class AgentWorkWait extends LocalCommand {
|
|
|
15
15
|
'timeout-seconds': Flags.integer({ default: 600, min: 1, max: 86_400, summary: 'Maximum wait seconds' }),
|
|
16
16
|
until: Flags.string({
|
|
17
17
|
default: 'terminal',
|
|
18
|
-
options: ['attention', 'review', 'terminal', ...
|
|
18
|
+
options: ['attention', 'review', 'terminal', ...DEV_AGENT_WORK_STATUSES],
|
|
19
19
|
summary: 'Stop condition',
|
|
20
20
|
}),
|
|
21
21
|
};
|
|
22
22
|
async run() {
|
|
23
|
-
const { args, flags } = await this.parse(
|
|
23
|
+
const { args, flags } = await this.parse(DevAgentWorkWait);
|
|
24
24
|
const controller = new AbortController();
|
|
25
25
|
const onInterrupt = () => controller.abort();
|
|
26
26
|
process.once('SIGINT', onInterrupt);
|
|
27
27
|
try {
|
|
28
|
-
await this.emit('agent work wait', flags.output, async () => {
|
|
29
|
-
const runtime = await
|
|
30
|
-
const event = await
|
|
28
|
+
await this.emit('dev-agent work wait', flags.output, async () => {
|
|
29
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
30
|
+
const event = await waitForDevAgentWork(new DevAgentWorkClient(runtime), args.workItemId, {
|
|
31
31
|
intervalMs: flags['interval-ms'],
|
|
32
32
|
signal: controller.signal,
|
|
33
33
|
timeoutMs: flags['timeout-seconds'] * 1_000,
|
|
34
34
|
until: flags.until,
|
|
35
35
|
});
|
|
36
36
|
return {
|
|
37
|
-
...
|
|
37
|
+
...devAgentWorkMeta(runtime, event.binding),
|
|
38
38
|
observedAt: event.observedAt,
|
|
39
39
|
pollingMode: 'bounded_polling',
|
|
40
40
|
...(event.requestId ? { requestId: event.requestId } : {}),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LocalCommand } from '../../../config/local-command.js';
|
|
2
|
-
export default class
|
|
2
|
+
export default class DevAgentWorkWatch extends LocalCommand {
|
|
3
3
|
static args: {
|
|
4
4
|
workItemId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/watch.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAmB,MAAM,kCAAkC,CAAC;AAIjF,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,YAAY;IACzD,OAAgB,IAAI;QAAK,UAAU;MAA2E;IAC9G,OAAgB,WAAW,SAA0F;IACrH,OAAgB,KAAK;QACnB,aAAa;QACb,MAAM;QACN,YAAY;QACZ,iBAAiB;MACjB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BzB;CACF"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { DevAgentWorkClient } from '../../../dev-agent-work/client.js';
|
|
3
|
+
import { devAgentWorkMeta } from '../../../dev-agent-work/context.js';
|
|
4
|
+
import { watchDevAgentWork } from '../../../dev-agent-work/polling.js';
|
|
5
|
+
import { loadDevAgentWorkRuntime } from '../../../dev-agent-work/runtime.js';
|
|
6
|
+
import { successResult } from '../../../contracts/result.js';
|
|
7
|
+
import { bindCliErrorToCommand } from '../../../errors/cli-error.js';
|
|
8
8
|
import { LocalCommand, localOutputFlag } from '../../../config/local-command.js';
|
|
9
9
|
import { renderCommandResult } from '../../../output/render.js';
|
|
10
10
|
import { redactValue } from '../../../security/redact.js';
|
|
11
|
-
export default class
|
|
11
|
+
export default class DevAgentWorkWatch extends LocalCommand {
|
|
12
12
|
static args = { workItemId: Args.string({ description: 'Dev Agent Work Item ID', required: true }) };
|
|
13
13
|
static description = 'Output Dev Agent Work status changes in NDJSON; Ctrl+C only stops local observation.';
|
|
14
14
|
static flags = {
|
|
@@ -18,34 +18,31 @@ export default class AgentWorkWatch extends LocalCommand {
|
|
|
18
18
|
'timeout-seconds': Flags.integer({ default: 3_600, min: 1, max: 86_400, summary: 'Maximum listening seconds' }),
|
|
19
19
|
};
|
|
20
20
|
async run() {
|
|
21
|
-
const { args, flags } = await this.parse(
|
|
22
|
-
const format =
|
|
21
|
+
const { args, flags } = await this.parse(DevAgentWorkWatch);
|
|
22
|
+
const format = flags.output;
|
|
23
23
|
const controller = new AbortController();
|
|
24
24
|
const onInterrupt = () => controller.abort();
|
|
25
25
|
process.once('SIGINT', onInterrupt);
|
|
26
26
|
try {
|
|
27
|
-
const runtime = await
|
|
28
|
-
for await (const event of
|
|
27
|
+
const runtime = await loadDevAgentWorkRuntime(flags.subscription);
|
|
28
|
+
for await (const event of watchDevAgentWork(new DevAgentWorkClient(runtime), args.workItemId, {
|
|
29
29
|
intervalMs: flags['interval-ms'],
|
|
30
30
|
signal: controller.signal,
|
|
31
31
|
timeoutMs: flags['timeout-seconds'] * 1_000,
|
|
32
32
|
})) {
|
|
33
33
|
const value = {
|
|
34
|
-
...
|
|
34
|
+
...devAgentWorkMeta(runtime, event.binding),
|
|
35
35
|
observedAt: event.observedAt,
|
|
36
36
|
pollingMode: 'bounded_polling',
|
|
37
37
|
...(event.requestId ? { requestId: event.requestId } : {}),
|
|
38
38
|
work: event.data,
|
|
39
39
|
};
|
|
40
|
-
const result = redactValue(successResult(value, { command: 'agent work watch' }));
|
|
40
|
+
const result = redactValue(successResult(value, { command: 'dev-agent work watch' }));
|
|
41
41
|
this.log(await renderCommandResult(result, { format, ...(flags.jq ? { jq: flags.jq } : {}) }));
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
catch (error) {
|
|
45
|
-
|
|
46
|
-
const result = redactValue(errorResult(cliError.toErrorDetail(), { command: 'agent work watch' }));
|
|
47
|
-
this.log(await renderCommandResult(result, { format, ...(flags.jq ? { jq: flags.jq } : {}) }));
|
|
48
|
-
this.exit(cliError.exitCode);
|
|
45
|
+
throw bindCliErrorToCommand(error, 'dev-agent work watch');
|
|
49
46
|
}
|
|
50
47
|
finally {
|
|
51
48
|
process.removeListener('SIGINT', onInterrupt);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/commands/dev-agent/work/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/execution/watch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAM9E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,OAAgB,IAAI;QAAK,WAAW;MAAiE;IACrG,OAAgB,WAAW,SAAyF;IACpH,OAAgB,KAAK;QACnB,aAAa;QACb,MAAM;QACN,YAAY;QACZ,IAAI;QACJ,iBAAiB;MACjB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/execution/watch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAC;AAM9E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAY;IACtD,OAAgB,IAAI;QAAK,WAAW;MAAiE;IACrG,OAAgB,WAAW,SAAyF;IACpH,OAAgB,KAAK;QACnB,aAAa;QACb,MAAM;QACN,YAAY;QACZ,IAAI;QACJ,iBAAiB;MACjB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCzB;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
2
|
import { ExecutionClient } from '../../client/execution.js';
|
|
3
|
-
import {
|
|
3
|
+
import { successResult } from '../../contracts/result.js';
|
|
4
4
|
import { LocalCommand, localOutputFlag } from '../../config/local-command.js';
|
|
5
|
-
import {
|
|
5
|
+
import { bindCliErrorToCommand, CliError, EXIT_CODES } from '../../errors/cli-error.js';
|
|
6
6
|
import { renderCommandResult } from '../../output/render.js';
|
|
7
7
|
import { redactValue } from '../../security/redact.js';
|
|
8
8
|
import { loadSemanticRuntime } from '../../semantic/runtime.js';
|
|
@@ -18,7 +18,7 @@ export default class ExecutionWatch extends LocalCommand {
|
|
|
18
18
|
};
|
|
19
19
|
async run() {
|
|
20
20
|
const { args, flags } = await this.parse(ExecutionWatch);
|
|
21
|
-
const format =
|
|
21
|
+
const format = flags.output;
|
|
22
22
|
const controller = new AbortController();
|
|
23
23
|
const onInterrupt = () => controller.abort(new CliError('Execution listener canceled.', {
|
|
24
24
|
code: 'EXECUTION_WATCH_CANCELLED',
|
|
@@ -41,10 +41,7 @@ export default class ExecutionWatch extends LocalCommand {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
catch (error) {
|
|
44
|
-
|
|
45
|
-
const result = redactValue(errorResult(cliError.toErrorDetail(), { command: 'execution watch' }));
|
|
46
|
-
this.log(await renderCommandResult(result, { format, ...(flags.jq ? { jq: flags.jq } : {}) }));
|
|
47
|
-
this.exit(cliError.exitCode);
|
|
44
|
+
throw bindCliErrorToCommand(error, 'execution watch');
|
|
48
45
|
}
|
|
49
46
|
finally {
|
|
50
47
|
process.removeListener('SIGINT', onInterrupt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/execution/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/execution/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LocalCommand } from '../config/local-command.js';
|
|
2
|
+
export default class Install extends LocalCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'package-manager': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAM3E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAAY;IAC/C,OAAgB,WAAW,SAAwF;IACnH,OAAgB,QAAQ,WAItB;IACF,OAAgB,KAAK;QACnB,SAAS;QACT,MAAM;QACN,iBAAiB;MAKjB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCzB;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { realpath } from 'node:fs/promises';
|
|
3
|
+
import { LocalCommand, localOutputFlag } from '../config/local-command.js';
|
|
4
|
+
import { asCliError, CliError, EXIT_CODES } from '../errors/cli-error.js';
|
|
5
|
+
import { detectCliInstallation, packageManagerGlobalRoot, resolveExecutableOnPath } from '../update/installation.js';
|
|
6
|
+
import { MONKEYS_NPM_PACKAGE, runUpdateProcess } from '../update/process.js';
|
|
7
|
+
import { installCliAndSkill, UpdateProcessError } from '../update/updater.js';
|
|
8
|
+
export default class Install extends LocalCommand {
|
|
9
|
+
static description = 'Install this exact CLI release globally and synchronize its exact official Skills.';
|
|
10
|
+
static examples = [
|
|
11
|
+
'npx @inf-monkeys-tech/monkeys-cli@latest install',
|
|
12
|
+
'pnpm dlx @inf-monkeys-tech/monkeys-cli@latest install --package-manager pnpm',
|
|
13
|
+
'<%= config.bin %> install --dry-run',
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
'dry-run': Flags.boolean({ default: false, summary: 'Validate and return the exact installation plan without changing anything' }),
|
|
17
|
+
output: localOutputFlag,
|
|
18
|
+
'package-manager': Flags.string({
|
|
19
|
+
default: 'npm',
|
|
20
|
+
options: ['npm', 'pnpm'],
|
|
21
|
+
summary: 'Global package manager that will own the installation',
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { flags } = await this.parse(Install);
|
|
26
|
+
await this.emit('install', flags.output, async () => {
|
|
27
|
+
const manager = flags['package-manager'];
|
|
28
|
+
const version = this.config.version;
|
|
29
|
+
const currentEntry = process.argv[1] ? await realpath(process.argv[1]).catch(() => process.argv[1]) : undefined;
|
|
30
|
+
const initialPathBinary = await resolveExecutableOnPath('monkeys');
|
|
31
|
+
const currentInstallation = await detectCliInstallation(currentEntry ? { entryPath: currentEntry } : {});
|
|
32
|
+
const exclusions = currentInstallation.method === 'manual' ? [currentEntry, initialPathBinary].filter((path) => Boolean(path)) : [];
|
|
33
|
+
const plan = { manager, package: MONKEYS_NPM_PACKAGE, skills: 'exact bundled set', version };
|
|
34
|
+
if (!packageManagerGlobalRoot(manager, runUpdateProcess)) {
|
|
35
|
+
throw new CliError(`The selected package manager ${manager} is unavailable or has no absolute global package root.`, {
|
|
36
|
+
code: 'INSTALL_MANAGER_UNAVAILABLE',
|
|
37
|
+
exitCode: EXIT_CODES.configuration,
|
|
38
|
+
recovery: [`Install and configure ${manager}, or select another package manager.`],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (flags['dry-run'])
|
|
42
|
+
return { action: 'planned', plan };
|
|
43
|
+
try {
|
|
44
|
+
const installed = await installCliAndSkill(version, {
|
|
45
|
+
finalizeSource: 'install',
|
|
46
|
+
manager,
|
|
47
|
+
resolvePathBinary: async () => resolveExecutableOnPath('monkeys', process.env, exclusions),
|
|
48
|
+
});
|
|
49
|
+
return { action: 'installed', ...installed };
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error instanceof UpdateProcessError) {
|
|
53
|
+
throw new CliError(error.message, {
|
|
54
|
+
cause: error,
|
|
55
|
+
code: 'INSTALL_FAILED',
|
|
56
|
+
exitCode: EXIT_CODES.internal,
|
|
57
|
+
recovery: [`Check ${manager}, network, global installation permissions, and PATH, then retry.`],
|
|
58
|
+
safeDetails: { command: error.command, detail: error.detail },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
throw asCliError(error);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export default class Update extends LocalCommand {
|
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
6
|
check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
finalize: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
'finalize-source': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
10
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
11
|
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAC;AAqB3E,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C,OAAgB,WAAW,SACuF;IAClH,OAAgB,QAAQ,WAA0G;IAClI,OAAgB,KAAK;QACnB,KAAK;QAEL,QAAQ;QACR,iBAAiB;QACjB,SAAS;QAIT,KAAK;QACL,MAAM;MACN;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAkHzB;CACF"}
|