@ttctl/cli 0.1.0-rc.1 → 0.1.0-rc.3

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 (75) hide show
  1. package/dist/commands/applications/index.d.ts +9 -3
  2. package/dist/commands/applications/index.d.ts.map +1 -1
  3. package/dist/commands/applications/index.js +29 -3
  4. package/dist/commands/applications/index.js.map +1 -1
  5. package/dist/commands/applications/list.d.ts +12 -8
  6. package/dist/commands/applications/list.d.ts.map +1 -1
  7. package/dist/commands/applications/list.js +29 -6
  8. package/dist/commands/applications/list.js.map +1 -1
  9. package/dist/commands/applications/shared.d.ts +35 -0
  10. package/dist/commands/applications/shared.d.ts.map +1 -1
  11. package/dist/commands/applications/shared.js +40 -0
  12. package/dist/commands/applications/shared.js.map +1 -1
  13. package/dist/commands/engagements/index.d.ts.map +1 -1
  14. package/dist/commands/engagements/index.js +21 -0
  15. package/dist/commands/engagements/index.js.map +1 -1
  16. package/dist/commands/engagements/list.d.ts +10 -8
  17. package/dist/commands/engagements/list.d.ts.map +1 -1
  18. package/dist/commands/engagements/list.js +25 -6
  19. package/dist/commands/engagements/list.js.map +1 -1
  20. package/dist/commands/engagements/shared.d.ts +40 -0
  21. package/dist/commands/engagements/shared.d.ts.map +1 -1
  22. package/dist/commands/engagements/shared.js +45 -0
  23. package/dist/commands/engagements/shared.js.map +1 -1
  24. package/dist/commands/jobs/index.d.ts +9 -6
  25. package/dist/commands/jobs/index.d.ts.map +1 -1
  26. package/dist/commands/jobs/index.js +10 -7
  27. package/dist/commands/jobs/index.js.map +1 -1
  28. package/dist/commands/jobs/list.d.ts +17 -11
  29. package/dist/commands/jobs/list.d.ts.map +1 -1
  30. package/dist/commands/jobs/list.js +17 -11
  31. package/dist/commands/jobs/list.js.map +1 -1
  32. package/dist/commands/payments/index.d.ts.map +1 -1
  33. package/dist/commands/payments/index.js +22 -1
  34. package/dist/commands/payments/index.js.map +1 -1
  35. package/dist/commands/payments/payouts.d.ts +43 -10
  36. package/dist/commands/payments/payouts.d.ts.map +1 -1
  37. package/dist/commands/payments/payouts.js +50 -3
  38. package/dist/commands/payments/payouts.js.map +1 -1
  39. package/dist/commands/profile/certifications/index.d.ts +9 -0
  40. package/dist/commands/profile/certifications/index.d.ts.map +1 -1
  41. package/dist/commands/profile/certifications/index.js +53 -1
  42. package/dist/commands/profile/certifications/index.js.map +1 -1
  43. package/dist/commands/profile/education/index.d.ts +9 -0
  44. package/dist/commands/profile/education/index.d.ts.map +1 -1
  45. package/dist/commands/profile/education/index.js +45 -1
  46. package/dist/commands/profile/education/index.js.map +1 -1
  47. package/dist/commands/profile/employment/index.d.ts +9 -0
  48. package/dist/commands/profile/employment/index.d.ts.map +1 -1
  49. package/dist/commands/profile/employment/index.js +61 -0
  50. package/dist/commands/profile/employment/index.js.map +1 -1
  51. package/dist/commands/profile/external/index.d.ts +2 -1
  52. package/dist/commands/profile/external/index.d.ts.map +1 -1
  53. package/dist/commands/profile/external/index.js +12 -1
  54. package/dist/commands/profile/external/index.js.map +1 -1
  55. package/dist/commands/profile/external/show.d.ts +22 -0
  56. package/dist/commands/profile/external/show.d.ts.map +1 -0
  57. package/dist/commands/profile/external/show.js +83 -0
  58. package/dist/commands/profile/external/show.js.map +1 -0
  59. package/dist/commands/profile/external/update.d.ts +6 -1
  60. package/dist/commands/profile/external/update.d.ts.map +1 -1
  61. package/dist/commands/profile/external/update.js +8 -1
  62. package/dist/commands/profile/external/update.js.map +1 -1
  63. package/dist/commands/profile/industries/index.d.ts +8 -1
  64. package/dist/commands/profile/industries/index.d.ts.map +1 -1
  65. package/dist/commands/profile/industries/index.js +29 -1
  66. package/dist/commands/profile/industries/index.js.map +1 -1
  67. package/dist/commands/timesheet/index.d.ts +11 -2
  68. package/dist/commands/timesheet/index.d.ts.map +1 -1
  69. package/dist/commands/timesheet/index.js +30 -2
  70. package/dist/commands/timesheet/index.js.map +1 -1
  71. package/dist/commands/timesheet/pending/list.d.ts +33 -0
  72. package/dist/commands/timesheet/pending/list.d.ts.map +1 -0
  73. package/dist/commands/timesheet/pending/list.js +26 -0
  74. package/dist/commands/timesheet/pending/list.js.map +1 -0
  75. package/package.json +4 -4
