@campfire-interactive/cfi-ai-hub-client 1.0.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 (53) hide show
  1. package/dist/ai.d.ts +11 -0
  2. package/dist/ai.d.ts.map +1 -0
  3. package/dist/ai.js +39 -0
  4. package/dist/ai.js.map +1 -0
  5. package/dist/bom.d.ts +12 -0
  6. package/dist/bom.d.ts.map +1 -0
  7. package/dist/bom.js +64 -0
  8. package/dist/bom.js.map +1 -0
  9. package/dist/cache.d.ts +11 -0
  10. package/dist/cache.d.ts.map +1 -0
  11. package/dist/cache.js +37 -0
  12. package/dist/cache.js.map +1 -0
  13. package/dist/client.d.ts +17 -0
  14. package/dist/client.d.ts.map +1 -0
  15. package/dist/client.js +29 -0
  16. package/dist/client.js.map +1 -0
  17. package/dist/errors.d.ts +26 -0
  18. package/dist/errors.d.ts.map +1 -0
  19. package/dist/errors.js +55 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/http.d.ts +30 -0
  22. package/dist/http.d.ts.map +1 -0
  23. package/dist/http.js +141 -0
  24. package/dist/http.js.map +1 -0
  25. package/dist/index.d.ts +14 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +34 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mock.d.ts +77 -0
  30. package/dist/mock.d.ts.map +1 -0
  31. package/dist/mock.js +248 -0
  32. package/dist/mock.js.map +1 -0
  33. package/dist/multipart.d.ts +4 -0
  34. package/dist/multipart.d.ts.map +1 -0
  35. package/dist/multipart.js +21 -0
  36. package/dist/multipart.js.map +1 -0
  37. package/dist/omsf.d.ts +22 -0
  38. package/dist/omsf.d.ts.map +1 -0
  39. package/dist/omsf.js +67 -0
  40. package/dist/omsf.js.map +1 -0
  41. package/dist/tracker.d.ts +15 -0
  42. package/dist/tracker.d.ts.map +1 -0
  43. package/dist/tracker.js +74 -0
  44. package/dist/tracker.js.map +1 -0
  45. package/dist/types.d.ts +298 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +18 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/vendor.d.ts +8 -0
  50. package/dist/vendor.d.ts.map +1 -0
  51. package/dist/vendor.js +18 -0
  52. package/dist/vendor.js.map +1 -0
  53. package/package.json +35 -0
