@voyantjs/plugin-smartbill 0.80.15 → 0.80.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAA;AAExD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGpG,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,kBAAkB,KACtB,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEzD,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,KACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,MAAM,wCAAwC,GAAG,CACrD,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,wBAAwB,KAC7B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE7B,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB,EAAE,uBAAuB;IAC7F,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,2BAA2B,CAAA;IACzC,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,wCAAwC,CAAA;IAC3E;;;;;OAKG;IACH,SAAS,CAAC,EAAE,mCAAmC,CAAA;IAC/C,sCAAsC;IACtC,EAAE,CAAC,EAAE,mCAAmC,CAAC,IAAI,CAAC,CAAA;IAC9C,mDAAmD;IACnD,eAAe,CAAC,EAAE,mCAAmC,CAAC,iBAAiB,CAAC,CAAA;IACxE,4DAA4D;IAC5D,wBAAwB,CAAC,EAAE,mCAAmC,CAAC,0BAA0B,CAAC,CAAA;CAC3F;AAYD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA8HvE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAA;AAIxD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGpG,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACjD;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,kBAAkB,KACtB,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEzD,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,KACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzB,MAAM,MAAM,wCAAwC,GAAG,CACrD,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,wBAAwB,KAC7B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE7B,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB,EAAE,uBAAuB;IAC7F,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,2BAA2B,CAAA;IACzC,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,wCAAwC,CAAA;IAC3E;;;;;OAKG;IACH,SAAS,CAAC,EAAE,mCAAmC,CAAA;IAC/C,sCAAsC;IACtC,EAAE,CAAC,EAAE,mCAAmC,CAAC,IAAI,CAAC,CAAA;IAC9C,mDAAmD;IACnD,eAAe,CAAC,EAAE,mCAAmC,CAAC,iBAAiB,CAAC,CAAA;IACxE,4DAA4D;IAC5D,wBAAwB,CAAC,EAAE,mCAAmC,CAAC,0BAA0B,CAAC,CAAA;CAC3F;AAmBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA0JvE"}
package/dist/plugin.js CHANGED
@@ -1,6 +1,12 @@
1
+ import { financeService } from "@voyantjs/finance";
1
2
  import { createSmartbillSyncRuntime } from "./runtime.js";
2
3
  import { syncSmartbillInvoiceEvent } from "./sync.js";
3
4
  import { parseSmartbillPluginOptions } from "./validation.js";
5
+ function resolveStaticArtifactDb(db) {
6
+ if (!db || typeof db === "function")
7
+ return null;
8
+ return db;
9
+ }
4
10
  function coerceEvent(data) {
5
11
  if (data == null || typeof data !== "object")
6
12
  return null;
@@ -16,6 +22,34 @@ export function smartbillPlugin(options) {
16
22
  const validatedOptions = parseSmartbillPluginOptions(options);
17
23
  const runtime = createSmartbillSyncRuntime(validatedOptions);
18
24
  const { client, logger, eventNames } = runtime;
25
+ async function ensureNumberSeries() {
26
+ const db = resolveStaticArtifactDb(runtime.artifacts.db);
27
+ if (!db || typeof validatedOptions.seriesName !== "string")
28
+ return;
29
+ try {
30
+ await financeService.ensureExternalInvoiceNumberSeries(db, [
31
+ {
32
+ provider: "smartbill",
33
+ scope: "invoice",
34
+ code: "smartbill-invoice",
35
+ name: "SmartBill invoices",
36
+ externalConfigKey: validatedOptions.seriesName,
37
+ isDefault: true,
38
+ },
39
+ {
40
+ provider: "smartbill",
41
+ scope: "proforma",
42
+ code: "smartbill-proforma",
43
+ name: "SmartBill proformas",
44
+ externalConfigKey: validatedOptions.seriesName,
45
+ isDefault: true,
46
+ },
47
+ ]);
48
+ }
49
+ catch (error) {
50
+ logger.error("[smartbill] invoice number series bootstrap failed", error);
51
+ }
52
+ }
19
53
  async function resolveConfiguredSeriesName(event) {
20
54
  const value = validatedOptions.seriesName;
21
55
  return typeof value === "function" ? await value(event) : value;
@@ -125,6 +159,7 @@ export function smartbillPlugin(options) {
125
159
  return {
126
160
  name: "smartbill",
127
161
  version: "0.1.0",
162
+ bootstrap: ensureNumberSeries,
128
163
  subscribers,
129
164
  };
130
165
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/plugin-smartbill",
3
- "version": "0.80.15",
3
+ "version": "0.80.17",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -59,18 +59,18 @@
59
59
  "drizzle-orm": "^0.45.2",
60
60
  "hono": "^4.12.10",
61
61
  "zod": "^4.3.6",
62
- "@voyantjs/core": "0.80.15",
63
- "@voyantjs/finance": "0.80.15",
64
- "@voyantjs/hono": "0.80.15",
65
- "@voyantjs/storage": "0.80.15"
62
+ "@voyantjs/core": "0.80.17",
63
+ "@voyantjs/finance": "0.80.17",
64
+ "@voyantjs/hono": "0.80.17",
65
+ "@voyantjs/storage": "0.80.17"
66
66
  },
67
67
  "peerDependencies": {
68
68
  "@tanstack/react-query": "^5.0.0",
69
69
  "lucide-react": "^0.475.0",
70
70
  "react": "^19.0.0",
71
71
  "react-dom": "^19.0.0",
72
- "@voyantjs/finance-react": "0.80.15",
73
- "@voyantjs/ui": "0.80.15"
72
+ "@voyantjs/finance-react": "0.80.17",
73
+ "@voyantjs/ui": "0.80.17"
74
74
  },
75
75
  "peerDependenciesMeta": {
76
76
  "@tanstack/react-query": {
@@ -101,8 +101,8 @@
101
101
  "react-dom": "^19.2.4",
102
102
  "typescript": "^6.0.2",
103
103
  "vitest": "^4.1.2",
104
- "@voyantjs/finance-react": "0.80.15",
105
- "@voyantjs/ui": "0.80.15",
104
+ "@voyantjs/finance-react": "0.80.17",
105
+ "@voyantjs/ui": "0.80.17",
106
106
  "@voyantjs/voyant-typescript-config": "0.1.0"
107
107
  },
108
108
  "files": [