@substrat-run/engine-invoicing 0.8.3 → 0.9.1

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.
package/dist/index.d.ts CHANGED
@@ -116,6 +116,13 @@ export declare const invoicingManifest: {
116
116
  idColumn?: string | undefined;
117
117
  tokenizer?: "prefix" | "substring" | undefined;
118
118
  }[] | undefined;
119
+ lists?: {
120
+ entityType: string;
121
+ sortable: string[];
122
+ filterable?: string[] | undefined;
123
+ table?: string | undefined;
124
+ idColumn?: string | undefined;
125
+ }[] | undefined;
119
126
  ui?: {
120
127
  routes?: {
121
128
  path: string;
@@ -175,5 +182,34 @@ export interface UnderlagDetail {
175
182
  lines: UnderlagLine[];
176
183
  total: string;
177
184
  }
185
+ /**
186
+ * The underlag's state machine, declared (#844).
187
+ *
188
+ * Two states and one edge — the smallest machine in the repo, and the one whose
189
+ * invariant is quoted most often. `exported` is terminal because that IS
190
+ * immutable-after-export: there is no verb that takes an underlag back.
191
+ *
192
+ * **This engine is composed BY EVENT**, so the edge's operation is the only way
193
+ * a state moves — consumers build and update an `open` underlag, and nothing but
194
+ * `invoicing/export` closes it. That is why the declaration is worth having on a
195
+ * two-state machine: it says, in the reviewed artifact, that no consumer may
196
+ * move it.
197
+ */
198
+ export declare const invoicingLifecycles: {
199
+ readonly underlag: {
200
+ readonly field: "status";
201
+ readonly initial: "open";
202
+ readonly states: {
203
+ readonly open: {
204
+ readonly on: {
205
+ readonly 'invoicing/export': "exported";
206
+ };
207
+ };
208
+ readonly exported: {
209
+ readonly terminal: true;
210
+ };
211
+ };
212
+ };
213
+ };
178
214
  export declare const invoicingModule: ModuleRegistration;
179
215
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAOL,KAAK,SAAS,EAGf,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,YACrC,mBAAmB,EACnB,wBAAwB,CAChB,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAKlF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKhE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,cAAc;IACzB,IAAI;IACJ,MAAM;CACP,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;GAuE/B,CAAC;AAmEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAiVD,eAAO,MAAM,eAAe,EAAE,kBAa7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAYL,KAAK,SAAS,EAGf,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,YACrC,mBAAmB,EACnB,wBAAwB,CAChB,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAKlF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKhE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,cAAc;IACzB,IAAI;IACJ,MAAM;CACP,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;GAuE/B,CAAC;AAmEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAgWD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;CAY9B,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,kBAS7B,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@
21
21
  * invoicing engine consumed the event", then reads the basis via `invoicing/list`.
22
22
  */
23
23
  import { z } from 'zod';
24
- import { addMoney, entityRef, money, moduleManifest, moneyOf, permissionKey, substratError, } from '@substrat-run/contracts';
24
+ import { addMoney, defineLifecycles, listsDeclaredBy, mapPage, entityRef, money, moduleManifest, moneyOf, permissionKey, transitionFor, substratError, } from '@substrat-run/contracts';
25
25
  /**
26
26
  * The conflict reasons this engine raises — its own vocabulary, narrowing the platform's
27
27
  * `conflict` code (#113). Exported so a vertical can branch on WHY a refusal happened
@@ -50,6 +50,7 @@ export { invoicingEntities, underlagLine, underlagRow } from './entities.js';
50
50
  */
51
51
  export { underlagDetail, underlagListRow } from './schemas.js';
52
52
  export { invoicingOperations, INVOICING_PERMISSIONS } from './operations.js';
53
+ import { invoicingOperations } from './operations.js';
53
54
  import { assertAllowed, ulid, } from '@substrat-run/kernel';
54
55
  // ============================================================================
55
56
  // The invoicing engine (demos/callout/spec/testrun.md §4.3/§5.3). Consumes
@@ -94,6 +95,8 @@ export const invoicingManifest = moduleManifest.parse({
94
95
  },
95
96
  migrations: { journalDir: './migrations', compatibleFrom: '0.0.1' },
96
97
  attachmentTargets: [{ entityType: 'underlag', readPermission: 'invoicing:read' }],
98
+ // #811: derived from the operations' own `paged.over`, never written twice.
99
+ lists: listsDeclaredBy(invoicingOperations, invoicingEntities),
97
100
  entitlementKey: 'invoicing',
98
101
  ui: {
99
102
  routes: [{ path: 'invoicing', screen: './ui/UnderlagList', permission: 'invoicing:read' }],
@@ -293,7 +296,7 @@ const onWorkOrderCompleted = (ctx, event) => {
293
296
  const id = ulid();
294
297
  const number = ctx.sql.query('SELECT COALESCE(MAX(number), 0) + 1 AS n FROM invoicing_underlag')[0]?.n ?? 1;
295
298
  ctx.sql.exec(`INSERT INTO invoicing_underlag (id, number, customer_type, customer_id, status, created_at)
296
- VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, new Date().toISOString()]);
299
+ VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, ctx.now()]);
297
300
  underlag = ctx.sql.query('SELECT * FROM invoicing_underlag WHERE id = ?', [id])[0];
298
301
  }
299
302
  assertSingleCurrency(ctx, underlag.id, p.billable);
@@ -315,7 +318,7 @@ const onWorkOrderCompleted = (ctx, event) => {
315
318
  line.unitPrice.amount,
316
319
  line.unitPrice.currency,
317
320
  line.lineTotal.amount,
318
- new Date().toISOString(),
321
+ ctx.now(),
319
322
  ]);
320
323
  }
321
324
  ctx.emit({
@@ -349,7 +352,7 @@ const onCommerceOrderPlaced = (ctx, event) => {
349
352
  const id = ulid();
350
353
  const number = ctx.sql.query('SELECT COALESCE(MAX(number), 0) + 1 AS n FROM invoicing_underlag')[0]?.n ?? 1;
351
354
  ctx.sql.exec(`INSERT INTO invoicing_underlag (id, number, customer_type, customer_id, status, created_at)
352
- VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, new Date().toISOString()]);
355
+ VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, ctx.now()]);
353
356
  underlag = ctx.sql.query('SELECT * FROM invoicing_underlag WHERE id = ?', [id])[0];
354
357
  }
355
358
  assertSingleCurrency(ctx, underlag.id, p.billable);
@@ -369,7 +372,7 @@ const onCommerceOrderPlaced = (ctx, event) => {
369
372
  line.unitPrice.amount,
370
373
  line.unitPrice.currency,
371
374
  line.lineTotal.amount,
372
- new Date().toISOString(),
375
+ ctx.now(),
373
376
  ]);
