bamboohr-cli 1.0.8 → 1.0.9

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 (109) hide show
  1. package/dist/index.js +601 -31
  2. package/package.json +6 -5
  3. package/dist/commands/employee/directory.d.ts +0 -3
  4. package/dist/commands/employee/directory.d.ts.map +0 -1
  5. package/dist/commands/employee/directory.js +0 -15
  6. package/dist/commands/employee/directory.js.map +0 -1
  7. package/dist/commands/employee/get.d.ts +0 -3
  8. package/dist/commands/employee/get.d.ts.map +0 -1
  9. package/dist/commands/employee/get.js +0 -25
  10. package/dist/commands/employee/get.js.map +0 -1
  11. package/dist/commands/employee/goals.d.ts +0 -3
  12. package/dist/commands/employee/goals.d.ts.map +0 -1
  13. package/dist/commands/employee/goals.js +0 -22
  14. package/dist/commands/employee/goals.js.map +0 -1
  15. package/dist/commands/employee/index.d.ts +0 -3
  16. package/dist/commands/employee/index.d.ts.map +0 -1
  17. package/dist/commands/employee/index.js +0 -24
  18. package/dist/commands/employee/index.js.map +0 -1
  19. package/dist/commands/employee/photo.d.ts +0 -3
  20. package/dist/commands/employee/photo.d.ts.map +0 -1
  21. package/dist/commands/employee/photo.js +0 -27
  22. package/dist/commands/employee/photo.js.map +0 -1
  23. package/dist/commands/employee/search.d.ts +0 -3
  24. package/dist/commands/employee/search.d.ts.map +0 -1
  25. package/dist/commands/employee/search.js +0 -59
  26. package/dist/commands/employee/search.js.map +0 -1
  27. package/dist/commands/file/get.d.ts +0 -3
  28. package/dist/commands/file/get.d.ts.map +0 -1
  29. package/dist/commands/file/get.js +0 -19
  30. package/dist/commands/file/get.js.map +0 -1
  31. package/dist/commands/file/index.d.ts +0 -3
  32. package/dist/commands/file/index.d.ts.map +0 -1
  33. package/dist/commands/file/index.js +0 -15
  34. package/dist/commands/file/index.js.map +0 -1
  35. package/dist/commands/file/list.d.ts +0 -3
  36. package/dist/commands/file/list.d.ts.map +0 -1
  37. package/dist/commands/file/list.js +0 -14
  38. package/dist/commands/file/list.js.map +0 -1
  39. package/dist/commands/meta/departments.d.ts +0 -3
  40. package/dist/commands/meta/departments.d.ts.map +0 -1
  41. package/dist/commands/meta/departments.js +0 -16
  42. package/dist/commands/meta/departments.js.map +0 -1
  43. package/dist/commands/meta/divisions.d.ts +0 -3
  44. package/dist/commands/meta/divisions.d.ts.map +0 -1
  45. package/dist/commands/meta/divisions.js +0 -16
  46. package/dist/commands/meta/divisions.js.map +0 -1
  47. package/dist/commands/meta/fields.d.ts +0 -3
  48. package/dist/commands/meta/fields.d.ts.map +0 -1
  49. package/dist/commands/meta/fields.js +0 -15
  50. package/dist/commands/meta/fields.js.map +0 -1
  51. package/dist/commands/meta/index.d.ts +0 -3
  52. package/dist/commands/meta/index.d.ts.map +0 -1
  53. package/dist/commands/meta/index.js +0 -21
  54. package/dist/commands/meta/index.js.map +0 -1
  55. package/dist/commands/meta/locations.d.ts +0 -3
  56. package/dist/commands/meta/locations.d.ts.map +0 -1
  57. package/dist/commands/meta/locations.js +0 -16
  58. package/dist/commands/meta/locations.js.map +0 -1
  59. package/dist/commands/timeoff/balance.d.ts +0 -3
  60. package/dist/commands/timeoff/balance.d.ts.map +0 -1
  61. package/dist/commands/timeoff/balance.js +0 -21
  62. package/dist/commands/timeoff/balance.js.map +0 -1
  63. package/dist/commands/timeoff/create.d.ts +0 -3
  64. package/dist/commands/timeoff/create.d.ts.map +0 -1
  65. package/dist/commands/timeoff/create.js +0 -36
  66. package/dist/commands/timeoff/create.js.map +0 -1
  67. package/dist/commands/timeoff/index.d.ts +0 -3
  68. package/dist/commands/timeoff/index.d.ts.map +0 -1
  69. package/dist/commands/timeoff/index.js +0 -27
  70. package/dist/commands/timeoff/index.js.map +0 -1
  71. package/dist/commands/timeoff/requests.d.ts +0 -3
  72. package/dist/commands/timeoff/requests.d.ts.map +0 -1
  73. package/dist/commands/timeoff/requests.js +0 -51
  74. package/dist/commands/timeoff/requests.js.map +0 -1
  75. package/dist/commands/timeoff/types.d.ts +0 -3
  76. package/dist/commands/timeoff/types.d.ts.map +0 -1
  77. package/dist/commands/timeoff/types.js +0 -21
  78. package/dist/commands/timeoff/types.js.map +0 -1
  79. package/dist/commands/timeoff/update-status.d.ts +0 -3
  80. package/dist/commands/timeoff/update-status.d.ts.map +0 -1
  81. package/dist/commands/timeoff/update-status.js +0 -25
  82. package/dist/commands/timeoff/update-status.js.map +0 -1
  83. package/dist/commands/timeoff/whos-out.d.ts +0 -3
  84. package/dist/commands/timeoff/whos-out.d.ts.map +0 -1
  85. package/dist/commands/timeoff/whos-out.js +0 -22
  86. package/dist/commands/timeoff/whos-out.js.map +0 -1
  87. package/dist/index.d.ts +0 -3
  88. package/dist/index.d.ts.map +0 -1
  89. package/dist/index.js.map +0 -1
  90. package/dist/utils/cached.d.ts +0 -8
  91. package/dist/utils/cached.d.ts.map +0 -1
  92. package/dist/utils/cached.js +0 -17
  93. package/dist/utils/cached.js.map +0 -1
  94. package/dist/utils/client.d.ts +0 -3
  95. package/dist/utils/client.d.ts.map +0 -1
  96. package/dist/utils/client.js +0 -19
  97. package/dist/utils/client.js.map +0 -1
  98. package/dist/utils/output.d.ts +0 -3
  99. package/dist/utils/output.d.ts.map +0 -1
  100. package/dist/utils/output.js +0 -49
  101. package/dist/utils/output.js.map +0 -1
  102. package/dist/utils/resolve-employee.d.ts +0 -6
  103. package/dist/utils/resolve-employee.d.ts.map +0 -1
  104. package/dist/utils/resolve-employee.js +0 -10
  105. package/dist/utils/resolve-employee.js.map +0 -1
  106. package/dist/utils/strip-response.d.ts +0 -6
  107. package/dist/utils/strip-response.d.ts.map +0 -1
  108. package/dist/utils/strip-response.js +0 -29
  109. package/dist/utils/strip-response.js.map +0 -1
