@flowselections/logistiek-engine 1.0.111 → 1.0.112

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.
@@ -27,6 +27,8 @@ export interface ModulePromptRevision {
27
27
  summary: string;
28
28
  /** Het gedeelde contract meesturen (alleen bij de eerste prompt). */
29
29
  withSharedContract?: boolean;
30
+ /** De module heeft deze prompt uitgevoerd; de tekst blijft ongewijzigd staan. */
31
+ resolved?: boolean;
30
32
  /** De inhoud van de prompt. */
31
33
  body: string;
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAIvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAi3ID,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAeR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
1
+ {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;CAIvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAy5ID,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAmBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
@@ -3799,6 +3799,7 @@ CONTROLELIJST
3799
3799
  title: "Bestaande voorraadsleutel ook zonder Floriday-koppeling teruggeven",
3800
3800
  date: "2026-10-08",
3801
3801
  withSharedContract: false,
3802
+ resolved: true,
3802
3803
  summary: "ensure_trade_item_stock_row_key geeft nu NULL zonder actieve Floriday-koppeling, ook als de rij al bestaat. Geef dan de bestaande canonieke sleutel terug.",
3803
3804
  body: `WAAROM
3804
3805
  In een shell zonder actieve Floriday-koppeling geeft
@@ -3821,6 +3822,44 @@ CONTROLELIJST
3821
3822
  [ ] Zonder koppeling en zonder rij: NULL, geen rij.
3822
3823
  [ ] Met koppeling: gedrag ongewijzigd.
3823
3824
  [ ] Fysiek, minimum en inkomend worden nooit geraakt.
3825
+ [ ] Geen URL's, sleutels, project-refs, klantnamen of vaste id's in code of migratie.`,
3826
+ },
3827
+ {
3828
+ number: 7,
3829
+ title: "Afboeken van sets en groepen op onderdelen en leden",
3830
+ date: "2026-10-09",
3831
+ withSharedContract: false,
3832
+ summary: "Boek bij levering af op dezelfde onderdelen en leden als de reservering, via logistics_order_line_allocation, met change_source op elke update.",
3833
+ body: `WAAROM
3834
+ De Engine reserveert sets nu op hun onderdelen en groepen op hun leden (nooit op
3835
+ de set of de groepssleutel). De afboekfuncties zijn van de Voorraad-module en
3836
+ boeken nog af op het bestelde artikel (karrencontrole) of zonder sets
3837
+ (statuswissel). Dan klopt de voorraad na levering niet.
3838
+
3839
+ Let op: de karrencontrole (trg_cart_session_consume_fn) heeft nu GEEN controle
3840
+ op dubbel afboeken. Elke afgeronde karsessie boekt alle regels van de order
3841
+ opnieuw af.
3842
+
3843
+ WAT JE AANPAST (alleen in de Voorraad-module)
3844
+ 1. In trg_orders_consume_on_complete_fn en trg_cart_session_consume_fn: per
3845
+ orderregel de rijen uit public.logistics_order_line_allocation(order_item_id)
3846
+ halen en per rij apply_stock_consumption(trade_item_key, qty, ...) aanroepen.
3847
+ Rijen met source = 'error' niet afboeken, wel vastleggen (consumption_blocked).
3848
+ 2. Eén controle op dubbel afboeken per orderregel in BEIDE triggers (de
3849
+ karrencontrole heeft die nu niet).
3850
+ 3. apply_stock_consumption: change_source in dezelfde update zetten
3851
+ (ORDER_DELIVERY, of FLORIDAY_ORDER voor Floriday-orders).
3852
+ 4. Zet vóór elke update set_config('stock.change_source', '<bron>', true),
3853
+ zodat de logtrigger de bron leest.
3854
+ 5. Structuur niet zelf uitklappen; de Engine levert onderdelen en leden.
3855
+
3856
+ CONTROLELIJST
3857
+ [ ] Set van 2x X + 1x groep, levering 3: X -6, gekozen lid -3, set 0.
3858
+ [ ] Groep: dezelfde leden als de reservering, groepssleutel nooit geraakt.
3859
+ [ ] Tweede keer afboeken doet niets.
3860
+ [ ] Een tweede afgeronde karsessie voor dezelfde order boekt niets af.
3861
+ [ ] Elke update heeft een change_source.
3862
+ [ ] Test met synthetische artikelen in een teruggedraaide transactie.
3824
3863
  [ ] Geen URL's, sleutels, project-refs, klantnamen of vaste id's in code of migratie.`,
3825
3864
  },
3826
3865
  ],
@@ -4350,10 +4389,13 @@ export function buildRevisionPrompt(prompt, revision) {
4350
4389
  ? `\n## Gedeeld contract\n\n${sharedBlock(prompt.moduleKey)}\n`
4351
4390
  : `\n(Deze prompt is een aanvulling. Het gedeelde contract uit koppelprompt 1 blijft
4352
4391
  onverkort gelden — niets terugdraaien.)\n`;
4392
+ const resolvedNote = revision.resolved
4393
+ ? `(AFGEHANDELD — uitgevoerd door de module op ${revision.date}; blijft geldig, niets terugdraaien.)\n`
4394
+ : "";
4353
4395
  return `# Koppelprompt ${revision.number} — ${prompt.label}
4354
4396
  ## ${revision.title} (${revision.date})
4355
4397
 
4356
- ${revision.summary}
4398
+ ${resolvedNote}${revision.summary}
4357
4399
  ${shared}
4358
4400
  ## Wat deze module moet doen
4359
4401
 
@@ -1,2 +1,2 @@
1
- export declare const MODULE_VERSION = "1.0.111";
1
+ export declare const MODULE_VERSION = "1.0.112";
2
2
  //# sourceMappingURL=moduleVersion.d.ts.map
@@ -1,2 +1,2 @@
1
1
  // Automatisch gegenereerd door prebuild:lib; niet handmatig aanpassen.
2
- export const MODULE_VERSION = "1.0.111";
2
+ export const MODULE_VERSION = "1.0.112";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/logistiek-engine",
3
- "version": "1.0.111",
3
+ "version": "1.0.112",
4
4
  "flowselections": {
5
5
  "moduleId": "logistiek-engine",
6
6
  "pages": [