374
377
  }
375
378
  ctx.emit({
@@ -400,7 +403,7 @@ const onTimesheetPeriodClosed = (ctx, event) => {
400
403
  const id = ulid();
401
404
  const number = ctx.sql.query('SELECT COALESCE(MAX(number), 0) + 1 AS n FROM invoicing_underlag')[0]?.n ?? 1;
402
405
  ctx.sql.exec(`INSERT INTO invoicing_underlag (id, number, customer_type, customer_id, status, created_at)
403
- VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, new Date().toISOString()]);
406
+ VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, ctx.now()]);
404
407
  underlag = ctx.sql.query('SELECT * FROM invoicing_underlag WHERE id = ?', [id])[0];
405
408
  }
406
409
  assertSingleCurrency(ctx, underlag.id, p.billable);
@@ -420,7 +423,7 @@ const onTimesheetPeriodClosed = (ctx, event) => {
420
423
  line.unitPrice.amount,
421
424
  line.unitPrice.currency,
422
425
  line.lineTotal.amount,
423
- new Date().toISOString(),
426
+ ctx.now(),
424
427
  ]);
425
428
  }
426
429
  ctx.emit({
@@ -435,12 +438,20 @@ const onTimesheetPeriodClosed = (ctx, event) => {
435
438
  },
436
439
  });
437
440
  };
441
+ /**
442
+ * #811. The walk is the kernel's, from this operation's declared vocabulary; the
443
+ * per-row total stays here, and the page BOUNDS it — that `underlagTotal` ran
444
+ * once per basis in the scope and now runs once per basis on the page.
445
+ */
438
446
  const listOp = async (ctx, input) => {
439
447
  assertAllowed(await ctx.check(INVOICING_PERM.read));
440
- const rows = input?.status
441
- ? ctx.sql.query('SELECT * FROM invoicing_underlag WHERE status = ? ORDER BY number DESC', [input.status])
442
- : ctx.sql.query('SELECT * FROM invoicing_underlag ORDER BY number DESC');
443
- return rows.map((r) => ({ ...r, total: underlagTotal(ctx, r.id) }));
448
+ // `input` is genuinely absent when invoked with no body at all — the
449
+ // declaration says `inputOptional`, and an in-process caller takes it up.
450
+ const page = ctx.page('underlag', {
451
+ ...input,
452
+ filters: { status: input?.status },
453
+ });
454
+ return mapPage(page, (r) => ({ ...r, total: underlagTotal(ctx, r.id) }));
444
455
  };
445
456
  const getOp = async (ctx, input) => {
446
457
  assertAllowed(await ctx.check(INVOICING_PERM.read));
@@ -459,10 +470,14 @@ const exportOp = async (ctx, input) => {
459
470
  ])[0];
460
471
  if (!underlag)
461
472
  throw substratError('not_found', `underlag not found: ${input.underlagId}`);
462
- if (underlag.status !== 'open') {
473
+ // `transitionFor`, not `assertTransition` (#844): the declaration answers
474
+ // whether the verb is legal here, and this engine keeps its OWN reason for
475
+ // the refusal. `immutable_after_export` is the invariant a caller needs to
476
+ // hear; flattening it into `invalid_transition` would tell them less.
477
+ if (!transitionFor(invoicingLifecycles.underlag, underlag.status, 'invoicing/export')) {
463
478
  throw conflict('immutable_after_export', `underlag ${underlag.number} is '${underlag.status}' — exported underlag are immutable`);
464
479
  }
465
- ctx.sql.exec(`UPDATE invoicing_underlag SET status = 'exported', exported_at = ? WHERE id = ?`, [new Date().toISOString(), underlag.id]);
480
+ ctx.sql.exec(`UPDATE invoicing_underlag SET status = 'exported', exported_at = ? WHERE id = ?`, [ctx.now(), underlag.id]);
466
481
  ctx.emit({
467
482
  type: 'invoicing.underlag-exported',
468
483
  schemaVersion: 2,
@@ -480,14 +495,38 @@ const exportOp = async (ctx, input) => {
480
495
  underlag.id,
481
496
  ])[0];
482
497
  };
498
+ const OPERATIONS = {
499
+ 'invoicing/list': listOp,
500
+ 'invoicing/get': getOp,
501
+ 'invoicing/export': exportOp,
502
+ };
503
+ /**
504
+ * The underlag's state machine, declared (#844).
505
+ *
506
+ * Two states and one edge — the smallest machine in the repo, and the one whose
507
+ * invariant is quoted most often. `exported` is terminal because that IS
508
+ * immutable-after-export: there is no verb that takes an underlag back.
509
+ *
510
+ * **This engine is composed BY EVENT**, so the edge's operation is the only way
511
+ * a state moves — consumers build and update an `open` underlag, and nothing but
512
+ * `invoicing/export` closes it. That is why the declaration is worth having on a
513
+ * two-state machine: it says, in the reviewed artifact, that no consumer may
514
+ * move it.
515
+ */
516
+ export const invoicingLifecycles = defineLifecycles(invoicingEntities, OPERATIONS)({
517
+ underlag: {
518
+ field: 'status',
519
+ initial: 'open',
520
+ states: {
521
+ open: { on: { 'invoicing/export': 'exported' } },
522
+ exported: { terminal: true },
523
+ },
524
+ },
525
+ });
483
526
  export const invoicingModule = {
484
527
  manifest: invoicingManifest,
485
528
  migrations: invoicingMigrations,
486
- operations: {
487
- 'invoicing/list': listOp,
488
- 'invoicing/get': getOp,
489
- 'invoicing/export': exportOp,
490
- },
529
+ operations: OPERATIONS,
491
530
  consumers: {
492
531
  'workorder.completed': onWorkOrderCompleted,
493
532
  'commerce.order-placed': onCommerceOrderPlaced,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** The artifact of record for this engine (#697/#844). Imported by nothing, so the direction stays acyclic. */
2
+ export declare const invoicingModel: import("@substrat-run/contracts").EmittedModel;
3
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAIA,+GAA+G;AAC/G,eAAO,MAAM,cAAc,gDAAoE,CAAC"}
package/dist/model.js ADDED
@@ -0,0 +1,6 @@
1
+ import { emitModel } from '@substrat-run/contracts';
2
+ import { invoicingEntities } from './entities.js';
3
+ import { invoicingLifecycles } from './index.js';
4
+ /** The artifact of record for this engine (#697/#844). Imported by nothing, so the direction stays acyclic. */
5
+ export const invoicingModel = emitModel(invoicingEntities, { lifecycles: invoicingLifecycles });
6
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,+GAA+G;AAC/G,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC"}
@@ -42,7 +42,7 @@ export declare const invoicingOperations: {
42
42
  status: z.ZodOptional<z.ZodString>;
43
43
  }, z.core.$strip>;
44
44
  readonly inputOptional: true;
45
- readonly output: z.ZodArray<z.ZodObject<{
45
+ readonly output: z.ZodObject<{
46
46
  id: z.ZodString;
47
47
  number: z.ZodNumber;
48
48
  customer_type: z.ZodString;
@@ -54,7 +54,15 @@ export declare const invoicingOperations: {
54
54
  created_at: z.ZodString;
55
55
  exported_at: z.ZodNullable<z.ZodString>;
56
56
  total: z.ZodString;
57
- }, z.core.$strip>>;
57
+ }, z.core.$strip>;
58
+ readonly paged: {
59
+ readonly over: {
60
+ readonly entity: "underlag";
61
+ readonly sortable: readonly ["number", "status", "created_at"];
62
+ readonly filterable: readonly ["status", "customer_id"];
63
+ };
64
+ readonly order: "desc";
65
+ };
58
66
  };
59
67
  readonly 'invoicing/get': {
60
68
  readonly summary: "One invoice basis with its lines and total";
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAoB,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAI9D,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,YAAI,gBAAgB,EAAE,kBAAkB,CAAU,CAAC;AAIrF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB9B,CAAC"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAoB,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAI9D,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,YAAI,gBAAgB,EAAE,kBAAkB,CAAU,CAAC;AAIrF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC9B,CAAC"}
@@ -42,9 +42,20 @@ export const invoicingOperations = defineOperations(invoicingEntities, INVOICING
42
42
  summary: 'Invoice bases, newest first, optionally filtered by status',
43
43
  permission: 'invoicing:read',
44
44
  input: z.object({ status: z.string().optional() }),
45
- // The handler answers with every basis when called with no body at all.
46
45
  inputOptional: true,
47
- output: z.array(underlagListRow),
46
+ // The ENTRY, not the envelope (#811).
47
+ output: underlagListRow,
48
+ // `number` first, so the default walk stays the one this shipped with:
49
+ // newest basis at the top. `status` is the filter an office actually uses —
50
+ // "what is still open" — and is offered as a sort for the same reason.
51
+ paged: {
52
+ over: {
53
+ entity: 'underlag',
54
+ sortable: ['number', 'status', 'created_at'],
55
+ filterable: ['status', 'customer_id'],
56
+ },
57
+ order: 'desc',
58
+ },
48
59
  },
49
60
  'invoicing/get': {
50
61
  summary: 'One invoice basis with its lines and total',
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAU,CAAC;AAErF,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAC5F,gBAAgB,EAAE;QAChB,OAAO,EAAE,4DAA4D;QACrE,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClD,wEAAwE;QACxE,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;KACjC;IAED,eAAe,EAAE;QACf,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,cAAc;KACvB;IAED,kBAAkB,EAAE;QAClB,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,kBAAkB;QAC9B,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;KACpB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAU,CAAC;AAErF,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IAC5F,gBAAgB,EAAE;QAChB,OAAO,EAAE,4DAA4D;QACrE,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClD,aAAa,EAAE,IAAI;QACnB,sCAAsC;QACtC,MAAM,EAAE,eAAe;QACvB,uEAAuE;QACvE,4EAA4E;QAC5E,uEAAuE;QACvE,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;aACtC;YACD,KAAK,EAAE,MAAM;SACd;KACF;IAED,eAAe,EAAE;QACf,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,gBAAgB;QAC5B,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,cAAc;KACvB;IAED,kBAAkB,EAAE;QAClB,OAAO,EAAE,8CAA8C;QACvD,UAAU,EAAE,kBAAkB;QAC9B,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;KACpB;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/engine-invoicing",
3
- "version": "0.8.3",
3
+ "version": "0.9.1",
4
4
  "description": "Substrat engine: invoice basis — consumes billable events, snapshots lines with provenance, immutable once exported",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -25,15 +25,15 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@substrat-run/contracts": "^0.83.0",
29
- "@substrat-run/kernel": "^0.83.0"
28
+ "@substrat-run/contracts": "^0.85.0",
29
+ "@substrat-run/kernel": "^0.85.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "typescript": "^7.0.0",
33
33
  "vitest": "^3.2.7",
34
34
  "zod": "^4.4.3",
35
- "@substrat-run/engine-test-kit": "^0.3.10",
36
- "@substrat-run/model-emit": "0.6.0"
35
+ "@substrat-run/model-emit": "0.7.1",
36
+ "@substrat-run/engine-test-kit": "^0.3.12"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "zod": "^4.4.0"