@campfire-interactive/volume-intelligence-client 0.1.1 → 0.4.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/dist/adminTypes.d.ts +199 -0
  2. package/dist/adminTypes.d.ts.map +1 -0
  3. package/dist/adminTypes.js +12 -0
  4. package/dist/adminTypes.js.map +1 -0
  5. package/dist/client.d.ts +20 -1
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +26 -1
  8. package/dist/client.js.map +1 -1
  9. package/dist/config.d.ts +16 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +33 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/http.d.ts +31 -2
  14. package/dist/http.d.ts.map +1 -1
  15. package/dist/http.js +43 -11
  16. package/dist/http.js.map +1 -1
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +12 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/mock.d.ts +93 -0
  22. package/dist/mock.d.ts.map +1 -1
  23. package/dist/mock.js +302 -1
  24. package/dist/mock.js.map +1 -1
  25. package/dist/programs.d.ts.map +1 -1
  26. package/dist/programs.js +3 -0
  27. package/dist/programs.js.map +1 -1
  28. package/dist/segmentMapping.d.ts +23 -0
  29. package/dist/segmentMapping.d.ts.map +1 -0
  30. package/dist/segmentMapping.js +43 -0
  31. package/dist/segmentMapping.js.map +1 -0
  32. package/dist/sources.d.ts +41 -0
  33. package/dist/sources.d.ts.map +1 -0
  34. package/dist/sources.js +128 -0
  35. package/dist/sources.js.map +1 -0
  36. package/dist/types.d.ts +9 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/uploads.d.ts +27 -0
  39. package/dist/uploads.d.ts.map +1 -0
  40. package/dist/uploads.js +89 -0
  41. package/dist/uploads.js.map +1 -0
  42. package/dist/valueAliases.d.ts +21 -0
  43. package/dist/valueAliases.d.ts.map +1 -0
  44. package/dist/valueAliases.js +49 -0
  45. package/dist/valueAliases.js.map +1 -0
  46. package/package.json +1 -1
