@fluxyte/sdk 0.10.0 → 0.11.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.
Files changed (46) hide show
  1. package/README.md +27 -0
  2. package/dist/core/client.d.ts +53 -0
  3. package/dist/core/client.d.ts.map +1 -1
  4. package/dist/core/client.js +87 -0
  5. package/dist/core/client.js.map +1 -1
  6. package/dist/core/commerce.d.ts +3 -0
  7. package/dist/core/commerce.d.ts.map +1 -1
  8. package/dist/core/errors.d.ts +4 -0
  9. package/dist/core/errors.d.ts.map +1 -1
  10. package/dist/core/errors.js +7 -0
  11. package/dist/core/errors.js.map +1 -1
  12. package/dist/core/sse.d.ts +3 -0
  13. package/dist/core/sse.d.ts.map +1 -1
  14. package/dist/core/sse.js.map +1 -1
  15. package/dist/core/taskAssist.d.ts +22 -0
  16. package/dist/core/taskAssist.d.ts.map +1 -0
  17. package/dist/core/taskAssist.js +33 -0
  18. package/dist/core/taskAssist.js.map +1 -0
  19. package/dist/core/utils.d.ts.map +1 -1
  20. package/dist/core/utils.js +7 -3
  21. package/dist/core/utils.js.map +1 -1
  22. package/dist/generated/openapi.d.ts +204 -1
  23. package/dist/generated/openapi.d.ts.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/react/index.d.ts +1 -0
  29. package/dist/react/index.d.ts.map +1 -1
  30. package/dist/react/index.js +1 -0
  31. package/dist/react/index.js.map +1 -1
  32. package/dist/react/useChat.d.ts.map +1 -1
  33. package/dist/react/useStreamingChat.d.ts +57 -0
  34. package/dist/react/useStreamingChat.d.ts.map +1 -1
  35. package/dist/react/useStreamingChat.js +4 -1
  36. package/dist/react/useStreamingChat.js.map +1 -1
  37. package/dist/react/useTaskAssist.d.ts +277 -0
  38. package/dist/react/useTaskAssist.d.ts.map +1 -0
  39. package/dist/react/useTaskAssist.js +115 -0
  40. package/dist/react/useTaskAssist.js.map +1 -0
  41. package/dist/react/useVoiceChat.d.ts.map +1 -1
  42. package/dist/vanilla/index.d.ts +2 -0
  43. package/dist/vanilla/index.d.ts.map +1 -1
  44. package/dist/vanilla/index.js +1 -0
  45. package/dist/vanilla/index.js.map +1 -1
  46. package/package.json +58 -58
