@t4dhg/mcp-factorial 10.1.0 → 10.2.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 (44) hide show
  1. package/README.md +35 -25
  2. package/dist/api/documents.js +11 -11
  3. package/dist/api/documents.js.map +1 -1
  4. package/dist/api/index.d.ts +1 -1
  5. package/dist/api/index.d.ts.map +1 -1
  6. package/dist/api/index.js +1 -1
  7. package/dist/api/index.js.map +1 -1
  8. package/dist/api/time-off.d.ts +6 -0
  9. package/dist/api/time-off.d.ts.map +1 -1
  10. package/dist/api/time-off.js +16 -5
  11. package/dist/api/time-off.js.map +1 -1
  12. package/dist/attendance/backfill.d.ts +9 -3
  13. package/dist/attendance/backfill.d.ts.map +1 -1
  14. package/dist/attendance/backfill.js +19 -6
  15. package/dist/attendance/backfill.js.map +1 -1
  16. package/dist/attendance/gate.js +1 -1
  17. package/dist/attendance/gate.js.map +1 -1
  18. package/dist/attendance/planner.d.ts +30 -2
  19. package/dist/attendance/planner.d.ts.map +1 -1
  20. package/dist/attendance/planner.js +66 -9
  21. package/dist/attendance/planner.js.map +1 -1
  22. package/dist/attendance/report.d.ts +36 -0
  23. package/dist/attendance/report.d.ts.map +1 -0
  24. package/dist/attendance/report.js +62 -0
  25. package/dist/attendance/report.js.map +1 -0
  26. package/dist/confirmation.d.ts.map +1 -1
  27. package/dist/confirmation.js +3 -2
  28. package/dist/confirmation.js.map +1 -1
  29. package/dist/http-client.d.ts +45 -1
  30. package/dist/http-client.d.ts.map +1 -1
  31. package/dist/http-client.js +47 -3
  32. package/dist/http-client.js.map +1 -1
  33. package/dist/prompts/attendance.d.ts +38 -0
  34. package/dist/prompts/attendance.d.ts.map +1 -0
  35. package/dist/prompts/attendance.js +366 -0
  36. package/dist/prompts/attendance.js.map +1 -0
  37. package/dist/tools/attendance.d.ts.map +1 -1
  38. package/dist/tools/attendance.js +61 -40
  39. package/dist/tools/attendance.js.map +1 -1
  40. package/dist/tools/index.d.ts.map +1 -1
  41. package/dist/tools/index.js +4 -1
  42. package/dist/tools/index.js.map +1 -1
  43. package/llms.txt +3 -1
  44. package/package.json +1 -1
@@ -8,6 +8,28 @@
8
8
  * a unit test in src/__tests__/unit/attendance/planner.test.ts.
9
9
  */
10
10
  import { createHash } from 'node:crypto';
11
+ /** Measure how much of a date window the per-day facts cover */
12
+ export function measureCoverage(dates, days, leaveRecords, shiftRecords) {
13
+ const uncovered = dates.filter(date => !days.has(date));
14
+ return {
15
+ days_in_window: dates.length,
16
+ days_with_contract_data: dates.length - uncovered.length,
17
+ first_uncovered: uncovered[0] ?? null,
18
+ last_uncovered: uncovered.length > 0 ? uncovered[uncovered.length - 1] : null,
19
+ leave_records: leaveRecords,
20
+ shift_records: shiftRecords,
21
+ };
22
+ }
23
+ /** One line for the header of an audit, gaps or preview */
24
+ export function formatCoverage(coverage) {
25
+ const base = `Data read: contract data for ${coverage.days_with_contract_data} of ${coverage.days_in_window} days, ` +
26
+ `${coverage.leave_records} leave records, ${coverage.shift_records} shift records.`;
27
+ if (coverage.days_with_contract_data === coverage.days_in_window)
28
+ return base;
29
+ return (`${base} Days without contract data (${coverage.first_uncovered} to ${coverage.last_uncovered}) ` +
30
+ 'are reported as no_contract_data and are never written; they usually precede the start of ' +
31
+ 'employment. If that is not the case here, the read is incomplete and the result must not be trusted.');
32
+ }
11
33
  const HHMM = /^([01]\d|2[0-3]):([0-5]\d)$/;
12
34
  const DATE = /^\d{4}-\d{2}-\d{2}$/;
13
35
  const END_OF_DAY = 24 * 60;
