@absmartly/cli 1.7.0 → 1.9.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.
Files changed (100) hide show
  1. package/README.md +35 -0
  2. package/dist/api-client/entity-summary.d.ts +1 -1
  3. package/dist/api-client/entity-summary.d.ts.map +1 -1
  4. package/dist/api-client/entity-summary.js +32 -4
  5. package/dist/api-client/entity-summary.js.map +1 -1
  6. package/dist/api-client/experiment-summary.d.ts +2 -2
  7. package/dist/api-client/experiment-summary.d.ts.map +1 -1
  8. package/dist/api-client/experiment-summary.js +42 -6
  9. package/dist/api-client/experiment-summary.js.map +1 -1
  10. package/dist/api-client/format-helpers.d.ts +2 -0
  11. package/dist/api-client/format-helpers.d.ts.map +1 -1
  12. package/dist/api-client/format-helpers.js +32 -1
  13. package/dist/api-client/format-helpers.js.map +1 -1
  14. package/dist/commands/customfields/index.js +12 -1
  15. package/dist/commands/customfields/index.js.map +1 -1
  16. package/dist/commands/datasources/index.d.ts.map +1 -1
  17. package/dist/commands/datasources/index.js +52 -2
  18. package/dist/commands/datasources/index.js.map +1 -1
  19. package/dist/commands/events/index.d.ts.map +1 -1
  20. package/dist/commands/events/index.js +17 -2
  21. package/dist/commands/events/index.js.map +1 -1
  22. package/dist/commands/experiments/custom-fields.js +6 -0
  23. package/dist/commands/experiments/custom-fields.js.map +1 -1
  24. package/dist/commands/experiments/get.d.ts.map +1 -1
  25. package/dist/commands/experiments/get.js +86 -36
  26. package/dist/commands/experiments/get.js.map +1 -1
  27. package/dist/commands/experiments/list.d.ts.map +1 -1
  28. package/dist/commands/experiments/list.js +6 -0
  29. package/dist/commands/experiments/list.js.map +1 -1
  30. package/dist/commands/goals/index.js +6 -1
  31. package/dist/commands/goals/index.js.map +1 -1
  32. package/dist/commands/metrics/index.d.ts.map +1 -1
  33. package/dist/commands/metrics/index.js +34 -5
  34. package/dist/commands/metrics/index.js.map +1 -1
  35. package/dist/commands/segments/index.js +12 -1
  36. package/dist/commands/segments/index.js.map +1 -1
  37. package/dist/commands/teams/index.js +6 -1
  38. package/dist/commands/teams/index.js.map +1 -1
  39. package/dist/commands/users/index.js +13 -3
  40. package/dist/commands/users/index.js.map +1 -1
  41. package/dist/core/customfields/get.d.ts +1 -0
  42. package/dist/core/customfields/get.d.ts.map +1 -1
  43. package/dist/core/customfields/get.js +1 -1
  44. package/dist/core/customfields/get.js.map +1 -1
  45. package/dist/core/datasources/datasources.d.ts +1 -0
  46. package/dist/core/datasources/datasources.d.ts.map +1 -1
  47. package/dist/core/datasources/datasources.js +1 -0
  48. package/dist/core/datasources/datasources.js.map +1 -1
  49. package/dist/core/datasources/index.d.ts +1 -1
  50. package/dist/core/datasources/index.d.ts.map +1 -1
  51. package/dist/core/datasources/index.js +1 -1
  52. package/dist/core/datasources/index.js.map +1 -1
  53. package/dist/core/events/json-filter.d.ts +18 -0
  54. package/dist/core/events/json-filter.d.ts.map +1 -0
  55. package/dist/core/events/json-filter.js +56 -0
  56. package/dist/core/events/json-filter.js.map +1 -0
  57. package/dist/core/experiments/custom-fields.d.ts +1 -0
  58. package/dist/core/experiments/custom-fields.d.ts.map +1 -1
  59. package/dist/core/experiments/custom-fields.js +1 -1
  60. package/dist/core/experiments/custom-fields.js.map +1 -1
  61. package/dist/core/experiments/get.d.ts +1 -0
  62. package/dist/core/experiments/get.d.ts.map +1 -1
  63. package/dist/core/experiments/get.js +1 -1
  64. package/dist/core/experiments/get.js.map +1 -1
  65. package/dist/core/experiments/list.d.ts +1 -0
  66. package/dist/core/experiments/list.d.ts.map +1 -1
  67. package/dist/core/experiments/list.js +1 -1
  68. package/dist/core/experiments/list.js.map +1 -1
  69. package/dist/core/metrics/filter.d.ts +20 -0
  70. package/dist/core/metrics/filter.d.ts.map +1 -0
  71. package/dist/core/metrics/filter.js +255 -0
  72. package/dist/core/metrics/filter.js.map +1 -0
  73. package/dist/core/metrics/list.d.ts +6 -0
  74. package/dist/core/metrics/list.d.ts.map +1 -1
  75. package/dist/core/metrics/list.js +46 -0
  76. package/dist/core/metrics/list.js.map +1 -1
  77. package/dist/core/segments/segments.d.ts +1 -0
  78. package/dist/core/segments/segments.d.ts.map +1 -1
  79. package/dist/core/segments/segments.js +1 -1
  80. package/dist/core/segments/segments.js.map +1 -1
  81. package/dist/core/teams/get.d.ts +1 -0
  82. package/dist/core/teams/get.d.ts.map +1 -1
  83. package/dist/core/teams/get.js +1 -1
  84. package/dist/core/teams/get.js.map +1 -1
  85. package/dist/lib/output/formatter.d.ts.map +1 -1
  86. package/dist/lib/output/formatter.js +21 -20
  87. package/dist/lib/output/formatter.js.map +1 -1
  88. package/dist/lib/utils/list-command.d.ts +6 -0
  89. package/dist/lib/utils/list-command.d.ts.map +1 -1
  90. package/dist/lib/utils/list-command.js +14 -4
  91. package/dist/lib/utils/list-command.js.map +1 -1
  92. package/dist/lib/utils/pagination.d.ts +1 -0
  93. package/dist/lib/utils/pagination.d.ts.map +1 -1
  94. package/dist/lib/utils/pagination.js +5 -0
  95. package/dist/lib/utils/pagination.js.map +1 -1
  96. package/dist/lib/utils/stdin.d.ts +1 -0
  97. package/dist/lib/utils/stdin.d.ts.map +1 -1
  98. package/dist/lib/utils/stdin.js +10 -0
  99. package/dist/lib/utils/stdin.js.map +1 -1
  100. package/package.json +1 -1