@@ -0,0 +1,277 @@
1
+ import type { TaskAssistAuthorizationLink, TaskAssistOperationHandle } from "../core/taskAssist.js";
2
+ type Inputs = Record<string, string | number | boolean>;
3
+ /**
4
+ * Task Assist operation state for React.
5
+ *
6
+ * - `start` creates an operation and keeps its handle (token) in memory only.
7
+ * - `confirm` sends the digest of the review CURRENTLY displayed, so customers
8
+ * can only ever confirm what they saw.
9
+ * - While the system is working (authorized, executing, waiting), the hook polls
10
+ * with backoff and stops at terminal states or when the customer must act.
11
+ * - Pass `sessionOperationId` to follow an operation created from chat
12
+ * (read-only; the conversation drives its actions).
13
+ */
14
+ export declare function useTaskAssist(options?: {
15
+ handle?: TaskAssistOperationHandle;
16
+ sessionOperationId?: string;
17
+ poll?: boolean;
18
+ }): {
19
+ operation: {
20
+ id: string;
21
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
22
+ revision: number;
23
+ capability: {
24
+ key: string;
25
+ title: string;
26
+ description: string;
27
+ version: number;
28
+ };
29
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
30
+ missing: string[];
31
+ commerce?: {
32
+ currency: string;
33
+ totalAmountMinor: number;
34
+ lines: {
35
+ offeringId: string;
36
+ name: string;
37
+ quantity: number;
38
+ unitAmountMinor: number;
39
+ lineAmountMinor: number;
40
+ }[];
41
+ };
42
+ confirmation?: {
43
+ digest: string;
44
+ expiresAt: string;
45
+ };
46
+ result?: {
47
+ verification?: string;
48
+ data?: {
49
+ [key: string]: unknown;
50
+ };
51
+ text?: string;
52
+ } | null;
53
+ failure?: {
54
+ code: string;
55
+ message?: string | null;
56
+ };
57
+ expiresAt: string;
58
+ createdAt: string;
59
+ updatedAt: string;
60
+ } | null;
61
+ handle: TaskAssistOperationHandle | null;
62
+ loading: boolean;
63
+ error: Error | null;
64
+ start: (capabilityKey: string, inputs?: Inputs) => Promise<{
65
+ id: string;
66
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
67
+ revision: number;
68
+ capability: {
69
+ key: string;
70
+ title: string;
71
+ description: string;
72
+ version: number;
73
+ };
74
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
75
+ missing: string[];
76
+ commerce?: {
77
+ currency: string;
78
+ totalAmountMinor: number;
79
+ lines: {
80
+ offeringId: string;
81
+ name: string;
82
+ quantity: number;
83
+ unitAmountMinor: number;
84
+ lineAmountMinor: number;
85
+ }[];
86
+ };
87
+ confirmation?: {
88
+ digest: string;
89
+ expiresAt: string;
90
+ };
91
+ result?: {
92
+ verification?: string;
93
+ data?: {
94
+ [key: string]: unknown;
95
+ };
96
+ text?: string;
97
+ } | null;
98
+ failure?: {
99
+ code: string;
100
+ message?: string | null;
101
+ };
102
+ expiresAt: string;
103
+ createdAt: string;
104
+ updatedAt: string;
105
+ } | null>;
106
+ submitInputs: (inputs: Inputs) => Promise<{
107
+ id: string;
108
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
109
+ revision: number;
110
+ capability: {
111
+ key: string;
112
+ title: string;
113
+ description: string;
114
+ version: number;
115
+ };
116
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
117
+ missing: string[];
118
+ commerce?: {
119
+ currency: string;
120
+ totalAmountMinor: number;
121
+ lines: {
122
+ offeringId: string;
123
+ name: string;
124
+ quantity: number;
125
+ unitAmountMinor: number;
126
+ lineAmountMinor: number;
127
+ }[];
128
+ };
129
+ confirmation?: {
130
+ digest: string;
131
+ expiresAt: string;
132
+ };
133
+ result?: {
134
+ verification?: string;
135
+ data?: {
136
+ [key: string]: unknown;
137
+ };
138
+ text?: string;
139
+ } | null;
140
+ failure?: {
141
+ code: string;
142
+ message?: string | null;
143
+ };
144
+ expiresAt: string;
145
+ createdAt: string;
146
+ updatedAt: string;
147
+ } | null>;
148
+ confirm: () => Promise<{
149
+ id: string;
150
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
151
+ revision: number;
152
+ capability: {
153
+ key: string;
154
+ title: string;
155
+ description: string;
156
+ version: number;
157
+ };
158
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
159
+ missing: string[];
160
+ commerce?: {
161
+ currency: string;
162
+ totalAmountMinor: number;
163
+ lines: {
164
+ offeringId: string;
165
+ name: string;
166
+ quantity: number;
167
+ unitAmountMinor: number;
168
+ lineAmountMinor: number;
169
+ }[];
170
+ };
171
+ confirmation?: {
172
+ digest: string;
173
+ expiresAt: string;
174
+ };
175
+ result?: {
176
+ verification?: string;
177
+ data?: {
178
+ [key: string]: unknown;
179
+ };
180
+ text?: string;
181
+ } | null;
182
+ failure?: {
183
+ code: string;
184
+ message?: string | null;
185
+ };
186
+ expiresAt: string;
187
+ createdAt: string;
188
+ updatedAt: string;
189
+ } | null>;
190
+ cancel: () => Promise<{
191
+ id: string;
192
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
193
+ revision: number;
194
+ capability: {
195
+ key: string;
196
+ title: string;
197
+ description: string;
198
+ version: number;
199
+ };
200
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
201
+ missing: string[];
202
+ commerce?: {
203
+ currency: string;
204
+ totalAmountMinor: number;
205
+ lines: {
206
+ offeringId: string;
207
+ name: string;
208
+ quantity: number;
209
+ unitAmountMinor: number;
210
+ lineAmountMinor: number;
211
+ }[];
212
+ };
213
+ confirmation?: {
214
+ digest: string;
215
+ expiresAt: string;
216
+ };
217
+ result?: {
218
+ verification?: string;
219
+ data?: {
220
+ [key: string]: unknown;
221
+ };
222
+ text?: string;
223
+ } | null;
224
+ failure?: {
225
+ code: string;
226
+ message?: string | null;
227
+ };
228
+ expiresAt: string;
229
+ createdAt: string;
230
+ updatedAt: string;
231
+ } | null>;
232
+ refresh: () => Promise<{
233
+ id: string;
234
+ status: import("../index.js").components["schemas"]["TaskAssistOperationStatus"];
235
+ revision: number;
236
+ capability: {
237
+ key: string;
238
+ title: string;
239
+ description: string;
240
+ version: number;
241
+ };
242
+ inputs: import("../index.js").components["schemas"]["TaskAssistInputField"][];
243
+ missing: string[];
244
+ commerce?: {
245
+ currency: string;
246
+ totalAmountMinor: number;
247
+ lines: {
248
+ offeringId: string;
249
+ name: string;
250
+ quantity: number;
251
+ unitAmountMinor: number;
252
+ lineAmountMinor: number;
253
+ }[];
254
+ };
255
+ confirmation?: {
256
+ digest: string;
257
+ expiresAt: string;
258
+ };
259
+ result?: {
260
+ verification?: string;
261
+ data?: {
262
+ [key: string]: unknown;
263
+ };
264
+ text?: string;
265
+ } | null;
266
+ failure?: {
267
+ code: string;
268
+ message?: string | null;
269
+ };
270
+ expiresAt: string;
271
+ createdAt: string;
272
+ updatedAt: string;
273
+ } | null>;
274
+ requestAuthorization: (returnUrl?: string) => Promise<TaskAssistAuthorizationLink | null>;
275
+ };
276
+ export {};
277
+ //# sourceMappingURL=useTaskAssist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTaskAssist.d.ts","sourceRoot":"","sources":["../../src/react/useTaskAssist.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAuB,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGzH,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO;;;gBA4F4sQ,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;;;;2BAxDjxS,MAAM,WAAU,MAAM;;gBAwDmwQ,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;2BA/CjxS,MAAM;;gBA+CmxQ,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;;;gBAAx/B,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;;;gBAAx/B,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;;;gBAAx/B,2CAAsB;;;;;;;;gBAAmM,2CAAsB;;;;;;;;;;;;;;;;;;wBAAimB,CAAC;gBAAsB,CAAC;;;gBAA6D,CAAC;;;;mBAAiF,CAAC;;;;;;uCAzBrwS,MAAM,KAAG,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC;EAwBjH"}
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ import { nextTaskPollDelay } from "../core/taskAssist.js";
4
+ import { useOnboardingAIClient } from "./OnboardingAIProvider.js";
5
+ /**
6
+ * Task Assist operation state for React.
7
+ *
8
+ * - `start` creates an operation and keeps its handle (token) in memory only.
9
+ * - `confirm` sends the digest of the review CURRENTLY displayed, so customers
10
+ * can only ever confirm what they saw.
11
+ * - While the system is working (authorized, executing, waiting), the hook polls
12
+ * with backoff and stops at terminal states or when the customer must act.
13
+ * - Pass `sessionOperationId` to follow an operation created from chat
14
+ * (read-only; the conversation drives its actions).
15
+ */
16
+ export function useTaskAssist(options = {}) {
17
+ const client = useOnboardingAIClient();
18
+ const [handle, setHandle] = useState(options.handle ?? null);
19
+ const [operation, setOperation] = useState(null);
20
+ const [loading, setLoading] = useState(false);
21
+ const [error, setError] = useState(null);
22
+ const pollAttempt = useRef(0);
23
+ const shouldPoll = options.poll !== false;
24
+ const run = useCallback(async (work) => {
25
+ setLoading(true);
26
+ setError(null);
27
+ try {
28
+ return await work();
29
+ }
30
+ catch (caught) {
31
+ setError(caught instanceof Error ? caught : new Error("Task request failed"));
32
+ return null;
33
+ }
34
+ finally {
35
+ setLoading(false);
36
+ }
37
+ }, []);
38
+ const refresh = useCallback(async () => {
39
+ if (handle) {
40
+ const next = await run(() => client.getTaskAssistOperation(handle));
41
+ if (next)
42
+ setOperation(next);
43
+ return next;
44
+ }
45
+ if (options.sessionOperationId) {
46
+ const next = await run(() => client.getTaskAssistSessionOperation(options.sessionOperationId));
47
+ if (next)
48
+ setOperation(next);
49
+ return next;
50
+ }
51
+ return null;
52
+ }, [client, handle, options.sessionOperationId, run]);
53
+ const start = useCallback(async (capabilityKey, inputs = {}) => {
54
+ const created = await run(() => client.createTaskAssistOperation({ capabilityKey, inputs }));
55
+ if (!created)
56
+ return null;
57
+ pollAttempt.current = 0;
58
+ setHandle(created.handle);
59
+ setOperation(created.operation);
60
+ return created.operation;
61
+ }, [client, run]);
62
+ const submitInputs = useCallback(async (inputs) => {
63
+ if (!handle || !operation)
64
+ return null;
65
+ const next = await run(() => client.submitTaskAssistInputs(handle, operation.revision, inputs));
66
+ if (next)
67
+ setOperation(next);
68
+ return next;
69
+ }, [client, handle, operation, run]);
70
+ const confirm = useCallback(async () => {
71
+ const digest = operation?.confirmation?.digest;
72
+ if (!handle || !digest)
73
+ return null;
74
+ const next = await run(() => client.confirmTaskAssistOperation(handle, digest));
75
+ if (next) {
76
+ pollAttempt.current = 0;
77
+ setOperation(next);
78
+ }
79
+ return next;
80
+ }, [client, handle, operation, run]);
81
+ const cancel = useCallback(async () => {
82
+ if (!handle)
83
+ return null;
84
+ const next = await run(() => client.cancelTaskAssistOperation(handle));
85
+ if (next)
86
+ setOperation(next);
87
+ return next;
88
+ }, [client, handle, run]);
89
+ const requestAuthorization = useCallback(async (returnUrl) => {
90
+ if (!handle)
91
+ return null;
92
+ return run(() => client.requestTaskAssistAuthorization(handle, returnUrl));
93
+ }, [client, handle, run]);
94
+ // Initial load for an existing handle or chat operation.
95
+ useEffect(() => {
96
+ if ((handle || options.sessionOperationId) && !operation)
97
+ void refresh();
98
+ // eslint-disable-next-line react-hooks/exhaustive-deps
99
+ }, [handle, options.sessionOperationId]);
100
+ // Bounded polling while the system is working.
101
+ useEffect(() => {
102
+ if (!shouldPoll || !operation)
103
+ return;
104
+ const delay = nextTaskPollDelay(operation.status, pollAttempt.current);
105
+ if (delay === null)
106
+ return;
107
+ const timer = setTimeout(() => {
108
+ pollAttempt.current += 1;
109
+ void refresh();
110
+ }, delay);
111
+ return () => clearTimeout(timer);
112
+ }, [operation, refresh, shouldPoll]);
113
+ return { operation, handle, loading, error, start, submitInputs, confirm, cancel, refresh, requestAuthorization };
114
+ }
115
+ //# sourceMappingURL=useTaskAssist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTaskAssist.js","sourceRoot":"","sources":["../../src/react/useTaskAssist.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceChat.d.ts","sourceRoot":"","sources":["../../src/react/useVoiceChat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,KAAK,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAGlE,wBAAgB,YAAY;oBAOR,gBAAgB;;;;;kBAuB69U,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;yBAvB9nV,gBAAgB;;;;;kBAuB69U,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;;;;;;kBAAjJ,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;;;EADjpV"}
1
+ {"version":3,"file":"useVoiceChat.d.ts","sourceRoot":"","sources":["../../src/react/useVoiceChat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,KAAK,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAGlE,wBAAgB,YAAY;oBAOR,gBAAgB;;;;;kBAuB6yhB,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;yBAvB98hB,gBAAgB;;;;;kBAuB6yhB,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;;;;;;kBAAjJ,qBAAsB;oBAAqC,qBAAsB;sBAA0C,qBAAsB;;;;;EADj+hB"}
@@ -3,4 +3,6 @@ export type { components } from "../generated/openapi";
3
3
  export type * from "../public-types.js";
4
4
  export type { ChatSSEEvent } from "../core/sse";
5
5
  export type * from "../core/commerce.js";
6
+ export type * from "../core/taskAssist.js";
7
+ export { generateTaskRequestKey, isTerminalTaskStatus, nextTaskPollDelay } from "../core/taskAssist.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOvD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,mBAAmB,oBAAoB,CAAC;AAOxC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,mBAAmB,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOvD,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,mBAAmB,oBAAoB,CAAC;AAOxC,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,uBAAuB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  // src/vanilla/index.ts
2
2
  export { OnboardingAIClient } from "../core/client.js";
3
+ export { generateTaskRequestKey, isTerminalTaskStatus, nextTaskPollDelay } from "../core/taskAssist.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAmBvD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,58 +1,58 @@
1
- {
2
- "name": "@fluxyte/sdk",
3
- "version": "0.10.0",
4
- "description": "Official Fluxyte SDK (TypeScript) for the Fluxyte Onboarding AI API",
5
- "license": "SEE LICENSE IN LICENSE.md",
6
- "type": "module",
7
- "sideEffects": false,
8
- "files": [
9
- "dist"
10
- ],
11
- "publishConfig": {
12
- "access": "public"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://github.com/fluxyte/ai-onboarding-sdk.git"
17
- },
18
- "main": "dist/index.js",
19
- "types": "dist/index.d.ts",
20
- "exports": {
21
- ".": {
22
- "types": "./dist/index.d.ts",
23
- "import": "./dist/index.js"
24
- },
25
- "./react": {
26
- "types": "./dist/react/index.d.ts",
27
- "import": "./dist/react/index.js"
28
- },
29
- "./vanilla": {
30
- "types": "./dist/vanilla/index.d.ts",
31
- "import": "./dist/vanilla/index.js"
32
- },
33
- "./node": {
34
- "types": "./dist/node/index.d.ts",
35
- "import": "./dist/node/index.js"
36
- }
37
- },
38
- "scripts": {
39
- "clean": "rimraf dist",
40
- "gen:types": "openapi-typescript openapi/public.v1.yaml -o src/generated/openapi.ts",
41
- "prebuild": "npm run gen:types",
42
- "build": "npm run clean && tsc",
43
- "test": "npm run build && node --test",
44
- "changeset": "changeset",
45
- "version-packages": "changeset version",
46
- "release": "changeset publish"
47
- },
48
- "peerDependencies": {
49
- "react": ">=17"
50
- },
51
- "devDependencies": {
52
- "@changesets/cli": "^2.28.1",
53
- "@types/react": "^19.2.7",
54
- "openapi-typescript": "^6.7.4",
55
- "rimraf": "^6.1.2",
56
- "typescript": "^5.4.0"
57
- }
58
- }
1
+ {
2
+ "name": "@fluxyte/sdk",
3
+ "version": "0.11.0",
4
+ "description": "Official Fluxyte SDK (TypeScript) for the Fluxyte Onboarding AI API",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/fluxyte/ai-onboarding-sdk.git"
17
+ },
18
+ "main": "dist/index.js",
19
+ "types": "dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js"
24
+ },
25
+ "./react": {
26
+ "types": "./dist/react/index.d.ts",
27
+ "import": "./dist/react/index.js"
28
+ },
29
+ "./vanilla": {
30
+ "types": "./dist/vanilla/index.d.ts",
31
+ "import": "./dist/vanilla/index.js"
32
+ },
33
+ "./node": {
34
+ "types": "./dist/node/index.d.ts",
35
+ "import": "./dist/node/index.js"
36
+ }
37
+ },
38
+ "scripts": {
39
+ "clean": "rimraf dist",
40
+ "gen:types": "openapi-typescript openapi/public.v1.yaml -o src/generated/openapi.ts",
41
+ "prebuild": "npm run gen:types",
42
+ "build": "npm run clean && tsc",
43
+ "test": "npm run build && node --test",
44
+ "changeset": "changeset",
45
+ "version-packages": "changeset version",
46
+ "release": "changeset publish"
47
+ },
48
+ "peerDependencies": {
49
+ "react": ">=17"
50
+ },
51
+ "devDependencies": {
52
+ "@changesets/cli": "^2.28.1",
53
+ "@types/react": "^19.2.7",
54
+ "openapi-typescript": "^6.7.4",
55
+ "rimraf": "^6.1.2",
56
+ "typescript": "^5.4.0"
57
+ }
58
+ }