@flowselections/logistiek-engine 1.0.155 → 1.0.159

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 (118) hide show
  1. package/dist-lib/components/AfrondWachtrijCard.js +1 -1
  2. package/dist-lib/components/BeheerPage.js +5 -5
  3. package/dist-lib/components/BeladingIndelingCard.js +3 -3
  4. package/dist-lib/components/BeladingsafwijkingenCard.js +1 -1
  5. package/dist-lib/components/BufferDebugCard.d.ts +1 -1
  6. package/dist-lib/components/BufferDebugCard.js +1 -1
  7. package/dist-lib/components/CapaciteitMeldingenCard.js +1 -1
  8. package/dist-lib/components/FloridayPoortCard.js +1 -1
  9. package/dist-lib/components/FloridayPushCard.js +1 -1
  10. package/dist-lib/components/FlowCanvas.d.ts +5 -5
  11. package/dist-lib/components/FlowCanvas.js +4 -4
  12. package/dist-lib/components/FlowOrders.d.ts +1 -1
  13. package/dist-lib/components/FlowOrders.js +3 -3
  14. package/dist-lib/components/FlowPage.js +21 -21
  15. package/dist-lib/components/GearchiveerdeOrdersCard.js +1 -1
  16. package/dist-lib/components/GeblokkeerdeOrdersCard.js +1 -1
  17. package/dist-lib/components/KardekkingCard.js +1 -1
  18. package/dist-lib/components/LadingdragersPage.js +2 -2
  19. package/dist-lib/components/LogistiekEnginePage.js +5 -5
  20. package/dist-lib/components/LogistiekEngineQueuePage.js +3 -3
  21. package/dist-lib/components/MinuutrondeCard.js +3 -3
  22. package/dist-lib/components/ModulePromptsPage.js +3 -3
  23. package/dist-lib/components/NodeTracePanel.d.ts +2 -2
  24. package/dist-lib/components/NodeTracePanel.js +4 -4
  25. package/dist-lib/components/OpruimlijstKarrenCard.d.ts.map +1 -1
  26. package/dist-lib/components/OpruimlijstKarrenCard.js +80 -17
  27. package/dist-lib/components/OrderJourneyBar.d.ts +1 -1
  28. package/dist-lib/components/OrderJourneyBar.js +2 -2
  29. package/dist-lib/components/OrderLogboek.d.ts +1 -1
  30. package/dist-lib/components/OrderLogboek.js +1 -1
  31. package/dist-lib/components/OrderStopBanner.d.ts +1 -1
  32. package/dist-lib/components/OrderStopBanner.js +4 -4
  33. package/dist-lib/components/OrderTraceDetails.d.ts +1 -1
  34. package/dist-lib/components/OrderTraceDetails.js +2 -2
  35. package/dist-lib/components/PlanWachtrijPage.js +3 -3
  36. package/dist-lib/components/PlannerDiffCard.js +1 -1
  37. package/dist-lib/components/PrintjobsCard.js +1 -1
  38. package/dist-lib/components/RegiePage.js +11 -11
  39. package/dist-lib/components/RolPoort.d.ts +1 -1
  40. package/dist-lib/components/RolPoort.js +1 -1
  41. package/dist-lib/components/RuleEnginePage.js +11 -11
  42. package/dist-lib/components/StrategieDialog.d.ts +1 -1
  43. package/dist-lib/components/TaakGezondheidCard.js +1 -1
  44. package/dist-lib/components/VertragingMeldingenCard.js +1 -1
  45. package/dist-lib/components/VoorraadMeldingenCard.js +1 -1
  46. package/dist-lib/components/WerktijdenCard.js +1 -1
  47. package/dist-lib/components/WerkwijzeHerindelingCard.js +1 -1
  48. package/dist-lib/components/rule-engine/CollapsibleGroup.js +1 -1
  49. package/dist-lib/components/rule-engine/ConditionsEditor.d.ts +1 -1
  50. package/dist-lib/components/rule-engine/ConditionsEditor.js +1 -1
  51. package/dist-lib/components/rule-engine/ImpactPanel.d.ts +1 -1
  52. package/dist-lib/components/rule-engine/ImpactPanel.js +1 -1
  53. package/dist-lib/components/rule-engine/RuleFieldInput.d.ts +1 -1
  54. package/dist-lib/components/rule-engine/RuleFieldInput.js +5 -5
  55. package/dist-lib/components/rule-engine/VersionsPanel.d.ts +2 -2
  56. package/dist-lib/components/rule-engine/VersionsPanel.js +1 -1
  57. package/dist-lib/hooks/useFloridayPushes.js +1 -1
  58. package/dist-lib/hooks/useLadingdragers.d.ts +1 -1
  59. package/dist-lib/hooks/useLogistiekTaken.d.ts +1 -1
  60. package/dist-lib/hooks/useLogistiekTaken.js +1 -1
  61. package/dist-lib/hooks/useOrderNodeTrace.d.ts +3 -3
  62. package/dist-lib/hooks/useOrderNodeTrace.js +3 -3
  63. package/dist-lib/hooks/useOrderVersies.d.ts +2 -2
  64. package/dist-lib/hooks/useOrderVersies.js +1 -1
  65. package/dist-lib/hooks/useRecalcJob.js +1 -1
  66. package/dist-lib/hooks/useRuleEngine.d.ts +1 -1
  67. package/dist-lib/hooks/useRuleEngine.js +1 -1
  68. package/dist-lib/hooks/useShellAdres.d.ts +1 -1
  69. package/dist-lib/hooks/useShellAdres.js +2 -2
  70. package/dist-lib/hooks/useWerkwijzeStatus.js +1 -1
  71. package/dist-lib/index.d.ts +74 -74
  72. package/dist-lib/index.js +75 -75
  73. package/dist-lib/integrations/supabase/auth-attacher.js +1 -1
  74. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
  75. package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
  76. package/dist-lib/integrations/supabase/moduleClient.d.ts +1 -1
  77. package/dist-lib/integrations/supabase/types.d.ts +93 -0
  78. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  79. package/dist-lib/lib/dimensionData.server.d.ts +3 -3
  80. package/dist-lib/lib/floridayDocuments.functions.d.ts +1 -1
  81. package/dist-lib/lib/floridayDocuments.functions.js +3 -3
  82. package/dist-lib/lib/floridayPush.functions.js +1 -1
  83. package/dist-lib/lib/floridayPush.server.d.ts.map +1 -1
  84. package/dist-lib/lib/floridayPush.server.js +2 -1
  85. package/dist-lib/lib/flowGraph.d.ts +2 -2
  86. package/dist-lib/lib/flowGraph.js +2 -2
  87. package/dist-lib/lib/flowJourney.d.ts +2 -2
  88. package/dist-lib/lib/flowJourney.js +1 -1
  89. package/dist-lib/lib/flowRoute.d.ts +4 -4
  90. package/dist-lib/lib/flowRoute.js +4 -4
  91. package/dist-lib/lib/flowTree.d.ts +1 -1
  92. package/dist-lib/lib/flowTree.js +2 -2
  93. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +4 -4
  94. package/dist-lib/lib/loadCarrierPlanning.functions.js +7 -7
  95. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +3 -3
  96. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  97. package/dist-lib/lib/loadCarrierPlanning.server.js +12 -6
  98. package/dist-lib/lib/loadCarrierTaskSync.server.d.ts +1 -1
  99. package/dist-lib/lib/loadCarrierTypes.d.ts +1 -1
  100. package/dist-lib/lib/logisticsPlanner.d.ts +2 -2
  101. package/dist-lib/lib/logisticsPlanner.js +2 -2
  102. package/dist-lib/lib/logisticsRecalcJob.functions.js +2 -2
  103. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  104. package/dist-lib/lib/modulePrompts.js +136 -1
  105. package/dist-lib/lib/moduleVersion.d.ts +1 -1
  106. package/dist-lib/lib/moduleVersion.js +1 -1
  107. package/dist-lib/lib/nodeTrace.d.ts +1 -1
  108. package/dist-lib/lib/nodeTrace.js +1 -1
  109. package/dist-lib/lib/plannerDiff.functions.js +1 -1
  110. package/dist-lib/lib/ruleEngineImpact.d.ts +1 -1
  111. package/dist-lib/lib/ruleEngineImpact.js +1 -1
  112. package/dist-lib/lib/ruleEngineWizard.d.ts +1 -1
  113. package/dist-lib/lib/ruleEngineWizard.js +1 -1
  114. package/dist-lib/lib/stopReden.d.ts +3 -3
  115. package/dist-lib/lib/stopReden.js +3 -3
  116. package/dist-lib/lib/vakUitleg.d.ts +1 -1
  117. package/dist-lib/lib/vakUitleg.js +3 -3
  118. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import type { SupabaseClient } from "@supabase/supabase-js";
