@flowselections/mailbox-orders 1.0.58 → 1.0.60

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.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Haalt een versie-segment (bv. `/v1beta` of `/v1`) van het eind van de
3
+ * base-URL af. De centrale tabel `ai_providers` mag de base-URL met of zonder
4
+ * versie opslaan; de provider-functies zetten zelf de juiste versie erachter.
5
+ */
6
+ export declare function stripVersionSuffix(baseUrl: string, versions: string[]): string;
7
+ //# sourceMappingURL=ai-base-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-base-url.d.ts","sourceRoot":"","sources":["../../src/lib/ai-base-url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAS9E"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Haalt een versie-segment (bv. `/v1beta` of `/v1`) van het eind van de
3
+ * base-URL af. De centrale tabel `ai_providers` mag de base-URL met of zonder
4
+ * versie opslaan; de provider-functies zetten zelf de juiste versie erachter.
5
+ */
6
+ export function stripVersionSuffix(baseUrl, versions) {
7
+ let url = baseUrl.replace(/\/+$/, "");
8
+ for (const v of versions) {
9
+ if (url.toLowerCase().endsWith(`/${v}`)) {
10
+ url = url.slice(0, -(v.length + 1));
11
+ break;
12
+ }
13
+ }
14
+ return url;
15
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox-ai.server.d.ts","sourceRoot":"","sources":["../../src/lib/mailbox-ai.server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,6BAA6B,EAAE,CAAC;AAEzC,KAAK,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5C,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;IAC3D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IACF,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,2FAA2F;AAC3F,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGrF;AA0JD,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,GAAG,OAAa;;;;;;;EA4BhD;AA0HD,mDAAmD;AACnD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI3D;AAID,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACd,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;CAMlE;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,CA8ErD"}
1
+ {"version":3,"file":"mailbox-ai.server.d.ts","sourceRoot":"","sources":["../../src/lib/mailbox-ai.server.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  // Er wordt GEEN gebruik gemaakt van Lovable AI / de Lovable AI Gateway.
4
4
  import { resolveModuleAi, logAiCall } from "./ai-config.server.js";
5
5
  import { DEFAULT_MAILBOX_SYSTEM_PROMPT } from "./mailbox-ai-prompt.js";
6
+ import { stripVersionSuffix } from "./ai-base-url.js";
6
7
  export { DEFAULT_MAILBOX_SYSTEM_PROMPT };
7
8
  export const MAILBOX_AI_MODULE_KEY = "mailbox-bestellingen";
8
9
  /** Huidige vingerafdruk van de gekoppelde AI-agent, of null als AI niet beschikbaar is. */
@@ -11,7 +12,8 @@ export async function currentAiFingerprint(admin) {
11
12
  return res.ok ? res.config.fingerprint : null;
12
13
  }
13
14
  async function callGemini(cfg, system, user) {
14
- const url = `${cfg.baseUrl}/v1beta/models/${encodeURIComponent(cfg.modelSlug)}:generateContent?key=${encodeURIComponent(cfg.apiKey)}`;
15
+ const base = stripVersionSuffix(cfg.baseUrl, ["v1beta", "v1"]);
16
+ const url = `${base}/v1beta/models/${encodeURIComponent(cfg.modelSlug)}:generateContent?key=${encodeURIComponent(cfg.apiKey)}`;
15
17
  const res = await fetch(url, {
16
18
  method: "POST",
17
19
  headers: { "Content-Type": "application/json" },
@@ -61,7 +63,8 @@ async function callOpenAi(cfg, system, user) {
61
63
  };
62
64
  }
63
65
  async function callAnthropic(cfg, system, user) {
64
- const res = await fetch(`${cfg.baseUrl}/v1/messages`, {
66
+ const base = stripVersionSuffix(cfg.baseUrl, ["v1"]);
67
+ const res = await fetch(`${base}/v1/messages`, {
65
68
  method: "POST",
66
69
  headers: {
67
70
  "Content-Type": "application/json",
package/package.json CHANGED
@@ -1,138 +1,138 @@
1
- {
2
- "name": "@flowselections/mailbox-orders",
3
- "version": "1.0.58",
4
- "private": false,
5
- "sideEffects": false,
6
- "type": "module",
7
- "main": "./dist-lib/index.js",
8
- "types": "./dist-lib/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist-lib/index.d.ts",
12
- "default": "./dist-lib/index.js"
13
- },
14
- "./styles": "./dist-lib/styles.css",
15
- "./server-routes": {
16
- "types": "./dist-lib/server-routes.d.ts",
17
- "default": "./dist-lib/server-routes.js"
18
- }
19
- },
20
- "files": [
21
- "dist-lib",
22
- "public"
23
- ],
24
- "publishConfig": {
25
- "access": "public"
26
- },
27
- "scripts": {
28
- "dev": "vite dev",
29
- "build": "vite build",
30
- "build:lib": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json --resolve-full-paths && node -e \"require('fs').writeFileSync('dist-lib/styles.css', '@source \\\"./\\\";\\n')\"",
31
- "build:lib:watch": "tsc -p tsconfig.build.json --watch",
32
- "build:dev": "vite build --mode development",
33
- "preview": "vite preview",
34
- "lint": "eslint ."
35
- },
36
- "peerDependencies": {
37
- "@flowselections/core": "*",
38
- "@flowselections/e-mail-authenticatie-module": "^1.0.8",
39
- "@tanstack/react-query": "^5.0.0",
40
- "@tanstack/react-router": "^1.0.0",
41
- "@tanstack/react-start": "^1.0.0",
42
- "lucide-react": "^0.400.0",
43
- "react": "^18 || ^19",
44
- "react-dom": "^18 || ^19",
45
- "sonner": "^2.0.0"
46
- },
47
- "dependencies": {
48
- "@supabase/supabase-js": "^2.108.1"
49
- },
50
- "devDependencies": {
51
- "@cloudflare/vite-plugin": "^1.25.5",
52
- "@eslint/js": "^9.32.0",
53
- "@flowselections/core": "1.0.35",
54
- "@flowselections/e-mail-authenticatie-module": "^1.0.8",
55
- "@lovable.dev/vite-tanstack-config": "2.26.5",
56
- "@rsbuild/core": "^1.0.0",
57
- "@tailwindcss/vite": "^4.2.1",
58
- "@tanstack/react-query": "^5.83.0",
59
- "@tanstack/react-router": "1.169.1",
60
- "@tanstack/react-start": "1.167.63",
61
- "@tanstack/router-plugin": "1.167.33",
62
- "@types/node": "^22.16.5",
63
- "@types/react": "^19.2.0",
64
- "@types/react-dom": "^19.2.0",
65
- "@vitejs/plugin-react": "^5.0.4",
66
- "eslint": "^9.32.0",
67
- "eslint-plugin-react-hooks": "^5.2.0",
68
- "eslint-plugin-react-refresh": "^0.4.20",
69
- "globals": "^15.15.0",
70
- "lucide-react": "^0.575.0",
71
- "react": "^19.2.0",
72
- "react-dom": "^19.2.0",
73
- "sonner": "^2.0.7",
74
- "tailwindcss": "^4.2.1",
75
- "tsc-alias": "^1.8.10",
76
- "tw-animate-css": "^1.3.4",
77
- "typescript": "^5.8.3",
78
- "typescript-eslint": "^8.56.1",
79
- "vite": "^7.3.1",
80
- "vite-tsconfig-paths": "^6.0.2",
81
- "nitro": "3.0.260603-beta"
82
- },
83
- "flowselections": {
84
- "moduleId": "Mailbox",
85
- "pages": [
86
- {
87
- "export": "MailboxProposalsPage",
88
- "route": "mailbox-orders/voorstellen",
89
- "title": "Voorstellen"
90
- },
91
- {
92
- "export": "MailboxProcessedPage",
93
- "route": "mailbox-orders/verwerkt",
94
- "title": "Verwerkt"
95
- },
96
- {
97
- "export": "MailboxSkippedPage",
98
- "route": "mailbox-orders/overgeslagen",
99
- "title": "Overgeslagen"
100
- }
101
- ],
102
- "serverRoutes": [
103
- {
104
- "routePath": "/api/public/mailbox-orders/process-events",
105
- "import": "@flowselections/mailbox-orders/server-routes",
106
- "handler": "processEvents",
107
- "methods": [
108
- "POST"
109
- ]
110
- },
111
- {
112
- "routePath": "/api/public/mailbox-orders/webhook-ingest",
113
- "import": "@flowselections/mailbox-orders/server-routes",
114
- "handler": "webhookIngest",
115
- "methods": [
116
- "POST"
117
- ]
118
- }
119
- ],
120
- "crons": [
121
- {
122
- "name": "mailbox-orders-process-events",
123
- "schedule": "* * * * *",
124
- "kind": "http",
125
- "path": "/api/public/mailbox-orders/process-events",
126
- "auth": "anon",
127
- "timeoutMs": 30000
128
- }
129
- ],
130
- "ai": [
131
- {
132
- "moduleKey": "mailbox-bestellingen",
133
- "name": "Mail box voor bestellingen",
134
- "description": "Leest bestellingen uit e-mail met AI"
135
- }
136
- ]
137
- }
138
- }
1
+ {
2
+ "name": "@flowselections/mailbox-orders",
3
+ "version": "1.0.60",
4
+ "private": false,
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "main": "./dist-lib/index.js",
8
+ "types": "./dist-lib/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist-lib/index.d.ts",
12
+ "default": "./dist-lib/index.js"
13
+ },
14
+ "./styles": "./dist-lib/styles.css",
15
+ "./server-routes": {
16
+ "types": "./dist-lib/server-routes.d.ts",
17
+ "default": "./dist-lib/server-routes.js"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist-lib",
22
+ "public"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "scripts": {
28
+ "dev": "vite dev",
29
+ "build": "vite build",
30
+ "build:lib": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json --resolve-full-paths && node -e \"require('fs').writeFileSync('dist-lib/styles.css', '@source \\\"./\\\";\\n')\"",
31
+ "build:lib:watch": "tsc -p tsconfig.build.json --watch",
32
+ "build:dev": "vite build --mode development",
33
+ "preview": "vite preview",
34
+ "lint": "eslint ."
35
+ },
36
+ "peerDependencies": {
37
+ "@flowselections/core": "*",
38
+ "@flowselections/e-mail-authenticatie-module": "^1.0.8",
39
+ "@tanstack/react-query": "^5.0.0",
40
+ "@tanstack/react-router": "^1.0.0",
41
+ "@tanstack/react-start": "^1.0.0",
42
+ "lucide-react": "^0.400.0",
43
+ "react": "^18 || ^19",
44
+ "react-dom": "^18 || ^19",
45
+ "sonner": "^2.0.0"
46
+ },
47
+ "dependencies": {
48
+ "@supabase/supabase-js": "^2.108.1"
49
+ },
50
+ "devDependencies": {
51
+ "@cloudflare/vite-plugin": "^1.25.5",
52
+ "@eslint/js": "^9.32.0",
53
+ "@flowselections/core": "1.0.37",
54
+ "@flowselections/e-mail-authenticatie-module": "^1.0.8",
55
+ "@lovable.dev/vite-tanstack-config": "2.26.5",
56
+ "@rsbuild/core": "^1.0.0",
57
+ "@tailwindcss/vite": "^4.2.1",
58
+ "@tanstack/react-query": "^5.83.0",
59
+ "@tanstack/react-router": "1.169.1",
60
+ "@tanstack/react-start": "1.167.63",
61
+ "@tanstack/router-plugin": "1.167.33",
62
+ "@types/node": "^22.16.5",
63
+ "@types/react": "^19.2.0",
64
+ "@types/react-dom": "^19.2.0",
65
+ "@vitejs/plugin-react": "^5.0.4",
66
+ "eslint": "^9.32.0",
67
+ "eslint-plugin-react-hooks": "^5.2.0",
68
+ "eslint-plugin-react-refresh": "^0.4.20",
69
+ "globals": "^15.15.0",
70
+ "lucide-react": "^0.575.0",
71
+ "react": "^19.2.0",
72
+ "react-dom": "^19.2.0",
73
+ "sonner": "^2.0.7",
74
+ "tailwindcss": "^4.2.1",
75
+ "tsc-alias": "^1.8.10",
76
+ "tw-animate-css": "^1.3.4",
77
+ "typescript": "^5.8.3",
78
+ "typescript-eslint": "^8.56.1",
79
+ "vite": "^7.3.1",
80
+ "vite-tsconfig-paths": "^6.0.2",
81
+ "nitro": "3.0.260603-beta"
82
+ },
83
+ "flowselections": {
84
+ "moduleId": "Mailbox",
85
+ "pages": [
86
+ {
87
+ "export": "MailboxProposalsPage",
88
+ "route": "mailbox-orders/voorstellen",
89
+ "title": "Voorstellen"
90
+ },
91
+ {
92
+ "export": "MailboxProcessedPage",
93
+ "route": "mailbox-orders/verwerkt",
94
+ "title": "Verwerkt"
95
+ },
96
+ {
97
+ "export": "MailboxSkippedPage",
98
+ "route": "mailbox-orders/overgeslagen",
99
+ "title": "Overgeslagen"
100
+ }
101
+ ],
102
+ "serverRoutes": [
103
+ {
104
+ "routePath": "/api/public/mailbox-orders/process-events",
105
+ "import": "@flowselections/mailbox-orders/server-routes",
106
+ "handler": "processEvents",
107
+ "methods": [
108
+ "POST"
109
+ ]
110
+ },
111
+ {
112
+ "routePath": "/api/public/mailbox-orders/webhook-ingest",
113
+ "import": "@flowselections/mailbox-orders/server-routes",
114
+ "handler": "webhookIngest",
115
+ "methods": [
116
+ "POST"
117
+ ]
118
+ }
119
+ ],
120
+ "crons": [
121
+ {
122
+ "name": "mailbox-orders-process-events",
123
+ "schedule": "* * * * *",
124
+ "kind": "http",
125
+ "path": "/api/public/mailbox-orders/process-events",
126
+ "auth": "anon",
127
+ "timeoutMs": 30000
128
+ }
129
+ ],
130
+ "ai": [
131
+ {
132
+ "moduleKey": "mailbox-bestellingen",
133
+ "name": "Mail box voor bestellingen",
134
+ "description": "Leest bestellingen uit e-mail met AI"
135
+ }
136
+ ]
137
+ }
138
+ }