package/dist/mock.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { ProgramView, ProgramWithVolumes, ListActiveProgramsOptions, ListProgramsForMatchingOptions } from './types';
2
+ import type { UploadFileInput } from './http';
3
+ import type { VolumeSource, SourceWithSegments, VolumeSourceSegment, CreateSourceInput, UpdateSourceInput, CreateSegmentInput, DetectSegmentsResult, CreateUploadInput, SourceTemplateSummary, ActivateSourceResult, ClearSourceDataResult, SegmentMappingKeys, SegmentMappingRow, SegmentMappingCategory, SegmentMappingEntry, SourceValueAlias, ValueAliasEntry, RelinkResult, TenantVolumeConfig, UploadListParams, UploadListResponse, UploadWithErrors, UploadErrorListParams, UploadErrorListResponse, Upload } from './adminTypes';
2
4
  declare class MockProgramsResource {
3
5
  private programs;
4
6
  constructor(programs: ProgramWithVolumes[]);
@@ -7,9 +9,100 @@ declare class MockProgramsResource {
7
9
  listActive(options?: ListActiveProgramsOptions): Promise<ProgramView[]>;
8
10
  listForMatching(options?: ListProgramsForMatchingOptions): Promise<ProgramWithVolumes[]>;
9
11
  }
12
+ declare class MockSourcesResource {
13
+ private store;
14
+ constructor(store: {
15
+ sources: SourceWithSegments[];
16
+ templates: SourceTemplateSummary[];
17
+ });
18
+ list(): Promise<VolumeSource[]>;
19
+ get(id: string): Promise<SourceWithSegments>;
20
+ create(data: CreateSourceInput): Promise<VolumeSource>;
21
+ update(id: string, data: UpdateSourceInput): Promise<VolumeSource>;
22
+ activate(id: string): Promise<ActivateSourceResult>;
23
+ listTemplates(): Promise<SourceTemplateSummary[]>;
24
+ createFromTemplate(templateCode: string): Promise<{
25
+ id: string;
26
+ }>;
27
+ clearData(sourceId: string, confirm: string): Promise<ClearSourceDataResult>;
28
+ }
29
+ declare class MockSegmentsResource {
30
+ private store;
31
+ constructor(store: {
32
+ sources: SourceWithSegments[];
33
+ });
34
+ private source;
35
+ list(sourceId: string): Promise<VolumeSourceSegment[]>;
36
+ create(sourceId: string, input: CreateSegmentInput): Promise<VolumeSourceSegment>;
37
+ delete(segmentId: string): Promise<void>;
38
+ detectSegments(_sourceId: string, _file: UploadFileInput): Promise<DetectSegmentsResult>;
39
+ }
40
+ declare class MockSegmentMappingResource {
41
+ private store;
42
+ constructor(store: {
43
+ mappings: SegmentMappingRow[];
44
+ mappingKeys: SegmentMappingKeys;
45
+ });
46
+ keys(): Promise<SegmentMappingKeys>;
47
+ list(sourceId: string, category?: SegmentMappingCategory): Promise<{
48
+ items: SegmentMappingRow[];
49
+ }>;
50
+ replaceCategory(sourceId: string, category: SegmentMappingCategory, entries: SegmentMappingEntry[]): Promise<{
51
+ items: SegmentMappingRow[];
52
+ }>;
53
+ }
54
+ declare class MockValueAliasesResource {
55
+ private store;
56
+ constructor(store: {
57
+ aliases: SourceValueAlias[];
58
+ });
59
+ list(sourceId: string): Promise<SourceValueAlias[]>;
60
+ replaceLevel(sourceId: string, level: number, entries: ValueAliasEntry[]): Promise<SourceValueAlias[]>;
61
+ delete(aliasId: string): Promise<void>;
62
+ relink(_sourceId: string): Promise<RelinkResult>;
63
+ }
64
+ declare class MockConfigResource {
65
+ private store;
66
+ constructor(store: {
67
+ sources: SourceWithSegments[];
68
+ activeSourceId: string | null;
69
+ });
70
+ getSource(): Promise<TenantVolumeConfig | null>;
71
+ setSource(sourceId: string): Promise<TenantVolumeConfig>;
72
+ }
73
+ declare class MockUploadsResource {
74
+ private store;
75
+ constructor(store: {
76
+ uploads: Upload[];
77
+ });
78
+ seed(uploads: Upload[]): void;
79
+ create(file: UploadFileInput, input: CreateUploadInput): Promise<Upload>;
80
+ list(params?: UploadListParams): Promise<UploadListResponse>;
81
+ get(id: string): Promise<UploadWithErrors>;
82
+ errors(_id: string, _params?: UploadErrorListParams): Promise<UploadErrorListResponse>;
83
+ reprocess(id: string): Promise<{
84
+ id: string;
85
+ status: string;
86
+ }>;
87
+ downloadUrl(id: string): Promise<string>;
88
+ }
10
89
  export declare class MockVolumeIntelligenceClient {
11
90
  readonly programs: MockProgramsResource;
91
+ readonly sources: MockSourcesResource;
92
+ readonly segments: MockSegmentsResource;
93
+ readonly segmentMapping: MockSegmentMappingResource;
94
+ readonly valueAliases: MockValueAliasesResource;
95
+ readonly config: MockConfigResource;
96
+ readonly uploads: MockUploadsResource;
97
+ private store;
12
98
  constructor(seed?: ProgramWithVolumes[]);
99
+ /** Seed the source-admin store directly for tests that need pre-existing
100
+ * sources/uploads (programs are seeded via the constructor / programs.seed). */
101
+ seedAdmin(seed: Partial<{
102
+ sources: SourceWithSegments[];
103
+ uploads: Upload[];
104
+ aliases: SourceValueAlias[];
105
+ }>): void;
13
106
  reset(): void;
14
107
  }
15
108
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAElB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AA+BjB,cAAM,oBAAoB;IACZ,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,kBAAkB,EAAE;IAElD,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAI1C,MAAM,IAAI,kBAAkB,EAAE;IAIxB,UAAU,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAWvE,eAAe,CAAC,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAS/F;AAED,qBAAa,4BAA4B;IACvC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;gBAE5B,IAAI,CAAC,EAAE,kBAAkB,EAAE;IAIvC,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
package/dist/mock.js CHANGED
@@ -5,7 +5,8 @@ exports.MockVolumeIntelligenceClient = void 0;
5
5
  * In-memory mock for consumer unit tests (mirrors MockMasterDataClient /
6
6
  * MockPriceIndexClient). Seed it with `ProgramWithVolumes` fixtures; the
7
7
  * `ProgramView` projection (active filter + forward-annual) is derived the same
8
- * way the real backend derives it.
8
+ * way the real backend derives it. The source-admin resources are seedable
9
+ * in-memory stores with just enough behaviour for consumer (OMSF proxy) tests.
9
10
  */
10
11
  function thisMonth() {
11
12
  const now = new Date();
@@ -60,13 +61,313 @@ class MockProgramsResource {
60
61
  });
61
62
  }