@@ -17,6 +39,10 @@ const END_OF_DAY = 24 * 60;
17
39
  * are deliberately not, so a strict comparison would flag nearly every day.
18
40
  */
19
41
  export const DEFAULT_TOLERANCE_MINUTES = 15;
42
+ /** A preview lists every record up to this many; above it, the first and last few */
43
+ export const PREVIEW_FULL_LIST_MAX = 62;
44
+ const PREVIEW_HEAD = 20;
45
+ const PREVIEW_TAIL = 10;
20
46
  /** Parse "HH:MM" into minutes since midnight; anything else is rejected */
21
47
  export function parseHHMM(value) {
22
48
  const match = HHMM.exec(value);
@@ -117,13 +143,19 @@ function daySkipReason(date, request, facts) {
117
143
  if (day?.day_type === 'bank_holiday') {
118
144
  return { date, reason: 'bank_holiday' };
119
145
  }
120
- if (!day || day.expected_minutes <= 0) {
146
+ // A date the API said nothing about is not a fact about the contract, so
147
+ // it gets its own reason: the planner must never present a gap in the
148
+ // data as a day that was not workable.
149
+ if (!day) {
121
150
  return {
122
151
  date,
123
- reason: 'not_workable',
124
- detail: day ? 'contract expects 0 minutes' : 'no contract data for this date',
152
+ reason: 'no_contract_data',
153
+ detail: 'neither worked_times nor estimated_times returned this date',
125
154
  };
126
155
  }
156
+ if (day.expected_minutes <= 0) {
157
+ return { date, reason: 'not_workable', detail: 'contract expects 0 minutes' };
158
+ }
127
159
  }
128
160
  if (request.skip_leave) {
129
161
  const cover = facts.leaves.get(date);
@@ -181,6 +213,12 @@ function deterministicOffset(seed, magnitude) {
181
213
  * times: the preview shows exactly what will be written, the confirmation
182
214
  * token binds to it, and a retry after a partial failure recognises its own
183
215
  * earlier writes. Segments never cross each other or midnight.
216
+ *
217
+ * Both ends of a segment move by the same offset, so the day's total is
218
+ * unchanged and an audit of a jittered backfill reads complete at any
219
+ * tolerance. Only where a segment would otherwise run into its neighbour or
220
+ * past midnight is an end clamped, and then that segment shrinks by at most
221
+ * the magnitude.
184
222
  */
185
223
  export function jitterSegments(employeeId, date, segments, magnitude) {
186
224
  if (magnitude <= 0)
@@ -192,8 +230,9 @@ export function jitterSegments(employeeId, date, segments, magnitude) {
192
230
  const baseStart = parseHHMM(segment.clock_in);
193
231
  const baseEnd = parseHHMM(segment.clock_out);
194
232
  const nextStart = index + 1 < ordered.length ? parseHHMM(ordered[index + 1].clock_in) : Infinity;
195
- let start = baseStart + deterministicOffset(`${employeeId}|${date}|${index}|in`, magnitude);
196
- let end = baseEnd + deterministicOffset(`${employeeId}|${date}|${index}|out`, magnitude);
233
+ const offset = deterministicOffset(`${employeeId}|${date}|${index}`, magnitude);
234
+ let start = baseStart + offset;
235
+ let end = baseEnd + offset;
197
236
  // Never start before the previous segment ended, never end after the next one may start.
198
237
  start = Math.max(start, previousEnd, 0);
199
238
  end = Math.min(end, nextStart - magnitude - 1, END_OF_DAY - 1);
@@ -331,6 +370,8 @@ export function computeLedger(dates, facts, toleranceMinutes = DEFAULT_TOLERANCE
331
370
  let status;
332
371
  if (date > facts.today)
333
372
  status = 'future';
373
+ else if (!day)
374
+ status = 'no_contract_data';
334
375
  else if (day?.day_type === 'saturday' || day?.day_type === 'sunday')
335
376
  status = 'weekend';
336
377
  else if (day?.day_type === 'bank_holiday')
@@ -389,13 +430,28 @@ export function formatPlanPreview(plan, employee, range, request, observations)
389
430
  lines.push(` Note on every record: "${observations}"`);
390
431
  }
391
432
  if (request.jitter_minutes && request.jitter_minutes > 0) {
392
- lines.push(` Each time varies by up to ${request.jitter_minutes} minutes from the pattern (fixed per record, shown below).`);
433
+ lines.push(` Each time varies by up to ${request.jitter_minutes} minutes from the pattern (fixed per record, listed below).`);
393
434
  }
394
- if (plan.writes.length > 0 && plan.writes.length <= 62) {
435
+ if (plan.writes.length > 0) {
395
436
  lines.push('');
396
437
  lines.push(' Records to write:');
397
- for (const w of plan.writes)
398
- lines.push(` ${w.date} ${w.clock_in}-${w.clock_out}`);
438
+ const record = (w) => ` ${w.date} ${w.clock_in}-${w.clock_out}`;
439
+ if (plan.writes.length <= PREVIEW_FULL_LIST_MAX) {
440
+ for (const w of plan.writes)
441
+ lines.push(record(w));
442
+ }
443
+ else {
444
+ // Enough to check the pattern and the jitter at both ends without
445
+ // drowning the preview; the token binds to every record regardless.
446
+ const head = plan.writes.slice(0, PREVIEW_HEAD);
447
+ const tail = plan.writes.slice(-PREVIEW_TAIL);
448
+ const hidden = plan.writes.length - head.length - tail.length;
449
+ for (const w of head)
450
+ lines.push(record(w));
451
+ lines.push(` ... ${hidden} more records not listed; the confirmation token binds to all of them ...`);
452
+ for (const w of tail)
453
+ lines.push(record(w));
454
+ }
399
455
  }
400
456
  if (plan.skippedDays.length > 0) {
401
457
  lines.push('');
@@ -406,6 +462,7 @@ export function formatPlanPreview(plan, employee, range, request, observations)
406
462
  weekend: 'weekend',
407
463
  bank_holiday: 'bank holiday',
408
464
  not_workable: 'not workable under the contract',
465
+ no_contract_data: 'without contract data in Factorial for the date (not written; usually before the start of employment)',
409
466
  on_leave: 'approved leave',
410
467
  half_day_leave: 'half-day leave, write it with log_days if the other half was worked',
411
468
  };
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/attendance/planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/attendance/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsEzC,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAC7B,KAAe,EACf,IAA2B,EAC3B,YAAoB,EACpB,YAAoB;IAEpB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,OAAO;QACL,cAAc,EAAE,KAAK,CAAC,MAAM;QAC5B,uBAAuB,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;QACxD,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;QACrC,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC7E,aAAa,EAAE,YAAY;QAC3B,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,QAAuB;IACpD,MAAM,IAAI,GACR,gCAAgC,QAAQ,CAAC,uBAAuB,OAAO,QAAQ,CAAC,cAAc,SAAS;QACvG,GAAG,QAAQ,CAAC,aAAa,mBAAmB,QAAQ,CAAC,aAAa,iBAAiB,CAAC;IACtF,IAAI,QAAQ,CAAC,uBAAuB,KAAK,QAAQ,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,CACL,GAAG,IAAI,gCAAgC,QAAQ,CAAC,eAAe,OAAO,QAAQ,CAAC,cAAc,IAAI;QACjG,4FAA4F;QAC5F,sGAAsG,CACvG,CAAC;AACJ,CAAC;AA2DD,MAAM,IAAI,GAAG,6BAA6B,CAAC;AAC3C,MAAM,IAAI,GAAG,qBAAqB,CAAC;AACnC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,+CAA+C,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,CAAmB,EAAE,CAAmB;IACvE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,GAAW;IACvD,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;IAC1C,OAAO,MAAM,IAAI,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAmB;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,2CAA2C;gBACzF,2FAA2F,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,qCAAqC,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAqB,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO;oBAC9D,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,qBAAqB,CACxE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;YAAE,SAAS;QACnE,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY;YACtE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,QAAQ,KAAK,MAAM;gBAAE,SAAS;YAClC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAoB,EAAE,KAAgB;IACzE,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,YAAY,KAAK,CAAC,KAAK,gDAAgD;SAChF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,GAAG,EAAE,QAAQ,KAAK,UAAU,IAAI,GAAG,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,GAAG,EAAE,QAAQ,KAAK,cAAc,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAC1C,CAAC;QACD,yEAAyE;QACzE,sEAAsE;QACtE,uCAAuC;QACvC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,6DAA6D;aACtE,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,4BAA4B,KAAK,wDAAwD;aAClG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAuB,EAAE,IAAY;IAC9D,OAAO,MAAM;SACV,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;SACpC,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,IAAI,KAAa,CAAC;QAClB,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,qCAAqC;gBAC/D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,qCAAqC,CACvF,CAAC;QACJ,CAAC;QACD,kFAAkF;QAClF,IAAI,GAAG,GAAG,KAAK;YAAE,GAAG,GAAG,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/D,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzG,CAAC;AAED,0FAA0F;AAC1F,SAAS,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IAC1D,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,IAAY,EACZ,QAAmB,EACnB,SAAiB;IAEjB,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,WAAW,GAAG,CAAC,QAAQ,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,SAAS,GACb,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,UAAU,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QAChF,IAAI,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;QAC/B,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC;QAC3B,yFAAyF;QACzF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACxC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACjB,KAAK,GAAG,SAAS,CAAC;YAClB,GAAG,GAAG,OAAO,CAAC;QAChB,CAAC;QACD,WAAW,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,KAAgB;IACtE,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAEnB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnB,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,cAAc,CAC5B,OAAO,CAAC,WAAW,EACnB,IAAI,EACJ,QAAQ,EACR,OAAO,CAAC,cAAc,IAAI,CAAC,CAC5B,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAqB;gBACjC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC3B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;aAC7B,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,KAAK,EAAE,CAAC;gBACV,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI;oBACJ,GAAG,OAAO;oBACV,MAAM,EAAE,mBAAmB;oBAC3B,MAAM,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,EAAE;iBACxC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAClC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM;QACN,WAAW;QACX,eAAe;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;KACrE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,MAAsB,EACtB,YAAqB;IAErB,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;SAClD,IAAI,EAAE;SACN,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,GAAG,UAAU,KAAK,YAAY,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;SAC5D,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,gBAAgB,GAAG,yBAAyB;IACxF,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK;YAAE,SAAS;QACjC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QACzC,IAAI,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,IAAI,gBAAgB;YAAE,SAAS;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,MAAM;YAAE,SAAS;QAC/B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,eAAe,EAAE,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe;YAC3D,cAAc,EAAE,KAAK,IAAI,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA0BD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,KAAgB,EAChB,gBAAgB,GAAG,yBAAyB;IAE5C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACT,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtF,CAAC,CAAC,CAAC;QACN,MAAM,QAAQ,GAAG,GAAG,EAAE,gBAAgB,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,eAAe,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAoB,CAAC;QACzB,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK;YAAE,MAAM,GAAG,QAAQ,CAAC;aACrC,IAAI,CAAC,GAAG;YAAE,MAAM,GAAG,kBAAkB,CAAC;aACtC,IAAI,GAAG,EAAE,QAAQ,KAAK,UAAU,IAAI,GAAG,EAAE,QAAQ,KAAK,QAAQ;YAAE,MAAM,GAAG,SAAS,CAAC;aACnF,IAAI,GAAG,EAAE,QAAQ,KAAK,cAAc;YAAE,MAAM,GAAG,cAAc,CAAC;aAC9D,IAAI,KAAK,KAAK,MAAM;YAAE,MAAM,GAAG,UAAU,CAAC;aAC1C,IAAI,KAAK;YAAE,MAAM,GAAG,gBAAgB,CAAC;aACrC,IAAI,QAAQ,IAAI,CAAC;YAAE,MAAM,GAAG,cAAc,CAAC;aAC3C,IAAI,QAAQ,GAAG,OAAO,GAAG,gBAAgB;YAAE,MAAM,GAAG,SAAS,CAAC;aAC9D,IAAI,OAAO,GAAG,QAAQ,GAAG,gBAAgB;YAAE,MAAM,GAAG,MAAM,CAAC;;YAC3D,MAAM,GAAG,UAAU,CAAC;QACzB,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;YAC/B,gBAAgB,EAAE,QAAQ;YAC1B,eAAe,EAAE,OAAO;YACxB,KAAK;YACL,MAAM;YACN,MAAM;YACN,aAAa,EAAE,OAAO,GAAG,QAAQ;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,OAAO,CAAmB,KAA2B;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAkB,EAClB,QAAsC,EACtC,KAAqC,EACrC,OAAoB,EACpB,YAAqB;IAErB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,mBAAmB,IAAI,CAAC,MAAM,CAAC,OAAO,mBAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAC3G,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,4BAA4B,YAAY,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CACR,+BAA+B,OAAO,CAAC,cAAc,6DAA6D,CACnH,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAe,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QACjF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,oEAAoE;YACpE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CACR,WAAW,MAAM,2EAA2E,CAC7F,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,MAAM,GAA+B;YACzC,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,cAAc;YAC5B,YAAY,EAAE,iCAAiC;YAC/C,gBAAgB,EACd,uGAAuG;YACzG,QAAQ,EAAE,gBAAgB;YAC1B,cAAc,EAAE,qEAAqE;SACtF,CAAC;QACF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAC/F,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Text rendering of an attendance audit. Shared by the `audit` action of the
3
+ * factorial_attendance tool and by the attendance prompts, so that a model
4
+ * reads the same report whichever way it arrives at it.
5
+ */
6
+ import { type FactsCoverage, type Gap, type LedgerDay } from './planner.js';
7
+ export type AuditFormat = 'summary' | 'table' | 'json';
8
+ export interface AuditReportInput {
9
+ employee: {
10
+ id: number;
11
+ name: string;
12
+ };
13
+ startOn: string;
14
+ endOn: string;
15
+ ledger: LedgerDay[];
16
+ coverage: FactsCoverage;
17
+ toleranceMinutes: number;
18
+ format: AuditFormat;
19
+ }
20
+ export declare function ledgerRow(d: LedgerDay): string;
21
+ /** Count ledger days per status, in first-seen order */
22
+ export declare function countStatuses(ledger: LedgerDay[]): Map<LedgerDay['status'], number>;
23
+ export declare function formatAudit(input: AuditReportInput): string;
24
+ export interface GapsReportInput {
25
+ employee: {
26
+ id: number;
27
+ name: string;
28
+ };
29
+ startOn: string;
30
+ endOn: string;
31
+ gaps: Gap[];
32
+ coverage: FactsCoverage;
33
+ }
34
+ /** Text rendering of the `gaps` action, shared with the attendance prompts */
35
+ export declare function formatGaps(input: GapsReportInput): string;
36
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/attendance/report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnG,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;CACrB;AAKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAM9C;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAInF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAwB3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAqBzD"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Text rendering of an attendance audit. Shared by the `audit` action of the
3
+ * factorial_attendance tool and by the attendance prompts, so that a model
4
+ * reads the same report whichever way it arrives at it.
5
+ */
6
+ import { formatCoverage, hours } from './planner.js';
7
+ /** Statuses an audit summary lists; the rest are counted in the header only */
8
+ const QUIET_STATUSES = new Set(['complete', 'weekend', 'future']);
9
+ export function ledgerRow(d) {
10
+ const shifts = d.shifts.length
11
+ ? d.shifts.map(sh => `${sh.clock_in}-${sh.clock_out ?? 'open'}`).join(' ')
12
+ : '-';
13
+ const leave = d.leave ? ` leave:${d.leave}` : '';
14
+ return ` ${d.date} ${(d.day_type ?? '-').padEnd(12)} ${d.status.padEnd(16)} expected ${hours(d.expected_minutes).padEnd(6)} tracked ${hours(d.tracked_minutes).padEnd(6)} ${shifts}${leave}`;
15
+ }
16
+ /** Count ledger days per status, in first-seen order */
17
+ export function countStatuses(ledger) {
18
+ const counts = new Map();
19
+ for (const day of ledger)
20
+ counts.set(day.status, (counts.get(day.status) ?? 0) + 1);
21
+ return counts;
22
+ }
23
+ export function formatAudit(input) {
24
+ const { employee, startOn, endOn, ledger, coverage, toleranceMinutes, format } = input;
25
+ const counts = countStatuses(ledger);
26
+ const expected = ledger.reduce((sum, d) => sum + d.expected_minutes, 0);
27
+ const tracked = ledger.reduce((sum, d) => sum + d.tracked_minutes, 0);
28
+ const summary = [...counts.entries()].map(([k, v]) => `${v} ${k}`).join(', ');
29
+ const header = `Attendance audit for ${employee.name} (${employee.id}), ${startOn} to ${endOn}\n` +
30
+ `Expected ${hours(expected)} across the range, tracked ${hours(tracked)}; days: ${summary}.\n` +
31
+ `${formatCoverage(coverage)}\n` +
32
+ 'Expected comes from the contract pattern; day type and bank holidays from the company ' +
33
+ 'calendar in Factorial; leave from approved timeoff records. Times are HH:MM company local. ' +
34
+ `A day within ${toleranceMinutes} minutes of its expected total counts as complete.`;
35
+ if (format === 'json') {
36
+ return `${header}\n\nMachine-readable ledger:\n${JSON.stringify(ledger)}`;
37
+ }
38
+ const listed = format === 'table' ? ledger : ledger.filter(d => !QUIET_STATUSES.has(d.status));
39
+ const rows = listed.map(ledgerRow);
40
+ const footer = format === 'table'
41
+ ? ''
42
+ : `\n\n${listed.length} of ${ledger.length} days listed; complete days, weekends and future dates are ` +
43
+ 'only counted above. Pass format: "table" for every day or format: "json" for the ledger.';
44
+ return `${header}\n\n${rows.length > 0 ? rows.join('\n') : ' (nothing needs attention)'}${footer}`;
45
+ }
46
+ /** Text rendering of the `gaps` action, shared with the attendance prompts */
47
+ export function formatGaps(input) {
48
+ const { employee, startOn, endOn, gaps, coverage } = input;
49
+ if (gaps.length === 0) {
50
+ return (`No gaps for ${employee.name} (${employee.id}) between ${startOn} and ${endOn}: ` +
51
+ 'every workday not on leave has at least the expected minutes tracked.\n' +
52
+ formatCoverage(coverage));
53
+ }
54
+ const rows = gaps.map(g => ` ${g.date} expected ${hours(g.expected_minutes)} tracked ${hours(g.tracked_minutes)} ` +
55
+ `missing ${hours(g.missing_minutes)}${g.half_day_leave ? ` (half-day leave: ${g.half_day_leave})` : ''}`);
56
+ const total = gaps.reduce((sum, g) => sum + g.missing_minutes, 0);
57
+ return (`${gaps.length} days with missing hours for ${employee.name} (${employee.id}), ${hours(total)} in total.\n` +
58
+ `${formatCoverage(coverage)}\n\n` +
59
+ `${rows.join('\n')}\n\nWeekends, bank holidays and full-day leave are excluded. ` +
60
+ 'Use log_range with the same dates and your daily segments to fill them.');
61
+ }
62
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/attendance/report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,4CAA4C;IAC5C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3F,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,SAAgB;IAKtC;;;;;;;OAOG;IACH,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,GAAG,WAAW,CAAC,GACjE,MAAM;IA0BT;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAkBxC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAUlD;;OAEG;IACH,OAAO,CAAC,OAAO;IASf;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,eAAe,IAAI,MAAM;CAI1B;AAGD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,GAAE,MAAM,EAAO,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAW9C"}
1
+ {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,4CAA4C;IAC5C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3F,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAIxB,UAAU,SAAiB;IAIvC;;;;;;;OAOG;IACH,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,GAAG,WAAW,CAAC,GACjE,MAAM;IA0BT;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAkBxC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAUlD;;OAEG;IACH,OAAO,CAAC,OAAO;IASf;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,eAAe,IAAI,MAAM;CAI1B;AAGD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,GAAE,MAAM,EAAO,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAW9C"}
@@ -16,8 +16,9 @@ import { ConfirmationExpiredError } from './errors.js';
16
16
  class ConfirmationManager {
17
17
  pending = new Map();
18
18
  tokenTtlMs;
19
- constructor(tokenTtlMs = 5 * 60 * 1000) {
20
- // Default 5 minutes
19
+ // 15 minutes: a human reads the preview, checks a calendar, asks a question,
20
+ // and confirms. Five minutes forced every preview to be regenerated.
21
+ constructor(tokenTtlMs = 15 * 60 * 1000) {
21
22
  this.tokenTtlMs = tokenTtlMs;
22
23
  }
23
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation.js","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirmation.js","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AA0CvD;;;;;GAKG;AACH,MAAM,mBAAmB;IACf,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrC,UAAU,CAAS;IAEpC,6EAA6E;IAC7E,qEAAqE;IACrE,YAAY,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,SAAiB,EACjB,OAAgC,EAChC,OAAkE;QAElE,gCAAgC;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAExC,MAAM,SAAS,GAAqB;YAClC,KAAK;YACL,SAAS;YACT,OAAO;YACP,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,iBAAiB,EAAE,KAAK;gBACxB,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;aAC7C;YACD,SAAS,EAAE,GAAG;YACd,SAAS;SACV,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAa;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,OAAO;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAwC,EACxC,UAAkB,EAClB,QAA4B,EAC5B,UAA8B,EAC9B,OAAgC,EAChC,WAAqB,EAAE;IAEvB,MAAM,KAAK,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,SAAS,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE;QAC1F,SAAS;QACT,UAAU;QACV,QAAQ;QACR,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC;IACvD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
@@ -56,12 +56,41 @@ export declare function factorialRequest<T>(endpoint: string, options?: WriteReq
56
56
  export interface ApiResponse<T> {
57
57
  data: T;
58
58
  }
59
+ /**
60
+ * Pagination block Factorial attaches to every list response. Verified live on
61
+ * 2026-09-06 on API 2026-07-01: `has_next_page`, `has_previous_page`, `total`
62
+ * and `limit` are always present; the first page also carries `start_cursor`
63
+ * and `end_cursor`; endpoints that return everything at once (shifts) say
64
+ * `paginateable: false` with `limit: null`. There is no `current_page` or
65
+ * `total_pages`.
66
+ */
67
+ export interface ApiListMeta {
68
+ has_next_page?: boolean;
69
+ has_previous_page?: boolean;
70
+ total?: number;
71
+ limit?: number | null;
72
+ paginateable?: boolean;
73
+ start_cursor?: string;
74
+ end_cursor?: string;
75
+ }
59
76
  /**
60
77
  * Wrapper type for list API responses
61
78
  */
62
79
  export interface ApiListResponse<T> {
63
80
  data: T[];
81
+ meta?: ApiListMeta;
82
+ }
83
+ /** One page of a list endpoint, with the pagination block the API sent */
84
+ export interface ApiPage<T> {
85
+ data: T[];
86
+ meta?: ApiListMeta;
64
87
  }
88
+ /**
89
+ * Safety cap on the exhaustive read. At 100 items a page this is 100,000
90
+ * records, far beyond any real query this server makes; it exists so that an
91
+ * endpoint that never turns `has_next_page` off cannot spin forever.
92
+ */
93
+ export declare const MAX_LIST_PAGES = 1000;
65
94
  /**
66
95
  * Extract a single record from a response.
67
96
  *
@@ -78,7 +107,22 @@ export declare function unwrapRecord<T>(response: unknown): T;
78
107
  */
79
108
  export declare function fetchOne<T>(endpoint: string, options?: RequestOptions): Promise<T>;
80
109
  /**
81
- * Make a request expecting a list response
110
+ * Read exactly one page of a list endpoint and return it with its meta.
111
+ * This is for user-facing pagers that expose page and limit to the caller.
112
+ * Anything that needs the whole result set must use fetchList.
113
+ */
114
+ export declare function fetchPage<T>(endpoint: string, options?: RequestOptions): Promise<ApiPage<T>>;
115
+ /**
116
+ * Read a list endpoint exhaustively.
117
+ *
118
+ * Factorial pages list endpoints at 100 items by default and reports the
119
+ * remainder in `meta.has_next_page`, so a single request silently truncates
120
+ * anything longer than a page: a 249-day window of estimated_times came back
121
+ * as the first 100 days and nothing else (found 2026-09-06). This follows
122
+ * `has_next_page` until it is false. Filters in `options.params` travel with
123
+ * every page; a caller-supplied `page` is where the read starts and a
124
+ * caller-supplied `limit` is kept. A response without `meta` is taken as
125
+ * complete, which is what endpoints marked `paginateable: false` also say.
82
126
  */
83
127
  export declare function fetchList<T>(endpoint: string, options?: RequestOptions): Promise<T[]>;
84
128
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
@@ -207,6 +207,12 @@ export async function factorialRequest(endpoint, options = {}) {
207
207
  }
208
208
  throw lastError ?? new NetworkError('Request failed after all retries');
209
209
  }
210
+ /**
211
+ * Safety cap on the exhaustive read. At 100 items a page this is 100,000
212
+ * records, far beyond any real query this server makes; it exists so that an
213
+ * endpoint that never turns `has_next_page` off cannot spin forever.
214
+ */
215
+ export const MAX_LIST_PAGES = 1000;
210
216
  /**
211
217
  * Extract a single record from a response.
212
218
  *
@@ -237,11 +243,49 @@ export async function fetchOne(endpoint, options) {
237
243
  return unwrapRecord(response);
238
244
  }
239
245
  /**
240
- * Make a request expecting a list response
246
+ * Read exactly one page of a list endpoint and return it with its meta.
247
+ * This is for user-facing pagers that expose page and limit to the caller.
248
+ * Anything that needs the whole result set must use fetchList.
241
249
  */
242
- export async function fetchList(endpoint, options) {
250
+ export async function fetchPage(endpoint, options) {
243
251
  const response = await factorialRequest(endpoint, options);
244
- return response.data || [];
252
+ return { data: response?.data ?? [], meta: response?.meta };
253
+ }
254
+ /**
255
+ * Read a list endpoint exhaustively.
256
+ *
257
+ * Factorial pages list endpoints at 100 items by default and reports the
258
+ * remainder in `meta.has_next_page`, so a single request silently truncates
259
+ * anything longer than a page: a 249-day window of estimated_times came back
260
+ * as the first 100 days and nothing else (found 2026-09-06). This follows
261
+ * `has_next_page` until it is false. Filters in `options.params` travel with
262
+ * every page; a caller-supplied `page` is where the read starts and a
263
+ * caller-supplied `limit` is kept. A response without `meta` is taken as
264
+ * complete, which is what endpoints marked `paginateable: false` also say.
265
+ */
266
+ export async function fetchList(endpoint, options) {
267
+ const params = options?.params ?? {};
268
+ const startPage = typeof params.page === 'number' && params.page > 0 ? params.page : 1;
269
+ const all = [];
270
+ let page = startPage;
271
+ for (;;) {
272
+ // The first request goes out exactly as the caller built it; only the
273
+ // follow-up pages add `page`, so endpoints that ignore it never see it.
274
+ const response = await factorialRequest(endpoint, page === startPage ? options : { ...options, params: { ...params, page } });
275
+ const batch = response?.data ?? [];
276
+ all.push(...batch);
277
+ const more = response?.meta?.has_next_page === true && batch.length > 0;
278
+ if (!more)
279
+ break;
280
+ page += 1;
281
+ if (page - startPage >= MAX_LIST_PAGES) {
282
+ throw new Error(`fetchList(${endpoint}): more than ${MAX_LIST_PAGES} pages, refusing to continue`);
283
+ }
284
+ }
285
+ if (page > startPage) {
286
+ debug(`fetchList(${endpoint}): read ${all.length} records across ${page - startPage + 1} pages`);
287
+ }
288
+ return all;
245
289
  }
246
290
  // ============================================================================
247
291
  // Write Operation Helpers
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Attendance prompts and the registro horario guide.
3
+ *
4
+ * A prompt is a procedure the user invokes (a slash command in Claude Code,
5
+ * an entry in the prompt menu elsewhere). Each one here pre-reads the facts
6
+ * the procedure starts from, states the exact tool calls that follow with
7
+ * their arguments filled in, and spells out the decision rules, so that a
8
+ * small model can carry the workflow through without having to design it.
9
+ * Nothing is written by a prompt itself; writes happen only through the
10
+ * factorial_attendance tool and its confirmation gate.
11
+ *
12
+ * The guide resource (factorial://guides/registro-horario) is the same
13
+ * knowledge for a model that discovers resources on its own.
14
+ */
15
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
16
+ import { type Segment } from '../attendance/planner.js';
17
+ export declare const GUIDE_URI = "factorial://guides/registro-horario";
18
+ /**
19
+ * Parse the `segments` prompt argument. Prompt arguments are strings, so the
20
+ * daily pattern arrives as "09:00-14:00, 15:00-18:00" (comma, semicolon or
21
+ * whitespace separated) or as the JSON array the tool takes.
22
+ */
23
+ export declare function parseSegmentsArg(text: string): Segment[];
24
+ /** First day of the month of `today` up to `today`, the default audit window */
25
+ export declare function defaultWindow(today: string): {
26
+ start_on: string;
27
+ end_on: string;
28
+ };
29
+ export declare const REGISTRO_HORARIO_GUIDE: string;
30
+ export interface AttendancePromptDeps {
31
+ now?: () => Date;
32
+ }
33
+ /**
34
+ * Register the three attendance prompts and the guide resource on a server.
35
+ * `deps.now` exists for tests; the server uses the wall clock.
36
+ */
37
+ export declare function registerAttendancePrompts(server: McpServer, deps?: AttendancePromptDeps): void;
38
+ //# sourceMappingURL=attendance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attendance.d.ts","sourceRoot":"","sources":["../../src/prompts/attendance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,SAAS,wCAAwC,CAAC;AAI/D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAqCxD;AAkBD,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEjF;AAuCD,eAAO,MAAM,sBAAsB,QA8ClC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,GAAE,oBAAyB,QA0O3F"}