epismo 0.4.5 → 0.6.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/dist/packs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"packs.js","sourceRoot":"","sources":["../src/packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs.js","sourceRoot":"","sources":["../src/packs.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -9,8 +9,8 @@ import { deleteAlias, getAlias, listAliases, upsertAlias } from "./aliases.js";
9
9
  import { creditBalance, creditCheckout } from "./credits.js";
10
10
  import { CliError } from "./errors.js";
11
11
  import { addAgents, listAgents, removeAgents } from "./agents.js";
12
- import { createWorkspace, deleteWorkspaceMember, getWorkspaceCheckout, listWorkspaceMembers, updateWorkspace, upsertWorkspaceMember } from "./workspaces.js";
13
- import { addProjectMember, createProject, deleteProject, deleteProjectMember, listProjectMembers, listProjects, updateProject } from "./projects.js";
12
+ import { createWorkspace, deleteWorkspaceMembers, getWorkspaceCheckout, listWorkspaceMembers, updateWorkspace, upsertWorkspaceMembers } from "./workspaces.js";
13
+ import { addProjectMembers, createProject, deleteProject, deleteProjectMembers, listProjectMembers, listProjects, updateProject } from "./projects.js";
14
14
  import { createToken } from "./token.js";
15
15
  const TRACK_TYPES = ["task", "goal"];
16
16
  const PACK_TYPES = ["workflow", "context"];
@@ -102,11 +102,11 @@ Examples:
102
102
  epismo whoami
103
103
  epismo workspace list
104
104
  epismo alias list
105
- epismo track search --type task --query "bug"
106
- epismo pack search --type context
107
- epismo pack get --id <id> --block-id b001
108
- epismo pack get --alias @myproject
109
- epismo pack get --alias @handle/myproject`);
105
+ epismo track search --query "bug"
106
+ epismo pack search --query "meeting notes"
107
+ epismo pack get <id> --block-id b001
108
+ epismo pack get @myproject
109
+ epismo pack get @handle/myproject`);
110
110
  program
111
111
  .command("login")
112
112
  .description("log in to Epismo; default flow uses email + OTP, or open a browser to sign in")
@@ -181,13 +181,13 @@ Example:
181
181
  workspace
182
182
  .command("use")
183
183
  .description("set the default workspace")
184
- .requiredOption("--workspace-id <workspaceId>", "workspace id to set as default")
185
- .action(async (options) => {
186
- printJson(await useWorkspace({ workspaceId: options.workspaceId }));
184
+ .argument("<workspace-id>", "workspace id to set as default")
185
+ .action(async (workspaceId) => {
186
+ printJson(await useWorkspace({ workspaceId }));
187
187
  });
188
188
  workspace.commands.at(-1)?.addHelpText("after", `
189
189
  Example:
190
- epismo workspace use --workspace-id <workspace-id>`);
190
+ epismo workspace use <workspace-id>`);
191
191
  workspace
192
192
  .command("clear")
193
193
  .description("clear the saved workspace (reverts to personal space)")
@@ -223,25 +223,25 @@ Examples:
223
223
  workspace
224
224
  .command("checkout")
225
225
  .description("get the billing URL for a workspace (to complete or retry payment)")
226
- .requiredOption("--id <id>", "workspace id")
227
- .action(async (options) => {
226
+ .argument("<workspace-id>", "workspace id")
227
+ .action(async (workspaceId) => {
228
228
  const context = await resolveContext();
229
- printJson(await getWorkspaceCheckout(context, options.id));
229
+ printJson(await getWorkspaceCheckout(context, workspaceId));
230
230
  });
231
231
  workspace.commands.at(-1)?.addHelpText("after", `
232
232
  Examples:
233
- epismo workspace checkout --id <workspace-id>`);
233
+ epismo workspace checkout <workspace-id>`);
234
234
  workspace
235
235
  .command("update")
236
236
  .description("update a workspace you own (PATCH — omitted fields are unchanged)")
237
+ .argument("<workspace-id>", "workspace id to update")
237
238
  .option("--input <input>", "JSON object, @file, or - for stdin")
238
- .requiredOption("--id <id>", "workspace id to update")
239
239
  .option("--name <name>", "updated workspace name")
240
240
  .addOption(new Option("--plan <plan>", "basic | pro").choices(["basic", "pro"]))
241
- .action(async (options) => {
241
+ .action(async (workspaceId, options) => {
242
242
  const payload = await resolveInput({ input: options.input }, { name: options.name, plan: options.plan });
243
243
  const context = await resolveContext();
244
- printJson(await updateWorkspace(context, options.id, payload));
244
+ printJson(await updateWorkspace(context, workspaceId, payload));
245
245
  });
246
246
  const workspaceMember = workspace.command("member").description("manage workspace members");
247
247
  workspaceMember
@@ -254,34 +254,35 @@ Examples:
254
254
  workspaceMember
255
255
  .command("upsert")
256
256
  .description("add a workspace member or update the member role")
257
- .option("--input <input>", "JSON object, @file, or - for stdin")
258
- .option("--user-id <userId>", "user id")
259
- .addOption(new Option("--role <role>", "owner | admin | member").choices([
260
- "owner",
261
- "admin",
262
- "member"
263
- ]))
264
- .action(async (options) => {
257
+ .argument("<user-ids>", "user id(s); comma-separated for multiple")
258
+ .addOption(new Option("--role <role>", "owner | admin | member")
259
+ .choices(["owner", "admin", "member"])
260
+ .makeOptionMandatory())
261
+ .action(async (userIdsArg, options) => {
262
+ const userIds = parseStringArrayInput(userIdsArg, "<user-ids>") ?? [];
263
+ if (userIds.length === 0) {
264
+ throw new CliError({
265
+ code: "INVALID_INPUT",
266
+ message: "At least one user id is required."
267
+ });
268
+ }
265
269
  const context = await resolveContext();
266
- const payload = await resolveInput({ input: options.input }, {
267
- workspaceId: context.workspaceId,
268
- userId: options.userId,
269
- role: options.role
270
- });
271
- printJson(await upsertWorkspaceMember(context, payload));
270
+ printJson(await upsertWorkspaceMembers(context, userIds, options.role));
272
271
  });
273
272
  workspaceMember
274
273
  .command("delete")
275
274
  .description("remove a workspace member")
276
- .option("--input <input>", "JSON object, @file, or - for stdin")
277
- .option("--user-id <userId>", "user id")
278
- .action(async (options) => {
275
+ .argument("<user-ids>", "user id(s); comma-separated for multiple")
276
+ .action(async (userIdsArg) => {
277
+ const userIds = parseStringArrayInput(userIdsArg, "<user-ids>") ?? [];
278
+ if (userIds.length === 0) {
279
+ throw new CliError({
280
+ code: "INVALID_INPUT",
281
+ message: "At least one user id is required."
282
+ });
283
+ }
279
284
  const context = await resolveContext();
280
- const payload = await resolveInput({ input: options.input }, {
281
- workspaceId: context.workspaceId,
282
- userId: options.userId
283
- });
284
- printJson(await deleteWorkspaceMember(context, payload));
285
+ printJson(await deleteWorkspaceMembers(context, userIds));
285
286
  });
286
287
  const project = program.command("project").description("manage workspace projects");
287
288
  project
@@ -308,29 +309,25 @@ Examples:
308
309
  project
309
310
  .command("update")
310
311
  .description("update a project you can access (PATCH — omitted fields are unchanged)")
312
+ .argument("<project-id>", "project id to update")
311
313
  .option("--input <input>", "JSON object, @file, or - for stdin")
312
- .requiredOption("--id <id>", "project id to update")
313
314
  .option("--name <name>", "updated project name")
314
315
  .option("--description <description>", "updated project description")
315
- .action(async (options) => {
316
+ .action(async (projectId, options) => {
316
317
  const payload = await resolveInput(options, {
317
318
  name: options.name,
318
319
  description: options.description
319
320
  });
320
321
  const context = await resolveContext();
321
- printJson(await updateProject(context, options.id, payload));
322
+ printJson(await updateProject(context, projectId, payload));
322
323
  });
323
324
  project
324
325
  .command("delete")
325
326
  .description("delete a project you can access in the selected workspace")
326
- .option("--input <input>", "JSON object, @file, or - for stdin")
327
- .option("--id <id>", "project id")
328
- .action(async (options) => {
329
- const payload = await resolveInput(options, {
330
- id: options.id
331
- });
327
+ .argument("<project-id>", "project id")
328
+ .action(async (projectId) => {
332
329
  const context = await resolveContext();
333
- printJson(await deleteProject(context, payload));
330
+ printJson(await deleteProject(context, projectId));
334
331
  });
335
332
  const projectMember = project.command("member").description("manage project members");
336
333
  projectMember
@@ -347,31 +344,39 @@ Examples:
347
344
  });
348
345
  projectMember
349
346
  .command("add")
350
- .description("add a member to a project")
351
- .option("--input <input>", "JSON object, @file, or - for stdin")
352
- .option("--project-id <projectId>", "project id")
353
- .option("--user-id <userId>", "user id")
354
- .action(async (options) => {
355
- const payload = await resolveInput(options, {
356
- projectId: options.projectId,
357
- userId: options.userId
358
- });
347
+ .description("add member(s) to a project")
348
+ .argument("<user-ids>", "user id(s); comma-separated for multiple")
349
+ .requiredOption("--project-id <projectId>", "project id")
350
+ .action(async (userIdsArg, options) => {
351
+ const userIds = parseStringArrayInput(userIdsArg, "<user-ids>") ?? [];
352
+ if (userIds.length === 0) {
353
+ throw new CliError({
354
+ code: "INVALID_INPUT",
355
+ message: "At least one user id is required."
356
+ });
357
+ }
359
358
  const context = await resolveContext();
360
- printJson(await addProjectMember(context, payload));
359
+ printJson({
360
+ results: await addProjectMembers(context, options.projectId, userIds)
361
+ });
361
362
  });
362
363
  projectMember
363
364
  .command("delete")
364
- .description("remove a user from a project")
365
- .option("--input <input>", "JSON object, @file, or - for stdin")
366
- .option("--project-id <projectId>", "project id")
367
- .option("--user-id <userId>", "user id")
368
- .action(async (options) => {
369
- const payload = await resolveInput(options, {
370
- projectId: options.projectId,
371
- userId: options.userId
372
- });
365
+ .description("remove user(s) from a project")
366
+ .argument("<user-ids>", "user id(s); comma-separated for multiple")
367
+ .requiredOption("--project-id <projectId>", "project id")
368
+ .action(async (userIdsArg, options) => {
369
+ const userIds = parseStringArrayInput(userIdsArg, "<user-ids>") ?? [];
370
+ if (userIds.length === 0) {
371
+ throw new CliError({
372
+ code: "INVALID_INPUT",
373
+ message: "At least one user id is required."
374
+ });
375
+ }
373
376
  const context = await resolveContext();
374
- printJson(await deleteProjectMember(context, payload));
377
+ printJson({
378
+ results: await deleteProjectMembers(context, options.projectId, userIds)
379
+ });
375
380
  });
376
381
  const track = program.command("track").description("manage project tracks (tasks and goals)");
377
382
  track
@@ -409,8 +414,8 @@ Examples:
409
414
  track
410
415
  .command("update")
411
416
  .description("update an existing project track (PATCH — omitted fields are unchanged)")
417
+ .argument("<id>", "track id to update")
412
418
  .option("--input <input>", "JSON object, @file, or - for stdin")
413
- .requiredOption("--id <id>", "track id to update")
414
419
  .option("--title <title>", "updated title")
415
420
  .option("--content <content>", "updated markdown content")
416
421
  .option("--project-ids <projectIds>", "JSON array or comma-separated project ids")
@@ -418,7 +423,7 @@ Examples:
418
423
  .option("--emails <emails>", "JSON array or comma-separated email addresses")
419
424
  .option("--task <task>", 'task-specific fields as partial JSON object e.g. \'{"status":"done"}\'')
420
425
  .option("--goal <goal>", "goal-specific fields as partial JSON object e.g. '{\"progress\":50}'")
421
- .action(async (options, command) => {
426
+ .action(async (id, options, command) => {
422
427
  const payload = await resolveInput(options, {
423
428
  title: options.title,
424
429
  content: options.content,
@@ -427,31 +432,28 @@ Examples:
427
432
  goal: parseJsonObjectOption(options.goal, "--goal")
428
433
  });
429
434
  const context = await resolveContext();
430
- printJson(await updateTrack(context, options.id, payload));
435
+ printJson(await updateTrack(context, id, payload));
431
436
  });
432
437
  track.commands.at(-1)?.addHelpText("after", `
433
438
  Notes:
434
439
  Omitted fields keep their existing value.
435
440
 
436
441
  Examples:
437
- epismo track update --id <id> --title "Updated title"
438
- epismo track update --id <id> --task '{"status":"done"}'
439
- epismo track update --id <id> --goal '{"progress":75}'`);
442
+ epismo track update <id> --title "Updated title"
443
+ epismo track update <id> --task '{"status":"done"}'
444
+ epismo track update <id> --goal '{"progress":75}'`);
440
445
  track
441
446
  .command("get")
442
447
  .description("fetch one project track")
448
+ .argument("<id>", "track id")
443
449
  .option("--input <input>", "JSON object, @file, or - for stdin")
444
- .option("--id <id>", "item id")
445
- .action(async (options) => {
446
- const payload = await resolveInput(options, {
447
- id: options.id
448
- });
450
+ .action(async (id) => {
449
451
  const context = await resolveContext();
450
- printJson(await getTrack(context, payload));
452
+ printJson(await getTrack(context, id));
451
453
  });
452
454
  track.commands.at(-1)?.addHelpText("after", `
453
455
  Example:
454
- epismo track get --id <id>`);
456
+ epismo track get <id>`);
455
457
  track
456
458
  .command("search")
457
459
  .description("search project tracks")
@@ -475,24 +477,21 @@ Example:
475
477
  });
476
478
  track.commands.at(-1)?.addHelpText("after", `
477
479
  Examples:
480
+ epismo track search --query "bug"
478
481
  epismo track search --type task --query "bug"
479
482
  epismo track search --type task --filter '{"status":["todo"]}'
480
483
  epismo track search --type goal --query "roadmap"`);
481
484
  track
482
485
  .command("delete")
483
486
  .description("delete one project track")
484
- .option("--input <input>", "JSON object, @file, or - for stdin")
485
- .option("--id <id>", "item id")
486
- .action(async (options) => {
487
- const payload = await resolveInput(options, {
488
- id: options.id
489
- });
487
+ .argument("<id>", "track id")
488
+ .action(async (id) => {
490
489
  const context = await resolveContext();
491
- printJson(await deleteTrack(context, payload));
490
+ printJson(await deleteTrack(context, id));
492
491
  });
493
492
  track.commands.at(-1)?.addHelpText("after", `
494
493
  Example:
495
- epismo track delete --id <id>`);
494
+ epismo track delete <id>`);
496
495
  track
497
496
  .command("apply")
498
497
  .description("create, update, and delete multiple tracks in a single request")
@@ -563,7 +562,7 @@ Examples:
563
562
  epismo pack create --type context --title "My context" --blocks '[{"title":"Block 1","content":"..."}]'`);
564
563
  pack.command("update")
565
564
  .description("update an existing agent pack (PATCH semantics — omitted fields are unchanged)")
566
- .requiredOption("--id <id>", "pack id to update")
565
+ .argument("<reference>", "pack reference: id, alias, share URL, or hub URL")
567
566
  .option("--input <input>", "JSON object, @file, or - for stdin")
568
567
  .option("--title <title>", "updated title")
569
568
  .option("--content <content>", "updated markdown content")
@@ -574,7 +573,7 @@ Examples:
574
573
  .option("--emails <emails>", "JSON array or comma-separated email addresses")
575
574
  .option("--steps <steps>", 'step operations as JSON array with op field: [{"op":"add","title":"..."},{"op":"update","id":"s001","content":"..."},{"op":"remove","id":"s002"}]')
576
575
  .option("--blocks <blocks>", 'block operations as JSON array with op field: [{"op":"add","title":"..."},{"op":"update","id":"b001","content":"..."},{"op":"remove","id":"b002"}]')
577
- .action(async (options, command) => {
576
+ .action(async (reference, options, command) => {
578
577
  const payload = await resolveInput(options, {
579
578
  title: options.title,
580
579
  content: options.content,
@@ -585,7 +584,7 @@ Examples:
585
584
  blocks: parseJsonArrayOption(options.blocks, "--blocks")
586
585
  });
587
586
  const context = await resolveContext();
588
- printJson(await updatePack(context, options.id, payload));
587
+ printJson(await updatePack(context, reference, payload));
589
588
  });
590
589
  pack.commands.at(-1)?.addHelpText("after", `
591
590
  Notes:
@@ -595,41 +594,41 @@ Notes:
595
594
  To remove all items, send a remove op for each existing item ID.
596
595
 
597
596
  Examples:
598
- epismo pack update --id <id> --category ""
599
- epismo pack update --id <id> --visibility public --category productivity
600
- epismo pack update --id <id> --blocks '[{"op":"add","title":"New Block","content":"..."}]'
601
- epismo pack update --id <id> --blocks '[{"op":"update","id":"b001","content":"updated..."}]'
602
- epismo pack update --id <id> --blocks '[{"op":"remove","id":"b002"}]'
603
- epismo pack update --id <id> --input @changes.json`);
597
+ epismo pack update <id> --category ""
598
+ epismo pack update @myproject --visibility public
599
+ epismo pack update <id> --visibility public --category productivity
600
+ epismo pack update <id> --blocks '[{"op":"add","title":"New Block","content":"..."}]'
601
+ epismo pack update <id> --blocks '[{"op":"update","id":"b001","content":"updated..."}]'
602
+ epismo pack update <id> --blocks '[{"op":"remove","id":"b002"}]'
603
+ epismo pack update <id> --input @changes.json`);
604
604
  pack.command("get")
605
605
  .description("fetch one agent pack")
606
+ .argument("<reference>", "pack reference: id, alias, share URL, or hub URL")
606
607
  .option("--input <input>", "JSON object, @file, or - for stdin")
607
- .option("--id <id>", "pack id")
608
- .addOption(new Option("--alias <alias>", "pack alias (`@alias` or `@handle/alias`)").conflicts("id"))
609
608
  .option("--full", "include nested item content")
610
609
  .option("--block-id <blockId>", "context block id to extract; comma-separated or repeatable (type=context only)", collectOption)
611
610
  .option("--step-id <stepId>", "workflow step id to extract; comma-separated or repeatable (type=workflow only)", collectOption)
612
- .action(async (options) => {
611
+ .action(async (reference, options) => {
613
612
  const payload = await resolveInput(options, {
614
- id: options.id,
615
- alias: options.alias,
616
613
  full: options.full ? true : undefined
617
614
  });
618
615
  const context = await resolveContext();
619
- printJson(await getPack(context, payload, {
616
+ printJson(await getPack(context, reference, payload, {
620
617
  blockIds: options.blockId,
621
618
  stepIds: options.stepId
622
619
  }));
623
620
  });
624
621
  pack.commands.at(-1)?.addHelpText("after", `
625
622
  Examples:
626
- epismo pack get --id <id>
627
- epismo pack get --alias @myproject
628
- epismo pack get --alias @handle/myproject
629
- epismo pack get --id <id> --full
630
- epismo pack get --id <id> --block-id b001
631
- epismo pack get --id <id> --block-id b001 --block-id b002
632
- epismo pack get --id <id> --step-id s001,s002`);
623
+ epismo pack get <id>
624
+ epismo pack get @myproject
625
+ epismo pack get @handle/myproject
626
+ epismo pack get https://epismo.ai/share/<token>
627
+ epismo pack get https://epismo.ai/hub/workflows/<id>
628
+ epismo pack get <id> --full
629
+ epismo pack get <id> --block-id b001
630
+ epismo pack get <id> --block-id b001 --block-id b002
631
+ epismo pack get <id> --step-id s001,s002`);
633
632
  pack.command("search")
634
633
  .description("search agent packs")
635
634
  .option("--input <input>", "JSON object, @file, or - for stdin")
@@ -653,17 +652,17 @@ Examples:
653
652
  pack.commands.at(-1)?.addHelpText("after", `
654
653
  Examples:
655
654
  epismo pack search --type workflow --query "onboarding"
655
+ epismo pack search --query "meeting notes"
656
656
  epismo pack search --type workflow --filter '{"visibility":["public"]}'
657
657
  epismo pack search --type context --query "meeting notes"`);
658
658
  pack.command("like")
659
659
  .description("like or unlike an agent pack")
660
+ .argument("<reference>", "pack reference: id, alias, share URL, or hub URL")
660
661
  .option("--input <input>", "JSON object, @file, or - for stdin")
661
- .option("--id <id>", "pack id")
662
662
  .option("--liked", "mark as liked")
663
663
  .option("--no-liked", "remove like")
664
- .action(async (options) => {
664
+ .action(async (reference, options) => {
665
665
  const payload = await resolveInput(options, {
666
- id: options.id,
667
666
  liked: options.liked
668
667
  });
669
668
  if (typeof payload.liked !== "boolean") {
@@ -674,26 +673,25 @@ Examples:
674
673
  });
675
674
  }
676
675
  const context = await resolveContext();
677
- printJson(await likePack(context, payload));
676
+ printJson(await likePack(context, reference, payload));
678
677
  });
679
678
  pack.commands.at(-1)?.addHelpText("after", `
680
679
  Examples:
681
- epismo pack like --id <id> --liked
682
- epismo pack like --id <id> --no-liked`);
680
+ epismo pack like <id> --liked
681
+ epismo pack like @myproject --liked
682
+ epismo pack like <id> --no-liked`);
683
683
  pack.command("delete")
684
684
  .description("delete one agent pack and any of your aliases that point to it")
685
- .option("--input <input>", "JSON object, @file, or - for stdin")
686
- .option("--id <id>", "pack id")
687
- .action(async (options) => {
688
- const payload = await resolveInput(options, {
689
- id: options.id
690
- });
685
+ .argument("<reference>", "pack reference: id, alias, share URL, or hub URL")
686
+ .action(async (reference) => {
691
687
  const context = await resolveContext();
692
- printJson(await deletePack(context, payload));
688
+ printJson(await deletePack(context, reference));
693
689
  });
694
690
  pack.commands.at(-1)?.addHelpText("after", `
695
691
  Examples:
696
- epismo pack delete --id <id> # also removes your aliases for that pack`);
692
+ epismo pack delete <id> # also removes your aliases for that pack
693
+ epismo pack delete @myproject
694
+ epismo pack delete https://epismo.ai/share/<token>`);
697
695
  const agent = program.command("agent").description("manage agent availability");
698
696
  agent
699
697
  .command("list")
@@ -767,39 +765,35 @@ Example:
767
765
  alias
768
766
  .command("upsert")
769
767
  .description("create or update one alias")
768
+ .argument("<alias>", "alias name (`alias` or `@alias`; stored without `@`)")
770
769
  .option("--input <input>", "JSON object, @file, or - for stdin")
771
770
  .addOption(new Option("--type <type>", "workflow | context").choices(PACK_TYPES))
772
771
  .option("--id <id>", "target pack id")
773
- .option("--alias <alias>", "alias name (`alias` or `@alias`; stored without `@`)")
774
- .action(async (options) => {
772
+ .action(async (aliasName, options) => {
775
773
  const payload = await resolveInput(options, {
776
774
  type: options.type,
777
775
  id: options.id,
778
- alias: options.alias
776
+ alias: aliasName
779
777
  });
780
778
  const context = await resolveContext();
781
779
  printJson(await upsertAlias(context, payload));
782
780
  });
783
781
  alias.commands.at(-1)?.addHelpText("after", `
784
782
  Examples:
785
- epismo alias upsert --type workflow --id <id> --alias @myproject
786
- epismo alias upsert --type context --id <id> --alias @mycontext`);
783
+ epismo alias upsert @myproject --type workflow --id <id>
784
+ epismo alias upsert @mycontext --type context --id <id>`);
787
785
  alias
788
786
  .command("get")
789
787
  .description("resolve one alias")
790
- .option("--input <input>", "JSON object, @file, or - for stdin")
791
- .option("--alias <alias>", "alias reference (`@alias` or `@handle/alias`)")
792
- .action(async (options) => {
793
- const payload = await resolveInput(options, {
794
- alias: options.alias
795
- });
788
+ .argument("<alias>", "alias reference (`@alias` or `@handle/alias`)")
789
+ .action(async (aliasRef) => {
796
790
  const context = await resolveContext();
797
- printJson(await getAlias(context, payload));
791
+ printJson(await getAlias(context, { alias: aliasRef }));
798
792
  });
799
793
  alias.commands.at(-1)?.addHelpText("after", `
800
794
  Examples:
801
- epismo alias get --alias @myproject
802
- epismo alias get --alias @handle/myproject`);
795
+ epismo alias get @myproject
796
+ epismo alias get @handle/myproject`);
803
797
  alias
804
798
  .command("list")
805
799
  .description("list your aliases")
@@ -815,18 +809,14 @@ Example:
815
809
  alias
816
810
  .command("delete")
817
811
  .description("delete one alias")
818
- .option("--input <input>", "JSON object, @file, or - for stdin")
819
- .option("--alias <alias>", "alias name (`alias` or `@alias`; stored without `@`)")
820
- .action(async (options) => {
821
- const payload = await resolveInput(options, {
822
- alias: options.alias
823
- });
812
+ .argument("<alias>", "alias name (`alias` or `@alias`; stored without `@`)")
813
+ .action(async (aliasName) => {
824
814
  const context = await resolveContext();
825
- printJson(await deleteAlias(context, payload));
815
+ printJson(await deleteAlias(context, { alias: aliasName }));
826
816
  });
827
817
  alias.commands.at(-1)?.addHelpText("after", `
828
818
  Example:
829
- epismo alias delete --alias @myproject`);
819
+ epismo alias delete @myproject`);
830
820
  const token = program.command("token").description("manage CLI tokens for CI/CD");
831
821
  token
832
822
  .command("create")