2
- import type { PlannerInputItem } from "./loadCarrierPlanner";
3
- import type { LoadCarrierTypeRow } from "./loadCarrierTypes";
4
- import type { DimensionCarrier, DimensionItem } from "./dimensionPlanner";
2
+ import type { PlannerInputItem } from "./loadCarrierPlanner.js";
3
+ import type { LoadCarrierTypeRow } from "./loadCarrierTypes.js";
4
+ import type { DimensionCarrier, DimensionItem } from "./dimensionPlanner.js";
5
5
  export interface MissingDimension {
6
6
  /** product | fust | ladingdrager */
7
7
  subject: "product" | "fust" | "ladingdrager";
@@ -3,7 +3,7 @@ export declare const getFloridayConnection: import("@tanstack/start-client-core"
3
3
  supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
4
4
  userId: string;
5
5
  claims: import("@supabase/auth-js").User;
6
- }, undefined, undefined, undefined>], undefined, Promise<import("./floridayDocuments.server").FloridayActiveConnection | import("./floridayDocuments.server").FloridayConnectionError>>;
6
+ }, undefined, undefined, undefined>], undefined, Promise<import("./floridayDocuments.server.js").FloridayActiveConnection | import("./floridayDocuments.server.js").FloridayConnectionError>>;
7
7
  /** Eén document voor een printtaak. ok:false is een printfout, geen crash. */
8
8
  export declare const fetchLogisticsDocument: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, undefined, undefined, undefined, undefined>, import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
9
9
  supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
@@ -11,7 +11,7 @@ export const getFloridayConnection = createServerFn({ method: "GET" })
11
11
  .middleware([readableServerErrors, requireSupabaseAuth])
12
12
  .handler(async () => {
13
13
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
14
- const { getFlorydayActiveConnection } = await import("./floridayDocuments.server");
14
+ const { getFlorydayActiveConnection } = await import("./floridayDocuments.server.js");
15
15
  return getFlorydayActiveConnection(supabaseAdmin);
16
16
  });
17
17
  /** Eén document voor een printtaak. ok:false is een printfout, geen crash. */
@@ -20,7 +20,7 @@ export const fetchLogisticsDocument = createServerFn({ method: "POST" })
20
20
  .inputValidator((input) => input)
