orbitmap 0.4.3 → 0.4.4
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 +55 -8
- package/dist/adapters/cloud.d.ts +10 -0
- package/dist/adapters/cloud.js +13 -0
- package/dist/adapters/cloud.js.map +1 -1
- package/dist/adapters/local/adapter.d.ts +17 -0
- package/dist/adapters/local/adapter.js +28 -3
- package/dist/adapters/local/adapter.js.map +1 -1
- package/dist/adapters/local/entities/planning.d.ts +5 -1
- package/dist/adapters/local/entities/planning.js +16 -3
- package/dist/adapters/local/entities/planning.js.map +1 -1
- package/dist/adapters/local/types.d.ts +2 -0
- package/dist/adapters/types.d.ts +23 -0
- package/dist/agent-instructions.d.ts +28 -10
- package/dist/agent-instructions.js +1067 -160
- package/dist/agent-instructions.js.map +1 -1
- package/dist/commands/get.js +4 -0
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/intent.d.ts +16 -0
- package/dist/commands/intent.js +51 -4
- package/dist/commands/intent.js.map +1 -1
- package/dist/commands/log.d.ts +13 -2
- package/dist/commands/log.js +30 -16
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/mission.d.ts +8 -0
- package/dist/commands/mission.js +55 -6
- package/dist/commands/mission.js.map +1 -1
- package/dist/commands/setup-agent.d.ts +3 -3
- package/dist/commands/setup-agent.js +11 -5
- package/dist/commands/setup-agent.js.map +1 -1
- package/dist/index.js +35 -4
- package/dist/index.js.map +1 -1
- package/dist/work-log.d.ts +104 -0
- package/dist/work-log.js +181 -0
- package/dist/work-log.js.map +1 -0
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../src/agent-instructions.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,2DAA2D;AAC3D,oFAAoF;AACpF,oFAAoF;AACpF,oFAAoF;AACpF,+EAA+E;AAC/E
|
|
1
|
+
{"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../src/agent-instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/get.js
CHANGED
|
@@ -103,6 +103,10 @@ export async function getCommand(prefixedId, options) {
|
|
|
103
103
|
console.log(`Mission: ${intent.mission_id}`);
|
|
104
104
|
if (intent.outcome)
|
|
105
105
|
console.log(`\nOutcome:\n${intent.outcome}`);
|
|
106
|
+
if (intent.design)
|
|
107
|
+
console.log(`\nDesign:\n${intent.design}`);
|
|
108
|
+
if (intent.plan)
|
|
109
|
+
console.log(`\nPlan:\n${intent.plan}`);
|
|
106
110
|
}
|
|
107
111
|
break;
|
|
108
112
|
}
|
package/dist/commands/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,15 +12,31 @@ export declare function intentCreateCommand(title: string, options: {
|
|
|
12
12
|
json: boolean;
|
|
13
13
|
area?: string;
|
|
14
14
|
outcome?: string;
|
|
15
|
+
design?: string;
|
|
16
|
+
plan?: string;
|
|
15
17
|
status?: string;
|
|
16
18
|
orbit?: string;
|
|
17
19
|
}): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* `PATCH /intents/{id}` — fields, and (repeatable `--log`) the work log entries that travel
|
|
22
|
+
* with them.
|
|
23
|
+
*
|
|
24
|
+
* A status change and its entries are ONE request, written in one transaction: the API
|
|
25
|
+
* rejects a transition that carries no entry (422) and writes nothing at all when it does.
|
|
26
|
+
* The CLI does not pre-empt that check — it cannot know whether `--status` actually changes
|
|
27
|
+
* anything without an extra round trip, and re-implementing a server rule is exactly what
|
|
28
|
+
* the cloud adapter must not do. It only makes the rejection actionable (see
|
|
29
|
+
* `describeWorkLogRequirement`).
|
|
30
|
+
*/
|
|
18
31
|
export declare function intentUpdateCommand(idOrNumber: string, options: {
|
|
19
32
|
json: boolean;
|
|
20
33
|
area?: string;
|
|
21
34
|
title?: string;
|
|
22
35
|
outcome?: string;
|
|
36
|
+
design?: string;
|
|
37
|
+
plan?: string;
|
|
23
38
|
status?: string;
|
|
39
|
+
log?: string[];
|
|
24
40
|
}): Promise<void>;
|
|
25
41
|
export declare function intentLinkCommand(idOrNumber: string, options: {
|
|
26
42
|
json: boolean;
|
package/dist/commands/intent.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createAdapter } from '../adapters/factory.js';
|
|
2
2
|
import { OrbitMapAPIError } from '../errors.js';
|
|
3
3
|
import { formatOutput, printError, printSuccess, formatTable, printValidationError } from '../output.js';
|
|
4
|
+
import { describeWorkLogRequirement, formatWorkLogs, parseLogFlags, } from '../work-log.js';
|
|
4
5
|
const VALID_INTENT_STATUSES = ['new', 'design', 'plan', 'build', 'done', 'cancelled'];
|
|
5
6
|
const VALID_ITEM_TYPES = ['task', 'issue'];
|
|
6
7
|
function printIntentDetail(intent) {
|
|
@@ -23,6 +24,15 @@ function printIntentDetail(intent) {
|
|
|
23
24
|
console.log(`Created by: ${intent.created_by.name} (${intent.created_by.type})`);
|
|
24
25
|
if (intent.outcome)
|
|
25
26
|
console.log(`\nOutcome:\n${intent.outcome}`);
|
|
27
|
+
if (intent.design)
|
|
28
|
+
console.log(`\nDesign:\n${intent.design}`);
|
|
29
|
+
if (intent.plan)
|
|
30
|
+
console.log(`\nPlan:\n${intent.plan}`);
|
|
31
|
+
// Embedded by the detail endpoint only. Printed last so the narrative of what
|
|
32
|
+
// has happened reads after the intent's own framing.
|
|
33
|
+
const logs = formatWorkLogs(intent.work_logs);
|
|
34
|
+
if (logs)
|
|
35
|
+
console.log(logs);
|
|
26
36
|
}
|
|
27
37
|
export async function intentListCommand(options) {
|
|
28
38
|
try {
|
|
@@ -79,6 +89,8 @@ export async function intentCreateCommand(title, options) {
|
|
|
79
89
|
const response = (await client.createIntent({
|
|
80
90
|
name: title,
|
|
81
91
|
outcome: options.outcome,
|
|
92
|
+
design: options.design,
|
|
93
|
+
plan: options.plan,
|
|
82
94
|
status: options.status,
|
|
83
95
|
}));
|
|
84
96
|
// Create endpoint does not accept an orbit — attach in a second call.
|
|
@@ -128,11 +140,34 @@ export async function intentCreateCommand(title, options) {
|
|
|
128
140
|
process.exitCode = 1;
|
|
129
141
|
}
|
|
130
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* `PATCH /intents/{id}` — fields, and (repeatable `--log`) the work log entries that travel
|
|
145
|
+
* with them.
|
|
146
|
+
*
|
|
147
|
+
* A status change and its entries are ONE request, written in one transaction: the API
|
|
148
|
+
* rejects a transition that carries no entry (422) and writes nothing at all when it does.
|
|
149
|
+
* The CLI does not pre-empt that check — it cannot know whether `--status` actually changes
|
|
150
|
+
* anything without an extra round trip, and re-implementing a server rule is exactly what
|
|
151
|
+
* the cloud adapter must not do. It only makes the rejection actionable (see
|
|
152
|
+
* `describeWorkLogRequirement`).
|
|
153
|
+
*/
|
|
131
154
|
export async function intentUpdateCommand(idOrNumber, options) {
|
|
155
|
+
let logs;
|
|
156
|
+
try {
|
|
157
|
+
logs = parseLogFlags(options.log);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
printError(error, options.json);
|
|
161
|
+
process.exitCode = 1;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
132
164
|
if (options.title === undefined &&
|
|
133
165
|
options.outcome === undefined &&
|
|
134
|
-
options.
|
|
135
|
-
|
|
166
|
+
options.design === undefined &&
|
|
167
|
+
options.plan === undefined &&
|
|
168
|
+
options.status === undefined &&
|
|
169
|
+
logs.length === 0) {
|
|
170
|
+
printValidationError('Provide at least one of --title, --outcome, --design, --plan, --status, --log.', options.json);
|
|
136
171
|
return;
|
|
137
172
|
}
|
|
138
173
|
if (options.status && !VALID_INTENT_STATUSES.includes(options.status)) {
|
|
@@ -144,17 +179,29 @@ export async function intentUpdateCommand(idOrNumber, options) {
|
|
|
144
179
|
const response = (await client.updateIntent(idOrNumber, {
|
|
145
180
|
name: options.title,
|
|
146
181
|
outcome: options.outcome,
|
|
182
|
+
design: options.design,
|
|
183
|
+
plan: options.plan,
|
|
147
184
|
status: options.status,
|
|
185
|
+
// Omitted entirely when empty: a plain field update must send the body it always did.
|
|
186
|
+
logs: logs.length > 0 ? logs : undefined,
|
|
148
187
|
}));
|
|
149
188
|
if (options.json) {
|
|
150
189
|
console.log(formatOutput(response, true));
|
|
151
190
|
return;
|
|
152
191
|
}
|
|
153
192
|
const d = response.data;
|
|
154
|
-
|
|
193
|
+
let msg = `Intent updated: ${d.name} [${d.display_number}] (${d.status})`;
|
|
194
|
+
if (logs.length > 0) {
|
|
195
|
+
msg += `\nLogged ${logs.length} work log ${logs.length === 1 ? 'entry' : 'entries'}.`;
|
|
196
|
+
}
|
|
197
|
+
printSuccess(msg, false);
|
|
155
198
|
}
|
|
156
199
|
catch (error) {
|
|
157
|
-
printError(error,
|
|
200
|
+
printError(describeWorkLogRequirement(error, {
|
|
201
|
+
entity: 'intent',
|
|
202
|
+
statusChanged: options.status !== undefined,
|
|
203
|
+
logCount: logs.length,
|
|
204
|
+
}), options.json);
|
|
158
205
|
process.exitCode = 1;
|
|
159
206
|
}
|
|
160
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/commands/intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/commands/intent.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/log.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Write ONE work log entry against a task, an intent or a mission.
|
|
3
|
+
*
|
|
4
|
+
* The target follows from the reference itself (`TS-` / `IN-` / `MS-`), so an agent holding
|
|
5
|
+
* a display number needs to know nothing else. A bare uuid or bare code still means a
|
|
6
|
+
* **task** — what it has always meant — unless `--target` says otherwise; see `work-log.ts`
|
|
7
|
+
* for the dispatch rules. The reference is never rewritten: `/intents` and `/missions`
|
|
8
|
+
* resolve display numbers server-side, and `/tasks` resolution stays inside the adapter.
|
|
9
|
+
*/
|
|
10
|
+
export declare function logCommand(ref: string, message: string, options: {
|
|
2
11
|
json: boolean;
|
|
3
12
|
area?: string;
|
|
4
13
|
yes?: boolean;
|
|
5
|
-
|
|
14
|
+
/** Defaults to `note` — the same default Commander registers and the API applies. */
|
|
15
|
+
type?: string;
|
|
6
16
|
meta?: string;
|
|
17
|
+
target?: string;
|
|
7
18
|
}): Promise<void>;
|
package/dist/commands/log.js
CHANGED
|
@@ -1,22 +1,36 @@
|
|
|
1
1
|
import { createAdapter } from '../adapters/factory.js';
|
|
2
2
|
import { confirmWriteTarget } from '../write-target.js';
|
|
3
3
|
import { formatOutput, printError, printSuccess, printValidationError } from '../output.js';
|
|
4
|
+
import { assertWorkLogType, resolveWorkLogTarget } from '../work-log.js';
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Target → the adapter method that writes it. A lookup rather than a `switch` so the three
|
|
7
|
+
* targets stay visibly parallel, and so adding a fourth is a one-line change here plus the
|
|
8
|
+
* adapter method itself.
|
|
8
9
|
*/
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
const WRITERS = {
|
|
11
|
+
task: (client, ref, type, content, metadata) => client.logWork(ref, type, content, metadata),
|
|
12
|
+
intent: (client, ref, type, content, metadata) => client.logIntentWork(ref, type, content, metadata),
|
|
13
|
+
mission: (client, ref, type, content, metadata) => client.logMissionWork(ref, type, content, metadata),
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Write ONE work log entry against a task, an intent or a mission.
|
|
17
|
+
*
|
|
18
|
+
* The target follows from the reference itself (`TS-` / `IN-` / `MS-`), so an agent holding
|
|
19
|
+
* a display number needs to know nothing else. A bare uuid or bare code still means a
|
|
20
|
+
* **task** — what it has always meant — unless `--target` says otherwise; see `work-log.ts`
|
|
21
|
+
* for the dispatch rules. The reference is never rewritten: `/intents` and `/missions`
|
|
22
|
+
* resolve display numbers server-side, and `/tasks` resolution stays inside the adapter.
|
|
23
|
+
*/
|
|
24
|
+
export async function logCommand(ref, message, options) {
|
|
25
|
+
const type = options.type ?? 'note';
|
|
26
|
+
let target;
|
|
27
|
+
try {
|
|
28
|
+
assertWorkLogType(type);
|
|
29
|
+
target = resolveWorkLogTarget(ref, options.target);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
printError(error, options.json);
|
|
33
|
+
process.exitCode = 1;
|
|
20
34
|
return;
|
|
21
35
|
}
|
|
22
36
|
let metadata;
|
|
@@ -33,12 +47,12 @@ export async function logCommand(taskId, message, options) {
|
|
|
33
47
|
try {
|
|
34
48
|
await confirmWriteTarget('log work', options);
|
|
35
49
|
const client = await createAdapter(options.area);
|
|
36
|
-
const response = (await client
|
|
50
|
+
const response = (await WRITERS[target](client, ref, type, message, metadata));
|
|
37
51
|
if (options.json) {
|
|
38
52
|
console.log(formatOutput(response, true));
|
|
39
53
|
return;
|
|
40
54
|
}
|
|
41
|
-
printSuccess(`Logged ${response.data.type} on
|
|
55
|
+
printSuccess(`Logged ${response.data.type} on ${target} ${ref}.`, false);
|
|
42
56
|
}
|
|
43
57
|
catch (error) {
|
|
44
58
|
printError(error, options.json);
|
package/dist/commands/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAsB,MAAM,gBAAgB,CAAC;AAkB7F;;;;GAIG;AACH,MAAM,OAAO,GAST;IACF,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC5F,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;IACpD,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAChD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;CACtD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,OAAe,EACf,OAQC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IAEpC,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,QAA6C,CAAC;IAClD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,GAAG,+BAA+B,CAAC;YAC5C,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CACrC,MAAM,EACN,GAAG,EACH,IAAI,EACJ,OAAO,EACP,QAAQ,CACT,CAAgB,CAAC;QAElB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,YAAY,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -15,6 +15,7 @@ export declare function missionCreateCommand(title: string, options: {
|
|
|
15
15
|
outcome?: string;
|
|
16
16
|
endDate?: string;
|
|
17
17
|
}): Promise<void>;
|
|
18
|
+
/** `PATCH /missions/{id}` — fields, plus any work log entries given with repeatable `--log`. */
|
|
18
19
|
export declare function missionUpdateCommand(idOrNumber: string, options: {
|
|
19
20
|
json: boolean;
|
|
20
21
|
area?: string;
|
|
@@ -22,11 +23,18 @@ export declare function missionUpdateCommand(idOrNumber: string, options: {
|
|
|
22
23
|
desc?: string;
|
|
23
24
|
outcome?: string;
|
|
24
25
|
endDate?: string;
|
|
26
|
+
log?: string[];
|
|
25
27
|
}): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* `PATCH /missions/{id}/status` — the mission's gate, and therefore the route the
|
|
30
|
+
* "a transition carries at least one work log entry" rule (422) actually guards: a mission's
|
|
31
|
+
* status does not travel on `PATCH /missions/{id}` at all, it has its own endpoint.
|
|
32
|
+
*/
|
|
26
33
|
export declare function missionStatusCommand(idOrNumber: string, status: string, options: {
|
|
27
34
|
json: boolean;
|
|
28
35
|
area?: string;
|
|
29
36
|
moveTo?: string;
|
|
37
|
+
log?: string[];
|
|
30
38
|
}): Promise<void>;
|
|
31
39
|
export declare function missionLinkCommand(idOrNumber: string, options: {
|
|
32
40
|
json: boolean;
|
package/dist/commands/mission.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createAdapter } from '../adapters/factory.js';
|
|
2
2
|
import { formatOutput, printError, printSuccess, formatTable, printValidationError } from '../output.js';
|
|
3
|
+
import { describeWorkLogRequirement, formatWorkLogs, parseLogFlags, } from '../work-log.js';
|
|
3
4
|
const VALID_LIFECYCLE_STATUSES = ['active', 'completed', 'cancelled'];
|
|
4
5
|
const VALID_ITEM_TYPES = ['task', 'issue', 'idea', 'intent'];
|
|
5
6
|
function printMissionDetail(mission) {
|
|
@@ -16,6 +17,11 @@ function printMissionDetail(mission) {
|
|
|
16
17
|
if (mission.outcome)
|
|
17
18
|
console.log(`\nOutcome:\n${mission.outcome}`);
|
|
18
19
|
printMissionItems(mission);
|
|
20
|
+
// Embedded by the detail endpoint only. Printed last so the narrative of what
|
|
21
|
+
// has happened reads after the mission's own framing and its linked items.
|
|
22
|
+
const logs = formatWorkLogs(mission.work_logs);
|
|
23
|
+
if (logs)
|
|
24
|
+
console.log(logs);
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
27
|
* Render the linked items of `mission show`. The block is skipped entirely when the
|
|
@@ -112,12 +118,23 @@ export async function missionCreateCommand(title, options) {
|
|
|
112
118
|
process.exitCode = 1;
|
|
113
119
|
}
|
|
114
120
|
}
|
|
121
|
+
/** `PATCH /missions/{id}` — fields, plus any work log entries given with repeatable `--log`. */
|
|
115
122
|
export async function missionUpdateCommand(idOrNumber, options) {
|
|
123
|
+
let logs;
|
|
124
|
+
try {
|
|
125
|
+
logs = parseLogFlags(options.log);
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
printError(error, options.json);
|
|
129
|
+
process.exitCode = 1;
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
116
132
|
if (options.title === undefined &&
|
|
117
133
|
options.desc === undefined &&
|
|
118
134
|
options.outcome === undefined &&
|
|
119
|
-
options.endDate === undefined
|
|
120
|
-
|
|
135
|
+
options.endDate === undefined &&
|
|
136
|
+
logs.length === 0) {
|
|
137
|
+
printValidationError('Provide at least one of --title, --desc, --outcome, --end-date, --log.', options.json);
|
|
121
138
|
return;
|
|
122
139
|
}
|
|
123
140
|
try {
|
|
@@ -127,20 +144,43 @@ export async function missionUpdateCommand(idOrNumber, options) {
|
|
|
127
144
|
description: options.desc,
|
|
128
145
|
outcome: options.outcome,
|
|
129
146
|
end_date: options.endDate,
|
|
147
|
+
logs: logs.length > 0 ? logs : undefined,
|
|
130
148
|
}));
|
|
131
149
|
if (options.json) {
|
|
132
150
|
console.log(formatOutput(response, true));
|
|
133
151
|
return;
|
|
134
152
|
}
|
|
135
153
|
const d = response.data;
|
|
136
|
-
|
|
154
|
+
let msg = `Mission updated: ${d.name} [${d.display_number}] (${d.status})`;
|
|
155
|
+
if (logs.length > 0) {
|
|
156
|
+
msg += `\nLogged ${logs.length} work log ${logs.length === 1 ? 'entry' : 'entries'}.`;
|
|
157
|
+
}
|
|
158
|
+
printSuccess(msg, false);
|
|
137
159
|
}
|
|
138
160
|
catch (error) {
|
|
139
|
-
printError(error,
|
|
161
|
+
printError(describeWorkLogRequirement(error, {
|
|
162
|
+
entity: 'mission',
|
|
163
|
+
statusChanged: false,
|
|
164
|
+
logCount: logs.length,
|
|
165
|
+
}), options.json);
|
|
140
166
|
process.exitCode = 1;
|
|
141
167
|
}
|
|
142
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* `PATCH /missions/{id}/status` — the mission's gate, and therefore the route the
|
|
171
|
+
* "a transition carries at least one work log entry" rule (422) actually guards: a mission's
|
|
172
|
+
* status does not travel on `PATCH /missions/{id}` at all, it has its own endpoint.
|
|
173
|
+
*/
|
|
143
174
|
export async function missionStatusCommand(idOrNumber, status, options) {
|
|
175
|
+
let logs;
|
|
176
|
+
try {
|
|
177
|
+
logs = parseLogFlags(options.log);
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
printError(error, options.json);
|
|
181
|
+
process.exitCode = 1;
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
144
184
|
if (!VALID_LIFECYCLE_STATUSES.includes(status)) {
|
|
145
185
|
printValidationError(`Invalid status "${status}". Valid: ${VALID_LIFECYCLE_STATUSES.join(', ')}`, options.json);
|
|
146
186
|
return;
|
|
@@ -150,16 +190,25 @@ export async function missionStatusCommand(idOrNumber, status, options) {
|
|
|
150
190
|
const response = (await client.setMissionStatus(idOrNumber, {
|
|
151
191
|
status,
|
|
152
192
|
move_target_mission_id: options.moveTo,
|
|
193
|
+
logs: logs.length > 0 ? logs : undefined,
|
|
153
194
|
}));
|
|
154
195
|
if (options.json) {
|
|
155
196
|
console.log(formatOutput(response, true));
|
|
156
197
|
return;
|
|
157
198
|
}
|
|
158
199
|
const d = response.data;
|
|
159
|
-
|
|
200
|
+
let msg = `Mission ${d.display_number ?? idOrNumber} status set to ${status}.`;
|
|
201
|
+
if (logs.length > 0) {
|
|
202
|
+
msg += `\nLogged ${logs.length} work log ${logs.length === 1 ? 'entry' : 'entries'}.`;
|
|
203
|
+
}
|
|
204
|
+
printSuccess(msg, false);
|
|
160
205
|
}
|
|
161
206
|
catch (error) {
|
|
162
|
-
printError(error,
|
|
207
|
+
printError(describeWorkLogRequirement(error, {
|
|
208
|
+
entity: 'mission',
|
|
209
|
+
statusChanged: true,
|
|
210
|
+
logCount: logs.length,
|
|
211
|
+
}), options.json);
|
|
163
212
|
process.exitCode = 1;
|
|
164
213
|
}
|
|
165
214
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mission.js","sourceRoot":"","sources":["../../src/commands/mission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"mission.js","sourceRoot":"","sources":["../../src/commands/mission.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ export declare function detectAgent(cwdOverride?: string): AgentType | null;
|
|
|
61
61
|
* copy that is not being read.
|
|
62
62
|
*/
|
|
63
63
|
export interface StaleProjectInstall {
|
|
64
|
-
/** Absolute paths of the
|
|
64
|
+
/** Absolute paths of the five skill directories this CLI wrote, that still exist. */
|
|
65
65
|
skillDirs: string[];
|
|
66
66
|
/** Absolute path of the agent config file that still carries our marker block, if any. */
|
|
67
67
|
configPath: string | null;
|
|
@@ -69,7 +69,7 @@ export interface StaleProjectInstall {
|
|
|
69
69
|
/**
|
|
70
70
|
* Find a previous project-scope install in `cwd`.
|
|
71
71
|
*
|
|
72
|
-
* Deliberately narrow: only the
|
|
72
|
+
* Deliberately narrow: only the five skill directories this CLI creates by name, and only
|
|
73
73
|
* a config file that actually contains OUR marker block. A user's own skill in
|
|
74
74
|
* `.claude/skills/`, an unrelated `CLAUDE.md`, or a `.claude/` holding only settings are
|
|
75
75
|
* invisible here — which is what makes the cleanup below safe.
|
|
@@ -78,7 +78,7 @@ export declare function detectProjectInstall(cwd: string, agentType: AgentType):
|
|
|
78
78
|
/**
|
|
79
79
|
* Remove a stale project-scope install — and nothing else.
|
|
80
80
|
*
|
|
81
|
-
* Only ever touches: the
|
|
81
|
+
* Only ever touches: the five skill directories named in {@link StaleProjectInstall}, and
|
|
82
82
|
* the marker-delimited block inside the config file. Text outside the markers is kept
|
|
83
83
|
* verbatim; the config file itself is deleted only when the block was its entire content
|
|
84
84
|
* (i.e. this CLI created it). Parent directories are removed only when they are already
|
|
@@ -176,8 +176,8 @@ function writeBlock(filePath, block) {
|
|
|
176
176
|
return 'created';
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
|
-
* Install every Claude skill
|
|
180
|
-
* Writing is unconditional, so re-running is idempotent.
|
|
179
|
+
* Install every Claude skill (`<skillsDir>/<name>/SKILL.md` + any `references/*` files —
|
|
180
|
+
* see {@link SkillDef.references}). Writing is unconditional, so re-running is idempotent.
|
|
181
181
|
*/
|
|
182
182
|
function writeSkills(skillsDir) {
|
|
183
183
|
return SKILLS.map((skill) => {
|
|
@@ -185,12 +185,18 @@ function writeSkills(skillsDir) {
|
|
|
185
185
|
const existed = fs.existsSync(file);
|
|
186
186
|
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
187
187
|
fs.writeFileSync(file, buildSkillFile(skill), 'utf-8');
|
|
188
|
+
for (const [relPath, content] of Object.entries(skill.references ?? {})) {
|
|
189
|
+
// Keys are POSIX paths relative to the skill directory (may contain subdirectories).
|
|
190
|
+
const refFile = path.join(skillsDir, skill.name, ...relPath.split('/'));
|
|
191
|
+
fs.mkdirSync(path.dirname(refFile), { recursive: true });
|
|
192
|
+
fs.writeFileSync(refFile, `${content}\n`, 'utf-8');
|
|
193
|
+
}
|
|
188
194
|
return { name: skill.name, file, action: existed ? 'updated' : 'created' };
|
|
189
195
|
});
|
|
190
196
|
}
|
|
191
197
|
// --- Per-agent installers ---
|
|
192
198
|
/**
|
|
193
|
-
* Claude: install the
|
|
199
|
+
* Claude: install the five on-demand skills + a thin always-on hook in CLAUDE.md.
|
|
194
200
|
* This mirrors the MCP split of system-instructions (always on) + tool catalogue (on demand).
|
|
195
201
|
*
|
|
196
202
|
* The hook and the skills always land in the *same* scope, so the hook can never promise
|
|
@@ -237,7 +243,7 @@ function setupGeneric(cwd, target) {
|
|
|
237
243
|
/**
|
|
238
244
|
* Find a previous project-scope install in `cwd`.
|
|
239
245
|
*
|
|
240
|
-
* Deliberately narrow: only the
|
|
246
|
+
* Deliberately narrow: only the five skill directories this CLI creates by name, and only
|
|
241
247
|
* a config file that actually contains OUR marker block. A user's own skill in
|
|
242
248
|
* `.claude/skills/`, an unrelated `CLAUDE.md`, or a `.claude/` holding only settings are
|
|
243
249
|
* invisible here — which is what makes the cleanup below safe.
|
|
@@ -260,7 +266,7 @@ export function detectProjectInstall(cwd, agentType) {
|
|
|
260
266
|
/**
|
|
261
267
|
* Remove a stale project-scope install — and nothing else.
|
|
262
268
|
*
|
|
263
|
-
* Only ever touches: the
|
|
269
|
+
* Only ever touches: the five skill directories named in {@link StaleProjectInstall}, and
|
|
264
270
|
* the marker-delimited block inside the config file. Text outside the markers is kept
|
|
265
271
|
* verbatim; the config file itself is deleted only when the block was its entire content
|
|
266
272
|
* (i.e. this CLI created it). Parent directories are removed only when they are already
|