@voyantjs/legal 0.28.3 → 0.30.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.
@@ -364,8 +364,8 @@ export declare function createContractsAdminRoutes(options?: ContractsRouteOptio
364
364
  active: boolean;
365
365
  separator: string;
366
366
  padLength: number;
367
- resetStrategy: "never" | "annual" | "monthly";
368
367
  currentSequence: number;
368
+ resetStrategy: "never" | "annual" | "monthly";
369
369
  resetAt: string | null;
370
370
  } | null;
371
371
  };
@@ -1755,8 +1755,8 @@ export declare const contractsAdminRoutes: import("hono/hono-base").HonoBase<Env
1755
1755
  active: boolean;
1756
1756
  separator: string;
1757
1757
  padLength: number;
1758
- resetStrategy: "never" | "annual" | "monthly";
1759
1758
  currentSequence: number;
1759
+ resetStrategy: "never" | "annual" | "monthly";
1760
1760
  resetAt: string | null;
1761
1761
  } | null;
1762
1762
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/contracts/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/contracts/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { organizations, people } from "@voyantjs/crm/schema";
2
2
  import { typeId, typeIdRef } from "@voyantjs/db/lib/typeid-column";
3
3
  import { suppliers } from "@voyantjs/suppliers/schema";
4
- import { relations } from "drizzle-orm";
4
+ import { relations, sql } from "drizzle-orm";
5
5
  import { boolean, index, integer, jsonb, pgEnum, pgTable, text, timestamp, uniqueIndex, } from "drizzle-orm/pg-core";
6
6
  // ---------- enums ----------