@@ -6,6 +6,12 @@ export interface ListCommandOptions {
6
6
  fetch: (client: APIClient, options: Record<string, unknown>) => Promise<unknown[]>;
7
7
  summarizeRow?: (item: Record<string, unknown>) => Record<string, unknown>;
8
8
  extraOptions?: (cmd: Command) => Command;
9
+ /**
10
+ * When this returns true for the parsed options, `fetch` is expected to have
11
+ * already returned the COMPLETE client-filtered result set, so a total-count
12
+ * footer is printed instead of the page-based pagination footer.
13
+ */
14
+ isClientFiltered?: (options: Record<string, unknown>) => boolean;
9
15
  }
10
16
  export declare function createListCommand(opts: ListCommandOptions): Command;
11
17
  //# sourceMappingURL=list-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-command.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;CAC1C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAiDnE"}
1
+ {"version":3,"file":"list-command.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;IACzC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;CAClE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CA6DnE"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  import { getAPIClientFromOptions, getGlobalOptions, printFormatted, shouldOutputIdsOnly, withErrorHandling, } from './api-helper.js';
3
- import { addPaginationOptions, printPaginationFooter } from './pagination.js';
3
+ import { addPaginationOptions, printPaginationFooter, printFilteredFooter } from './pagination.js';
4
4
  import { applyShowExclude } from '../../api-client/entity-summary.js';
5
5
  export function createListCommand(opts) {
6
6
  let cmd = new Command('list').description(opts.description);
@@ -14,12 +14,17 @@ export function createListCommand(opts) {
14
14
  .option('--archived', 'include archived items')
15
15
  .option('--ids <ids>', 'filter by IDs (comma-separated)')
16
16
  .option('--show <fields...>', 'include additional fields from API response')
17
- .option('--exclude <fields...>', 'hide fields from summary');
17
+ .option('--exclude <fields...>', 'hide fields from summary')
18
+ .option('--show-only <fields...>', 'show only these fields (mutually exclusive with --show and --exclude)');
18
19
  cmd.action(withErrorHandling(async (options) => {
19
20
  const globalOptions = getGlobalOptions(cmd);
20
21
  const client = await getAPIClientFromOptions(globalOptions);
21
22
  const show = options.show ?? [];
22
23
  const exclude = options.exclude ?? [];
24
+ const showOnly = options.showOnly;
25
+ if (showOnly && (show.length > 0 || exclude.length > 0)) {
26
+ throw new Error('--show-only is mutually exclusive with --show and --exclude');
27
+ }
23
28
  const items = await opts.fetch(client, options);
24
29
  if (shouldOutputIdsOnly(globalOptions)) {
25
30
  for (const item of items)
@@ -31,10 +36,15 @@ export function createListCommand(opts) {
31
36
  data = items;
32
37
  }
33
38
  else {
34
- data = items.map((item) => applyShowExclude(opts.summarizeRow(item), item, show, exclude));
39
+ data = items.map((item) => applyShowExclude(opts.summarizeRow(item), item, show, exclude, showOnly));
35
40
  }
36
41
  printFormatted(data, globalOptions);
37
- printPaginationFooter(items.length, options.items, options.page, globalOptions.output);
42
+ if (opts.isClientFiltered?.(options)) {
43
+ printFilteredFooter(items.length, globalOptions.output);
44
+ }
45
+ else {
46
+ printPaginationFooter(items.length, options.items, options.page, globalOptions.output);
47
+ }
38
48
  }));
39
49
  return cmd;
40
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-command.js","sourceRoot":"","sources":["../../../src/lib/utils/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAWtE,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE5D,IAAI,IAAI,CAAC,YAAY;QAAE,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEpD,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;SAC3E,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,CAAC;IAE/D,GAAG,CAAC,MAAM,CACR,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAI,OAAO,CAAC,IAA6B,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAI,OAAO,CAAC,OAAgC,IAAI,EAAE,CAAC;QAEhE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAE,IAAgC,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,IAAI,IAAa,CAAC;QAClB,IAAI,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,GAAI,KAAwC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5D,gBAAgB,CAAC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAChE,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpC,qBAAqB,CACnB,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,aAAa,CAAC,MAAgB,CAC/B,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"list-command.js","sourceRoot":"","sources":["../../../src/lib/utils/list-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAiBtE,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE5D,IAAI,IAAI,CAAC,YAAY;QAAE,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEpD,GAAG,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;SAC3E,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;SAC3D,MAAM,CACL,yBAAyB,EACzB,uEAAuE,CACxE,CAAC;IAEJ,GAAG,CAAC,MAAM,CACR,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAI,OAAO,CAAC,IAA6B,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAI,OAAO,CAAC,OAAgC,IAAI,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAgC,CAAC;QAC1D,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAE,IAAgC,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,IAAI,IAAa,CAAC;QAClB,IAAI,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,GAAI,KAAwC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5D,gBAAgB,CAAC,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC1E,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,MAAgB,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,qBAAqB,CACnB,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,aAAa,CAAC,MAAgB,CAC/B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Command } from 'commander';
2
2
  export declare function addPaginationOptions(command: Command, defaultItems?: number): Command;
3
3
  export declare function printPaginationFooter(count: number, items: number, page: number, outputFormat?: string): void;
4
+ export declare function printFilteredFooter(count: number, outputFormat?: string): void;
4
5
  //# sourceMappingURL=pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/pagination.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,SAAK,GAAG,OAAO,CAIjF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAON"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/pagination.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,SAAK,GAAG,OAAO,CAIjF;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAON;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAG9E"}
@@ -13,4 +13,9 @@ export function printPaginationFooter(count, items, page, outputFormat) {
13
13
  : `Page ${page} (${count} results).`;
14
14
  console.log(chalk.gray(footer));
15
15
  }
16
+ export function printFilteredFooter(count, outputFormat) {
17
+ if (outputFormat === 'json' || outputFormat === 'yaml')
18
+ return;
19
+ console.log(chalk.gray(`${count} result${count === 1 ? '' : 's'} (filtered).`));
20
+ }
16
21
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/lib/utils/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,YAAY,GAAG,EAAE;IACtE,OAAO,OAAO;SACX,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC;SAC5F,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,YAAqB;IAErB,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO;IAC/D,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO;QACpB,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,2BAA2B,IAAI,GAAG,CAAC,EAAE;QAC7D,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,YAAY,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/lib/utils/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,YAAY,GAAG,EAAE;IACtE,OAAO,OAAO;SACX,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC;SAC5F,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,YAAqB;IAErB,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO;IAC/D,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO;QACpB,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,2BAA2B,IAAI,GAAG,CAAC,EAAE;QAC7D,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,YAAY,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,YAAqB;IACtE,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -5,4 +5,5 @@ export declare function setTTYOverride(opts: {
5
5
  export declare function isStdinPiped(): boolean;
6
6
  export declare function isStdoutPiped(): boolean;
7
7
  export declare function readLinesFromStdin(): Promise<string[]>;
8
+ export declare function readStdinText(): Promise<string>;
8
9
  //# sourceMappingURL=stdin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdin.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/stdin.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAGhF;AAED,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAa5D"}
1
+ {"version":3,"file":"stdin.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/stdin.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAGhF;AAED,wBAAgB,YAAY,IAAI,OAAO,CAGtC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAa5D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CASrD"}
@@ -28,4 +28,14 @@ export async function readLinesFromStdin() {
28
28
  .map((line) => line.trim())
29
29
  .filter((line) => line.length > 0);
30
30
  }
31
+ export async function readStdinText() {
32
+ if (!isStdinPiped()) {
33
+ console.error('Waiting for input on stdin... (pipe data or press Ctrl+D to end)');
34
+ }
35
+ const chunks = [];
36
+ for await (const chunk of process.stdin) {
37
+ chunks.push(chunk);
38
+ }
39
+ return Buffer.concat(chunks).toString('utf-8');
40
+ }
31
41
  //# sourceMappingURL=stdin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stdin.js","sourceRoot":"","sources":["../../../src/lib/utils/stdin.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmC,CAAC;AACxC,IAAI,eAAoC,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,IAA2C;IACxE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,CAAC;IAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACzB,QAAQ,CAAC,OAAO,CAAC;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"stdin.js","sourceRoot":"","sources":["../../../src/lib/utils/stdin.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmC,CAAC;AACxC,IAAI,eAAoC,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,IAA2C;IACxE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO,CAAC,eAAe,CAAC;IAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACzB,QAAQ,CAAC,OAAO,CAAC;SACjB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absmartly/cli",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "ABSmartly CLI - A/B Testing and Feature Flags command-line tool for AI agents and humans",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",