21
21
  .handler(async ({ data }) => {
22
22
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
23
- const { getFlorydayDocument, claimDocumentPrint, finishDocumentPrint } = await import("./floridayDocuments.server");
23
+ const { getFlorydayDocument, claimDocumentPrint, finishDocumentPrint } = await import("./floridayDocuments.server.js");
24
24
  const supabase = supabaseAdmin;
25
25
  const claim = await claimDocumentPrint(supabase, {
26
26
  orderRef: data.orderRef,
@@ -49,7 +49,7 @@ export const fetchMergedLogisticsDocuments = createServerFn({ method: "POST" })
49
49
  .inputValidator((input) => input)
50
50
  .handler(async ({ data }) => {
51
51
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
52
- const { getFlorydayMergedDocument, claimDocumentPrint, finishDocumentPrint } = await import("./floridayDocuments.server");
52
+ const { getFlorydayMergedDocument, claimDocumentPrint, finishDocumentPrint } = await import("./floridayDocuments.server.js");
53
53
  const supabase = supabaseAdmin;
54
54
  const claim = await claimDocumentPrint(supabase, {
55
55
  orderRef: data.orderRef,
@@ -15,7 +15,7 @@ export const retryFloridayPush = createServerFn({ method: "POST" })
15
15
  })
16
16
  .handler(async ({ data }) => {
17
17
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
18
- const { queueFloridayPush } = await import("./floridayPush.server");
18
+ const { queueFloridayPush } = await import("./floridayPush.server.js");
19
19
  await queueFloridayPush(supabaseAdmin, data.orderRef);
20
20
  return { ok: true };
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"floridayPush.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayPush.server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAc/C,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlD;AAaD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,CAAC;CACjE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAUnE;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CACN;IACE,EAAE,EAAE,IAAI,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAC7C,CAoEA;AAED,8CAA8C;AAC9C,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAiItB;AAQD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3F;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG;AA6BD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,eAAe,CAAC,CA4L1B;AAQD,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F"}
1
+ {"version":3,"file":"floridayPush.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayPush.server.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAc/C,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlD;AAaD,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,OAAO,2BAA2B,EAAE,WAAW,EAAE,CAAC;CACjE;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAUnE;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,cAAc,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CACN;IACE,EAAE,EAAE,IAAI,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,EAAE,CAAC;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAC7C,CAoEA;AAED,8CAA8C;AAC9C,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAkItB;AAQD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3F;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG;AA6BD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,eAAe,CAAC,CA4L1B;AAQD,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F"}
@@ -163,7 +163,8 @@ export async function buildFloridayPayload(sb, orderRef) {
163
163
  const { data: lines, error: cartsError } = await sb
164
164
  .from("order_cart_items")
165
165
  .select("cart_id, order_item_id, product_id, product_name, crates, boxes, plants_per_crate, order_carts!inner(id, cart_number, carrier_type, total_layers_used)")
166
- .in("order_item_id", ownItemIds);
166
+ .in("order_item_id", ownItemIds)
167
+ .is("order_carts.archived_at", null);
167
168
  if (cartsError) {
168
169
  return {
169
170
  ok: false,
@@ -1,5 +1,5 @@
1
- import { type RuleEngineSettings, type RuleField, type RuleGroup } from "./ruleEngineSchema";
2
- import { type WizardStep } from "./ruleEngineWizard";
1
+ import { type RuleEngineSettings, type RuleField, type RuleGroup } from "./ruleEngineSchema.js";
2
+ import { type WizardStep } from "./ruleEngineWizard.js";
3
3
  export interface FlowBranch {
4
4
  value: string;
5
5
  label: string;
@@ -6,8 +6,8 @@
6
6
  // de engine gebruikt. Er wordt hier geen aparte flow beschreven: verandert een
7
7
  // instelling, dan verandert dit schema mee.
8
8
  // ============================================================================
9
- import { fieldVisible, optionLabel, conditionFieldLabel, conditionOperatorLabel, } from "./ruleEngineSchema";
10
- import { WIZARD_STEPS } from "./ruleEngineWizard";
9
+ import { fieldVisible, optionLabel, conditionFieldLabel, conditionOperatorLabel, } from "./ruleEngineSchema.js";
10
+ import { WIZARD_STEPS } from "./ruleEngineWizard.js";
11
11
  const DAY_SHORT = {
12
12
  mon: "ma",
13
13
  tue: "di",
@@ -1,5 +1,5 @@
1
- import type { FlowTree, TreeNode } from "./flowTree";
2
- import type { TraceEvent } from "./trace.server";
1
+ import type { FlowTree, TreeNode } from "./flowTree.js";
2
+ import type { TraceEvent } from "./trace.server.js";
3
3
  /** Eén vakje op de route die voor deze order geldt. */
4
4
  export interface JourneyVak {
5
5
  nodeId: string;
@@ -9,7 +9,7 @@
9
9
  //
10
10
  // Puur observerend: hier wordt niets besloten, gepland, geprint of gewijzigd.
11
11
  // ============================================================================
12
- import { FLOW_NODE, bronNodeVoor } from "./flowNodes";
12
+ import { FLOW_NODE, bronNodeVoor } from "./flowNodes.js";
13
13
  const HOOFDSTAPPEN = new Set([
14
14
  FLOW_NODE.samenvoegen,
15
15
  FLOW_NODE.ontvangst,
@@ -1,7 +1,7 @@
1
- import type { FlowTree } from "./flowTree";
2
- import type { NodeTraceGroep } from "./nodeTrace";
3
- import { type StopReden } from "./stopReden";
4
- import type { TraceOrderStand } from "../hooks/useOrderTrace";
1
+ import type { FlowTree } from "./flowTree.js";
2
+ import type { NodeTraceGroep } from "./nodeTrace.js";
3
+ import { type StopReden } from "./stopReden.js";
4
+ import type { TraceOrderStand } from "../hooks/useOrderTrace.js";
5
5
  /** Eén herberekening zoals `logistics_trace_versions` die teruggeeft. */
6
6
  export interface OrderVersie {
7
7
  id: string;
@@ -11,10 +11,10 @@
11
11
  // stap gold, komt uit de instellingen van nú; het logboek bewaart (nog) geen
12
12
  // momentopname van de werkwijze per herberekening. Dat melden we in de kaart.
13
13
  // ============================================================================
14
- import { WIZARD_STEPS } from "./ruleEngineWizard";
15
- import { FLOW_NODE, bronNodeVoor } from "./flowNodes";
16
- import { vakUitleg } from "./vakUitleg";
17
- import { stopReden, samenkomstStop } from "./stopReden";
14
+ import { WIZARD_STEPS } from "./ruleEngineWizard.js";
15
+ import { FLOW_NODE, bronNodeVoor } from "./flowNodes.js";
16
+ import { vakUitleg } from "./vakUitleg.js";
17
+ import { stopReden, samenkomstStop } from "./stopReden.js";
18
18
  const STEP_IDS = WIZARD_STEPS.map((s) => s.id);
19
19
  const STAP = {
20
20
  combineren: STEP_IDS[0] ?? "orders_combineren",
@@ -1,4 +1,4 @@
1
- import { type RuleEngineSettings, type RuleField } from "./ruleEngineSchema";
1
+ import { type RuleEngineSettings, type RuleField } from "./ruleEngineSchema.js";
2
2
  export type FlowState = "active" | "possible" | "disabled";
3
3
  export type TreeNodeKind = "start" | "end" | "source" | "step" | "decision" | "setting" | "option" | "merge";
4
4
  export interface TreeOption {
@@ -8,8 +8,8 @@
8
8
  // dezelfde `fieldVisible`-logica bepaald die de engine en het instelscherm
9
9
  // gebruiken. Er staat hier geen aparte flowlogica.
10
10
  // ============================================================================
11
- import { fieldVisible, optionLabel, } from "./ruleEngineSchema";
12
- import { WIZARD_STEPS, fieldHelp } from "./ruleEngineWizard";
11
+ import { fieldVisible, optionLabel, } from "./ruleEngineSchema.js";
12
+ import { WIZARD_STEPS, fieldHelp } from "./ruleEngineWizard.js";
13
13
  export const NODE_SIZE = {
14
14
  start: { w: 240, h: 60 },
15
15
  end: { w: 240, h: 60 },
@@ -10,7 +10,7 @@ export declare const replanOrderLoadCarriers: import("@tanstack/start-client-cor
10
10
  orderId: string;
11
11
  dryRun?: boolean;
12
12
  carrierType?: string | null;
13
- }, Promise<import("./loadCarrierPlanning.server").ReplanResult | null>>;
13
+ }, Promise<import("./loadCarrierPlanning.server.js").ReplanResult | null>>;
14
14
  export declare const replanBufferLoadCarriers: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, undefined, undefined, undefined, undefined>, import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
15
15
  supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
16
16
  userId: string;
@@ -23,7 +23,7 @@ export declare const replanBufferLoadCarriers: import("@tanstack/start-client-co
23
23
  bufferId: string;
24
24
  dryRun?: boolean;
25
25
  carrierType?: string | null;
26
- }, Promise<import("./loadCarrierPlanning.server").ReplanResult>>;
26
+ }, Promise<import("./loadCarrierPlanning.server.js").ReplanResult>>;
27
27
  /**
28
28
  * Deelt alle orders in, in batches. De client roept dit net zo lang aan tot
29
29
  * `done` waar is en schakelt dan door naar de volgende fase.
@@ -40,7 +40,7 @@ export declare const planAllLoadCarriers: import("@tanstack/start-client-core").
40
40
  phase?: "buffers" | "orders";
41
41
  cursor?: string | null;
42
42
  limit?: number;
43
- }, Promise<import("./bulkLoadCarrierPlanning.server").BulkPlanBatchResult>>;
43
+ }, Promise<import("./bulkLoadCarrierPlanning.server.js").BulkPlanBatchResult>>;
44
44
  /**
45
45
  * Zet voor orders zonder takenketen alsnog een melding klaar, zodat de Engine
46
46
  * de volledige keten (inclusief load.compose) aanmaakt.
@@ -70,5 +70,5 @@ export declare const previewLoadCarrierPlan: import("@tanstack/start-client-core
70
70
  }) => {
71
71
  orderId: string;
72
72
  carrierType?: string | null;
73
- }, Promise<import("./loadCarrierPlanning.server").ReplanResult | null>>;
73
+ }, Promise<import("./loadCarrierPlanning.server.js").ReplanResult | null>>;
74
74
  //# sourceMappingURL=loadCarrierPlanning.functions.d.ts.map
@@ -14,8 +14,8 @@ export const replanOrderLoadCarriers = createServerFn({ method: "POST" })
14
14
  })
15
15
  .handler(async ({ data }) => {
16
16
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
17
- const { replanOrderInternal } = await import("./loadCarrierPlanning.server");
18
- const { attachIndelingToTasks } = await import("./loadCarrierTaskSync.server");
17
+ const { replanOrderInternal } = await import("./loadCarrierPlanning.server.js");
18
+ const { attachIndelingToTasks } = await import("./loadCarrierTaskSync.server.js");
19
19
  const result = await replanOrderInternal(supabaseAdmin, data.orderId, {
20
20
  dryRun: data.dryRun,
21
21
  carrierType: data.carrierType ?? null,
@@ -34,8 +34,8 @@ export const replanBufferLoadCarriers = createServerFn({ method: "POST" })
34
34
  })
35
35
  .handler(async ({ data }) => {
36
36
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
37
- const { replanBufferInternal } = await import("./loadCarrierPlanning.server");
38
- const { attachIndelingToTasks } = await import("./loadCarrierTaskSync.server");
37
+ const { replanBufferInternal } = await import("./loadCarrierPlanning.server.js");
38
+ const { attachIndelingToTasks } = await import("./loadCarrierTaskSync.server.js");
39
39
  const result = await replanBufferInternal(supabaseAdmin, data.bufferId, {
40
40
  dryRun: data.dryRun,
41
41
  carrierType: data.carrierType ?? null,
@@ -53,7 +53,7 @@ export const planAllLoadCarriers = createServerFn({ method: "POST" })
53
53
  .inputValidator((data) => data ?? {})
54
54
  .handler(async ({ data }) => {
55
55
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
56
- const { planBuffersBatch, planLooseOrdersBatch } = await import("./bulkLoadCarrierPlanning.server");
56
+ const { planBuffersBatch, planLooseOrdersBatch } = await import("./bulkLoadCarrierPlanning.server.js");
57
57
  const limit = Math.min(Math.max(Number(data.limit ?? 20), 1), 50);
58
58
  const cursor = data.cursor ?? null;
59
59
  if (data.phase === "orders")
@@ -69,7 +69,7 @@ export const ensureLogisticsTasks = createServerFn({ method: "POST" })
69
69
  .inputValidator((data) => data ?? {})
70
70
  .handler(async ({ data, context }) => {
71
71
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
72
- const { findOrdersWithoutTasks } = await import("./bulkLoadCarrierPlanning.server");
72
+ const { findOrdersWithoutTasks } = await import("./bulkLoadCarrierPlanning.server.js");
73
73
  const limit = Math.min(Math.max(Number(data.limit ?? 50), 1), 200);
74
74
  const orders = await findOrdersWithoutTasks(supabaseAdmin, limit);
75
75
  let created = 0;
@@ -107,6 +107,6 @@ export const previewLoadCarrierPlan = createServerFn({ method: "POST" })
107
107
  })
108
108
  .handler(async ({ data }) => {
109
109
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
110
- const { replanOrderInternal } = await import("./loadCarrierPlanning.server");
110
+ const { replanOrderInternal } = await import("./loadCarrierPlanning.server.js");
111
111
  return replanOrderInternal(supabaseAdmin, data.orderId, { dryRun: true, carrierType: data.carrierType ?? null });
112
112
  });
@@ -1,7 +1,7 @@
1
1
  import type { SupabaseClient } from "@supabase/supabase-js";
2
- import { type CarrierProfile, type PlannedLoadUnit, type PlannerInputItem } from "./loadCarrierPlanner";
3
- import { type LoadCarrierTypeRow } from "./loadCarrierTypes";
4
- import { type DimensionCart } from "./dimensionPlanner";
2
+ import { type CarrierProfile, type PlannedLoadUnit, type PlannerInputItem } from "./loadCarrierPlanner.js";
3
+ import { type LoadCarrierTypeRow } from "./loadCarrierTypes.js";
4
+ import { type DimensionCart } from "./dimensionPlanner.js";
5
5
  export declare function resolveBufferForOrderInternal(sb: SupabaseClient, orderId: string): Promise<string | null>;
6
6
  interface Belading {
7
7
  plants_per_crate: number;
@@ -1 +1 @@
1
- {"version":3,"file":"loadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/loadCarrierPlanning.server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAarG,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwB/G;AAMD,UAAU,QAAQ;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,aAAa,GACb,SAAS,GACT,MAAM,CAAC;AAgBX;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAYrF;AAgED,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxD,iEAAiE;IACjE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,gGAAgG;IAChG,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC1E,kFAAkF;IAClF,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,SAAS,EAClE,YAAY,EAAE,MAAM,GACnB,YAAY,EAAE,GAAG,IAAI,CAmBvB;AAaD;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAChC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6I7B;AAMD,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAO3F;AAUD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,YAAY,EAAE,UAAU,GAAG,YAAY,CAAC;CACzC;AAOD,wFAAwF;AACxF,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwBzF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,cAAc,GACjB,OAAO,CAAC,UAAU,GAAG,oBAAoB,CAAC,CAW5C;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,cAAc,CAaxG;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,QAAQ,GAChB,eAAe,EAAE,CAkEnB;AAUD,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAK1D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4BhC;AAyCD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAwCtF;AAsED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAGD,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,eAAe,EAAE,EACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,eAAe,GAAE,mBAAwB,GACxC,qBAAqB,EAAE,CAoCzB;AAqBD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAmCnB;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,gFAC+C,CAAC;AAoiChF,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAI9B"}
1
+ {"version":3,"file":"loadCarrierPlanning.server.d.ts","sourceRoot":"","sources":["../../src/lib/loadCarrierPlanning.server.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@
5
5
  // draait de pure planner per ladingdragertype en schrijft het resultaat weg
6
6
  // naar order_carts / order_cart_items.
7
7
  // ============================================================================
8
- import { planLoadUnits, LOAD_CARRIER_PLANNER_VERSION, } from "./loadCarrierPlanner";
9
- import { traceBatch } from "./trace.server";
10
- import { MODULE_VERSION } from "./moduleVersion";
11
- import { fallbackCarrierProfile } from "./loadCarrierTypes";
12
- import { planByDimensions, DIMENSION_PLANNER_VERSION } from "./dimensionPlanner";
13
- import { buildDimensionItems, carrierDimensions } from "./dimensionData.server";
8
+ import { planLoadUnits, LOAD_CARRIER_PLANNER_VERSION, } from "./loadCarrierPlanner.js";
9
+ import { traceBatch } from "./trace.server.js";
10
+ import { MODULE_VERSION } from "./moduleVersion.js";
11
+ import { fallbackCarrierProfile } from "./loadCarrierTypes.js";
12
+ import { planByDimensions, DIMENSION_PLANNER_VERSION } from "./dimensionPlanner.js";
13
+ import { buildDimensionItems, carrierDimensions } from "./dimensionData.server.js";
14
14
  // ---------------------------------------------------------------------------
15
15
  // Buffer
16
16
  // ---------------------------------------------------------------------------
@@ -690,6 +690,7 @@ export async function bufferOrdersWithoutCarts(sb, bufferId, orderIds) {
690
690
  const { data: carts, error: cartsError } = await sb
691
691
  .from("order_carts")
692
692
  .select("id, order_id")
693
+ .is("archived_at", null)
693
694
  .or(`buffer_id.eq.${bufferId},order_id.in.(${ids.join(",")})`);
694
695
  if (cartsError) {
695
696
  throw new Error(`Karren van de buffer konden niet worden gelezen: ${cartsError.message}`);
@@ -830,6 +831,7 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
830
831
  const { data: existingCartRows, error: existingCartError } = await sb
831
832
  .from("order_carts")
832
833
  .select("id, order_id, cart_number, total_carts")
834
+ .is("archived_at", null)
833
835
  .or(`buffer_id.eq.${bufferId},order_id.in.(${orderIds.join(",")})`);
834
836
  if (existingCartError) {
835
837
  throw new Error(`Bestaande karidentiteiten konden niet worden gecontroleerd: ${existingCartError.message}`);
@@ -991,6 +993,7 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
991
993
  const { data: keptCarts, error: keptError } = await sb
992
994
  .from("order_carts")
993
995
  .select("id, cart_number")
996
+ .is("archived_at", null)
994
997
  .in("id", keepCartIds);
995
998
  if (keptError) {
996
999
  throw new Error(`Bevroren karren konden niet worden gelezen: ${keptError.message}`);
@@ -1079,6 +1082,7 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
1079
1082
  const { data: existingCarts } = await sb
1080
1083
  .from("order_carts")
1081
1084
  .select("id, source")
1085
+ .is("archived_at", null)
1082
1086
  .eq("buffer_id", bufferId);
1083
1087
  const replacedManualCount = (existingCarts ?? []).filter((c) => c.source === "manual").length;
1084
1088
  // Instellingen + never-mix.
@@ -1492,6 +1496,7 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
1492
1496
  .from("order_carts")
1493
1497
  .select("id, order_id, buffer_id, cart_number, total_carts, is_complete, source, occupancy_pct, " +
1494
1498
  "total_layers_used, carrier_type, carrier_type_id, max_layers, weight_kg, algorithm_version, layout_method")
1499
+ .is("archived_at", null)
1495
1500
  .or(scopeOr);
1496
1501
  if (huidigeError) {
1497
1502
  throw new Error(`Bestaande karren konden niet worden vergeleken: ${huidigeError.message}`);
@@ -1613,6 +1618,7 @@ async function replanBufferUnlocked(sb, bufferId, options = {}) {
1613
1618
  const verifyQuery = sb
1614
1619
  .from("order_carts")
1615
1620
  .select("cart_number, layout_method, algorithm_version")
1621
+ .is("archived_at", null)
1616
1622
  .eq("buffer_id", bufferId);
1617
1623
  // Bevroren karren zijn met een eerdere ronde geschreven en blijven buiten
1618
1624
  // deze controle: hun identiteit mag nooit meer wijzigen.
@@ -1,4 +1,4 @@
1
1
  import type { SupabaseClient } from "@supabase/supabase-js";
2
- import type { ReplanResult } from "./loadCarrierPlanning.server";
2
+ import type { ReplanResult } from "./loadCarrierPlanning.server.js";
3
3
  export declare function attachIndelingToTasks(sb: SupabaseClient, result: ReplanResult | null): Promise<number>;
4
4
  //# sourceMappingURL=loadCarrierTaskSync.server.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { CapacityModel, CarrierProfile } from "./loadCarrierPlanner";
1
+ import type { CapacityModel, CarrierProfile } from "./loadCarrierPlanner.js";
2
2
  export type LoadCarrierCode = "trolley" | "danish_container" | "euro_rolcontainer" | "pallet" | "euro_pallet" | "loose";
3
3
  export interface LoadCarrierTypeRow extends CarrierProfile {
4
4
  id: string;
@@ -1,5 +1,5 @@
1
- import type { RuleEngineSettings } from "./ruleEngineSchema";
2
- import { type LogisticsModuleKey, type LogisticsTaskType } from "./logisticsTasks";
1
+ import type { RuleEngineSettings } from "./ruleEngineSchema.js";
2
+ import { type LogisticsModuleKey, type LogisticsTaskType } from "./logisticsTasks.js";
3
3
  export type LoadCarrierType = "trolley" | "danish_container" | "euro_rolcontainer" | "pallet" | "euro_pallet" | "loose";
4
4
  export interface PlannerLoadCarrier {
5
5
  type: LoadCarrierType;
@@ -5,8 +5,8 @@
5
5
  // Volledig deterministisch: zelfde input geeft altijd dezelfde taken.
6
6
  // Geen database, geen netwerk — daardoor los testbaar.
7
7
  // ============================================================================
8
- import { TASK_OWNER } from "./logisticsTasks";
9
- import { normalizeBufferCriteria } from "./bufferMatching";
8
+ import { TASK_OWNER } from "./logisticsTasks.js";
9
+ import { normalizeBufferCriteria } from "./bufferMatching.js";
10
10
  // ---------------------------------------------------------------------------
11
11
  // Hulp
12
12
  // ---------------------------------------------------------------------------
@@ -9,7 +9,7 @@ export const startRecalcJob = createServerFn({ method: "POST" })
9
9
  .inputValidator((data) => data ?? {})
10
10
  .handler(async ({ data, context }) => {
11
11
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
12
- const { startJob } = await import("./logisticsRecalcJob.server");
12
+ const { startJob } = await import("./logisticsRecalcJob.server.js");
13
13
  const job = await startJob(supabaseAdmin, context.userId ?? null, data.strategyId ?? null);
14
14
  return { id: job.id, status: job.status, phase: job.phase };
15
15
  });
@@ -17,7 +17,7 @@ export const tickRecalcJob = createServerFn({ method: "POST" })
17
17
  .middleware([readableServerErrors, requireSupabaseAuth])
18
18
  .handler(async () => {
19
19
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
20
- const { tickJob } = await import("./logisticsRecalcJob.server");
20
+ const { tickJob } = await import("./logisticsRecalcJob.server.js");
21
21
  const job = await tickJob(supabaseAdmin);
22
22
  return job
23
23
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,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;AAmiLD,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"}
1
+ {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,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;AA0qLD,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"}
@@ -6,7 +6,7 @@
6
6
  // bij (oplopend genummerd). Zo kan een al verstuurde prompt gewoon blijven
7
7
  // staan en stuur je alleen het nieuwe stuk door.
8
8
  // ============================================================================
9
- import { LOGISTICS_MODULES } from "./logisticsTasks";
9
+ import { LOGISTICS_MODULES } from "./logisticsTasks.js";
10
10
  /**
11
11
  * Modules met een koppelprompt. Naast de modules die taken uitvoeren staat hier
12
12
  * ook de Layout maker: die voert geen logistieke taken uit, maar levert wel de
@@ -2222,6 +2222,39 @@ REGELS
2222
2222
  CONTROLELIJST
2223
2223
  [ ] Maandag als gesloten afwijkende dag: aanmelddeadline en ophaalmoment schuiven naar de vorige werkdag, gelijk aan de planning.
2224
2224
  [ ] Zaterdag met afwijkende tijden telt als werkdag.
2225
+ [ ] Meld terug met je pakketversie.`,
2226
+ },
2227
+ {
2228
+ number: 27,
2229
+ title: "Gearchiveerde karren overslaan in de aanmeldmail",
2230
+ date: "2026-10-16",
2231
+ summary: "Aanmeldmail en Engine-momenten slaan gearchiveerde karren en hun inhoud over.",
2232
+ body: `KOPPELPROMPT AFHANDELING 27 — vereist Logistiek Engine 1.0.155.
2233
+ Eerst de Engine installeren.
2234
+
2235
+ Vanaf Logistiek Engine 1.0.155 kan beheer losse karren archiveren (order_carts.archived_at
2236
+ gevuld). Een gearchiveerde kar en haar inhoud tellen nergens meer mee en mogen nooit
2237
+ naar een printer, pickscherm of Floriday. De Engine-functies slaan ze al over; de
2238
+ database weigert nieuwe pickregels, printopdrachten, stickers, barcodes, scans en
2239
+ kar-inhoud voor een gearchiveerde kar.
2240
+
2241
+ WAT JIJ MOET DOEN
2242
+ In je EIGEN databasefuncties en queries die order_carts of order_cart_items direct lezen:
2243
+ - order_carts: voeg toe AND c.archived_at IS NULL
2244
+ - order_cart_items: alleen regels waarvan de kar niet gearchiveerd is, bijv.
2245
+ JOIN order_carts c ON c.id = ci.cart_id AND c.archived_at IS NULL
2246
+ (of lees via de views logistics_active.order_carts / logistics_active.order_cart_items).
2247
+ Engine-functies (logistics_*) hoef je niet aan te passen.
2248
+
2249
+ REGELS
2250
+ - Match op id. Wijzig geen Engine-functies, rechten of RLS. Geen omgevingswaarden.
2251
+ - Krijg je de fout "Kar … is gearchiveerd", toon die tekst; probeer niet opnieuw.
2252
+
2253
+ BETREFT BIJ JOU
2254
+ afh_signup_groups, afh_signup_engine_moments en elke eigen telling van karren.
2255
+
2256
+ CONTROLELIJST
2257
+ [ ] Een gearchiveerde kar telt niet mee in het aantal karren van de aanmeldmail.
2225
2258
  [ ] Meld terug met je pakketversie.`,
2226
2259
  },
2227
2260
  ],
@@ -4139,6 +4172,40 @@ CONTROLELIJST
4139
4172
  [ ] Niet-vrijgegeven kar toont "Wordt vrijgegeven … om …".
4140
4173
  [ ] Bufferkar toont het eigen aantal fust (cartCrates), niet het totaal.
4141
4174
  [ ] Vooruit printen op een werkdag maakt karren printbaar, behalve een wachtende deelkar.
4175
+ [ ] Meld terug met je pakketversie.`,
4176
+ },
4177
+ {
4178
+ number: 48,
4179
+ title: "Gearchiveerde karren overslaan",
4180
+ date: "2026-10-16",
4181
+ summary: "Pickscherm-functies slaan gearchiveerde karren en hun inhoud over.",
4182
+ body: `KOPPELPROMPT PICKSCHERMEN 48 — vereist Logistiek Engine 1.0.155.
4183
+ Eerst de Engine installeren.
4184
+
4185
+ Vanaf Logistiek Engine 1.0.155 kan beheer losse karren archiveren (order_carts.archived_at
4186
+ gevuld). Een gearchiveerde kar en haar inhoud tellen nergens meer mee en mogen nooit
4187
+ naar een printer, pickscherm of Floriday. De Engine-functies slaan ze al over; de
4188
+ database weigert nieuwe pickregels, printopdrachten, stickers, barcodes, scans en
4189
+ kar-inhoud voor een gearchiveerde kar.
4190
+
4191
+ WAT JIJ MOET DOEN
4192
+ In je EIGEN databasefuncties en queries die order_carts of order_cart_items direct lezen:
4193
+ - order_carts: voeg toe AND c.archived_at IS NULL
4194
+ - order_cart_items: alleen regels waarvan de kar niet gearchiveerd is, bijv.
4195
+ JOIN order_carts c ON c.id = ci.cart_id AND c.archived_at IS NULL
4196
+ (of lees via de views logistics_active.order_carts / logistics_active.order_cart_items).
4197
+ Engine-functies (logistics_*) hoef je niet aan te passen.
4198
+
4199
+ REGELS
4200
+ - Match op id. Wijzig geen Engine-functies, rechten of RLS. Geen omgevingswaarden.
4201
+ - Krijg je de fout "Kar … is gearchiveerd", toon die tekst; probeer niet opnieuw.
4202
+
4203
+ BETREFT BIJ JOU
4204
+ pick_order_context, pick_buffer_order_ids, pick_report_missing_cart_plan,
4205
+ pickstation_cart_sticker_state en elke eigen query op karren.
4206
+
4207
+ CONTROLELIJST
4208
+ [ ] Een gearchiveerde kar verschijnt niet op het pickscherm en is niet printbaar.
4142
4209
  [ ] Meld terug met je pakketversie.`,
4143
4210
  },
4144
4211
  ],
@@ -4461,6 +4528,40 @@ CONTROLELIJST
4461
4528
  [ ] Na een scan staat in logistics_control_scan bron = 'scanner' voor die kar.
4462
4529
  [ ] Twee keer scannen geeft nog steeds één controlescan.`,
4463
4530
  },
4531
+ {
4532
+ number: 7,
4533
+ title: "Gearchiveerde karren overslaan",
4534
+ date: "2026-10-16",
4535
+ summary: "Scan- en controlefuncties slaan gearchiveerde karren over.",
4536
+ body: `KOPPELPROMPT SCANNERS 7 — vereist Logistiek Engine 1.0.155.
4537
+ Eerst de Engine installeren.
4538
+
4539
+ Vanaf Logistiek Engine 1.0.155 kan beheer losse karren archiveren (order_carts.archived_at
4540
+ gevuld). Een gearchiveerde kar en haar inhoud tellen nergens meer mee en mogen nooit
4541
+ naar een printer, pickscherm of Floriday. De Engine-functies slaan ze al over; de
4542
+ database weigert nieuwe pickregels, printopdrachten, stickers, barcodes, scans en
4543
+ kar-inhoud voor een gearchiveerde kar.
4544
+
4545
+ WAT JIJ MOET DOEN
4546
+ In je EIGEN databasefuncties en queries die order_carts of order_cart_items direct lezen:
4547
+ - order_carts: voeg toe AND c.archived_at IS NULL
4548
+ - order_cart_items: alleen regels waarvan de kar niet gearchiveerd is, bijv.
4549
+ JOIN order_carts c ON c.id = ci.cart_id AND c.archived_at IS NULL
4550
+ (of lees via de views logistics_active.order_carts / logistics_active.order_cart_items).
4551
+ Engine-functies (logistics_*) hoef je niet aan te passen.
4552
+
4553
+ REGELS
4554
+ - Match op id. Wijzig geen Engine-functies, rechten of RLS. Geen omgevingswaarden.
4555
+ - Krijg je de fout "Kar … is gearchiveerd", toon die tekst; probeer niet opnieuw.
4556
+
4557
+ BETREFT BIJ JOU
4558
+ _scan_kar_voortgang, scan_complete_cart, scan_open_pakbonnen, scan_pakbon_lookup,
4559
+ scan_pakbon_opnieuw en eigen tellingen.
4560
+
4561
+ CONTROLELIJST
4562
+ [ ] Een barcode van een gearchiveerde kar geeft een duidelijke melding, geen afmelding.
4563
+ [ ] Meld terug met je pakketversie.`,
4564
+ },
4464
4565
  ],
4465
4566
  },
4466
4567
  voorraad: {
@@ -5504,6 +5605,40 @@ CONTROLELIJST
5504
5605
  [ ] Tegel "Vertrek vandaag" toont per ophaalmoment totaal en klaar.
5505
5606
  [ ] Karren zonder vertrek staan in een eigen rij.
5506
5607
  [ ] Karrencontrole vandaag gelijk aan de Controlepost.
5608
+ [ ] Meld terug met je pakketversie.`,
5609
+ },
5610
+ {
5611
+ number: 3,
5612
+ title: "Gearchiveerde karren overslaan",
5613
+ date: "2026-10-16",
5614
+ summary: "Dashboardtellingen slaan gearchiveerde karren over.",
5615
+ body: `KOPPELPROMPT DASHBOARDS 3 — vereist Logistiek Engine 1.0.155.
5616
+ Eerst de Engine installeren.
5617
+
5618
+ Vanaf Logistiek Engine 1.0.155 kan beheer losse karren archiveren (order_carts.archived_at
5619
+ gevuld). Een gearchiveerde kar en haar inhoud tellen nergens meer mee en mogen nooit
5620
+ naar een printer, pickscherm of Floriday. De Engine-functies slaan ze al over; de
5621
+ database weigert nieuwe pickregels, printopdrachten, stickers, barcodes, scans en
5622
+ kar-inhoud voor een gearchiveerde kar.
5623
+
5624
+ WAT JIJ MOET DOEN
5625
+ In je EIGEN databasefuncties en queries die order_carts of order_cart_items direct lezen:
5626
+ - order_carts: voeg toe AND c.archived_at IS NULL
5627
+ - order_cart_items: alleen regels waarvan de kar niet gearchiveerd is, bijv.
5628
+ JOIN order_carts c ON c.id = ci.cart_id AND c.archived_at IS NULL
5629
+ (of lees via de views logistics_active.order_carts / logistics_active.order_cart_items).
5630
+ Engine-functies (logistics_*) hoef je niet aan te passen.
5631
+
5632
+ REGELS
5633
+ - Match op id. Wijzig geen Engine-functies, rechten of RLS. Geen omgevingswaarden.
5634
+ - Krijg je de fout "Kar … is gearchiveerd", toon die tekst; probeer niet opnieuw.
5635
+
5636
+ BETREFT BIJ JOU
5637
+ dashboard_alert_counts(_v2/_v3), dashboard_alert_rows(_v2) en eigen karrentellingen.
5638
+ logistics_pickup_moments_today en control_today_scan_summary slaan ze al over.
5639
+
5640
+ CONTROLELIJST
5641
+ [ ] "Karren vandaag" en meldingen tellen geen gearchiveerde karren.
5507
5642
  [ ] Meld terug met je pakketversie.`,
5508
5643
  },
5509
5644
  ],
@@ -1,2 +1,2 @@
1
- export declare const MODULE_VERSION = "1.0.155";
1
+ export declare const MODULE_VERSION = "1.0.159";
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.155";
2
+ export const MODULE_VERSION = "1.0.159";
@@ -1,4 +1,4 @@
1
- import type { TraceEventRow } from "../hooks/useLogisticsTrace";
1
+ import type { TraceEventRow } from "../hooks/useLogisticsTrace.js";
2
2
  export type NodeStatus = "geslaagd" | "wachtend" | "waarschuwing" | "overgeslagen" | "mislukt";
3
3
  export interface NodeTraceGroep {
4
4
  nodeId: string;
@@ -5,7 +5,7 @@
5
5
  // gebeurtenissen missen dat; die plaatsen we met een terugval op stap/fase.
6
6
  // Alleen lezen: hier wordt niets bepaald, alleen gegroepeerd.
7
7
  // ============================================================================
8
- import { FLOW_NODE } from "./flowNodes";
8
+ import { FLOW_NODE } from "./flowNodes.js";
9
9
  /** Terugval voor oude gebeurtenissen zonder vastgelegd vakje. */
10
10
  export function gokNode(e) {
11
11
  if (e.nodeId)