@wave-ai-os/wave-cli 0.1.73 → 0.1.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.cjs +130 -17
  2. package/dist/index.js +130 -17
  3. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -2556,6 +2556,20 @@ function parseSearchQuery(raw) {
2556
2556
  }
2557
2557
  return raw.trim();
2558
2558
  }
2559
+ function parseRequiredOption(raw, flag) {
2560
+ if (typeof raw !== "string" || raw.trim().length === 0) {
2561
+ throw new CliError({
2562
+ message: `Missing required option: --${flag}.`,
2563
+ kind: "invalid_args",
2564
+ status: 400,
2565
+ exitCode: EXIT_CODES.invalidArgs
2566
+ });
2567
+ }
2568
+ return raw.trim();
2569
+ }
2570
+ function optionKey(flag) {
2571
+ return flag.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
2572
+ }
2559
2573
  function asRecord2(value) {
2560
2574
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
2561
2575
  }
@@ -2592,10 +2606,21 @@ function buildSearchTransform(query, transformData) {
2592
2606
  };
2593
2607
  }
2594
2608
  function registerGraphqlSearchCommand(command, config) {
2595
- command.command("search").description("Search records through the existing list GraphQL contract").requiredOption("--query <query>", "Search query").option("--page <page>").option("--per <per>").action(async (opts, cmd) => {
2609
+ const requiredOptions = config.requiredOptions ?? [];
2610
+ const search = command.command("search").description("Search records through the existing list GraphQL contract").requiredOption("--query <query>", "Search query").option("--page <page>").option("--per <per>");
2611
+ for (const requiredOption of requiredOptions) {
2612
+ search.requiredOption(`--${requiredOption.flag} <${requiredOption.flag}>`, requiredOption.description);
2613
+ }
2614
+ search.action(async (opts, cmd) => {
2596
2615
  const context = await resolveCommandContext(cmd.optsWithGlobals());
2597
2616
  const organizationId = resolveOrganizationId(context.organizationId);
2598
2617
  const query = parseSearchQuery(opts.query);
2618
+ const requiredVariables = Object.fromEntries(
2619
+ requiredOptions.map((requiredOption) => [
2620
+ requiredOption.variable,
2621
+ parseRequiredOption(opts[optionKey(requiredOption.flag)], requiredOption.flag)
2622
+ ])
2623
+ );
2599
2624
  await runGraphqlQueryCommand({
2600
2625
  command: `${config.command}.search`,
2601
2626
  operationName: config.operationName,
@@ -2604,13 +2629,20 @@ function registerGraphqlSearchCommand(command, config) {
2604
2629
  variables: normalizeGraphqlVariables2({
2605
2630
  organization_id: organizationId,
2606
2631
  page: opts.page,
2607
- per: opts.per
2632
+ per: opts.per,
2633
+ ...requiredVariables
2608
2634
  }),
2609
2635
  variableTypes: {
2610
2636
  organization_id: "ID!",
2611
2637
  page: "Int",
2612
2638
  per: "Int",
2613
- ...config.variableTypes ?? {}
2639
+ ...config.variableTypes ?? {},
2640
+ ...Object.fromEntries(
2641
+ requiredOptions.map((requiredOption) => [
2642
+ requiredOption.variable,
2643
+ requiredOption.variableType
2644
+ ])
2645
+ )
2614
2646
  },
2615
2647
  isList: true,
2616
2648
  selectionSet: config.selectionSet,
@@ -3448,8 +3480,8 @@ function registerEntityCrudCommands(program, config) {
3448
3480
  const extraQuery = allowQueryJson ? parseQueryJson(opts.queryJson ? String(opts.queryJson) : void 0) : {};
3449
3481
  const mappedKnownParams = Object.fromEntries(
3450
3482
  listParams.map((param) => {
3451
- const optionKey = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3452
- return [param, opts[optionKey]];
3483
+ const optionKey2 = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3484
+ return [param, opts[optionKey2]];
3453
3485
  })
3454
3486
  );
3455
3487
  const variables = normalizeGraphqlVariables2({
@@ -3488,8 +3520,8 @@ function registerEntityCrudCommands(program, config) {
3488
3520
  const defaultField = config.showField ?? (config.resourcePath === "feedback" ? "feedback" : toSingularResourceName(config.resourcePath));
3489
3521
  const mappedShowParams = Object.fromEntries(
3490
3522
  showParams.map((param) => {
3491
- const optionKey = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3492
- return [param, opts[optionKey]];
3523
+ const optionKey2 = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3524
+ return [param, opts[optionKey2]];
3493
3525
  })
3494
3526
  );
3495
3527
  const defaultVariables = normalizeGraphqlVariables2({
@@ -5788,12 +5820,41 @@ function registerFoundationCommands(program) {
5788
5820
  var import_zod13 = require("zod");
5789
5821
  var idSchema12 = import_zod13.z.string().min(1);
5790
5822
  var jsonObjectSchema = import_zod13.z.record(import_zod13.z.string(), import_zod13.z.unknown());
5791
- function buildChildListSelectionSet(parentField, extraFields = []) {
5823
+ var NOTE_DETAIL_FIELDS = [
5824
+ "notes",
5825
+ "hasNotes",
5826
+ "hasUnreadNotes",
5827
+ "notesUpdatedAt",
5828
+ "notesLastReadAt",
5829
+ "estimateIds"
5830
+ ];
5831
+ var PARENT_KIND_LABELS = {
5832
+ task: "task",
5833
+ rock: "rock",
5834
+ listItem: "list item",
5835
+ todo: "todo",
5836
+ issue: "issue",
5837
+ meeting: "meeting"
5838
+ };
5839
+ function requiredParentSearchOption(parentFlag, parentKind) {
5840
+ return [
5841
+ {
5842
+ flag: parentFlag,
5843
+ variable: parentFlag.replace(/-/g, "_"),
5844
+ variableType: "ID!",
5845
+ description: `Parent ${PARENT_KIND_LABELS[parentKind]} ID`
5846
+ }
5847
+ ];
5848
+ }
5849
+ function buildChildResourceSelectionSet(parentField, extraFields = []) {
5792
5850
  const fields = Array.from(
5793
5851
  /* @__PURE__ */ new Set(["id", "type", "name", "status", "priority", "rank", "dueDate", "memberId", parentField, ...extraFields])
5794
5852
  );
5795
5853
  const attributeFields = fields.filter((field) => field !== "type");
5796
- return `{ data { ${fields.join(" ")} attributes { ${attributeFields.join(" ")} } } count currentPage totalPages }`;
5854
+ return `{ ${fields.join(" ")} attributes { ${attributeFields.join(" ")} } }`;
5855
+ }
5856
+ function buildChildListSelectionSet(parentField, extraFields = []) {
5857
+ return `{ data ${buildChildResourceSelectionSet(parentField, extraFields)} count currentPage totalPages }`;
5797
5858
  }
5798
5859
  function parseJsonObject2(raw) {
5799
5860
  try {
@@ -5937,7 +5998,31 @@ function registerChildCommands(program, config) {
5937
5998
  )
5938
5999
  });
5939
6000
  });
5940
- registerGraphqlSearchCommand(command, {
6001
+ if (config.showField) {
6002
+ const showField = config.showField;
6003
+ command.command("show").requiredOption("--id <id>").action(async (opts, cmd) => {
6004
+ const context = await resolveCommandContext(cmd.optsWithGlobals());
6005
+ const organizationId = resolveOrganizationId(context.organizationId);
6006
+ const id = idSchema12.parse(opts.id);
6007
+ await runGraphqlQueryCommand({
6008
+ command: `${config.command}.show`,
6009
+ ...config.showOperationName ? { operationName: config.showOperationName } : {},
6010
+ runtimeOptions: context.runtimeOptions,
6011
+ field: showField,
6012
+ variables: {
6013
+ organization_id: organizationId,
6014
+ id
6015
+ },
6016
+ variableTypes: {
6017
+ organization_id: "ID!",
6018
+ id: "ID!"
6019
+ },
6020
+ ...config.showSelectionSet ? { selectionSet: config.showSelectionSet } : {},
6021
+ isShow: true
6022
+ });
6023
+ });
6024
+ }
6025
+ const searchConfig = {
5941
6026
  command: config.command,
5942
6027
  operationName: `${config.listOperationName.replace(/List$/, "")}Search`,
5943
6028
  field: config.listField,
@@ -5947,8 +6032,10 @@ function registerChildCommands(program, config) {
5947
6032
  config.parentKind,
5948
6033
  void 0,
5949
6034
  config.listParentTypedField
5950
- )
5951
- });
6035
+ ),
6036
+ ...config.searchRequiredOptions ? { requiredOptions: config.searchRequiredOptions } : {}
6037
+ };
6038
+ registerGraphqlSearchCommand(command, searchConfig);
5952
6039
  command.command("create").requiredOption("--data-json <dataJson>").action(async (opts, cmd) => {
5953
6040
  const context = await resolveCommandContext(cmd.optsWithGlobals());
5954
6041
  const organizationId = resolveOrganizationId(context.organizationId);
@@ -6019,6 +6106,10 @@ function registerChildEntityCommands(program) {
6019
6106
  destroyOperationName: "SubtasksDestroy",
6020
6107
  listSelectionSet: buildChildListSelectionSet("taskId"),
6021
6108
  listParentTypedField: "taskId",
6109
+ searchRequiredOptions: requiredParentSearchOption("task-id", "task"),
6110
+ showField: "subtask",
6111
+ showOperationName: "SubtasksShow",
6112
+ showSelectionSet: buildChildResourceSelectionSet("taskId", NOTE_DETAIL_FIELDS),
6022
6113
  normalizeCreateBody: normalizeSubtaskCreateBody
6023
6114
  });
6024
6115
  registerChildCommands(program, {
@@ -6036,7 +6127,12 @@ function registerChildEntityCommands(program) {
6036
6127
  createOperationName: "MilestonesCreate",
6037
6128
  updateOperationName: "MilestonesUpdate",
6038
6129
  destroyOperationName: "MilestonesDestroy",
6039
- listSelectionSet: buildChildListSelectionSet("rockId")
6130
+ listSelectionSet: buildChildListSelectionSet("rockId"),
6131
+ listParentTypedField: "rockId",
6132
+ searchRequiredOptions: requiredParentSearchOption("rock-id", "rock"),
6133
+ showField: "milestone",
6134
+ showOperationName: "MilestonesShow",
6135
+ showSelectionSet: buildChildResourceSelectionSet("rockId", NOTE_DETAIL_FIELDS)
6040
6136
  });
6041
6137
  registerChildCommands(program, {
6042
6138
  command: "subitems",
@@ -6054,7 +6150,11 @@ function registerChildEntityCommands(program) {
6054
6150
  updateOperationName: "SubitemsUpdate",
6055
6151
  destroyOperationName: "SubitemsDestroy",
6056
6152
  listSelectionSet: buildChildListSelectionSet("listItemId"),
6057
- listParentTypedField: "listItemId"
6153
+ listParentTypedField: "listItemId",
6154
+ searchRequiredOptions: requiredParentSearchOption("list-item-id", "listItem"),
6155
+ showField: "subitem",
6156
+ showOperationName: "SubitemsShow",
6157
+ showSelectionSet: buildChildResourceSelectionSet("listItemId", NOTE_DETAIL_FIELDS)
6058
6158
  });
6059
6159
  registerChildCommands(program, {
6060
6160
  command: "subtodos",
@@ -6072,7 +6172,11 @@ function registerChildEntityCommands(program) {
6072
6172
  updateOperationName: "SubtodosUpdate",
6073
6173
  destroyOperationName: "SubtodosDestroy",
6074
6174
  listSelectionSet: buildChildListSelectionSet("todoId"),
6075
- listParentTypedField: "todoId"
6175
+ listParentTypedField: "todoId",
6176
+ searchRequiredOptions: requiredParentSearchOption("todo-id", "todo"),
6177
+ showField: "sub_todo",
6178
+ showOperationName: "SubtodosShow",
6179
+ showSelectionSet: buildChildResourceSelectionSet("todoId", NOTE_DETAIL_FIELDS)
6076
6180
  });
6077
6181
  registerChildCommands(program, {
6078
6182
  command: "subissues",
@@ -6090,7 +6194,11 @@ function registerChildEntityCommands(program) {
6090
6194
  updateOperationName: "SubissuesUpdate",
6091
6195
  destroyOperationName: "SubissuesDestroy",
6092
6196
  listSelectionSet: buildChildListSelectionSet("issueId"),
6093
- listParentTypedField: "issueId"
6197
+ listParentTypedField: "issueId",
6198
+ searchRequiredOptions: requiredParentSearchOption("issue-id", "issue"),
6199
+ showField: "sub_issue",
6200
+ showOperationName: "SubissuesShow",
6201
+ showSelectionSet: buildChildResourceSelectionSet("issueId", NOTE_DETAIL_FIELDS)
6094
6202
  });
6095
6203
  registerChildCommands(program, {
6096
6204
  command: "talking-points",
@@ -15424,7 +15532,7 @@ var import_node_path4 = require("path");
15424
15532
  var import_node_crypto3 = require("crypto");
15425
15533
 
15426
15534
  // src/version.ts
15427
- var CLI_VERSION = "0.1.73";
15535
+ var CLI_VERSION = "0.1.74";
15428
15536
 
15429
15537
  // src/operationMetadata.ts
15430
15538
  var DISCOVERY_OPERATION_IDS = [
@@ -15620,6 +15728,7 @@ var READ_OPERATION_IDS = [
15620
15728
  "members.show",
15621
15729
  "milestones.list",
15622
15730
  "milestones.search",
15731
+ "milestones.show",
15623
15732
  "news.list",
15624
15733
  "news.search",
15625
15734
  "news.show",
@@ -15690,12 +15799,16 @@ var READ_OPERATION_IDS = [
15690
15799
  "stand-ups.show",
15691
15800
  "subissues.list",
15692
15801
  "subissues.search",
15802
+ "subissues.show",
15693
15803
  "subitems.list",
15694
15804
  "subitems.search",
15805
+ "subitems.show",
15695
15806
  "subtasks.list",
15696
15807
  "subtasks.search",
15808
+ "subtasks.show",
15697
15809
  "subtodos.list",
15698
15810
  "subtodos.search",
15811
+ "subtodos.show",
15699
15812
  "support.counts",
15700
15813
  "support.inbox",
15701
15814
  "support.knowledge-articles",
package/dist/index.js CHANGED
@@ -2555,6 +2555,20 @@ function parseSearchQuery(raw) {
2555
2555
  }
2556
2556
  return raw.trim();
2557
2557
  }
2558
+ function parseRequiredOption(raw, flag) {
2559
+ if (typeof raw !== "string" || raw.trim().length === 0) {
2560
+ throw new CliError({
2561
+ message: `Missing required option: --${flag}.`,
2562
+ kind: "invalid_args",
2563
+ status: 400,
2564
+ exitCode: EXIT_CODES.invalidArgs
2565
+ });
2566
+ }
2567
+ return raw.trim();
2568
+ }
2569
+ function optionKey(flag) {
2570
+ return flag.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
2571
+ }
2558
2572
  function asRecord2(value) {
2559
2573
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
2560
2574
  }
@@ -2591,10 +2605,21 @@ function buildSearchTransform(query, transformData) {
2591
2605
  };
2592
2606
  }
2593
2607
  function registerGraphqlSearchCommand(command, config) {
2594
- command.command("search").description("Search records through the existing list GraphQL contract").requiredOption("--query <query>", "Search query").option("--page <page>").option("--per <per>").action(async (opts, cmd) => {
2608
+ const requiredOptions = config.requiredOptions ?? [];
2609
+ const search = command.command("search").description("Search records through the existing list GraphQL contract").requiredOption("--query <query>", "Search query").option("--page <page>").option("--per <per>");
2610
+ for (const requiredOption of requiredOptions) {
2611
+ search.requiredOption(`--${requiredOption.flag} <${requiredOption.flag}>`, requiredOption.description);
2612
+ }
2613
+ search.action(async (opts, cmd) => {
2595
2614
  const context = await resolveCommandContext(cmd.optsWithGlobals());
2596
2615
  const organizationId = resolveOrganizationId(context.organizationId);
2597
2616
  const query = parseSearchQuery(opts.query);
2617
+ const requiredVariables = Object.fromEntries(
2618
+ requiredOptions.map((requiredOption) => [
2619
+ requiredOption.variable,
2620
+ parseRequiredOption(opts[optionKey(requiredOption.flag)], requiredOption.flag)
2621
+ ])
2622
+ );
2598
2623
  await runGraphqlQueryCommand({
2599
2624
  command: `${config.command}.search`,
2600
2625
  operationName: config.operationName,
@@ -2603,13 +2628,20 @@ function registerGraphqlSearchCommand(command, config) {
2603
2628
  variables: normalizeGraphqlVariables2({
2604
2629
  organization_id: organizationId,
2605
2630
  page: opts.page,
2606
- per: opts.per
2631
+ per: opts.per,
2632
+ ...requiredVariables
2607
2633
  }),
2608
2634
  variableTypes: {
2609
2635
  organization_id: "ID!",
2610
2636
  page: "Int",
2611
2637
  per: "Int",
2612
- ...config.variableTypes ?? {}
2638
+ ...config.variableTypes ?? {},
2639
+ ...Object.fromEntries(
2640
+ requiredOptions.map((requiredOption) => [
2641
+ requiredOption.variable,
2642
+ requiredOption.variableType
2643
+ ])
2644
+ )
2613
2645
  },
2614
2646
  isList: true,
2615
2647
  selectionSet: config.selectionSet,
@@ -3447,8 +3479,8 @@ function registerEntityCrudCommands(program, config) {
3447
3479
  const extraQuery = allowQueryJson ? parseQueryJson(opts.queryJson ? String(opts.queryJson) : void 0) : {};
3448
3480
  const mappedKnownParams = Object.fromEntries(
3449
3481
  listParams.map((param) => {
3450
- const optionKey = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3451
- return [param, opts[optionKey]];
3482
+ const optionKey2 = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3483
+ return [param, opts[optionKey2]];
3452
3484
  })
3453
3485
  );
3454
3486
  const variables = normalizeGraphqlVariables2({
@@ -3487,8 +3519,8 @@ function registerEntityCrudCommands(program, config) {
3487
3519
  const defaultField = config.showField ?? (config.resourcePath === "feedback" ? "feedback" : toSingularResourceName(config.resourcePath));
3488
3520
  const mappedShowParams = Object.fromEntries(
3489
3521
  showParams.map((param) => {
3490
- const optionKey = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3491
- return [param, opts[optionKey]];
3522
+ const optionKey2 = param.replace(/_([a-z])/g, (_, char) => char.toUpperCase());
3523
+ return [param, opts[optionKey2]];
3492
3524
  })
3493
3525
  );
3494
3526
  const defaultVariables = normalizeGraphqlVariables2({
@@ -5787,12 +5819,41 @@ function registerFoundationCommands(program) {
5787
5819
  import { z as z13 } from "zod";
5788
5820
  var idSchema12 = z13.string().min(1);
5789
5821
  var jsonObjectSchema = z13.record(z13.string(), z13.unknown());
5790
- function buildChildListSelectionSet(parentField, extraFields = []) {
5822
+ var NOTE_DETAIL_FIELDS = [
5823
+ "notes",
5824
+ "hasNotes",
5825
+ "hasUnreadNotes",
5826
+ "notesUpdatedAt",
5827
+ "notesLastReadAt",
5828
+ "estimateIds"
5829
+ ];
5830
+ var PARENT_KIND_LABELS = {
5831
+ task: "task",
5832
+ rock: "rock",
5833
+ listItem: "list item",
5834
+ todo: "todo",
5835
+ issue: "issue",
5836
+ meeting: "meeting"
5837
+ };
5838
+ function requiredParentSearchOption(parentFlag, parentKind) {
5839
+ return [
5840
+ {
5841
+ flag: parentFlag,
5842
+ variable: parentFlag.replace(/-/g, "_"),
5843
+ variableType: "ID!",
5844
+ description: `Parent ${PARENT_KIND_LABELS[parentKind]} ID`
5845
+ }
5846
+ ];
5847
+ }
5848
+ function buildChildResourceSelectionSet(parentField, extraFields = []) {
5791
5849
  const fields = Array.from(
5792
5850
  /* @__PURE__ */ new Set(["id", "type", "name", "status", "priority", "rank", "dueDate", "memberId", parentField, ...extraFields])
5793
5851
  );
5794
5852
  const attributeFields = fields.filter((field) => field !== "type");
5795
- return `{ data { ${fields.join(" ")} attributes { ${attributeFields.join(" ")} } } count currentPage totalPages }`;
5853
+ return `{ ${fields.join(" ")} attributes { ${attributeFields.join(" ")} } }`;
5854
+ }
5855
+ function buildChildListSelectionSet(parentField, extraFields = []) {
5856
+ return `{ data ${buildChildResourceSelectionSet(parentField, extraFields)} count currentPage totalPages }`;
5796
5857
  }
5797
5858
  function parseJsonObject2(raw) {
5798
5859
  try {
@@ -5936,7 +5997,31 @@ function registerChildCommands(program, config) {
5936
5997
  )
5937
5998
  });
5938
5999
  });
5939
- registerGraphqlSearchCommand(command, {
6000
+ if (config.showField) {
6001
+ const showField = config.showField;
6002
+ command.command("show").requiredOption("--id <id>").action(async (opts, cmd) => {
6003
+ const context = await resolveCommandContext(cmd.optsWithGlobals());
6004
+ const organizationId = resolveOrganizationId(context.organizationId);
6005
+ const id = idSchema12.parse(opts.id);
6006
+ await runGraphqlQueryCommand({
6007
+ command: `${config.command}.show`,
6008
+ ...config.showOperationName ? { operationName: config.showOperationName } : {},
6009
+ runtimeOptions: context.runtimeOptions,
6010
+ field: showField,
6011
+ variables: {
6012
+ organization_id: organizationId,
6013
+ id
6014
+ },
6015
+ variableTypes: {
6016
+ organization_id: "ID!",
6017
+ id: "ID!"
6018
+ },
6019
+ ...config.showSelectionSet ? { selectionSet: config.showSelectionSet } : {},
6020
+ isShow: true
6021
+ });
6022
+ });
6023
+ }
6024
+ const searchConfig = {
5940
6025
  command: config.command,
5941
6026
  operationName: `${config.listOperationName.replace(/List$/, "")}Search`,
5942
6027
  field: config.listField,
@@ -5946,8 +6031,10 @@ function registerChildCommands(program, config) {
5946
6031
  config.parentKind,
5947
6032
  void 0,
5948
6033
  config.listParentTypedField
5949
- )
5950
- });
6034
+ ),
6035
+ ...config.searchRequiredOptions ? { requiredOptions: config.searchRequiredOptions } : {}
6036
+ };
6037
+ registerGraphqlSearchCommand(command, searchConfig);
5951
6038
  command.command("create").requiredOption("--data-json <dataJson>").action(async (opts, cmd) => {
5952
6039
  const context = await resolveCommandContext(cmd.optsWithGlobals());
5953
6040
  const organizationId = resolveOrganizationId(context.organizationId);
@@ -6018,6 +6105,10 @@ function registerChildEntityCommands(program) {
6018
6105
  destroyOperationName: "SubtasksDestroy",
6019
6106
  listSelectionSet: buildChildListSelectionSet("taskId"),
6020
6107
  listParentTypedField: "taskId",
6108
+ searchRequiredOptions: requiredParentSearchOption("task-id", "task"),
6109
+ showField: "subtask",
6110
+ showOperationName: "SubtasksShow",
6111
+ showSelectionSet: buildChildResourceSelectionSet("taskId", NOTE_DETAIL_FIELDS),
6021
6112
  normalizeCreateBody: normalizeSubtaskCreateBody
6022
6113
  });
6023
6114
  registerChildCommands(program, {
@@ -6035,7 +6126,12 @@ function registerChildEntityCommands(program) {
6035
6126
  createOperationName: "MilestonesCreate",
6036
6127
  updateOperationName: "MilestonesUpdate",
6037
6128
  destroyOperationName: "MilestonesDestroy",
6038
- listSelectionSet: buildChildListSelectionSet("rockId")
6129
+ listSelectionSet: buildChildListSelectionSet("rockId"),
6130
+ listParentTypedField: "rockId",
6131
+ searchRequiredOptions: requiredParentSearchOption("rock-id", "rock"),
6132
+ showField: "milestone",
6133
+ showOperationName: "MilestonesShow",
6134
+ showSelectionSet: buildChildResourceSelectionSet("rockId", NOTE_DETAIL_FIELDS)
6039
6135
  });
6040
6136
  registerChildCommands(program, {
6041
6137
  command: "subitems",
@@ -6053,7 +6149,11 @@ function registerChildEntityCommands(program) {
6053
6149
  updateOperationName: "SubitemsUpdate",
6054
6150
  destroyOperationName: "SubitemsDestroy",
6055
6151
  listSelectionSet: buildChildListSelectionSet("listItemId"),
6056
- listParentTypedField: "listItemId"
6152
+ listParentTypedField: "listItemId",
6153
+ searchRequiredOptions: requiredParentSearchOption("list-item-id", "listItem"),
6154
+ showField: "subitem",
6155
+ showOperationName: "SubitemsShow",
6156
+ showSelectionSet: buildChildResourceSelectionSet("listItemId", NOTE_DETAIL_FIELDS)
6057
6157
  });
6058
6158
  registerChildCommands(program, {
6059
6159
  command: "subtodos",
@@ -6071,7 +6171,11 @@ function registerChildEntityCommands(program) {
6071
6171
  updateOperationName: "SubtodosUpdate",
6072
6172
  destroyOperationName: "SubtodosDestroy",
6073
6173
  listSelectionSet: buildChildListSelectionSet("todoId"),
6074
- listParentTypedField: "todoId"
6174
+ listParentTypedField: "todoId",
6175
+ searchRequiredOptions: requiredParentSearchOption("todo-id", "todo"),
6176
+ showField: "sub_todo",
6177
+ showOperationName: "SubtodosShow",
6178
+ showSelectionSet: buildChildResourceSelectionSet("todoId", NOTE_DETAIL_FIELDS)
6075
6179
  });
6076
6180
  registerChildCommands(program, {
6077
6181
  command: "subissues",
@@ -6089,7 +6193,11 @@ function registerChildEntityCommands(program) {
6089
6193
  updateOperationName: "SubissuesUpdate",
6090
6194
  destroyOperationName: "SubissuesDestroy",
6091
6195
  listSelectionSet: buildChildListSelectionSet("issueId"),
6092
- listParentTypedField: "issueId"
6196
+ listParentTypedField: "issueId",
6197
+ searchRequiredOptions: requiredParentSearchOption("issue-id", "issue"),
6198
+ showField: "sub_issue",
6199
+ showOperationName: "SubissuesShow",
6200
+ showSelectionSet: buildChildResourceSelectionSet("issueId", NOTE_DETAIL_FIELDS)
6093
6201
  });
6094
6202
  registerChildCommands(program, {
6095
6203
  command: "talking-points",
@@ -15423,7 +15531,7 @@ import { join as join3 } from "path";
15423
15531
  import { createHash } from "crypto";
15424
15532
 
15425
15533
  // src/version.ts
15426
- var CLI_VERSION = "0.1.73";
15534
+ var CLI_VERSION = "0.1.74";
15427
15535
 
15428
15536
  // src/operationMetadata.ts
15429
15537
  var DISCOVERY_OPERATION_IDS = [
@@ -15619,6 +15727,7 @@ var READ_OPERATION_IDS = [
15619
15727
  "members.show",
15620
15728
  "milestones.list",
15621
15729
  "milestones.search",
15730
+ "milestones.show",
15622
15731
  "news.list",
15623
15732
  "news.search",
15624
15733
  "news.show",
@@ -15689,12 +15798,16 @@ var READ_OPERATION_IDS = [
15689
15798
  "stand-ups.show",
15690
15799
  "subissues.list",
15691
15800
  "subissues.search",
15801
+ "subissues.show",
15692
15802
  "subitems.list",
15693
15803
  "subitems.search",
15804
+ "subitems.show",
15694
15805
  "subtasks.list",
15695
15806
  "subtasks.search",
15807
+ "subtasks.show",
15696
15808
  "subtodos.list",
15697
15809
  "subtodos.search",
15810
+ "subtodos.show",
15698
15811
  "support.counts",
15699
15812
  "support.inbox",
15700
15813
  "support.knowledge-articles",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wave-ai-os/wave-cli",
3
- "version": "0.1.73",
3
+ "version": "0.1.74",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "wave": "dist/index.js"