62
63
  }
64
+ // ── Source-admin mocks ─────────────────────────────────────────────────────
65
+ let _id = 0;
66
+ const nextId = (prefix) => `${prefix}_${++_id}`;
67
+ const nowIso = () => new Date().toISOString();
68
+ const DEFAULT_TEMPLATES = [
69
+ { code: 'IHS', name: 'IHS Markit', description: 'IHS/AFS wide-layout base volumes' },
70
+ { code: 'AFS', name: 'AutoForecast Solutions', description: 'AFS wide-layout base volumes' },
71
+ { code: 'EDI_VOLUME', name: 'EDI Volume', description: 'Customer EDI overlay demand (tall layout)' },
72
+ ];
73
+ class MockSourcesResource {
74
+ store;
75
+ constructor(store) {
76
+ this.store = store;
77
+ }
78
+ async list() {
79
+ return this.store.sources.map(({ segments, ...s }) => ({ ...s, _count: { segments: segments.length } }));
80
+ }
81
+ async get(id) {
82
+ const found = this.store.sources.find((s) => s.id === id);
83
+ if (!found)
84
+ throw new Error(`mock: source ${id} not found`);
85
+ return found;
86
+ }
87
+ async create(data) {
88
+ const source = {
89
+ id: nextId('src'),
90
+ code: data.code,
91
+ name: data.name,
92
+ description: data.description ?? '',
93
+ headerRowIndex: data.headerRowIndex ?? 0,
94
+ volumeHeaderFormat: data.volumeHeaderFormat ?? '',
95
+ isActive: false,
96
+ uniqueKeySegmentId: null,
97
+ layout: 'wide',
98
+ kind: 'base',
99
+ valueDateFormat: '',
100
+ segments: [],
101
+ };
102
+ this.store.sources.push(source);
103
+ const { segments, ...rest } = source;
104
+ return rest;
105
+ }
106
+ async update(id, data) {
107
+ const source = await this.get(id);
108
+ Object.assign(source, data);
109
+ const { segments, ...rest } = source;
110
+ return rest;
111
+ }
112
+ async activate(id) {
113
+ for (const s of this.store.sources)
114
+ s.isActive = s.id === id;
115
+ return { activated: true, wiped: false };
116
+ }
117
+ async listTemplates() {
118
+ return this.store.templates;
119
+ }
120
+ async createFromTemplate(templateCode) {
121
+ const tpl = this.store.templates.find((t) => t.code === templateCode);
122
+ const created = await this.create({ code: templateCode, name: tpl?.name ?? templateCode });
123
+ return { id: created.id };
124
+ }
125
+ async clearData(sourceId, confirm) {
126
+ if (confirm !== 'DELETE')
127
+ throw new Error('mock: clearData requires confirm === "DELETE"');
128
+ await this.get(sourceId);
129
+ return { uploads: 0, criteria: 0, cleared: true };
130
+ }
131
+ }
132
+ class MockSegmentsResource {
133
+ store;
134
+ constructor(store) {
135
+ this.store = store;
136
+ }
137
+ source(id) {
138
+ const found = this.store.sources.find((s) => s.id === id);
139
+ if (!found)
140
+ throw new Error(`mock: source ${id} not found`);
141
+ return found;
142
+ }
143
+ async list(sourceId) {
144
+ return this.source(sourceId).segments;
145
+ }
146
+ async create(sourceId, input) {
147
+ const source = this.source(sourceId);
148
+ const segment = {
149
+ id: nextId('seg'),
150
+ sourceId,
151
+ label: input.label,
152
+ dataType: input.dataType ?? 'string',
153
+ sortOrder: input.sortOrder ?? source.segments.length,
154
+ };
155
+ source.segments.push(segment);
156
+ return segment;
157
+ }
158
+ async delete(segmentId) {
159
+ for (const s of this.store.sources) {
160
+ s.segments = s.segments.filter((seg) => seg.id !== segmentId);
161
+ }
162
+ }
163
+ // Multipart — the mock can't parse a real workbook, so it reports nothing
164
+ // detected. Tests that need detected columns should seed segments via
165
+ // `create` instead.
166
+ async detectSegments(_sourceId, _file) {
167
+ return { detected: 0, skipped: 0 };
168
+ }
169
+ }
170
+ const DEFAULT_MAPPING_KEYS = {
171
+ categories: [
172
+ { category: 'hierarchy_level', targetKeys: ['level1', 'level2', 'level3', 'level4', 'level5', 'level6'], requiredKeys: ['level1'] },
173
+ { category: 'automotive_field', targetKeys: ['oem', 'nameplate', 'plant', 'region'], requiredKeys: [] },
174
+ { category: 'period', targetKeys: ['period'], requiredKeys: [] },
175
+ { category: 'value', targetKeys: ['value'], requiredKeys: [] },
176
+ ],
177
+ transformRules: ['none', 'uppercase', 'trim'],
178
+ };
179
+ class MockSegmentMappingResource {
180
+ store;
181
+ constructor(store) {
182
+ this.store = store;
183
+ }
184
+ async keys() {
185
+ return this.store.mappingKeys;
186
+ }
187
+ async list(sourceId, category) {
188
+ const items = this.store.mappings.filter((m) => m.sourceId === sourceId && (!category || m.targetCategory === category));
189
+ return { items };
190
+ }
191
+ async replaceCategory(sourceId, category, entries) {
192
+ this.store.mappings = this.store.mappings.filter((m) => !(m.sourceId === sourceId && m.targetCategory === category));
193
+ const rows = entries.map((e) => ({
194
+ id: nextId('map'),
195
+ sourceId,
196
+ targetCategory: category,
197
+ targetKey: e.targetKey,
198
+ segmentId: e.segmentId,
199
+ segmentLabel: e.segmentId,
200
+ transformRule: e.transformRule ?? null,
201
+ }));
202
+ this.store.mappings.push(...rows);
203
+ return this.list(sourceId, category);
204
+ }
205
+ }
206
+ class MockValueAliasesResource {
207
+ store;
208
+ constructor(store) {
209
+ this.store = store;
210
+ }
211
+ async list(sourceId) {
212
+ return this.store.aliases.filter((a) => a.sourceId === sourceId);
213
+ }
214
+ async replaceLevel(sourceId, level, entries) {
215
+ this.store.aliases = this.store.aliases.filter((a) => !(a.sourceId === sourceId && a.level === level));
216
+ const rows = entries.map((e) => ({
217
+ id: nextId('alias'),
218
+ sourceId,
219
+ level,
220
+ rawValue: e.rawValue,
221
+ canonicalValue: e.canonicalValue,
222
+ createdAt: nowIso(),
223
+ updatedAt: nowIso(),
224
+ }));
225
+ this.store.aliases.push(...rows);
226
+ return this.list(sourceId).then((all) => all.filter((a) => a.level === level));
227
+ }
228
+ async delete(aliasId) {
229
+ this.store.aliases = this.store.aliases.filter((a) => a.id !== aliasId);
230
+ }
231
+ async relink(_sourceId) {
232
+ return { totalOverlay: 0, linked: 0, unlinked: 0, ambiguous: 0 };
233
+ }
234
+ }
235
+ class MockConfigResource {
236
+ store;
237
+ constructor(store) {
238
+ this.store = store;
239
+ }
240
+ async getSource() {
241
+ if (!this.store.activeSourceId)
242
+ return null;
243
+ const source = this.store.sources.find((s) => s.id === this.store.activeSourceId);
244
+ if (!source)
245
+ return null;
246
+ return { id: 'cfg_mock', tenantId: 'tenant_mock', sourceId: source.id, source };
247
+ }
248
+ async setSource(sourceId) {
249
+ const source = this.store.sources.find((s) => s.id === sourceId);
250
+ if (!source)
251
+ throw new Error(`mock: source ${sourceId} not found`);
252
+ this.store.activeSourceId = sourceId;
253
+ return { id: 'cfg_mock', tenantId: 'tenant_mock', sourceId, source };
254
+ }
255
+ }
256
+ class MockUploadsResource {
257
+ store;
258
+ constructor(store) {
259
+ this.store = store;
260
+ }
261
+ seed(uploads) {
262
+ this.store.uploads = uploads;
263
+ }
264
+ // Multipart — records a `done` upload so list/get reflect it. Row-level
265
+ // ingestion isn't simulated.
266
+ async create(file, input) {
267
+ const now = new Date();
268
+ const upload = {
269
+ id: nextId('upl'),
270
+ tenantId: 'tenant_mock',
271
+ sourceId: input.sourceId,
272
+ fileName: file.fileName ?? 'upload.xlsx',
273
+ s3Key: `uploads/mock/${nextId('key')}`,
274
+ uploadYear: input.uploadYear ?? now.getUTCFullYear(),
275
+ uploadMonth: input.uploadMonth ?? now.getUTCMonth() + 1,
276
+ actualsLagMonths: input.actualsLagMonths ?? 1,
277
+ status: 'done',
278
+ rowsTotal: 0,
279
+ rowsProcessed: 0,
280
+ rowsFailed: 0,
281
+ rowsCanonicalised: 0,
282
+ rowsQueued: 0,
283
+ rowsBound: 0,
284
+ errorSummary: null,
285
+ uploadedBy: 'mock',
286
+ startedAt: nowIso(),
287
+ completedAt: nowIso(),
288
+ createdAt: nowIso(),
289
+ source: { code: 'MOCK', name: 'Mock Source', kind: 'base' },
290
+ };
291
+ this.store.uploads.push(upload);
292
+ return upload;
293
+ }
294
+ async list(params) {
295
+ let items = this.store.uploads;
296
+ if (params?.sourceId)
297
+ items = items.filter((u) => u.sourceId === params.sourceId);
298
+ if (params?.status)
299
+ items = items.filter((u) => u.status === params.status);
300
+ if (params?.year !== undefined)
301
+ items = items.filter((u) => u.uploadYear === params.year);
302
+ if (params?.month !== undefined)
303
+ items = items.filter((u) => u.uploadMonth === params.month);
304
+ const total = items.length;
305
+ const offset = params?.offset ?? 0;
306
+ const limit = params?.limit ?? items.length;
307
+ return { items: items.slice(offset, offset + limit), total, limit, offset };
308
+ }
309
+ async get(id) {
310
+ const found = this.store.uploads.find((u) => u.id === id);
311
+ if (!found)
312
+ throw new Error(`mock: upload ${id} not found`);
313
+ return { ...found, errors: [] };
314
+ }
315
+ async errors(_id, _params) {
316
+ return { items: [], total: 0, limit: 0, offset: 0 };
317
+ }
318
+ async reprocess(id) {
319
+ const found = await this.get(id);
320
+ return { id: found.id, status: found.status };
321
+ }
322
+ async downloadUrl(id) {
323
+ return `https://mock.local/uploads/${id}/download`;
324
+ }
325
+ }
63
326
  class MockVolumeIntelligenceClient {
64
327
  programs;
328
+ sources;
329
+ segments;
330
+ segmentMapping;
331
+ valueAliases;
332
+ config;
333
+ uploads;
334
+ store;
65
335
  constructor(seed) {
66
336
  this.programs = new MockProgramsResource(seed ?? []);
337
+ this.store = {
338
+ sources: [],
339
+ templates: [...DEFAULT_TEMPLATES],
340
+ mappings: [],
341
+ mappingKeys: DEFAULT_MAPPING_KEYS,
342
+ aliases: [],
343
+ activeSourceId: null,
344
+ uploads: [],
345
+ };
346
+ this.sources = new MockSourcesResource(this.store);
347
+ this.segments = new MockSegmentsResource(this.store);
348
+ this.segmentMapping = new MockSegmentMappingResource(this.store);
349
+ this.valueAliases = new MockValueAliasesResource(this.store);
350
+ this.config = new MockConfigResource(this.store);
351
+ this.uploads = new MockUploadsResource(this.store);
352
+ }
353
+ /** Seed the source-admin store directly for tests that need pre-existing
354
+ * sources/uploads (programs are seeded via the constructor / programs.seed). */
355
+ seedAdmin(seed) {
356
+ if (seed.sources)
357
+ this.store.sources = seed.sources;
358
+ if (seed.uploads)
359
+ this.store.uploads = seed.uploads;
360
+ if (seed.aliases)
361
+ this.store.aliases = seed.aliases;
67
362
  }
68
363
  reset() {
69
364
  this.programs.seed([]);
365
+ this.store.sources = [];
366
+ this.store.templates = [...DEFAULT_TEMPLATES];
367
+ this.store.mappings = [];
368
+ this.store.aliases = [];
369
+ this.store.activeSourceId = null;
370
+ this.store.uploads = [];
70
371
  }
71
372
  }