package/dist/mock.d.ts ADDED
@@ -0,0 +1,77 @@
1
+ import type { AbortProgressInput, ActionResponse, BomProcessFileOptions, BomProcessResponse, BomSearchRequest, BomSearchResponse, BomSearchResult, BomSeedVectorDbFileOptions, BomSeedVectorDbRequest, BomStoreAttributesRequest, BomStoreAttributesResponse, CacheDeleteResponse, CacheGetResponse, CacheSetInput, CacheSetResponse, CacheTokenInvalidateResponse, ChatRequest, ChatResponse, ColumnDetectionResponse, CompareVendorFilesRequest, CompareVendorFilesResponse, EmbeddingRequest, EmbeddingResponse, FileComparisonConfig, FileComparisonResponse, FileInput, FollowUpRequest, FollowUpResponse, OmsfHealthResponse, PollProgressOptions, ProgressResponse, SentimentRequest, SentimentResponse, SummarizeRequest, SummarizeResponse, VolumeAnalyzeResponse, VolumeDashboardResponse } from './types';
2
+ export interface MockSeedData {
3
+ chatResponses?: ChatResponse[];
4
+ bomSearchResults?: BomSearchResult[];
5
+ progressEntries?: Record<string, ProgressResponse>;
6
+ cache?: Record<string, unknown>;
7
+ }
8
+ interface MockStore {
9
+ chatResponses: ChatResponse[];
10
+ bomSearchResults: BomSearchResult[];
11
+ progressEntries: Map<string, ProgressResponse>;
12
+ cache: Map<string, unknown>;
13
+ }
14
+ declare class MockAiResource {
15
+ private readonly store;
16
+ constructor(store: MockStore);
17
+ chat(input: ChatRequest): Promise<ChatResponse>;
18
+ embeddings(input: EmbeddingRequest): Promise<EmbeddingResponse>;
19
+ sentiment(input: SentimentRequest): Promise<SentimentResponse>;
20
+ summarize(input: SummarizeRequest): Promise<SummarizeResponse>;
21
+ }
22
+ declare class MockBomResource {
23
+ private readonly store;
24
+ constructor(store: MockStore);
25
+ processFile(_file: FileInput, _options?: BomProcessFileOptions): Promise<BomProcessResponse>;
26
+ search(input: BomSearchRequest): Promise<BomSearchResponse>;
27
+ storeAttributes(_input: BomStoreAttributesRequest): Promise<BomStoreAttributesResponse>;
28
+ seedVectorDbFromFile(_file: FileInput, _options?: BomSeedVectorDbFileOptions): Promise<BomProcessResponse>;
29
+ seedVectorDbFromJson(_input: BomSeedVectorDbRequest, _callbackUrl?: string): Promise<BomProcessResponse>;
30
+ }
31
+ declare class MockOmsfResource {
32
+ analyzeData(): Promise<VolumeAnalyzeResponse>;
33
+ followUp(input: FollowUpRequest): Promise<FollowUpResponse>;
34
+ detectColumns(): Promise<ColumnDetectionResponse>;
35
+ compare(_fileOld: FileInput, _fileNew: FileInput, _config: FileComparisonConfig): Promise<FileComparisonResponse>;
36
+ dashboard(): Promise<VolumeDashboardResponse>;
37
+ health(): Promise<OmsfHealthResponse>;
38
+ }
39
+ declare class MockVendorResource {
40
+ compareVendorFiles(_input: CompareVendorFilesRequest): Promise<CompareVendorFilesResponse>;
41
+ }
42
+ declare class MockTrackerResource {
43
+ private readonly store;
44
+ constructor(store: MockStore);
45
+ get<TData = unknown>(progressId: string): Promise<ProgressResponse<TData>>;
46
+ abort(progressId: string, input?: AbortProgressInput): Promise<ActionResponse>;
47
+ delete(progressId: string): Promise<ActionResponse>;
48
+ pollProgress<TData = unknown>(progressId: string, _options?: PollProgressOptions): Promise<ProgressResponse<TData>>;
49
+ }
50
+ declare class MockCacheResource {
51
+ private readonly store;
52
+ constructor(store: MockStore);
53
+ get<T = unknown>(key: string): Promise<CacheGetResponse<T>>;
54
+ set<T = unknown>(key: string, input: CacheSetInput<T>): Promise<CacheSetResponse>;
55
+ delete(key: string): Promise<CacheDeleteResponse>;
56
+ invalidateToken(): Promise<CacheTokenInvalidateResponse>;
57
+ }
58
+ export declare class MockCfiAiHubClient {
59
+ readonly ai: MockAiResource;
60
+ readonly bom: MockBomResource;
61
+ readonly omsf: MockOmsfResource;
62
+ readonly vendor: MockVendorResource;
63
+ readonly tracker: MockTrackerResource;
64
+ readonly cache: MockCacheResource;
65
+ private store;
66
+ private readonly seed;
67
+ constructor(seed?: MockSeedData);
68
+ reset(): void;
69
+ getStore(): {
70
+ chatResponses: ChatResponse[];
71
+ bomSearchResults: BomSearchResult[];
72
+ progressEntries: Record<string, ProgressResponse>;
73
+ cache: Record<string, unknown>;
74
+ };
75
+ }
76
+ export {};
77
+ //# sourceMappingURL=mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
package/dist/mock.js ADDED
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockCfiAiHubClient = void 0;
4
+ const errors_1 = require("./errors");
5
+ const types_1 = require("./types");
6
+ function buildStore(seed) {
7
+ return {
8
+ chatResponses: [...(seed?.chatResponses ?? [])],
9
+ bomSearchResults: [...(seed?.bomSearchResults ?? [])],
10
+ progressEntries: new Map(Object.entries(seed?.progressEntries ?? {})),
11
+ cache: new Map(Object.entries(seed?.cache ?? {})),
12
+ };
13
+ }
14
+ function nowIso() {
15
+ return new Date().toISOString();
16
+ }
17
+ // ---------------------------------------------------------------------------
18
+ // Resource mocks
19
+ // ---------------------------------------------------------------------------
20
+ class MockAiResource {
21
+ store;
22
+ constructor(store) {
23
+ this.store = store;
24
+ }
25
+ async chat(input) {
26
+ return (this.store.chatResponses.shift() ?? {
27
+ response: `mock-response to: ${input.message}`,
28
+ model: 'mock-model',
29
+ tokens_used: input.message.length,
30
+ });
31
+ }
32
+ async embeddings(input) {
33
+ const model = input.model ?? 'text-embedding-3-small';
34
+ return {
35
+ embedding: Array.from({ length: 8 }, () => Math.random()),
36
+ model,
37
+ dimensions: 8,
38
+ };
39
+ }
40
+ async sentiment(input) {
41
+ return { sentiment: 'neutral', score: 0, reasoning: `mock analysis of: ${input.text}` };
42
+ }
43
+ async summarize(input) {
44
+ const summary = input.text.slice(0, input.max_length ?? 200);
45
+ return {
46
+ summary,
47
+ original_length: input.text.split(/\s+/).length,
48
+ summary_length: summary.split(/\s+/).length,
49
+ };
50
+ }
51
+ }
52
+ class MockBomResource {
53
+ store;
54
+ constructor(store) {
55
+ this.store = store;
56
+ }
57
+ async processFile(_file, _options = {}) {
58
+ return {
59
+ success: true,
60
+ progress_id: crypto.randomUUID(),
61
+ message: 'Mock BOM processing started',
62
+ };
63
+ }
64
+ async search(input) {
65
+ const limit = input.limit ?? 10;
66
+ const results = this.store.bomSearchResults.slice(0, limit);
67
+ return {
68
+ success: true,
69
+ results,
70
+ query: input.query,
71
+ total_results: results.length,
72
+ };
73
+ }
74
+ async storeAttributes(_input) {
75
+ return { success: true, message: 'Mock attributes stored', item_created: true };
76
+ }
77
+ async seedVectorDbFromFile(_file, _options = {}) {
78
+ return {
79
+ success: true,
80
+ progress_id: crypto.randomUUID(),
81
+ message: 'Mock BOM seed started',
82
+ };
83
+ }
84
+ async seedVectorDbFromJson(_input, _callbackUrl) {
85
+ return {
86
+ success: true,
87
+ progress_id: crypto.randomUUID(),
88
+ message: 'Mock BOM JSON seed started',
89
+ };
90
+ }
91
+ }
92
+ class MockOmsfResource {
93
+ async analyzeData() {
94
+ return {
95
+ status: 'success',
96
+ session_id: `mock-thread-${crypto.randomUUID()}`,
97
+ insights: 'mock insights',
98
+ images: [],
99
+ };
100
+ }
101
+ async followUp(input) {
102
+ return {
103
+ status: 'success',
104
+ session_id: input.session_id,
105
+ response: `mock answer to: ${input.prompt}`,
106
+ images: [],
107
+ };
108
+ }
109
+ async detectColumns() {
110
+ return {
111
+ columns: [],
112
+ auto_detected: {},
113
+ month_columns: [],
114
+ month_mapping: {},
115
+ grouping_columns: {},
116
+ };
117
+ }
118
+ async compare(_fileOld, _fileNew, _config) {
119
+ return {
120
+ merged_data: [],
121
+ data_quality: {},
122
+ timeframe: {},
123
+ statistics: {},
124
+ };
125
+ }
126
+ async dashboard() {
127
+ return { dashboard_data: {} };
128
+ }
129
+ async health() {
130
+ return {
131
+ api: 'healthy',
132
+ llm_available: true,
133
+ llm_provider: 'mock',
134
+ code_interpreter: 'enabled',
135
+ };
136
+ }
137
+ }
138
+ class MockVendorResource {
139
+ async compareVendorFiles(_input) {
140
+ return {
141
+ success: true,
142
+ progress_id: crypto.randomUUID(),
143
+ message: 'Mock vendor comparison started',
144
+ };
145
+ }
146
+ }
147
+ class MockTrackerResource {
148
+ store;
149
+ constructor(store) {
150
+ this.store = store;
151
+ }
152
+ async get(progressId) {
153
+ const entry = this.store.progressEntries.get(progressId);
154
+ if (!entry)
155
+ throw new errors_1.NotFoundError(`Progress ${progressId} not found`);
156
+ return entry;
157
+ }
158
+ async abort(progressId, input = {}) {
159
+ const entry = this.store.progressEntries.get(progressId);
160
+ if (!entry)
161
+ throw new errors_1.NotFoundError(`Progress ${progressId} not found`);
162
+ const status = input.message
163
+ ? types_1.ProgressStatus.ABORT_WITH_MESSAGE
164
+ : types_1.ProgressStatus.ABORT;
165
+ this.store.progressEntries.set(progressId, {
166
+ ...entry,
167
+ status,
168
+ message: input.message ?? 'Operation aborted',
169
+ updated_at: nowIso(),
170
+ });
171
+ return { success: true, message: `Progress entry ${progressId} aborted successfully` };
172
+ }
173
+ async delete(progressId) {
174
+ if (!this.store.progressEntries.delete(progressId)) {
175
+ throw new errors_1.NotFoundError(`Progress ${progressId} not found`);
176
+ }
177
+ return { success: true, message: `Progress entry ${progressId} deleted successfully` };
178
+ }
179
+ async pollProgress(progressId, _options = {}) {
180
+ return this.get(progressId);
181
+ }
182
+ }
183
+ class MockCacheResource {
184
+ store;
185
+ constructor(store) {
186
+ this.store = store;
187
+ }
188
+ async get(key) {
189
+ if (!this.store.cache.has(key))
190
+ throw new errors_1.NotFoundError('Key not found');
191
+ return { key, value: this.store.cache.get(key) };
192
+ }
193
+ async set(key, input) {
194
+ this.store.cache.set(key, input.value);
195
+ return { key, status: 'success' };
196
+ }
197
+ async delete(key) {
198
+ const deleted = this.store.cache.delete(key);
199
+ return { key, deleted };
200
+ }
201
+ async invalidateToken() {
202
+ return { status: 'success', message: 'Service token invalidated' };
203
+ }
204
+ }
205
+ // ---------------------------------------------------------------------------
206
+ // Public mock client
207
+ // ---------------------------------------------------------------------------
208
+ class MockCfiAiHubClient {
209
+ ai;
210
+ bom;
211
+ omsf;
212
+ vendor;
213
+ tracker;
214
+ cache;
215
+ store;
216
+ seed;
217
+ constructor(seed) {
218
+ this.seed = seed;
219
+ this.store = buildStore(seed);
220
+ this.ai = new MockAiResource(this.store);
221
+ this.bom = new MockBomResource(this.store);
222
+ this.omsf = new MockOmsfResource();
223
+ this.vendor = new MockVendorResource();
224
+ this.tracker = new MockTrackerResource(this.store);
225
+ this.cache = new MockCacheResource(this.store);
226
+ }
227
+ reset() {
228
+ const fresh = buildStore(this.seed);
229
+ this.store.chatResponses.splice(0, this.store.chatResponses.length, ...fresh.chatResponses);
230
+ this.store.bomSearchResults.splice(0, this.store.bomSearchResults.length, ...fresh.bomSearchResults);
231
+ this.store.progressEntries.clear();
232
+ for (const [k, v] of fresh.progressEntries)
233
+ this.store.progressEntries.set(k, v);
234
+ this.store.cache.clear();
235
+ for (const [k, v] of fresh.cache)
236
+ this.store.cache.set(k, v);
237
+ }
238
+ getStore() {
239
+ return {
240
+ chatResponses: [...this.store.chatResponses],
241
+ bomSearchResults: [...this.store.bomSearchResults],
242
+ progressEntries: Object.fromEntries(this.store.progressEntries),
243
+ cache: Object.fromEntries(this.store.cache),
244
+ };
245
+ }
246
+ }
247
+ exports.MockCfiAiHubClient = MockCfiAiHubClient;
248
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FileInput } from './types';
2
+ export declare function appendFile(form: FormData, field: string, file: FileInput): void;
3
+ export declare function appendIfDefined(form: FormData, field: string, value: unknown): void;
4
+ //# sourceMappingURL=multipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.d.ts","sourceRoot":"","sources":["../src/multipart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAU/E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGnF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendFile = appendFile;
4
+ exports.appendIfDefined = appendIfDefined;
5
+ function appendFile(form, field, file) {
6
+ if (typeof File !== 'undefined' && file instanceof File) {
7
+ form.append(field, file, file.name);
8
+ return;
9
+ }
10
+ if (file instanceof Blob) {
11
+ form.append(field, file);
12
+ return;
13
+ }
14
+ form.append(field, file.blob, file.filename);
15
+ }
16
+ function appendIfDefined(form, field, value) {
17
+ if (value === undefined || value === null)
18
+ return;
19
+ form.append(field, typeof value === 'boolean' ? (value ? 'true' : 'false') : String(value));
20
+ }
21
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","sourceRoot":"","sources":["../src/multipart.ts"],"names":[],"mappings":";;AAEA,gCAUC;AAED,0CAGC;AAfD,SAAgB,UAAU,CAAC,IAAc,EAAE,KAAa,EAAE,IAAe;IACvE,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,eAAe,CAAC,IAAc,EAAE,KAAa,EAAE,KAAc;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IAClD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC"}
package/dist/omsf.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import type { HttpTransport } from './http';
2
+ import type { ColumnDetectionResponse, FileComparisonConfig, FileComparisonResponse, FileInput, FollowUpRequest, FollowUpResponse, OmsfHealthResponse, VolumeAnalyzeResponse, VolumeDashboardResponse } from './types';
3
+ export interface VolumeAnalyzeOptions {
4
+ file1Dimensions?: number;
5
+ file2Dimensions?: number;
6
+ }
7
+ export interface VolumeDashboardInput {
8
+ monthMapping: Record<string, string>;
9
+ groupingConfig: Record<string, unknown>;
10
+ yearsRange?: number[];
11
+ }
12
+ export declare class OmsfResource {
13
+ private readonly http;
14
+ constructor(http: HttpTransport);
15
+ analyzeData(file1: FileInput, file2: FileInput, options?: VolumeAnalyzeOptions): Promise<VolumeAnalyzeResponse>;
16
+ followUp(input: FollowUpRequest): Promise<FollowUpResponse>;
17
+ detectColumns(file: FileInput): Promise<ColumnDetectionResponse>;
18
+ compare(fileOld: FileInput, fileNew: FileInput, config: FileComparisonConfig): Promise<FileComparisonResponse>;
19
+ dashboard(file: FileInput, input: VolumeDashboardInput): Promise<VolumeDashboardResponse>;
20
+ health(): Promise<OmsfHealthResponse>;
21
+ }
22
+ //# sourceMappingURL=omsf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omsf.d.ts","sourceRoot":"","sources":["../src/omsf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,WAAW,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAa3B,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQ3D,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAShE,OAAO,CACX,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAY5B,SAAS,CACb,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,uBAAuB,CAAC;IAe7B,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;CAM5C"}
package/dist/omsf.js ADDED
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OmsfResource = void 0;
4
+ const multipart_1 = require("./multipart");
5
+ class OmsfResource {
6
+ http;
7
+ constructor(http) {
8
+ this.http = http;
9
+ }
10
+ async analyzeData(file1, file2, options = {}) {
11
+ const form = new FormData();
12
+ (0, multipart_1.appendFile)(form, 'file1', file1);
13
+ (0, multipart_1.appendFile)(form, 'file2', file2);
14
+ form.append('file1_dimensions', String(options.file1Dimensions ?? 0));
15
+ form.append('file2_dimensions', String(options.file2Dimensions ?? 0));
16
+ return this.http.requestMultipart({
17
+ path: '/omsf/volume/analyze-data',
18
+ body: form,
19
+ });
20
+ }
21
+ async followUp(input) {
22
+ return this.http.request({
23
+ method: 'POST',
24
+ path: '/omsf/volume/follow-up',
25
+ body: input,
26
+ });
27
+ }
28
+ async detectColumns(file) {
29
+ const form = new FormData();
30
+ (0, multipart_1.appendFile)(form, 'file', file);
31
+ return this.http.requestMultipart({
32
+ path: '/omsf/volume/detect-columns',
33
+ body: form,
34
+ });
35
+ }
36
+ async compare(fileOld, fileNew, config) {
37
+ const form = new FormData();
38
+ (0, multipart_1.appendFile)(form, 'file_old', fileOld);
39
+ (0, multipart_1.appendFile)(form, 'file_new', fileNew);
40
+ form.append('config', JSON.stringify(config));
41
+ return this.http.requestMultipart({
42
+ path: '/omsf/volume/compare',
43
+ body: form,
44
+ });
45
+ }
46
+ async dashboard(file, input) {
47
+ const form = new FormData();
48
+ (0, multipart_1.appendFile)(form, 'file', file);
49
+ form.append('month_mapping', JSON.stringify(input.monthMapping));
50
+ form.append('grouping_config', JSON.stringify(input.groupingConfig));
51
+ if (input.yearsRange !== undefined) {
52
+ form.append('years_range', JSON.stringify(input.yearsRange));
53
+ }
54
+ return this.http.requestMultipart({
55
+ path: '/omsf/volume/dashboard',
56
+ body: form,
57
+ });
58
+ }
59
+ async health() {
60
+ return this.http.request({
61
+ method: 'GET',
62
+ path: '/omsf/health',
63
+ });
64
+ }
65
+ }
66
+ exports.OmsfResource = OmsfResource;
67
+ //# sourceMappingURL=omsf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omsf.js","sourceRoot":"","sources":["../src/omsf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { HttpTransport } from './http';
2
+ import type { AbortProgressInput, ActionResponse, PollProgressOptions, ProgressResponse } from './types';
3
+ export declare class TrackerResource {
4
+ private readonly http;
5
+ constructor(http: HttpTransport);
6
+ get<TData = unknown>(progressId: string): Promise<ProgressResponse<TData>>;
7
+ abort(progressId: string, input?: AbortProgressInput): Promise<ActionResponse>;
8
+ delete(progressId: string): Promise<ActionResponse>;
9
+ /**
10
+ * Poll a progress entry until it reaches a terminal status (done/error/abort)
11
+ * or times out. Throws {@link CfiAiHubError} on timeout or abort signal.
12
+ */
13
+ pollProgress<TData = unknown>(progressId: string, options?: PollProgressOptions): Promise<ProgressResponse<TData>>;
14
+ }
15
+ //# sourceMappingURL=tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAO1E,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlF,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOzD;;;OAGG;IACG,YAAY,CAAC,KAAK,GAAG,OAAO,EAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;CA4BpC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackerResource = void 0;
4
+ const errors_1 = require("./errors");
5
+ const types_1 = require("./types");
6
+ const TERMINAL_STATUSES = new Set([
7
+ types_1.ProgressStatus.DONE,
8
+ types_1.ProgressStatus.ERROR,
9
+ types_1.ProgressStatus.ABORT,
10
+ types_1.ProgressStatus.ABORT_WITH_MESSAGE,
11
+ ]);
12
+ class TrackerResource {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ async get(progressId) {
18
+ return this.http.request({
19
+ method: 'GET',
20
+ path: `/tracker/progress/${encodeURIComponent(progressId)}`,
21
+ });
22
+ }
23
+ async abort(progressId, input = {}) {
24
+ return this.http.request({
25
+ method: 'POST',
26
+ path: `/tracker/progress/${encodeURIComponent(progressId)}/abort`,
27
+ body: input,
28
+ });
29
+ }
30
+ async delete(progressId) {
31
+ return this.http.request({
32
+ method: 'DELETE',
33
+ path: `/tracker/progress/${encodeURIComponent(progressId)}`,
34
+ });
35
+ }
36
+ /**
37
+ * Poll a progress entry until it reaches a terminal status (done/error/abort)
38
+ * or times out. Throws {@link CfiAiHubError} on timeout or abort signal.
39
+ */
40
+ async pollProgress(progressId, options = {}) {
41
+ const intervalMs = options.intervalMs ?? 1000;
42
+ const timeoutMs = options.timeoutMs ?? 30 * 60 * 1000;
43
+ const deadline = Date.now() + timeoutMs;
44
+ while (true) {
45
+ if (options.signal?.aborted) {
46
+ throw new errors_1.CfiAiHubError('Polling aborted', 0, 'ABORTED');
47
+ }
48
+ const progress = await this.get(progressId);
49
+ options.onProgress?.(progress);
50
+ if (TERMINAL_STATUSES.has(progress.status)) {
51
+ return progress;
52
+ }
53
+ if (Date.now() >= deadline) {
54
+ throw new errors_1.CfiAiHubError(`Polling timed out after ${timeoutMs}ms for progress ${progressId}`, 0, 'POLL_TIMEOUT');
55
+ }
56
+ await sleep(intervalMs, options.signal);
57
+ }
58
+ }
59
+ }
60
+ exports.TrackerResource = TrackerResource;
61
+ function sleep(ms, signal) {
62
+ return new Promise((resolve, reject) => {
63
+ const timer = setTimeout(() => {
64
+ signal?.removeEventListener('abort', onAbort);
65
+ resolve();
66
+ }, ms);
67
+ const onAbort = () => {
68
+ clearTimeout(timer);
69
+ reject(new errors_1.CfiAiHubError('Polling aborted', 0, 'ABORTED'));
70
+ };
71
+ signal?.addEventListener('abort', onAbort, { once: true });
72
+ });
73
+ }
74
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"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"}