7
7
  export const contractScopeEnum = pgEnum("contract_scope", [
@@ -96,6 +96,9 @@ export const contractNumberSeries = pgTable("contract_number_series", {
96
96
  index("idx_contract_number_series_scope_updated").on(table.scope, table.updatedAt),
97
97
  index("idx_contract_number_series_active_updated").on(table.active, table.updatedAt),
98
98
  index("idx_contract_number_series_updated").on(table.updatedAt),
99
+ uniqueIndex("uidx_contract_number_series_prefix_scope_active")
100
+ .on(table.prefix, table.scope)
101
+ .where(sql `${table.active} = true`),
99
102
  ]);
100
103
  // ---------- contracts ----------
101
104
  export const contracts = pgTable("contracts", {
@@ -305,8 +305,19 @@ export interface AutoGenerateContractOptions {
305
305
  /**
306
306
  * When set, the contract tries to allocate a number from the matching
307
307
  * active series on issuance. Without it, the contract issues unnumbered.
308
+ * @deprecated Prefer `seriesPrefixScope` — `name` has no unique
309
+ * constraint, so this lookup throws if multiple active rows share the
310
+ * name. `(prefix, scope)` is the natural key (partial-unique-indexed).
308
311
  */
309
312
  seriesName?: string;
313
+ /**
314
+ * When set, resolves the active series via the `(prefix, scope)`
315
+ * partial unique index. Takes precedence over `seriesName`.
316
+ */
317
+ seriesPrefixScope?: {
318
+ prefix: string;
319
+ scope: "customer" | "supplier" | "partner" | "channel" | "other";
320
+ };
310
321
  /**
311
322
  * Language code written onto the contract row. Used by the PDF
312
323
  * renderer to pick the right locale for date/currency filters.
@@ -1 +1 @@
1
- {"version":3,"file":"service-auto-generate.d.ts","sourceRoot":"","sources":["../../src/contracts/service-auto-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-auto-generate.d.ts","sourceRoot":"","sources":["../../src/contracts/service-auto-generate.ts"],"names":[],"mappings":"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"}
@@ -320,11 +320,16 @@ export async function autoGenerateContractForBooking(db, event, options, runtime
320
320
  bindings: runtime.bindings ?? null,
321
321
  })
322
322
  : defaults;
323
- // Resolve a series id if the consumer gave a name failure to find is
324
- // non-fatal since a contract can issue without a number (some operators
325
- // use templates as standalone records and number externally).
323
+ // Resolve a series if the consumer gave a (prefix, scope) or a name
324
+ // failure to find is non-fatal since a contract can issue without a
325
+ // number (some operators use templates as standalone records and number
326
+ // externally). prefix+scope wins when both are set.
326
327
  let seriesId = null;
327
- if (options.seriesName) {
328
+ if (options.seriesPrefixScope) {
329
+ const series = await contractSeriesService.findActiveByPrefixScope(db, options.seriesPrefixScope.prefix, options.seriesPrefixScope.scope);
330
+ seriesId = series?.id ?? null;
331
+ }
332
+ else if (options.seriesName) {
328
333
  const series = await contractSeriesService.findSeriesByName(db, options.seriesName);
329
334
  seriesId = series?.id ?? null;
330
335
  }
@@ -1,5 +1,10 @@
1
1
  import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import { contractNumberSeries } from "./schema.js";
2
3
  import type { CreateContractNumberSeriesInput, UpdateContractNumberSeriesInput } from "./service-shared.js";
4
+ type ContractScope = (typeof contractNumberSeries.scope.enumValues)[number];
5
+ export declare class ContractSeriesAmbiguousError extends Error {
6
+ constructor(message: string);
7
+ }
3
8
  export declare const contractSeriesService: {
4
9
  listSeries(db: PostgresJsDatabase): Promise<{
5
10
  id: string;
@@ -30,10 +35,29 @@ export declare const contractSeriesService: {
30
35
  updatedAt: Date;
31
36
  } | null>;
32
37
  /**
33
- * Find the most-recently-updated active series matching a name. Used by
34
- * the auto-generate subscriber so consumers can pin a named series
35
- * (`"2026 Customer"`) in config and let operators rename the row via
36
- * the admin UI without breaking the wiring.
38
+ * Resolve the single active series for a (prefix, scope) pair. Throws
39
+ * if the partial unique index has been bypassed and >1 active row
40
+ * exists. Prefer this over `findSeriesByName` `(prefix, scope)` is
41
+ * the natural key for the generated number; `name` is just a label.
42
+ */
43
+ findActiveByPrefixScope(db: PostgresJsDatabase, prefix: string, scope: ContractScope): Promise<{
44
+ id: string;
45
+ name: string;
46
+ prefix: string;
47
+ separator: string;
48
+ padLength: number;
49
+ currentSequence: number;
50
+ resetStrategy: "never" | "annual" | "monthly";
51
+ resetAt: Date | null;
52
+ scope: "customer" | "partner" | "supplier" | "other" | "channel";
53
+ active: boolean;
54
+ createdAt: Date;
55
+ updatedAt: Date;
56
+ } | null>;
57
+ /**
58
+ * @deprecated Prefer `findActiveByPrefixScope`. `name` has no unique
59
+ * constraint, so two active rows can share a name; this method now
60
+ * throws on multi-match instead of picking the most-recently-updated.
37
61
  */
38
62
  findSeriesByName(db: PostgresJsDatabase, name: string): Promise<{
39
63
  id: string;
@@ -59,8 +83,27 @@ export declare const contractSeriesService: {
59
83
  active: boolean;
60
84
  separator: string;
61
85
  padLength: number;
86
+ currentSequence: number;
62
87
  resetStrategy: "never" | "annual" | "monthly";
88
+ resetAt: Date | null;
89
+ } | null>;
90
+ /**
91
+ * Idempotent create-or-update against the `(prefix, scope) WHERE active`
92
+ * partial unique index. Lets consumer seed scripts converge the row
93
+ * without tracking ids.
94
+ */
95
+ upsertByPrefixScope(db: PostgresJsDatabase, data: CreateContractNumberSeriesInput): Promise<{
96
+ name: string;
97
+ id: string;
98
+ prefix: string;
99
+ createdAt: Date;
100
+ updatedAt: Date;
101
+ scope: "customer" | "partner" | "supplier" | "other" | "channel";
102
+ active: boolean;
103
+ separator: string;
104
+ padLength: number;
63
105
  currentSequence: number;
106
+ resetStrategy: "never" | "annual" | "monthly";
64
107
  resetAt: Date | null;
65
108
  } | null>;
66
109
  updateSeries(db: PostgresJsDatabase, id: string, data: UpdateContractNumberSeriesInput): Promise<{
@@ -81,4 +124,5 @@ export declare const contractSeriesService: {
81
124
  id: string;
82
125
  } | null>;
83
126
  };
127
+ export {};
84
128
  //# sourceMappingURL=service-series.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-series.d.ts","sourceRoot":"","sources":["../../src/contracts/service-series.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAE5B,eAAO,MAAM,qBAAqB;mBACX,kBAAkB;;;;;;;;;;;;;;sBAGf,kBAAkB,MAAM,MAAM;;;;;;;;;;;;;;IAQtD;;;;;OAKG;yBACwB,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;qBASpC,kBAAkB,QAAQ,+BAA+B;;;;;;;;;;;;;;qBAIzD,kBAAkB,MAAM,MAAM,QAAQ,+BAA+B;;;;;;;;;;;;;;qBAQrE,kBAAkB,MAAM,MAAM;;;CAOtD,CAAA"}
1
+ {"version":3,"file":"service-series.d.ts","sourceRoot":"","sources":["../../src/contracts/service-series.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAE5B,KAAK,aAAa,GAAG,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,qBAAqB;mBACX,kBAAkB;;;;;;;;;;;;;;sBAGf,kBAAkB,MAAM,MAAM;;;;;;;;;;;;;;IAQtD;;;;;OAKG;gCAC+B,kBAAkB,UAAU,MAAM,SAAS,aAAa;;;;;;;;;;;;;;IAmB1F;;;;OAIG;yBACwB,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;qBAapC,kBAAkB,QAAQ,+BAA+B;;;;;;;;;;;;;;IAIhF;;;;OAIG;4BAC2B,kBAAkB,QAAQ,+BAA+B;;;;;;;;;;;;;;qBAkBhE,kBAAkB,MAAM,MAAM,QAAQ,+BAA+B;;;;;;;;;;;;;;qBAQrE,kBAAkB,MAAM,MAAM;;;CAOtD,CAAA"}
@@ -1,5 +1,11 @@
1
- import { and, desc, eq } from "drizzle-orm";
1
+ import { and, desc, eq, sql } from "drizzle-orm";
2
2
  import { contractNumberSeries } from "./schema.js";
3
+ export class ContractSeriesAmbiguousError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = "ContractSeriesAmbiguousError";
7
+ }
8
+ }
3
9
  export const contractSeriesService = {
4
10
  async listSeries(db) {
5
11
  return db.select().from(contractNumberSeries).orderBy(desc(contractNumberSeries.updatedAt));
@@ -13,24 +19,65 @@ export const contractSeriesService = {
13
19
  return row ?? null;
14
20
  },
15
21
  /**
16
- * Find the most-recently-updated active series matching a name. Used by
17
- * the auto-generate subscriber so consumers can pin a named series
18
- * (`"2026 Customer"`) in config and let operators rename the row via
19
- * the admin UI without breaking the wiring.
22
+ * Resolve the single active series for a (prefix, scope) pair. Throws
23
+ * if the partial unique index has been bypassed and >1 active row
24
+ * exists. Prefer this over `findSeriesByName` `(prefix, scope)` is
25
+ * the natural key for the generated number; `name` is just a label.
26
+ */
27
+ async findActiveByPrefixScope(db, prefix, scope) {
28
+ const rows = await db
29
+ .select()
30
+ .from(contractNumberSeries)
31
+ .where(and(eq(contractNumberSeries.prefix, prefix), eq(contractNumberSeries.scope, scope), eq(contractNumberSeries.active, true)))
32
+ .limit(2);
33
+ if (rows.length > 1) {
34
+ throw new ContractSeriesAmbiguousError(`Multiple active contract_number_series rows match prefix=${prefix}, scope=${scope}. The partial unique index is missing or has been bypassed.`);
35
+ }
36
+ return rows[0] ?? null;
37
+ },
38
+ /**
39
+ * @deprecated Prefer `findActiveByPrefixScope`. `name` has no unique
40
+ * constraint, so two active rows can share a name; this method now
41
+ * throws on multi-match instead of picking the most-recently-updated.
20
42
  */
21
43
  async findSeriesByName(db, name) {
22
- const [row] = await db
44
+ const rows = await db
23
45
  .select()
24
46
  .from(contractNumberSeries)
25
47
  .where(and(eq(contractNumberSeries.name, name), eq(contractNumberSeries.active, true)))
26
- .orderBy(desc(contractNumberSeries.updatedAt))
27
- .limit(1);
28
- return row ?? null;
48
+ .limit(2);
49
+ if (rows.length > 1) {
50
+ throw new ContractSeriesAmbiguousError(`Multiple active contract_number_series rows match name=${name}. Resolve by archiving duplicates (active=false) or migrate the caller to findActiveByPrefixScope.`);
51
+ }
52
+ return rows[0] ?? null;
29
53
  },
30
54
  async createSeries(db, data) {
31
55
  const [row] = await db.insert(contractNumberSeries).values(data).returning();
32
56
  return row ?? null;
33
57
  },
58
+ /**
59
+ * Idempotent create-or-update against the `(prefix, scope) WHERE active`
60
+ * partial unique index. Lets consumer seed scripts converge the row
61
+ * without tracking ids.
62
+ */
63
+ async upsertByPrefixScope(db, data) {
64
+ const [row] = await db
65
+ .insert(contractNumberSeries)
66
+ .values(data)
67
+ .onConflictDoUpdate({
68
+ target: [contractNumberSeries.prefix, contractNumberSeries.scope],
69
+ targetWhere: sql `${contractNumberSeries.active} = true`,
70
+ set: {
71
+ name: data.name,
72
+ separator: data.separator,
73
+ padLength: data.padLength,
74
+ resetStrategy: data.resetStrategy,
75
+ updatedAt: new Date(),
76
+ },
77
+ })
78
+ .returning();
79
+ return row ?? null;
80
+ },
34
81
  async updateSeries(db, id, data) {
35
82
  const [row] = await db
36
83
  .update(contractNumberSeries)
@@ -1282,6 +1282,20 @@ export declare const contractsService: {
1282
1282
  createdAt: Date;
1283
1283
  updatedAt: Date;
1284
1284
  } | null>;
1285
+ findActiveByPrefixScope(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, prefix: string, scope: "customer" | "partner" | "supplier" | "other" | "channel"): Promise<{
1286
+ id: string;
1287
+ name: string;
1288
+ prefix: string;
1289
+ separator: string;
1290
+ padLength: number;
1291
+ currentSequence: number;
1292
+ resetStrategy: "never" | "annual" | "monthly";
1293
+ resetAt: Date | null;
1294
+ scope: "customer" | "partner" | "supplier" | "other" | "channel";
1295
+ active: boolean;
1296
+ createdAt: Date;
1297
+ updatedAt: Date;
1298
+ } | null>;
1285
1299
  findSeriesByName(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, name: string): Promise<{
1286
1300
  id: string;
1287
1301
  name: string;
@@ -1306,8 +1320,22 @@ export declare const contractsService: {
1306
1320
  active: boolean;
1307
1321
  separator: string;
1308
1322
  padLength: number;
1323
+ currentSequence: number;
1309
1324
  resetStrategy: "never" | "annual" | "monthly";
1325
+ resetAt: Date | null;
1326
+ } | null>;
1327
+ upsertByPrefixScope(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./service-shared.js").CreateContractNumberSeriesInput): Promise<{
1328
+ name: string;
1329
+ id: string;
1330
+ prefix: string;
1331
+ createdAt: Date;
1332
+ updatedAt: Date;
1333
+ scope: "customer" | "partner" | "supplier" | "other" | "channel";
1334
+ active: boolean;
1335
+ separator: string;
1336
+ padLength: number;
1310
1337
  currentSequence: number;
1338
+ resetStrategy: "never" | "annual" | "monthly";
1311
1339
  resetAt: Date | null;
1312
1340
  } | null>;
1313
1341
  updateSeries(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./service-shared.js").UpdateContractNumberSeriesInput): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/contracts/service.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,yBAAyB,EAAE,CAAA;AAE5E,eAAO,MAAM,gBAAgB;;mBAMk1S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAvrP,CAAC;yBAAgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD1tD,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/contracts/service.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,yBAAyB,EAAE,CAAA;AAE5E,eAAO,MAAM,gBAAgB;;mBAMk1S,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAvrP,CAAC;yBAAgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD1tD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/legal",
3
- "version": "0.28.3",
3
+ "version": "0.30.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -59,14 +59,14 @@
59
59
  "drizzle-orm": "^0.45.2",
60
60
  "hono": "^4.12.10",
61
61
  "zod": "^4.3.6",
62
- "@voyantjs/bookings": "0.28.3",
63
- "@voyantjs/core": "0.28.3",
64
- "@voyantjs/crm": "0.28.3",
65
- "@voyantjs/db": "0.28.3",
66
- "@voyantjs/hono": "0.28.3",
67
- "@voyantjs/suppliers": "0.28.3",
68
- "@voyantjs/utils": "0.28.3",
69
- "@voyantjs/storage": "0.28.3"
62
+ "@voyantjs/bookings": "0.30.0",
63
+ "@voyantjs/core": "0.30.0",
64
+ "@voyantjs/crm": "0.30.0",
65
+ "@voyantjs/db": "0.30.0",
66
+ "@voyantjs/hono": "0.30.0",
67
+ "@voyantjs/suppliers": "0.30.0",
68
+ "@voyantjs/utils": "0.30.0",
69
+ "@voyantjs/storage": "0.30.0"
70
70
  },
71
71
  "devDependencies": {
72
72
  "typescript": "^6.0.2",