epismo 0.20.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -67
- package/dist/auth.js +37 -10
- package/dist/auth.js.map +1 -1
- package/dist/cases.js +25 -0
- package/dist/cases.js.map +1 -0
- package/dist/config.js.map +1 -1
- package/dist/playbook-program.js +397 -0
- package/dist/playbook-program.js.map +1 -0
- package/dist/playbooks.js +56 -0
- package/dist/playbooks.js.map +1 -0
- package/dist/program.js +7 -862
- package/dist/program.js.map +1 -1
- package/dist/records.js +12 -0
- package/dist/records.js.map +1 -0
- package/dist/suggestions.js +12 -40
- package/dist/suggestions.js.map +1 -1
- package/package.json +14 -2
- package/dist/agents.js +0 -40
- package/dist/agents.js.map +0 -1
- package/dist/aliases.js +0 -49
- package/dist/aliases.js.map +0 -1
- package/dist/logs.js +0 -43
- package/dist/logs.js.map +0 -1
- package/dist/packs.js +0 -177
- package/dist/packs.js.map +0 -1
- package/dist/track-reference.js +0 -33
- package/dist/track-reference.js.map +0 -1
- package/dist/tracks.js +0 -122
- package/dist/tracks.js.map +0 -1
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { Option } from "commander";
|
|
2
|
+
import { parseJsonArrayOption, parseJsonObjectOption, parseStringArrayInput } from "./input.js";
|
|
3
|
+
import { printJson } from "./output.js";
|
|
4
|
+
import { playbookApi } from "./playbooks.js";
|
|
5
|
+
import { caseApi } from "./cases.js";
|
|
6
|
+
import { suggestionApi } from "./suggestions.js";
|
|
7
|
+
import { recordApi } from "./records.js";
|
|
8
|
+
const number = (value) => Number(value);
|
|
9
|
+
function input(command) {
|
|
10
|
+
return command.option("--input <input>", "JSON object, @file, or - for stdin");
|
|
11
|
+
}
|
|
12
|
+
function paging(command) {
|
|
13
|
+
return command
|
|
14
|
+
.option("--page-size <number>", "results per page (1-100)", number)
|
|
15
|
+
.option("--cursor <cursor>", "cursor returned by the previous page");
|
|
16
|
+
}
|
|
17
|
+
function mutation(command) {
|
|
18
|
+
return input(command).option("--idempotency-key <uuid>", "retry key; generated automatically when omitted");
|
|
19
|
+
}
|
|
20
|
+
async function execute(deps, options, overrides, action) {
|
|
21
|
+
const payload = await deps.resolveInput(options, overrides);
|
|
22
|
+
printJson(await action(await deps.resolveContext(), payload));
|
|
23
|
+
}
|
|
24
|
+
function commonPage(options) {
|
|
25
|
+
return { pageSize: options.pageSize, cursor: options.cursor };
|
|
26
|
+
}
|
|
27
|
+
export function registerPlaybookProgram(program, deps) {
|
|
28
|
+
const playbook = program.command("playbook").description("manage reusable Playbooks");
|
|
29
|
+
paging(input(playbook.command("search").description("search readable Playbooks")))
|
|
30
|
+
.option("--query <text>", "full-text query")
|
|
31
|
+
.addOption(new Option("--category <category>").choices([
|
|
32
|
+
"productivity",
|
|
33
|
+
"programming",
|
|
34
|
+
"design",
|
|
35
|
+
"sales",
|
|
36
|
+
"marketing",
|
|
37
|
+
"operations",
|
|
38
|
+
"learning"
|
|
39
|
+
]))
|
|
40
|
+
.option("--filter-expression <expression>", "search projection filter")
|
|
41
|
+
.option("--aggregations <json>", "JSON array of aggregation options")
|
|
42
|
+
.action(async (options) => execute(deps, options, {
|
|
43
|
+
query: options.query,
|
|
44
|
+
category: options.category,
|
|
45
|
+
...commonPage(options),
|
|
46
|
+
filterExpression: options.filterExpression,
|
|
47
|
+
aggregationOptions: parseJsonArrayOption(options.aggregations, "--aggregations")
|
|
48
|
+
}, playbookApi.search));
|
|
49
|
+
mutation(playbook.command("create").description("create a Playbook and its first Version"))
|
|
50
|
+
.option("--owner-id <uuid>", "owner Account ID (defaults to your personal Account)")
|
|
51
|
+
.option("--acl <principals>", "comma-separated ACL principals")
|
|
52
|
+
.option("--definition <json>", "Playbook Definition JSON object")
|
|
53
|
+
.action(async (options) => {
|
|
54
|
+
const context = await deps.resolveContext();
|
|
55
|
+
const payload = await deps.resolveInput(options, {
|
|
56
|
+
ownerId: options.ownerId ?? context.auth.accountId,
|
|
57
|
+
acl: parseStringArrayInput(options.acl, "--acl"),
|
|
58
|
+
definition: parseJsonObjectOption(options.definition, "--definition"),
|
|
59
|
+
idempotencyKey: options.idempotencyKey
|
|
60
|
+
});
|
|
61
|
+
printJson(await playbookApi.create(context, payload));
|
|
62
|
+
});
|
|
63
|
+
playbook
|
|
64
|
+
.command("get")
|
|
65
|
+
.description("get a Playbook and its latest immutable Version")
|
|
66
|
+
.argument("<playbook-id>")
|
|
67
|
+
.action(async (id) => printJson(await playbookApi.get(await deps.resolveContext(), id)));
|
|
68
|
+
const version = playbook.command("version").description("read and publish immutable Versions");
|
|
69
|
+
paging(version.command("list").argument("<playbook-id>").description("list Versions")).action(async (id, options) => execute(deps, options, commonPage(options), (context, payload) => playbookApi.listVersions(context, id, payload)));
|
|
70
|
+
version
|
|
71
|
+
.command("get")
|
|
72
|
+
.argument("<playbook-id>")
|
|
73
|
+
.argument("<version-id>")
|
|
74
|
+
.description("get one immutable Version")
|
|
75
|
+
.action(async (playbookId, versionId) => printJson(await playbookApi.getVersion(await deps.resolveContext(), playbookId, versionId)));
|
|
76
|
+
mutation(version.command("publish").argument("<playbook-id>").description("publish a Version"))
|
|
77
|
+
.option("--base-version-id <uuid>", "current latest Version ID")
|
|
78
|
+
.option("--definition <json>", "new Playbook Definition JSON object")
|
|
79
|
+
.action(async (id, options) => execute(deps, options, {
|
|
80
|
+
baseVersionId: options.baseVersionId,
|
|
81
|
+
definition: parseJsonObjectOption(options.definition, "--definition"),
|
|
82
|
+
idempotencyKey: options.idempotencyKey
|
|
83
|
+
}, (context, payload) => playbookApi.publish(context, id, payload)));
|
|
84
|
+
mutation(playbook.command("acl").argument("<playbook-id>").description("replace the ACL"))
|
|
85
|
+
.requiredOption("--acl <principals>", "comma-separated ACL principals")
|
|
86
|
+
.action(async (id, options) => execute(deps, options, {
|
|
87
|
+
acl: parseStringArrayInput(options.acl, "--acl"),
|
|
88
|
+
idempotencyKey: options.idempotencyKey
|
|
89
|
+
}, (context, payload) => playbookApi.updateAcl(context, id, payload)));
|
|
90
|
+
for (const [name, description, action] of [
|
|
91
|
+
["archive", "archive a Playbook", playbookApi.archive],
|
|
92
|
+
["star", "star a Playbook", playbookApi.star],
|
|
93
|
+
["unstar", "remove a Playbook star", playbookApi.unstar]
|
|
94
|
+
]) {
|
|
95
|
+
mutation(playbook.command(name).argument("<playbook-id>").description(description)).action(async (id, options) => execute(deps, options, { idempotencyKey: options.idempotencyKey }, (context, payload) => action(context, id, payload)));
|
|
96
|
+
}
|
|
97
|
+
paging(playbook.command("starred").description("list your starred Playbooks")).action(async (options) => execute(deps, options, commonPage(options), playbookApi.listStarred));
|
|
98
|
+
const share = playbook.command("share").description("create short share URLs");
|
|
99
|
+
mutation(share.command("create").argument("<playbook-id>").description("create a share token"))
|
|
100
|
+
.option("--expires-at <timestamp>", "optional ISO-8601 expiration")
|
|
101
|
+
.action(async (id, options) => execute(deps, options, { expiresAt: options.expiresAt, idempotencyKey: options.idempotencyKey }, (context, payload) => playbookApi.createShare(context, id, payload)));
|
|
102
|
+
registerAliasProgram(program, deps);
|
|
103
|
+
registerCaseProgram(program, deps);
|
|
104
|
+
registerTaskProgram(program, deps);
|
|
105
|
+
registerRecordProgram(program, deps);
|
|
106
|
+
registerSuggestionProgram(program, deps);
|
|
107
|
+
}
|
|
108
|
+
function registerAliasProgram(program, deps) {
|
|
109
|
+
const alias = program.command("alias").description("manage Playbook aliases");
|
|
110
|
+
mutation(alias
|
|
111
|
+
.command("set")
|
|
112
|
+
.argument("<alias>")
|
|
113
|
+
.argument("<playbook-id>")
|
|
114
|
+
.description("point an alias at a Playbook, replacing any existing target"))
|
|
115
|
+
.requiredOption("--owner-id <uuid>", "alias namespace owner Account ID")
|
|
116
|
+
.action(async (name, playbookId, options) => execute(deps, options, {
|
|
117
|
+
ownerId: options.ownerId,
|
|
118
|
+
alias: name,
|
|
119
|
+
playbookId,
|
|
120
|
+
idempotencyKey: options.idempotencyKey
|
|
121
|
+
}, playbookApi.setAlias));
|
|
122
|
+
paging(input(alias.command("list").description("list aliases by namespace or Playbook")))
|
|
123
|
+
.option("--owner-id <uuid>", "alias namespace owner Account ID")
|
|
124
|
+
.option("--playbook-id <uuid>", "only aliases pointing at this Playbook")
|
|
125
|
+
.action(async (options) => execute(deps, options, {
|
|
126
|
+
ownerId: options.ownerId,
|
|
127
|
+
playbookId: options.playbookId,
|
|
128
|
+
...commonPage(options)
|
|
129
|
+
}, playbookApi.listAliases));
|
|
130
|
+
mutation(alias
|
|
131
|
+
.command("delete")
|
|
132
|
+
.argument("<alias>")
|
|
133
|
+
.description("delete an alias without touching the Playbook it pointed at"))
|
|
134
|
+
.requiredOption("--owner-id <uuid>", "alias namespace owner Account ID")
|
|
135
|
+
.action(async (name, options) => execute(deps, options, { ownerId: options.ownerId, idempotencyKey: options.idempotencyKey }, (context, payload) => playbookApi.deleteAlias(context, name, payload)));
|
|
136
|
+
}
|
|
137
|
+
function registerCaseProgram(program, deps) {
|
|
138
|
+
const cases = program.command("case").description("start, assign, and close Cases");
|
|
139
|
+
mutation(cases.command("start").description("start a Playbook or ad-hoc Case"))
|
|
140
|
+
.option("--version-id <uuid>")
|
|
141
|
+
.option("--title <title>")
|
|
142
|
+
.option("--case-input <json>", "Case input JSON object")
|
|
143
|
+
.option("--acl <principals>", "comma-separated ACL principals")
|
|
144
|
+
.action(async (options) => execute(deps, options, {
|
|
145
|
+
versionId: options.versionId,
|
|
146
|
+
title: options.title,
|
|
147
|
+
input: parseJsonObjectOption(options.caseInput, "--case-input"),
|
|
148
|
+
acl: parseStringArrayInput(options.acl, "--acl"),
|
|
149
|
+
idempotencyKey: options.idempotencyKey
|
|
150
|
+
}, caseApi.start));
|
|
151
|
+
cases
|
|
152
|
+
.command("get")
|
|
153
|
+
.argument("<case-id>")
|
|
154
|
+
.description("get a Case with its status, ACL, and lock version")
|
|
155
|
+
.action(async (id) => printJson(await caseApi.get(await deps.resolveContext(), id)));
|
|
156
|
+
paging(input(cases.command("list").description("list readable Cases")))
|
|
157
|
+
.option("--assigned-to <uuid>", "only Cases assigned to this account")
|
|
158
|
+
.addOption(new Option("--status <status>").choices(["open", "closed"]))
|
|
159
|
+
.action(async (options) => execute(deps, options, { assignedTo: options.assignedTo, status: options.status, ...commonPage(options) }, caseApi.list));
|
|
160
|
+
mutation(cases
|
|
161
|
+
.command("assign")
|
|
162
|
+
.argument("<case-id>")
|
|
163
|
+
.description("hand overall responsibility for a Case to a user the ACL already covers"))
|
|
164
|
+
.requiredOption("--assigned-to <uuid>", "account to make responsible for the Case")
|
|
165
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
166
|
+
.action(async (id, options) => execute(deps, options, {
|
|
167
|
+
assignedTo: options.assignedTo,
|
|
168
|
+
expectedLockVersion: options.lockVersion,
|
|
169
|
+
idempotencyKey: options.idempotencyKey
|
|
170
|
+
}, (context, payload) => caseApi.assign(context, id, payload)));
|
|
171
|
+
mutation(cases
|
|
172
|
+
.command("acl")
|
|
173
|
+
.argument("<case-id>")
|
|
174
|
+
.description("replace a Case ACL; it must still cover every current assignee"))
|
|
175
|
+
.requiredOption("--acl <principals>", "comma-separated ACL principals")
|
|
176
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
177
|
+
.action(async (id, options) => execute(deps, options, {
|
|
178
|
+
acl: parseStringArrayInput(options.acl, "--acl"),
|
|
179
|
+
expectedLockVersion: options.lockVersion,
|
|
180
|
+
idempotencyKey: options.idempotencyKey
|
|
181
|
+
}, (context, payload) => caseApi.updateAcl(context, id, payload)));
|
|
182
|
+
mutation(cases.command("update").argument("<case-id>").description("update editable Case fields"))
|
|
183
|
+
.option("--title <title>")
|
|
184
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
185
|
+
.action(async (id, options) => execute(deps, options, {
|
|
186
|
+
title: options.title,
|
|
187
|
+
expectedLockVersion: options.lockVersion,
|
|
188
|
+
idempotencyKey: options.idempotencyKey
|
|
189
|
+
}, (context, payload) => caseApi.update(context, id, payload)));
|
|
190
|
+
mutation(cases
|
|
191
|
+
.command("close")
|
|
192
|
+
.argument("<case-id>")
|
|
193
|
+
.description("close a Case; completed requires no open Tasks, cancelled and abandoned close the rest"))
|
|
194
|
+
.addOption(new Option("--outcome <outcome>").choices(["completed", "cancelled", "abandoned"]))
|
|
195
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
196
|
+
.option("--records <json>", "JSON array of final Records")
|
|
197
|
+
.action(async (id, options) => execute(deps, options, {
|
|
198
|
+
outcome: options.outcome,
|
|
199
|
+
expectedLockVersion: options.lockVersion,
|
|
200
|
+
records: parseJsonArrayOption(options.records, "--records"),
|
|
201
|
+
idempotencyKey: options.idempotencyKey
|
|
202
|
+
}, (context, payload) => caseApi.close(context, id, payload)));
|
|
203
|
+
mutation(cases
|
|
204
|
+
.command("reopen")
|
|
205
|
+
.argument("<case-id>")
|
|
206
|
+
.description("reopen a closed Case; its Tasks stay closed until reopened separately"))
|
|
207
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
208
|
+
.action(async (id, options) => execute(deps, options, {
|
|
209
|
+
expectedLockVersion: options.lockVersion,
|
|
210
|
+
idempotencyKey: options.idempotencyKey
|
|
211
|
+
}, (context, payload) => caseApi.reopen(context, id, payload)));
|
|
212
|
+
}
|
|
213
|
+
function registerRecordProgram(program, deps) {
|
|
214
|
+
const record = program
|
|
215
|
+
.command("record")
|
|
216
|
+
.description("append Records and browse the ACL-scoped activity feed");
|
|
217
|
+
mutation(record
|
|
218
|
+
.command("append")
|
|
219
|
+
.argument("<case-id>")
|
|
220
|
+
.description("append an immutable Record to an open Case"))
|
|
221
|
+
.option("--task-id <uuid>", "Task this Record belongs to")
|
|
222
|
+
.option("--source-step-id <id>", "four-character Step ID from the Case's pinned Version")
|
|
223
|
+
.option("--kind <kind>", "application-defined Record kind, 1-64 characters")
|
|
224
|
+
.option("--content <text>")
|
|
225
|
+
.option("--data <json>", "Record data JSON object")
|
|
226
|
+
.addOption(new Option("--origin <origin>").choices(["user", "agent"]))
|
|
227
|
+
.option("--client-name <name>")
|
|
228
|
+
.option("--client-version <version>")
|
|
229
|
+
.action(async (id, options) => execute(deps, options, {
|
|
230
|
+
taskId: options.taskId,
|
|
231
|
+
sourceStepId: options.sourceStepId,
|
|
232
|
+
kind: options.kind,
|
|
233
|
+
content: options.content,
|
|
234
|
+
data: parseJsonObjectOption(options.data, "--data"),
|
|
235
|
+
origin: options.origin,
|
|
236
|
+
clientName: options.clientName,
|
|
237
|
+
clientVersion: options.clientVersion,
|
|
238
|
+
idempotencyKey: options.idempotencyKey
|
|
239
|
+
}, (context, payload) => recordApi.append(context, id, payload)));
|
|
240
|
+
paging(input(record
|
|
241
|
+
.command("list")
|
|
242
|
+
.description("browse Records across every readable Case, newest first by default")))
|
|
243
|
+
.option("--case-id <uuid>")
|
|
244
|
+
.option("--task-id <uuid>")
|
|
245
|
+
.option("--created-by <uuid>")
|
|
246
|
+
.option("--kinds <kinds>", "comma-separated Record kinds")
|
|
247
|
+
.option("--origins <origins>", "comma-separated user,agent,system")
|
|
248
|
+
.option("--acl <principals>", "narrow to Cases overlapping these ACL principals")
|
|
249
|
+
.addOption(new Option("--order <order>").choices(["asc", "desc"]).default("desc"))
|
|
250
|
+
.action(async (options) => execute(deps, options, {
|
|
251
|
+
caseId: options.caseId,
|
|
252
|
+
taskId: options.taskId,
|
|
253
|
+
createdBy: options.createdBy,
|
|
254
|
+
kinds: parseStringArrayInput(options.kinds, "--kinds"),
|
|
255
|
+
origins: parseStringArrayInput(options.origins, "--origins"),
|
|
256
|
+
acl: parseStringArrayInput(options.acl, "--acl"),
|
|
257
|
+
order: options.order,
|
|
258
|
+
...commonPage(options)
|
|
259
|
+
}, recordApi.list));
|
|
260
|
+
}
|
|
261
|
+
function registerTaskProgram(program, deps) {
|
|
262
|
+
const task = program.command("task").description("manage materialized Case Tasks");
|
|
263
|
+
mutation(task
|
|
264
|
+
.command("create")
|
|
265
|
+
.argument("<case-id>")
|
|
266
|
+
.description("create a work or review Task when the work needs its own owner"))
|
|
267
|
+
.addOption(new Option("--kind <kind>").choices(["work", "review"]))
|
|
268
|
+
.option("--title <title>")
|
|
269
|
+
.option("--instructions <text>")
|
|
270
|
+
.option("--source-step-id <id>", "four-character Step ID from the Case's pinned Version")
|
|
271
|
+
.option("--assigned-to <uuid>", "assignee the Case ACL already covers; required for review")
|
|
272
|
+
.option("--subject-record-id <uuid>", "Record under review; review Tasks only")
|
|
273
|
+
.action(async (id, options) => execute(deps, options, {
|
|
274
|
+
kind: options.kind,
|
|
275
|
+
title: options.title,
|
|
276
|
+
instructions: options.instructions,
|
|
277
|
+
sourceStepId: options.sourceStepId,
|
|
278
|
+
assignedTo: options.assignedTo,
|
|
279
|
+
subjectRecordId: options.subjectRecordId,
|
|
280
|
+
idempotencyKey: options.idempotencyKey
|
|
281
|
+
}, (context, payload) => caseApi.createTask(context, id, payload)));
|
|
282
|
+
paging(input(task
|
|
283
|
+
.command("list")
|
|
284
|
+
.description("list Tasks in a Case, or your Tasks across Cases with --assigned-to")))
|
|
285
|
+
.option("--case-id <uuid>")
|
|
286
|
+
.option("--assigned-to <uuid>", "required when --case-id is omitted")
|
|
287
|
+
.addOption(new Option("--status <status>").choices(["open", "closed"]))
|
|
288
|
+
.action(async (options) => execute(deps, options, {
|
|
289
|
+
caseId: options.caseId,
|
|
290
|
+
assignedTo: options.assignedTo,
|
|
291
|
+
status: options.status,
|
|
292
|
+
...commonPage(options)
|
|
293
|
+
}, caseApi.listTasks));
|
|
294
|
+
mutation(task
|
|
295
|
+
.command("assign")
|
|
296
|
+
.argument("<task-id>")
|
|
297
|
+
.description("assign a Task to a user the Case ACL already covers"))
|
|
298
|
+
.option("--assigned-to <uuid>", "omit in --input to clear assignment")
|
|
299
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
300
|
+
.action(async (taskId, options) => execute(deps, options, {
|
|
301
|
+
assignedTo: options.assignedTo,
|
|
302
|
+
expectedLockVersion: options.lockVersion,
|
|
303
|
+
idempotencyKey: options.idempotencyKey
|
|
304
|
+
}, (context, payload) => caseApi.assignTask(context, taskId, payload)));
|
|
305
|
+
mutation(task
|
|
306
|
+
.command("update")
|
|
307
|
+
.argument("<task-id>")
|
|
308
|
+
.description("update editable Task fields while the Task and Case are open"))
|
|
309
|
+
.option("--title <title>")
|
|
310
|
+
.option("--instructions <text>")
|
|
311
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
312
|
+
.action(async (taskId, options) => execute(deps, options, {
|
|
313
|
+
title: options.title,
|
|
314
|
+
instructions: options.instructions,
|
|
315
|
+
expectedLockVersion: options.lockVersion,
|
|
316
|
+
idempotencyKey: options.idempotencyKey
|
|
317
|
+
}, (context, payload) => caseApi.updateTask(context, taskId, payload)));
|
|
318
|
+
mutation(task
|
|
319
|
+
.command("close")
|
|
320
|
+
.argument("<task-id>")
|
|
321
|
+
.description("close a Task with an outcome, optionally appending its final Records"))
|
|
322
|
+
.requiredOption("--outcome <outcome>", "free-text result of the Task")
|
|
323
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
324
|
+
.option("--records <json>", "JSON array of final Records")
|
|
325
|
+
.action(async (taskId, options) => execute(deps, options, {
|
|
326
|
+
outcome: options.outcome,
|
|
327
|
+
expectedLockVersion: options.lockVersion,
|
|
328
|
+
records: parseJsonArrayOption(options.records, "--records"),
|
|
329
|
+
idempotencyKey: options.idempotencyKey
|
|
330
|
+
}, (context, payload) => caseApi.closeTask(context, taskId, payload)));
|
|
331
|
+
mutation(task
|
|
332
|
+
.command("reopen")
|
|
333
|
+
.argument("<task-id>")
|
|
334
|
+
.description("reopen a closed Task while its parent Case is still open"))
|
|
335
|
+
.requiredOption("--lock-version <number>", "expected lock version", number)
|
|
336
|
+
.action(async (taskId, options) => execute(deps, options, {
|
|
337
|
+
expectedLockVersion: options.lockVersion,
|
|
338
|
+
idempotencyKey: options.idempotencyKey
|
|
339
|
+
}, (context, payload) => caseApi.reopenTask(context, taskId, payload)));
|
|
340
|
+
}
|
|
341
|
+
function registerSuggestionProgram(program, deps) {
|
|
342
|
+
const suggestion = program.command("suggestion").description("manage Playbook Suggestions");
|
|
343
|
+
mutation(suggestion
|
|
344
|
+
.command("create")
|
|
345
|
+
.description("propose a change against an immutable base Version"))
|
|
346
|
+
.option("--playbook-id <uuid>")
|
|
347
|
+
.option("--base-version-id <uuid>", "Version the proposal was written against")
|
|
348
|
+
.option("--target-step-id <id>", "four-character Step ID within the base Version")
|
|
349
|
+
.option("--title <title>")
|
|
350
|
+
.option("--content <text>")
|
|
351
|
+
.action(async (options) => execute(deps, options, {
|
|
352
|
+
playbookId: options.playbookId,
|
|
353
|
+
baseVersionId: options.baseVersionId,
|
|
354
|
+
targetStepId: options.targetStepId,
|
|
355
|
+
title: options.title,
|
|
356
|
+
content: options.content,
|
|
357
|
+
idempotencyKey: options.idempotencyKey
|
|
358
|
+
}, suggestionApi.create));
|
|
359
|
+
suggestion
|
|
360
|
+
.command("get")
|
|
361
|
+
.argument("<suggestion-id>")
|
|
362
|
+
.description("get a Suggestion and its resolution state")
|
|
363
|
+
.action(async (id) => printJson(await suggestionApi.get(await deps.resolveContext(), id)));
|
|
364
|
+
paging(input(suggestion.command("list").description("list readable Suggestions")))
|
|
365
|
+
.option("--playbook-id <uuid>")
|
|
366
|
+
.option("--author-id <uuid>")
|
|
367
|
+
.option("--statuses <statuses>", "comma-separated open,applied,declined,archived")
|
|
368
|
+
.action(async (options) => execute(deps, options, {
|
|
369
|
+
playbookId: options.playbookId,
|
|
370
|
+
authorId: options.authorId,
|
|
371
|
+
statuses: parseStringArrayInput(options.statuses, "--statuses"),
|
|
372
|
+
...commonPage(options)
|
|
373
|
+
}, suggestionApi.list));
|
|
374
|
+
mutation(suggestion
|
|
375
|
+
.command("update")
|
|
376
|
+
.argument("<suggestion-id>")
|
|
377
|
+
.description("edit your own open Suggestion"))
|
|
378
|
+
.option("--title <title>")
|
|
379
|
+
.option("--content <text>")
|
|
380
|
+
.action(async (id, options) => execute(deps, options, {
|
|
381
|
+
title: options.title,
|
|
382
|
+
content: options.content,
|
|
383
|
+
idempotencyKey: options.idempotencyKey
|
|
384
|
+
}, (context, payload) => suggestionApi.update(context, id, payload)));
|
|
385
|
+
mutation(suggestion
|
|
386
|
+
.command("resolve")
|
|
387
|
+
.argument("<suggestion-id>")
|
|
388
|
+
.description("apply, decline, archive, or reopen a Suggestion"))
|
|
389
|
+
.addOption(new Option("--status <status>").choices(["open", "applied", "declined", "archived"]))
|
|
390
|
+
.option("--result-version-id <uuid>", "Version published from it; required for applied")
|
|
391
|
+
.action(async (id, options) => execute(deps, options, {
|
|
392
|
+
status: options.status,
|
|
393
|
+
resultVersionId: options.resultVersionId,
|
|
394
|
+
idempotencyKey: options.idempotencyKey
|
|
395
|
+
}, (context, payload) => suggestionApi.resolve(context, id, payload)));
|
|
396
|
+
}
|
|
397
|
+
//# sourceMappingURL=playbook-program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook-program.js","sourceRoot":"","sources":["../src/playbook-program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { requestJson, withWorkspaceQuery } from "./api.js";
|
|
3
|
+
import { resolveApiUrl } from "./config.js";
|
|
4
|
+
import { toObjectInput } from "./input.js";
|
|
5
|
+
function withQuery(pathname, input) {
|
|
6
|
+
const values = toObjectInput(input);
|
|
7
|
+
const params = new URLSearchParams();
|
|
8
|
+
for (const [key, value] of Object.entries(values)) {
|
|
9
|
+
if (value === undefined || value === null || value === "")
|
|
10
|
+
continue;
|
|
11
|
+
if (Array.isArray(value)) {
|
|
12
|
+
for (const item of value)
|
|
13
|
+
params.append(key, String(item));
|
|
14
|
+
}
|
|
15
|
+
else if (typeof value === "object") {
|
|
16
|
+
params.set(key, JSON.stringify(value));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
params.set(key, String(value));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const query = params.toString();
|
|
23
|
+
return query ? `${pathname}?${query}` : pathname;
|
|
24
|
+
}
|
|
25
|
+
function withIdempotency(input) {
|
|
26
|
+
const payload = toObjectInput(input);
|
|
27
|
+
return {
|
|
28
|
+
...payload,
|
|
29
|
+
idempotencyKey: typeof payload.idempotencyKey === "string" && payload.idempotencyKey
|
|
30
|
+
? payload.idempotencyKey
|
|
31
|
+
: randomUUID()
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async function call(context, pathname, method = "GET", body) {
|
|
35
|
+
return requestJson(resolveApiUrl(), withWorkspaceQuery(pathname, context.workspaceId), { method, authToken: context.auth.accessToken, ...(body === undefined ? {} : { body }) });
|
|
36
|
+
}
|
|
37
|
+
const part = (value) => encodeURIComponent(value);
|
|
38
|
+
export const playbookApi = {
|
|
39
|
+
search: (c, input) => call(c, withQuery("/v1/playbooks", input)),
|
|
40
|
+
create: (c, input) => call(c, "/v1/playbooks", "POST", withIdempotency(input)),
|
|
41
|
+
get: (c, id) => call(c, `/v1/playbooks/${part(id)}`),
|
|
42
|
+
listVersions: (c, id, input) => call(c, withQuery(`/v1/playbooks/${part(id)}/versions`, input)),
|
|
43
|
+
getVersion: (c, playbookId, versionId) => call(c, `/v1/playbooks/${part(playbookId)}/versions/${part(versionId)}`),
|
|
44
|
+
publish: (c, id, input) => call(c, `/v1/playbooks/${part(id)}/versions`, "POST", withIdempotency(input)),
|
|
45
|
+
updateAcl: (c, id, input) => call(c, `/v1/playbooks/${part(id)}/acl`, "PATCH", withIdempotency(input)),
|
|
46
|
+
archive: (c, id, input) => call(c, `/v1/playbooks/${part(id)}`, "DELETE", withIdempotency(input)),
|
|
47
|
+
star: (c, id, input) => call(c, `/v1/playbooks/${part(id)}/star`, "PUT", withIdempotency(input)),
|
|
48
|
+
unstar: (c, id, input) => call(c, `/v1/playbooks/${part(id)}/star`, "DELETE", withIdempotency(input)),
|
|
49
|
+
listStarred: (c, input) => call(c, withQuery("/v1/me/starred-playbooks", input)),
|
|
50
|
+
setAlias: (c, input) => call(c, "/v1/aliases", "PUT", withIdempotency(input)),
|
|
51
|
+
listAliases: (c, input) => call(c, withQuery("/v1/aliases", input)),
|
|
52
|
+
deleteAlias: (c, alias, input) => call(c, `/v1/aliases/${part(alias)}`, "DELETE", withIdempotency(input)),
|
|
53
|
+
createShare: (c, id, input) => call(c, `/v1/playbooks/${part(id)}/share-tokens`, "POST", withIdempotency(input))
|
|
54
|
+
};
|
|
55
|
+
export { withIdempotency, withQuery };
|
|
56
|
+
//# sourceMappingURL=playbooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbooks.js","sourceRoot":"","sources":["../src/playbooks.ts"],"names":[],"mappings":"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"}
|