@@ -1,27 +0,0 @@
1
- import { balance } from './balance.js';
2
- import { create } from './create.js';
3
- import { requests } from './requests.js';
4
- import { types } from './types.js';
5
- import { updateStatus } from './update-status.js';
6
- import { whosOut } from './whos-out.js';
7
- export function registerTimeoffCommands(program) {
8
- const timeoff = program
9
- .command('timeoff')
10
- .description('Time off operations')
11
- .addHelpText('after', `
12
- Examples:
13
- $ bamboohr timeoff types --requestable
14
- $ bamboohr timeoff create 504 --start 2026-04-01 --end 2026-04-01 --type-id 83 --amount 1
15
- $ bamboohr timeoff requests --status requested --start 2026-01-01 --end 2026-12-31
16
- $ bamboohr timeoff balance 504
17
- $ bamboohr timeoff whos-out
18
- $ bamboohr timeoff update-status 7890 --status approved
19
- `);
20
- types(timeoff);
21
- create(timeoff);
22
- requests(timeoff);
23
- balance(timeoff);
24
- whosOut(timeoff);
25
- updateStatus(timeoff);
26
- }
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/timeoff/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qBAAqB,CAAC;SAClC,WAAW,CACV,OAAO,EACP;;;;;;;;CAQL,CACI,CAAC;IACJ,KAAK,CAAC,OAAO,CAAC,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function requests(parent: Command): void;
3
- //# sourceMappingURL=requests.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../src/commands/timeoff/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAK5C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAgE9C"}
@@ -1,51 +0,0 @@
1
- import { Option } from 'commander';
2
- import { getClient } from '../../utils/client.js';
3
- import { output } from '../../utils/output.js';
4
- import { resolveEmployeeId } from '../../utils/resolve-employee.js';
5
- export function requests(parent) {
6
- parent
7
- .command('requests')
8
- .description('Get time off requests (defaults to current user)')
9
- .option('--id <id>', 'Specific request ID', parseInt)
10
- .addOption(new Option('--action <action>', 'Access level filter').choices(['view', 'approve']))
11
- .option('--employee <id>', 'Filter by employee ID')
12
- .option('--all', 'Show all visible requests instead of just current user')
13
- .option('--start <date>', 'Start date (YYYY-MM-DD)')
14
- .option('--end <date>', 'End date (YYYY-MM-DD)')
15
- .addOption(new Option('--status <status>', 'Filter by request status').choices([
16
- 'approved',
17
- 'denied',
18
- 'superceded',
19
- 'requested',
20
- 'canceled',
21
- ]))
22
- .option('--type <typeId>', 'Filter by time off type ID')
23
- .addHelpText('after', `
24
- Examples:
25
- $ bamboohr timeoff requests
26
- $ bamboohr timeoff requests --status requested
27
- $ bamboohr timeoff requests --all --action approve --status requested
28
- $ bamboohr timeoff requests --employee 123 --start 2026-01-01 --end 2026-03-31`)
29
- .action(async (opts) => {
30
- const year = new Date().getFullYear();
31
- const start = opts.start ?? `${year}-01-01`;
32
- const end = opts.end ?? `${year}-12-31`;
33
- const client = getClient();
34
- // Default to current user unless --all or --employee is specified
35
- let employeeId = opts.employee;
36
- if (!employeeId && !opts.all) {
37
- employeeId = await resolveEmployeeId(client);
38
- }
39
- const result = await client.timeOff.getRequests({
40
- id: opts.id,
41
- action: opts.action,
42
- employeeId,
43
- start,
44
- end,
45
- status: opts.status,
46
- type: opts.type,
47
- });
48
- output(result);
49
- });
50
- }
51
- //# sourceMappingURL=requests.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../src/commands/timeoff/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,MAAM;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,QAAQ,CAAC;SACpD,SAAS,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SAC9F,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,OAAO,EAAE,wDAAwD,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACnD,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;SAC/C,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC;QAClE,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,UAAU;KACX,CAAC,CACH;SACA,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,WAAW,CACV,OAAO,EACP;;;;;iFAK2E,CAC5E;SACA,MAAM,CACL,KAAK,EAAE,IASN,EAAE,EAAE;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,QAAQ,CAAC;QAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,kEAAkE;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,MAAwC;YACrD,UAAU;YACV,KAAK;YACL,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,MAAqF;YAClG,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function types(parent: Command): void;
3
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/timeoff/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAmB3C"}
@@ -1,21 +0,0 @@
1
- import { getTimeOffTypes } from '../../utils/cached.js';
2
- import { getClient } from '../../utils/client.js';
3
- import { output } from '../../utils/output.js';
4
- export function types(parent) {
5
- parent
6
- .command('types')
7
- .description('List available time off types')
8
- .option('--requestable', 'Only show types the user can request')
9
- .addHelpText('after', `
10
- Examples:
11
- $ bamboohr timeoff types
12
- $ bamboohr timeoff types --requestable`)
13
- .action(async (opts) => {
14
- const client = getClient();
15
- const result = opts.requestable
16
- ? await client.timeOff.getTypes({ mode: 'request' })
17
- : await getTimeOffTypes(client);
18
- output(result);
19
- });
20
- }
21
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/timeoff/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,KAAK,CAAC,MAAe;IACnC,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC;SAC/D,WAAW,CACV,OAAO,EACP;;;yCAGmC,CACpC;SACA,MAAM,CAAC,KAAK,EAAE,IAA+B,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW;YAC7B,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACpD,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function updateStatus(parent: Command): void;
3
- //# sourceMappingURL=update-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-status.d.ts","sourceRoot":"","sources":["../../../src/commands/timeoff/update-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAI5C,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAyBlD"}
@@ -1,25 +0,0 @@
1
- import { Option } from 'commander';
2
- import { getClient } from '../../utils/client.js';
3
- import { output } from '../../utils/output.js';
4
- export function updateStatus(parent) {
5
- parent
6
- .command('update-status <requestId>')
7
- .description('Update time off request status (approve, deny, cancel)')
8
- .addOption(new Option('--status <status>', 'New status').choices(['approved', 'denied', 'canceled']).makeOptionMandatory())
9
- .option('--note <text>', 'Note to attach to the status change')
10
- .addHelpText('after', `
11
- Examples:
12
- $ bamboohr timeoff update-status 7890 --status approved
13
- $ bamboohr timeoff update-status 7890 --status denied --note "Team at capacity that week"
14
- $ bamboohr timeoff update-status 7890 --status canceled`)
15
- .action(async (requestId, opts) => {
16
- const client = getClient();
17
- const result = await client.timeOff.updateRequestStatus({
18
- requestId,
19
- status: opts.status,
20
- note: opts.note,
21
- });
22
- output(result || { updated: true, requestId, status: opts.status });
23
- });
24
- }
25
- //# sourceMappingURL=update-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-status.js","sourceRoot":"","sources":["../../../src/commands/timeoff/update-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,MAAM;SACH,OAAO,CAAC,2BAA2B,CAAC;SACpC,WAAW,CAAC,wDAAwD,CAAC;SACrE,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAChH;SACA,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;SAC9D,WAAW,CACV,OAAO,EACP;;;;0DAIoD,CACrD;SACA,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAuC,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACtD,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAA4C;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function whosOut(parent: Command): void;
3
- //# sourceMappingURL=whos-out.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whos-out.d.ts","sourceRoot":"","sources":["../../../src/commands/timeoff/whos-out.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB7C"}
@@ -1,22 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function whosOut(parent) {
4
- parent
5
- .command('whos-out')
6
- .description("View who's out — upcoming time off and holidays")
7
- .option('--start <date>', 'Start date (YYYY-MM-DD, defaults to today)')
8
- .option('--end <date>', 'End date (YYYY-MM-DD, defaults to 14 days from start)')
9
- .addHelpText('after', `
10
- Examples:
11
- $ bamboohr timeoff whos-out
12
- $ bamboohr timeoff whos-out --start 2026-03-20 --end 2026-04-03`)
13
- .action(async (opts) => {
14
- const client = getClient();
15
- const result = await client.timeOff.getWhosOut({
16
- start: opts.start,
17
- end: opts.end,
18
- });
19
- output(result);
20
- });
21
- }
22
- //# sourceMappingURL=whos-out.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whos-out.js","sourceRoot":"","sources":["../../../src/commands/timeoff/whos-out.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,OAAO,CAAC,MAAe;IACrC,MAAM;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;SACtE,MAAM,CAAC,cAAc,EAAE,uDAAuD,CAAC;SAC/E,WAAW,CACV,OAAO,EACP;;;kEAG4D,CAC7D;SACA,MAAM,CAAC,KAAK,EAAE,IAAsC,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,OAAO,CAAC;KAChB,aAAa,CAAC;IACb,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3C,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IAC1C,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACvD,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACtD,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;CAC3D,CAAC;KACD,WAAW,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,GAAG,iBAAiB,KAAK,IAAI,CAAC;KAC7F,WAAW,CACV,OAAO,EACP;EACF,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;+CACY,GAAG,+CAA+C,KAAK;8CACxD,GAAG,iDAAiD,KAAK;;EAErG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC5B,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;CACf,CACE,CAAC;AAEJ,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,IAAI,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,WAAW,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { BambooHRClient, EmployeeDirectory, TimeOffTypesResponse } from 'bamboohr-client';
2
- /** Employee directory — cached 12 hours */
3
- export declare function getDirectory(client: BambooHRClient): Promise<EmployeeDirectory>;
4
- /** Time off types — cached 7 days */
5
- export declare function getTimeOffTypes(client: BambooHRClient): Promise<TimeOffTypesResponse>;
6
- /** Meta fields — cached 7 days */
7
- export declare function getMetaFields(client: BambooHRClient): Promise<unknown>;
8
- //# sourceMappingURL=cached.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cached.d.ts","sourceRoot":"","sources":["../../src/utils/cached.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAM/F,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE/E;AAED,qCAAqC;AACrC,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAErF;AAED,kCAAkC;AAClC,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAEtE"}
@@ -1,17 +0,0 @@
1
- import { cacheGetOrFetch } from 'cli-utils';
2
- const CACHE_NAME = 'bamboohr';
3
- const TWELVE_HOURS = 43_200_000;
4
- const SEVEN_DAYS = 604_800_000;
5
- /** Employee directory — cached 12 hours */
6
- export function getDirectory(client) {
7
- return cacheGetOrFetch({ name: CACHE_NAME, ttl: TWELVE_HOURS }, 'directory', () => client.employees.getDirectory());
8
- }
9
- /** Time off types — cached 7 days */
10
- export function getTimeOffTypes(client) {
11
- return cacheGetOrFetch({ name: CACHE_NAME, ttl: SEVEN_DAYS }, 'timeoff-types', () => client.timeOff.getTypes());
12
- }
13
- /** Meta fields — cached 7 days */
14
- export function getMetaFields(client) {
15
- return cacheGetOrFetch({ name: CACHE_NAME, ttl: SEVEN_DAYS }, 'meta-fields', () => client.meta.getFields());
16
- }
17
- //# sourceMappingURL=cached.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cached.js","sourceRoot":"","sources":["../../src/utils/cached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B,2CAA2C;AAC3C,MAAM,UAAU,YAAY,CAAC,MAAsB;IACjD,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9G,CAAC"}
@@ -1,3 +0,0 @@
1
- import { BambooHRClient } from 'bamboohr-client';
2
- export declare function getClient(): BambooHRClient;
3
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAgB,SAAS,IAAI,cAAc,CAoB1C"}
@@ -1,19 +0,0 @@
1
- import { BambooHRClient } from 'bamboohr-client';
2
- export function getClient() {
3
- const apiToken = process.env.BAMBOO_TOKEN;
4
- const companyDomain = process.env.BAMBOO_COMPANY_DOMAIN;
5
- if (!apiToken || !companyDomain) {
6
- const missing = [...(!apiToken ? ['BAMBOO_TOKEN'] : []), ...(!companyDomain ? ['BAMBOO_COMPANY_DOMAIN'] : [])];
7
- process.stderr.write(`${JSON.stringify({
8
- error: `Missing required environment variables: ${missing.join(', ')}`,
9
- setup: {
10
- BAMBOO_TOKEN: 'BambooHR API token — generate in BambooHR > Settings > API Keys',
11
- BAMBOO_COMPANY_DOMAIN: 'Company subdomain (e.g., "mycompany" for mycompany.bamboohr.com)',
12
- },
13
- hint: 'Export these in your shell profile (e.g., ~/.zshrc).',
14
- })}\n`);
15
- process.exit(1);
16
- }
17
- return new BambooHRClient({ apiToken, companyDomain });
18
- }
19
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,SAAS;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAExD,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtE,KAAK,EAAE;gBACL,YAAY,EAAE,iEAAiE;gBAC/E,qBAAqB,EAAE,kEAAkE;aAC1F;YACD,IAAI,EAAE,sDAAsD;SAC7D,CAAC,IAAI,CACP,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function output(data: unknown): void;
2
- export declare function handleError(err: unknown): void;
3
- //# sourceMappingURL=output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkD9C"}
@@ -1,49 +0,0 @@
1
- import { stripResponse } from './strip-response.js';
2
- export function output(data) {
3
- process.stdout.write(`${JSON.stringify(stripResponse(data), null, 2)}\n`);
4
- }
5
- export function handleError(err) {
6
- const message = err instanceof Error ? err.message : String(err);
7
- const axiosStatus = err?.response?.status;
8
- if (axiosStatus === 400) {
9
- const responseData = err?.response?.data;
10
- const apiErrors = responseData && typeof responseData === 'object' ? responseData : undefined;
11
- process.stderr.write(`${JSON.stringify({
12
- error: 'Bad request (HTTP 400)',
13
- detail: apiErrors ?? message,
14
- hint: 'Check that all parameters are valid (employee IDs, field names, date formats, etc.).',
15
- })}\n`);
16
- }
17
- else if (axiosStatus === 401) {
18
- process.stderr.write(`${JSON.stringify({
19
- error: 'Authentication failed (HTTP 401)',
20
- hint: 'Verify that BAMBOO_TOKEN and BAMBOO_COMPANY_DOMAIN are set correctly. The token may be expired or invalid.',
21
- })}\n`);
22
- }
23
- else if (axiosStatus === 403) {
24
- const responseData = err?.response?.data;
25
- process.stderr.write(`${JSON.stringify({
26
- error: 'Forbidden (HTTP 403)',
27
- detail: responseData && typeof responseData === 'object' ? responseData : message,
28
- hint: 'Your account does not have permission for this operation. Check your BambooHR access level.',
29
- })}\n`);
30
- }
31
- else if (axiosStatus === 404) {
32
- // BambooHR returns 404 for invalid tokens instead of 401
33
- process.stderr.write(`${JSON.stringify({
34
- error: 'Not found (HTTP 404)',
35
- hint: 'Resource not found. Note: BambooHR also returns 404 for invalid credentials — verify that BAMBOO_TOKEN and BAMBOO_COMPANY_DOMAIN are correct.',
36
- })}\n`);
37
- }
38
- else if (message.includes('ENOTFOUND') || message.includes('ECONNREFUSED') || message.includes('ECONNRESET')) {
39
- process.stderr.write(`${JSON.stringify({
40
- error: `Cannot connect to BambooHR API: ${message}`,
41
- hint: 'Verify that BAMBOO_COMPANY_DOMAIN is correct and you have internet connectivity.',
42
- })}\n`);
43
- }
44
- else {
45
- process.stderr.write(`${JSON.stringify({ error: message })}\n`);
46
- }
47
- process.exit(1);
48
- }
49
- //# sourceMappingURL=output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,WAAW,GAAI,GAA0C,EAAE,QAAQ,EAAE,MAAM,CAAC;IAElF,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,YAAY,GAAI,GAAyC,EAAE,QAAQ,EAAE,IAAI,CAAC;QAChF,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,SAAS,IAAI,OAAO;YAC5B,IAAI,EAAE,sFAAsF;SAC7F,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,4GAA4G;SACnH,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAI,GAAyC,EAAE,QAAQ,EAAE,IAAI,CAAC;QAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO;YACjF,IAAI,EAAE,6FAA6F;SACpG,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QAC/B,yDAAyD;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,+IAA+I;SACtJ,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,mCAAmC,OAAO,EAAE;YACnD,IAAI,EAAE,kFAAkF;SACzF,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { BambooHRClient } from 'bamboohr-client';
2
- /**
3
- * Resolve employee ID — returns the given ID, or fetches the current user's ID if omitted.
4
- */
5
- export declare function resolveEmployeeId(client: BambooHRClient, employeeId?: string): Promise<string>;
6
- //# sourceMappingURL=resolve-employee.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-employee.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-employee.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpG"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Resolve employee ID — returns the given ID, or fetches the current user's ID if omitted.
3
- */
4
- export async function resolveEmployeeId(client, employeeId) {
5
- if (employeeId)
6
- return employeeId;
7
- const me = await client.employees.get({ id: '0', fields: 'id' });
8
- return me.id;
9
- }
10
- //# sourceMappingURL=resolve-employee.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-employee.js","sourceRoot":"","sources":["../../src/utils/resolve-employee.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAsB,EAAE,UAAmB;IACjF,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,EAAE,CAAC;AACf,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Recursively strip verbose fields from API responses to reduce token usage.
3
- * Removes: self URLs, avatar URL dicts, _links, _expandable, expand metadata.
4
- */
5
- export declare function stripResponse(obj: unknown): unknown;
6
- //# sourceMappingURL=strip-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-response.d.ts","sourceRoot":"","sources":["../../src/utils/strip-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8BnD"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Recursively strip verbose fields from API responses to reduce token usage.
3
- * Removes: self URLs, avatar URL dicts, _links, _expandable, expand metadata.
4
- */
5
- export function stripResponse(obj) {
6
- if (Array.isArray(obj)) {
7
- return obj.map(stripResponse);
8
- }
9
- if (obj === null || typeof obj !== 'object') {
10
- return obj;
11
- }
12
- const record = obj;
13
- const result = {};
14
- for (const [key, value] of Object.entries(record)) {
15
- // Skip noisy fields
16
- if (key === 'self' ||
17
- key === '_links' ||
18
- key === '_expandable' ||
19
- key === 'expand' ||
20
- key === 'avatarUrls' ||
21
- key === 'avatarId' ||
22
- key === 'iconUrl') {
23
- continue;
24
- }
25
- result[key] = stripResponse(value);
26
- }
27
- return result;
28
- }
29
- //# sourceMappingURL=strip-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strip-response.js","sourceRoot":"","sources":["../../src/utils/strip-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,oBAAoB;QACpB,IACE,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,QAAQ;YAChB,GAAG,KAAK,aAAa;YACrB,GAAG,KAAK,QAAQ;YAChB,GAAG,KAAK,YAAY;YACpB,GAAG,KAAK,UAAU;YAClB,GAAG,KAAK,SAAS,EACjB,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}