@@ -92,12 +92,17 @@ function handleError(err, format) {
92
92
  }
93
93
  /**
94
94
  * Pretty entity preview for the external-update envelope. Renders the
95
- * non-null URL trio (linkedin / github / website / twitter / behance /
95
+ * non-null URL sextet (linkedin / github / website / twitter / behance /
96
96
  * dribbble), each truncated at 80 columns. The notice (when present)
97
97
  * flows through the envelope's `notice` field, NOT this body —
98
98
  * `emitUpdateSuccess` appends it as a trailing indented line in pretty
99
99
  * mode.
100
100
  *
101
+ * `twitter` was added in #345 once the mutation's response selection set
102
+ * grew to echo it (`UPDATE_EXTERNAL_PROFILES_MUTATION` previously dropped
103
+ * twitter so the formatter had nothing to render). Ordering matches the
104
+ * `external show` formatter for cross-command consistency.
105
+ *
101
106
  * Pure — directly unit-testable.
102
107
  */
103
108
  export function formatUpdatePrettyEntity(result) {
@@ -109,6 +114,8 @@ export function formatUpdatePrettyEntity(result) {
109
114
  lines.push(truncate(`github: ${updated.github}`, 80));
110
115
  if (updated.website !== null)
111
116
  lines.push(truncate(`website: ${updated.website}`, 80));
117
+ if (updated.twitter !== null)
118
+ lines.push(truncate(`twitter: ${updated.twitter}`, 80));
112
119
  if (updated.behance !== null)
113
120
  lines.push(truncate(`behance: ${updated.behance}`, 80));
114
121
  if (updated.dribbble !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/profile/external/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/profile/external/update.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,OAQ9C;IACC,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAClE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAExE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,gBAAgB,CAAC;YACf,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,GAAG,aAAa,8FAA8F;oBACvH,IAAI,EAAE,8EAA8E;iBACrF;aACF;YACD,aAAa,EACX,GAAG,aAAa,gGAAgG;gBAChH,uFAAuF;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE,IAAI,MAAqD,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,iBAAiB,CAAC;QAChB,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,4BAA4B;QAC3C,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAY,EAAE,MAAoB;IACrD,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,KAAK,QAAQ;YAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,MAAM,GAAoB,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/F,gBAAgB,CAAC;YACf,SAAS,EAAE,SAAS;YACpB,MAAM;YACN,MAAM;YACN,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,YAAY,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,gBAAgB,CAAC;YACf,SAAS,EAAE,SAAS;YACpB,MAAM;YACN,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YAClD,aAAa,EAAE,GAAG,aAAa,YAAY,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE;SACvE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,gBAAgB,CAAC;QACf,SAAS,EAAE,SAAS;QACpB,MAAM;QACN,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC7C,aAAa,EAAE,GAAG,aAAa,YAAY,OAAO,EAAE;KACrD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAqD;IAC5F,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -3,10 +3,11 @@ import { Command } from "commander";
3
3
  /**
4
4
  * Build the `ttctl profile industries` command tree.
5
5
  *
6
- * Five leaves:
6
+ * Six leaves:
7
7
  * - `add <name> [--connection <type>]`
8
8
  * - `update <id> [field-flags]`
9
9
  * - `remove <id>`
10
+ * - `show <id> [-o text|json|table]`
10
11
  * - `list [-o text|json|table]`
11
12
  * - `autocomplete <query>` — looks up known industry names from the
12
13
  * Toptal catalog
@@ -19,6 +20,12 @@ import { Command } from "commander";
19
20
  * `autocomplete` is a separate query against `industriesAutocomplete`
20
21
  * — the catalog of known industry names. `add` does NOT consult the
21
22
  * catalog; users supply the title directly.
23
+ *
24
+ * `show <id>` is the per-id read companion of `list`, added in #342 to
25
+ * close the Class A surface-shape gap (service exported a `show()` but
26
+ * neither CLI nor MCP exposed it). The wire call resolves the row via
27
+ * the schema's `node()` resolver — see
28
+ * `packages/core/src/services/profile/industries/index.ts:226`.
22
29
  */
23
30
  export declare function buildProfileIndustriesCommand(): Command;
24
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/profile/industries/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CA0EvD;AAgHD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAMhF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAQjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,MAAM,CAGzF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,MAAM,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAGzF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAG1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/profile/industries/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAa5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAuFvD;AA2HD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAMhF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,MAAM,CAQjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,MAAM,CAGzF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,MAAM,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAGzF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAG1F"}
@@ -8,10 +8,11 @@ import { loadAuthTokenOrExit, parseLimitOrExit, presentSubDomainError } from "..
8
8
  /**
9
9
  * Build the `ttctl profile industries` command tree.
10
10
  *
11
- * Five leaves:
11
+ * Six leaves:
12
12
  * - `add <name> [--connection <type>]`
13
13
  * - `update <id> [field-flags]`
14
14
  * - `remove <id>`
15
+ * - `show <id> [-o text|json|table]`
15
16
  * - `list [-o text|json|table]`
16
17
  * - `autocomplete <query>` — looks up known industry names from the
17
18
  * Toptal catalog
@@ -24,6 +25,12 @@ import { loadAuthTokenOrExit, parseLimitOrExit, presentSubDomainError } from "..
24
25
  * `autocomplete` is a separate query against `industriesAutocomplete`
25
26
  * — the catalog of known industry names. `add` does NOT consult the
26
27
  * catalog; users supply the title directly.
28
+ *
29
+ * `show <id>` is the per-id read companion of `list`, added in #342 to
30
+ * close the Class A surface-shape gap (service exported a `show()` but
31
+ * neither CLI nor MCP exposed it). The wire call resolves the row via
32
+ * the schema's `node()` resolver — see
33
+ * `packages/core/src/services/profile/industries/index.ts:226`.
27
34
  */
28
35
  export function buildProfileIndustriesCommand() {
29
36
  const industries = new Command("industries").description("View and update the industries section of your profile");
@@ -62,6 +69,16 @@ export function buildProfileIndustriesCommand() {
62
69
  .action(async (id, options) => {
63
70
  await runRemove(id, options.output);
64
71
  });
72
+ industries
73
+ .command("show")
74
+ .description("Show a single industry-profile entry by id")
75
+ .argument("<id>", "industry profile id")
76
+ .addOption(new Option("-o, --output <format>", "output format")
77
+ .choices(OUTPUT_FORMATS)
78
+ .default("pretty"))
79
+ .action(async (id, options) => {
80
+ await runShow(id, options.output);
81
+ });
65
82
  industries
66
83
  .command("list")
67
84
  .description("List your industry-profile entries")
@@ -153,6 +170,17 @@ async function runRemove(id, format) {
153
170
  id: removedId,
154
171
  });
155
172
  }
173
+ async function runShow(id, format) {
174
+ const token = await loadAuthTokenOrExit("profile industries show", format);
175
+ let result;
176
+ try {
177
+ result = await profile.industries.show(token, id);
178
+ }
179
+ catch (err) {
180
+ presentSubDomainError("profile industries show", err, format);
181
+ }
182
+ emitResult(result, format, { pretty: formatIndustryText, table: formatIndustryTable });
183
+ }
156
184
  async function runList(format) {
157
185
  const token = await loadAuthTokenOrExit("profile industries list", format);
158
186
  let result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/profile/industries/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/profile/industries/index.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,29 @@
1
1
  import { Command } from "commander";
2
2
  /**
3
- * Build the `ttctl timesheet` command tree (#13). Three leaves:
3
+ * Build the `ttctl timesheet` command tree (#13). Three leaves plus a
4
+ * `pending` sub-tree (#374):
4
5
  *
5
6
  * | Leaf | Description |
6
7
  * |----------------------------------|---------------------------------------------------|
7
8
  * | `list [--engagement <id>]` | List timesheets (default: viewer-wide pending) |
9
+ * | `pending list [--limit N]` | Viewer-wide pending timesheets, with --limit |
8
10
  * | `show <id>` | One timesheet detail (id = BillingCycle.id) |
9
11
  * | `submit [id] [--confirm]` | Submit timesheet for billing (destructive) |
10
12
  *
11
13
  * **Wire identity model**:
12
14
  * - `BillingCycle.id` — the public "timesheet id" returned by
13
- * `list` and consumed by `show` / `submit`.
15
+ * `list` / `pending list` and consumed by `show` / `submit`.
14
16
  * - `JobActivityItem.id` — the "engagement id" exposed by
15
17
  * `engagements list`. Passed via `--engagement <id>` to scope
16
18
  * `list` / `submit` auto-resolve to one engagement.
17
19
  *
20
+ * **`pending list` surface-honest pagination divergence** (#374, per
21
+ * ADR-007 row 3): the viewer-wide `PendingTimesheets` wire op accepts
22
+ * ONLY a `pagination: { limit: Int }` input — no `offset`, no cursor —
23
+ * so the CLI surfaces `--limit N` rather than the offset-style
24
+ * `--page` / `--per-page` used by jobs / applications / engagements /
25
+ * payouts. Documented in `CHANGELOG.md` and ADR-007.
26
+ *
18
27
  * **Out of scope for v1** (per #13 spec): editing timesheet records,
19
28
  * uploading attachments, reminder settings, rejection/approval
20
29
  * workflow. The web UI handles record entry; this CLI surfaces the
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/timesheet/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AASlE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA2D/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/timesheet/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAWlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAoF/C"}
@@ -3,25 +3,36 @@
3
3
  import { Command, InvalidArgumentError, Option } from "commander";
4
4
  import { markMutation } from "../../lib/dry-run.js";
5
5
  import { OUTPUT_FORMATS } from "../../lib/output.js";
6
+ import { parsePaginationFlag } from "../../lib/pagination.js";
6
7
  import { runTimesheetList } from "./list.js";
8
+ import { runTimesheetPendingList } from "./pending/list.js";
7
9
  import { runTimesheetShow } from "./show.js";
8
10
  import { runTimesheetSubmit } from "./submit.js";
9
11
  /**
10
- * Build the `ttctl timesheet` command tree (#13). Three leaves:
12
+ * Build the `ttctl timesheet` command tree (#13). Three leaves plus a
13
+ * `pending` sub-tree (#374):
11
14
  *
12
15
  * | Leaf | Description |
13
16
  * |----------------------------------|---------------------------------------------------|
14
17
  * | `list [--engagement <id>]` | List timesheets (default: viewer-wide pending) |
18
+ * | `pending list [--limit N]` | Viewer-wide pending timesheets, with --limit |
15
19
  * | `show <id>` | One timesheet detail (id = BillingCycle.id) |
16
20
  * | `submit [id] [--confirm]` | Submit timesheet for billing (destructive) |
17
21
  *
18
22
  * **Wire identity model**:
19
23
  * - `BillingCycle.id` — the public "timesheet id" returned by
20
- * `list` and consumed by `show` / `submit`.
24
+ * `list` / `pending list` and consumed by `show` / `submit`.
21
25
  * - `JobActivityItem.id` — the "engagement id" exposed by
22
26
  * `engagements list`. Passed via `--engagement <id>` to scope
23
27
  * `list` / `submit` auto-resolve to one engagement.
24
28
  *
29
+ * **`pending list` surface-honest pagination divergence** (#374, per
30
+ * ADR-007 row 3): the viewer-wide `PendingTimesheets` wire op accepts
31
+ * ONLY a `pagination: { limit: Int }` input — no `offset`, no cursor —
32
+ * so the CLI surfaces `--limit N` rather than the offset-style
33
+ * `--page` / `--per-page` used by jobs / applications / engagements /
34
+ * payouts. Documented in `CHANGELOG.md` and ADR-007.
35
+ *
25
36
  * **Out of scope for v1** (per #13 spec): editing timesheet records,
26
37
  * uploading attachments, reminder settings, rejection/approval
27
38
  * workflow. The web UI handles record entry; this CLI surfaces the
@@ -42,6 +53,23 @@ export function buildTimesheetCommand() {
42
53
  listOpts.engagement = options.engagement;
43
54
  await runTimesheetList(listOpts);
44
55
  });
56
+ // `ttctl timesheet pending list [--limit N]` (#374) — viewer-wide pending
57
+ // pagination with the surface-honest `--limit` flag (the wire field is
58
+ // `LimitPagination`, NO `offset`). See ADR-007 row 3 for the grammar.
59
+ const pending = cmd.command("pending").description("Viewer-wide pending timesheets (limit-only pagination)");
60
+ pending
61
+ .command("list")
62
+ .description("List viewer-wide pending timesheet billing cycles (limit-only pagination)")
63
+ .addOption(new Option("--limit <number>", "max pending cycles to return (default: 50, the historical wire default)").argParser((raw) => parsePaginationFlag("--limit", raw)))
64
+ .addOption(new Option("-o, --output <format>", "output format")
65
+ .choices(OUTPUT_FORMATS)
66
+ .default("pretty"))
67
+ .action(async (options) => {
68
+ const listOpts = { output: options.output };
69
+ if (options.limit !== undefined)
70
+ listOpts.limit = options.limit;
71
+ await runTimesheetPendingList(listOpts);
72
+ });
45
73
  cmd
46
74
  .command("show")
47
75
  .description("Show one timesheet by id (BillingCycle.id from `timesheet list`)")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/timesheet/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/timesheet/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { OutputFormat } from "../../../lib/output.js";
2
+ /**
3
+ * Action handler for `ttctl timesheet pending list [--limit N]` (#374,
4
+ * per ADR-007 row 3 — "limit-only wrapper").
5
+ *
6
+ * **Surface-honest pagination divergence** from the other four
7
+ * paginated services (`jobs list`, `applications list`,
8
+ * `engagements list`, `payments payouts list`): those wires expose
9
+ * offset-style pagination and surface `--page` / `--per-page` flags;
10
+ * the underlying `PendingTimesheets` wire op accepts ONLY a
11
+ * `pagination: { limit: Int }` input (`LimitPagination` field — no
12
+ * `offset`, no cursor) so the CLI surfaces `--limit N` to mirror the
13
+ * wire arg name exactly. Documented in ADR-007.
14
+ *
15
+ * The original re-spike attempt (PR #383, closed) added
16
+ * `--page` / `--per-page` and tried to translate to
17
+ * `pagination: { limit, offset }`. The wire rejected this with HTTP
18
+ * 400 across 8 E2E tests. This sub-command is the canonical surface
19
+ * for viewer-wide pending pagination going forward.
20
+ *
21
+ * Existing `ttctl timesheet list` (with `--engagement` for per-engagement
22
+ * mode) is unchanged.
23
+ *
24
+ * Pretty rendering reuses `formatTimesheetsTable` from the sibling
25
+ * `list.ts`: column-aligned table; pretty empty-state CTA via the
26
+ * `empty` opt-in in `emitResult` (#122 reframe).
27
+ */
28
+ export interface TimesheetPendingListOptions {
29
+ limit?: number;
30
+ output: OutputFormat;
31
+ }
32
+ export declare function runTimesheetPendingList(opts: TimesheetPendingListOptions): Promise<void>;
33
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/timesheet/pending/list.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9F"}
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ // Copyright (C) 2026 Oleksii PELYKH
3
+ import { timesheet } from "@ttctl/core";
4
+ import { wrapListEnvelope } from "../../../lib/envelopes.js";
5
+ import { emitResult } from "../../../lib/output.js";
6
+ import { formatTimesheetsTable } from "../list.js";
7
+ import { handleTimesheetError, loadAuthTokenOrExit } from "../shared.js";
8
+ export async function runTimesheetPendingList(opts) {
9
+ const token = await loadAuthTokenOrExit("timesheet pending list", opts.output);
10
+ const listOpts = {};
11
+ if (opts.limit !== undefined)
12
+ listOpts.limit = opts.limit;
13
+ let items;
14
+ try {
15
+ items = await timesheet.list(token, listOpts);
16
+ }
17
+ catch (err) {
18
+ handleTimesheetError("timesheet pending list", err, opts.output);
19
+ }
20
+ emitResult(wrapListEnvelope(items), opts.output, {
21
+ pretty: (data) => formatTimesheetsTable(data.items),
22
+ table: (data) => formatTimesheetsTable(data.items),
23
+ empty: { command: "timesheet.pending.list" },
24
+ });
25
+ }
26
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/timesheet/pending/list.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAiCzE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAiC;IAC7E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAE1D,IAAI,KAAoC,CAAC;IACzC,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oBAAoB,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;QAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QACnD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,KAAK,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttctl/cli",
3
- "version": "0.1.0-rc.1",
3
+ "version": "0.1.0-rc.3",
4
4
  "description": "TTCtl CLI commands and program definition",
5
5
  "type": "module",
6
6
  "engines": {
@@ -35,11 +35,11 @@
35
35
  "vitest": "^4.1.1"
36
36
  },
37
37
  "dependencies": {
38
- "@clack/prompts": "^1.1.0",
38
+ "@clack/prompts": "^1.4.0",
39
39
  "cli-table3": "^0.6.5",
40
40
  "commander": "^14.0.3",
41
- "yaml": "^2.8.4",
42
- "@ttctl/core": "^0.1.0-rc.1"
41
+ "yaml": "^2.9.0",
42
+ "@ttctl/core": "^0.1.0-rc.3"
43
43
  },
44
44
  "scripts": {
45
45
  "clean": "rm -rf dist tsconfig.tsbuildinfo",