72
373
  exports.MockVolumeIntelligenceClient = MockVolumeIntelligenceClient;
package/dist/mock.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../src/mock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../src/programs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAG/B,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;mEAC+D;IACzD,UAAU,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAa7E;mFAC+E;IACzE,eAAe,CAAC,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAY/F"}
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../src/programs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAG/B,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;mEAC+D;IACzD,UAAU,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAc7E;mFAC+E;IACzE,eAAe,CAAC,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAa/F"}
package/dist/programs.js CHANGED
@@ -18,6 +18,8 @@ class ProgramsResource {
18
18
  if (options?.minForwardAnnual !== undefined) {
19
19
  query.minForwardAnnual = String(options.minForwardAnnual);
20
20
  }
21
+ if (options?.reconciled === false)
22
+ query.reconciled = 'false';
21
23
  const res = await this.http.request({
22
24
  method: 'GET',
23
25
  path: '/v1/programs',
@@ -31,6 +33,7 @@ class ProgramsResource {
31
33
  const query = {
32
34
  nameplate: options?.nameplate,
33
35
  oem: options?.oem,
36
+ reconciled: options?.reconciled === false ? 'false' : undefined,
34
37
  };
35
38
  const res = await this.http.request({
36
39
  method: 'GET',
@@ -1 +1 @@
1
- {"version":3,"file":"programs.js","sourceRoot":"","sources":["../src/programs.ts"],"names":[],"mappings":";;;AAUA;;;;GAIG;AACH,MAAa,gBAAgB;IACE;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;mEAC+D;IAC/D,KAAK,CAAC,UAAU,CAAC,OAAmC;QAClD,MAAM,KAAK,GAAuC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACzE,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC5C,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C;YAC9E,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,KAAK;SACN,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;mFAC+E;IAC/E,KAAK,CAAC,eAAe,CAAC,OAAwC;QAC5D,MAAM,KAAK,GAAuC;YAChD,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,GAAG,EAAE,OAAO,EAAE,GAAG;SAClB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoD;YACrF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;YAC/B,KAAK;SACN,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;CACF;AAhCD,4CAgCC"}
1
+ {"version":3,"file":"programs.js","sourceRoot":"","sources":["../src/programs.ts"],"names":[],"mappings":";;;AAUA;;;;GAIG;AACH,MAAa,gBAAgB;IACE;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;mEAC+D;IAC/D,KAAK,CAAC,UAAU,CAAC,OAAmC;QAClD,MAAM,KAAK,GAAuC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QACzE,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC5C,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK;YAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA6C;YAC9E,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,KAAK;SACN,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;mFAC+E;IAC/E,KAAK,CAAC,eAAe,CAAC,OAAwC;QAC5D,MAAM,KAAK,GAAuC;YAChD,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoD;YACrF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;YAC/B,KAAK;SACN,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IACxB,CAAC;CACF;AAlCD,4CAkCC"}
@@ -0,0 +1,23 @@
1
+ import type { HttpTransport } from './http';
2
+ import type { SegmentMappingKeys, SegmentMappingRow, SegmentMappingCategory, SegmentMappingEntry } from './adminTypes';
3
+ /**
4
+ * Unified segment mapping — maps a source's columns onto hierarchy levels,
5
+ * automotive fields, the period column, and the value column. Mirrors
6
+ * forecast's `/v1/admin/segment-mapping*` REST.
7
+ */
8
+ export declare class SegmentMappingResource {
9
+ private readonly http;
10
+ constructor(http: HttpTransport);
11
+ /** The catalogue of valid target keys + required keys per category, plus the
12
+ * available transform rules. Drives the mapper UI's whitelists. */
13
+ keys(): Promise<SegmentMappingKeys>;
14
+ list(sourceId: string, category?: SegmentMappingCategory): Promise<{
15
+ items: SegmentMappingRow[];
16
+ }>;
17
+ /** Atomic replace of one category for a source — clears that category's rows,
18
+ * inserts the new set, leaves the other categories untouched. */
19
+ replaceCategory(sourceId: string, category: SegmentMappingCategory, entries: SegmentMappingEntry[]): Promise<{
20
+ items: SegmentMappingRow[];
21
+ }>;
22
+ }
23
+ //# sourceMappingURL=segmentMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentMapping.d.ts","sourceRoot":"","sources":["../src/segmentMapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;;;GAIG;AACH,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD;wEACoE;IAC9D,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQnC,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAS1C;sEACkE;IAC5D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;CAQ3C"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentMappingResource = void 0;
4
+ /**
5
+ * Unified segment mapping — maps a source's columns onto hierarchy levels,
6
+ * automotive fields, the period column, and the value column. Mirrors
7
+ * forecast's `/v1/admin/segment-mapping*` REST.
8
+ */
9
+ class SegmentMappingResource {
10
+ http;
11
+ constructor(http) {
12
+ this.http = http;
13
+ }
14
+ /** The catalogue of valid target keys + required keys per category, plus the
15
+ * available transform rules. Drives the mapper UI's whitelists. */
16
+ async keys() {
17
+ const res = await this.http.request({
18
+ method: 'GET',
19
+ path: '/v1/admin/segment-mapping/keys',
20
+ });
21
+ return res.data;
22
+ }
23
+ async list(sourceId, category) {
24
+ const res = await this.http.request({
25
+ method: 'GET',
26
+ path: `/v1/admin/segment-mapping/${sourceId}`,
27
+ query: { category },
28
+ });
29
+ return res.data;
30
+ }
31
+ /** Atomic replace of one category for a source — clears that category's rows,
32
+ * inserts the new set, leaves the other categories untouched. */
33
+ async replaceCategory(sourceId, category, entries) {
34
+ const res = await this.http.request({
35
+ method: 'PUT',
36
+ path: `/v1/admin/segment-mapping/${sourceId}/${category}`,
37
+ body: { entries },
38
+ });
39
+ return res.data;
40
+ }
41
+ }
42
+ exports.SegmentMappingResource = SegmentMappingResource;
43
+ //# sourceMappingURL=segmentMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentMapping.js","sourceRoot":"","sources":["../src/segmentMapping.ts"],"names":[],"mappings":";;;AASA;;;;GAIG;AACH,MAAa,sBAAsB;IACJ;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;wEACoE;IACpE,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuC;YACxE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gCAAgC;SACvC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,QAAiC;QAEjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmD;YACpF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,6BAA6B,QAAQ,EAAE;YAC7C,KAAK,EAAE,EAAE,QAAQ,EAAE;SACpB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED;sEACkE;IAClE,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,QAAgC,EAChC,OAA8B;QAE9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmD;YACpF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,6BAA6B,QAAQ,IAAI,QAAQ,EAAE;YACzD,IAAI,EAAE,EAAE,OAAO,EAAE;SAClB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF;AAvCD,wDAuCC"}
@@ -0,0 +1,41 @@
1
+ import type { HttpTransport, UploadFileInput } from './http';
2
+ import type { VolumeSource, SourceWithSegments, VolumeSourceSegment, CreateSourceInput, UpdateSourceInput, CreateSegmentInput, DetectSegmentsResult, SourceTemplateSummary, ActivateSourceResult, ClearSourceDataResult } from './adminTypes';
3
+ /**
4
+ * Volume-source admin reads/writes — the source list, source detail, the
5
+ * template catalogue, and the per-source data-clear. Mirrors forecast's
6
+ * `/v1/admin/sources*` REST 1:1. Tenant scope comes from the caller's token.
7
+ *
8
+ * NOTE: `detectSegments` (multipart) and the human upload live on
9
+ * `UploadsResource` / a Phase-2 multipart path, not here.
10
+ */
11
+ export declare class SourcesResource {
12
+ private readonly http;
13
+ constructor(http: HttpTransport);
14
+ list(): Promise<VolumeSource[]>;
15
+ get(id: string): Promise<SourceWithSegments>;
16
+ create(data: CreateSourceInput): Promise<VolumeSource>;
17
+ update(id: string, data: UpdateSourceInput): Promise<VolumeSource>;
18
+ /** Make this the tenant's active base source. Wipes prior base data when the
19
+ * backend deems it necessary — `wiped` reports whether it did. */
20
+ activate(id: string): Promise<ActivateSourceResult>;
21
+ listTemplates(): Promise<SourceTemplateSummary[]>;
22
+ createFromTemplate(templateCode: string): Promise<{
23
+ id: string;
24
+ }>;
25
+ clearData(sourceId: string, confirm: string): Promise<ClearSourceDataResult>;
26
+ }
27
+ /**
28
+ * Source segment (column) admin — list / create / delete / detect.
29
+ */
30
+ export declare class SegmentsResource {
31
+ private readonly http;
32
+ constructor(http: HttpTransport);
33
+ list(sourceId: string): Promise<VolumeSourceSegment[]>;
34
+ /** Auto-detect a source's columns from a sample workbook (multipart). Reads
35
+ * the source's configured header row; reports how many segments were added
36
+ * vs. already present. */
37
+ detectSegments(sourceId: string, file: UploadFileInput): Promise<DetectSegmentsResult>;
38
+ create(sourceId: string, input: CreateSegmentInput): Promise<VolumeSourceSegment>;
39
+ delete(segmentId: string): Promise<void>;
40
+ }
41
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../src/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAG7D,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB;;;;;;;GAOG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ/B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQ5C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAStD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IASxE;uEACmE;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUnD,aAAa,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAQjD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAWjE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAQnF;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQ5D;;+BAE2B;IACrB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWtF,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASjF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM/C"}