@campfire-interactive/volume-intelligence-client 0.1.0 → 0.3.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 +8 -1
  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 +2 -2
  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 +10 -2
  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 +29 -29
@@ -0,0 +1,199 @@
1
+ export type SourceLayout = 'wide' | 'tall';
2
+ /** `base` = IHS/AFS historical training signal (one active per tenant);
3
+ * `overlay` = EDI-style additive customer-stated demand. */
4
+ export type VolumeSourceKind = 'base' | 'overlay';
5
+ export interface VolumeSource {
6
+ id: string;
7
+ code: string;
8
+ name: string;
9
+ description: string;
10
+ headerRowIndex: number;
11
+ volumeHeaderFormat: string;
12
+ isActive: boolean;
13
+ uniqueKeySegmentId: string | null;
14
+ layout: SourceLayout;
15
+ kind: VolumeSourceKind;
16
+ valueDateFormat: string;
17
+ _count?: {
18
+ segments: number;
19
+ };
20
+ }
21
+ export interface VolumeSourceSegment {
22
+ id: string;
23
+ sourceId: string;
24
+ label: string;
25
+ dataType: string;
26
+ sortOrder: number;
27
+ }
28
+ export interface SourceWithSegments extends VolumeSource {
29
+ segments: VolumeSourceSegment[];
30
+ }
31
+ export interface TenantVolumeConfig {
32
+ id: string;
33
+ tenantId: string;
34
+ sourceId: string;
35
+ source: SourceWithSegments;
36
+ }
37
+ export interface CreateSourceInput {
38
+ code: string;
39
+ name: string;
40
+ description?: string;
41
+ headerRowIndex?: number;
42
+ volumeHeaderFormat?: string;
43
+ }
44
+ export interface UpdateSourceInput {
45
+ name?: string;
46
+ description?: string;
47
+ headerRowIndex?: number;
48
+ volumeHeaderFormat?: string;
49
+ isActive?: boolean;
50
+ uniqueKeySegmentId?: string | null;
51
+ layout?: SourceLayout;
52
+ valueDateFormat?: string;
53
+ kind?: VolumeSourceKind;
54
+ }
55
+ export interface CreateSegmentInput {
56
+ label: string;
57
+ dataType?: string;
58
+ sortOrder?: number;
59
+ }
60
+ export interface DetectSegmentsResult {
61
+ detected: number;
62
+ skipped: number;
63
+ }
64
+ /** Inputs for the human file upload (`POST /v1/uploads`, multipart). For
65
+ * wide-layout sources `uploadYear`/`uploadMonth` are required; tall-layout
66
+ * (EDI / build-plan) sources may omit them — the backend defaults from "now".
67
+ * `actualsLagMonths` defaults wide=1 / tall=0 when omitted. */
68
+ export interface CreateUploadInput {
69
+ sourceId: string;
70
+ uploadYear?: number;
71
+ uploadMonth?: number;
72
+ actualsLagMonths?: number;
73
+ }
74
+ export interface SourceTemplateSummary {
75
+ code: string;
76
+ name: string;
77
+ description: string;
78
+ }
79
+ export interface ActivateSourceResult {
80
+ activated: boolean;
81
+ wiped: boolean;
82
+ }
83
+ export interface ClearSourceDataResult {
84
+ uploads: number;
85
+ criteria: number;
86
+ cleared: true;
87
+ }
88
+ export type SegmentMappingCategory = 'hierarchy_level' | 'automotive_field' | 'period' | 'value';
89
+ export interface SegmentMappingRow {
90
+ id: string;
91
+ sourceId: string;
92
+ targetCategory: SegmentMappingCategory;
93
+ targetKey: string;
94
+ segmentId: string;
95
+ /** Display label of the source column, carried on every row. */
96
+ segmentLabel: string;
97
+ transformRule: string | null;
98
+ }
99
+ export interface SegmentMappingCategoryKeys {
100
+ category: SegmentMappingCategory;
101
+ targetKeys: readonly string[];
102
+ requiredKeys: readonly string[];
103
+ }
104
+ export interface SegmentMappingKeys {
105
+ categories: SegmentMappingCategoryKeys[];
106
+ transformRules: readonly string[];
107
+ }
108
+ /** A single entry in a category-replace. */
109
+ export interface SegmentMappingEntry {
110
+ targetKey: string;
111
+ segmentId: string;
112
+ transformRule?: string | null;
113
+ }
114
+ export interface SourceValueAlias {
115
+ id: string;
116
+ sourceId: string;
117
+ level: number;
118
+ rawValue: string;
119
+ canonicalValue: string;
120
+ createdAt: string;
121
+ updatedAt: string;
122
+ }
123
+ export interface ValueAliasEntry {
124
+ rawValue: string;
125
+ canonicalValue: string;
126
+ }
127
+ export interface RelinkResult {
128
+ totalOverlay: number;
129
+ linked: number;
130
+ unlinked: number;
131
+ ambiguous: number;
132
+ }
133
+ export type UploadStatus = 'pending' | 'processing' | 'awaiting_calendar' | 'done' | 'done_with_errors' | 'failed';
134
+ export interface Upload {
135
+ id: string;
136
+ tenantId: string;
137
+ sourceId: string;
138
+ fileName: string;
139
+ s3Key: string;
140
+ uploadYear: number;
141
+ uploadMonth: number;
142
+ actualsLagMonths: number;
143
+ status: UploadStatus;
144
+ rowsTotal: number;
145
+ rowsProcessed: number;
146
+ rowsFailed: number;
147
+ rowsCanonicalised: number;
148
+ rowsQueued: number;
149
+ rowsBound: number;
150
+ errorSummary: string | null;
151
+ uploadedBy: string;
152
+ startedAt: string | null;
153
+ completedAt: string | null;
154
+ createdAt: string;
155
+ source: {
156
+ code: string;
157
+ name: string;
158
+ kind: VolumeSourceKind;
159
+ };
160
+ }
161
+ export interface UploadError {
162
+ id: string;
163
+ uploadId: string;
164
+ rowNumber: number;
165
+ keyValue: string | null;
166
+ errorType: string;
167
+ errorDetail: string;
168
+ severity: 'error' | 'warn' | 'info';
169
+ createdAt: string;
170
+ }
171
+ export interface UploadListParams {
172
+ limit?: number;
173
+ offset?: number;
174
+ status?: UploadStatus;
175
+ sourceId?: string;
176
+ year?: number;
177
+ month?: number;
178
+ }
179
+ export interface UploadListResponse {
180
+ items: Upload[];
181
+ total: number;
182
+ limit: number;
183
+ offset: number;
184
+ }
185
+ export interface UploadErrorListParams {
186
+ limit?: number;
187
+ offset?: number;
188
+ errorType?: string;
189
+ }
190
+ export interface UploadErrorListResponse {
191
+ items: UploadError[];
192
+ total: number;
193
+ limit: number;
194
+ offset: number;
195
+ }
196
+ export type UploadWithErrors = Upload & {
197
+ errors: UploadError[];
198
+ };
199
+ //# sourceMappingURL=adminTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminTypes.d.ts","sourceRoot":"","sources":["../src/adminTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // Source-management admin types. These mirror forecast's frontend `adminApi`
3
+ // wire shapes 1:1 (and the `SourceAdminTransport` contract in
4
+ // `@campfire-interactive/volume-intelligence-ui`) so a consumer's backend can
5
+ // fulfil the UI transport by calling this SDK. Tenant scope comes from the
6
+ // caller's token; nothing here is cross-tenant.
7
+ //
8
+ // The analytical / paid surfaces (enrichment toggle, backtests, prediction
9
+ // runs, scenarios, the reconciliation queue) are deliberately NOT wrapped here
10
+ // — per the data-plane ADR §6 they stay VI-webapp-only.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ //# sourceMappingURL=adminTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminTypes.js","sourceRoot":"","sources":["../src/adminTypes.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,8DAA8D;AAC9D,8EAA8E;AAC9E,2EAA2E;AAC3E,gDAAgD;AAChD,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,wDAAwD"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
  import { ProgramsResource } from './programs';
2
+ import { SourcesResource, SegmentsResource } from './sources';
3
+ import { SegmentMappingResource } from './segmentMapping';
4
+ import { ValueAliasesResource } from './valueAliases';
5
+ import { ConfigResource } from './config';
6
+ import { UploadsResource } from './uploads';
2
7
  import type { VolumeIntelligenceClientConfig } from './types';
3
8
  /**
4
9
  * Client for Volume Intelligence — the platform's canonical volume data plane
@@ -7,12 +12,26 @@ import type { VolumeIntelligenceClientConfig } from './types';
7
12
  *
8
13
  * const vi = new VolumeIntelligenceClient({
9
14
  * baseUrl: process.env.FORECAST_BASE_URL!,
10
- * getToken: () => getSystemTokenForTenant(tenantId, 'forecast'),
15
+ * getToken: () => getSystemTokenForTenant(tenantId, 'forecast-backend'),
11
16
  * });
12
17
  * const programs = await vi.programs.listActive({ minForwardAnnual: 1000 });
18
+ * const sources = await vi.sources.list();
19
+ *
20
+ * The `programs` resource is the consumer read projection. The source-admin
21
+ * resources (`sources`, `segments`, `segmentMapping`, `valueAliases`, `config`,
22
+ * `uploads`) back the embedded source-management UI
23
+ * (`@campfire-interactive/volume-intelligence-ui`) when a consumer proxies the
24
+ * `SourceAdminTransport` through this SDK. The paid analytical surface
25
+ * (enrichment, backtests, prediction runs) is intentionally not wrapped.
13
26
  */
14
27
  export declare class VolumeIntelligenceClient {
15
28
  readonly programs: ProgramsResource;
29
+ readonly sources: SourcesResource;
30
+ readonly segments: SegmentsResource;
31
+ readonly segmentMapping: SegmentMappingResource;
32
+ readonly valueAliases: ValueAliasesResource;
33
+ readonly config: ConfigResource;
34
+ readonly uploads: UploadsResource;
16
35
  constructor(config: VolumeIntelligenceClientConfig);
17
36
  }
18
37
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBAExB,MAAM,EAAE,8BAA8B;CAInD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;gBAEtB,MAAM,EAAE,8BAA8B;CAUnD"}
package/dist/client.js CHANGED
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VolumeIntelligenceClient = void 0;
4
4
  const http_1 = require("./http");
5
5
  const programs_1 = require("./programs");
6
+ const sources_1 = require("./sources");
7
+ const segmentMapping_1 = require("./segmentMapping");
8
+ const valueAliases_1 = require("./valueAliases");
9
+ const config_1 = require("./config");
10
+ const uploads_1 = require("./uploads");
6
11
  /**
7
12
  * Client for Volume Intelligence — the platform's canonical volume data plane
8
13
  * (2026-06-11 data-plane ADR). Consumers (OMSF first; cashflow/capex later)
@@ -10,15 +15,35 @@ const programs_1 = require("./programs");
10
15
  *
11
16
  * const vi = new VolumeIntelligenceClient({
12
17
  * baseUrl: process.env.FORECAST_BASE_URL!,
13
- * getToken: () => getSystemTokenForTenant(tenantId, 'forecast'),
18
+ * getToken: () => getSystemTokenForTenant(tenantId, 'forecast-backend'),
14
19
  * });
15
20
  * const programs = await vi.programs.listActive({ minForwardAnnual: 1000 });
21
+ * const sources = await vi.sources.list();
22
+ *
23
+ * The `programs` resource is the consumer read projection. The source-admin
24
+ * resources (`sources`, `segments`, `segmentMapping`, `valueAliases`, `config`,
25
+ * `uploads`) back the embedded source-management UI
26
+ * (`@campfire-interactive/volume-intelligence-ui`) when a consumer proxies the
27
+ * `SourceAdminTransport` through this SDK. The paid analytical surface
28
+ * (enrichment, backtests, prediction runs) is intentionally not wrapped.
16
29
  */
17
30
  class VolumeIntelligenceClient {
18
31
  programs;
32
+ sources;
33
+ segments;
34
+ segmentMapping;
35
+ valueAliases;
36
+ config;
37
+ uploads;
19
38
  constructor(config) {
20
39
  const http = new http_1.HttpTransport(config);
21
40
  this.programs = new programs_1.ProgramsResource(http);
41
+ this.sources = new sources_1.SourcesResource(http);
42
+ this.segments = new sources_1.SegmentsResource(http);
43
+ this.segmentMapping = new segmentMapping_1.SegmentMappingResource(http);
44
+ this.valueAliases = new valueAliases_1.ValueAliasesResource(http);
45
+ this.config = new config_1.ConfigResource(http);
46
+ this.uploads = new uploads_1.UploadsResource(http);
22
47
  }
23
48
  }
24
49
  exports.VolumeIntelligenceClient = VolumeIntelligenceClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AACvC,yCAA8C;AAG9C;;;;;;;;;;GAUG;AACH,MAAa,wBAAwB;IAC1B,QAAQ,CAAmB;IAEpC,YAAY,MAAsC;QAChD,MAAM,IAAI,GAAG,IAAI,oBAAa,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAPD,4DAOC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AACvC,yCAA8C;AAC9C,uCAA8D;AAC9D,qDAA0D;AAC1D,iDAAsD;AACtD,qCAA0C;AAC1C,uCAA4C;AAG5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,wBAAwB;IAC1B,QAAQ,CAAmB;IAC3B,OAAO,CAAkB;IACzB,QAAQ,CAAmB;IAC3B,cAAc,CAAyB;IACvC,YAAY,CAAuB;IACnC,MAAM,CAAiB;IACvB,OAAO,CAAkB;IAElC,YAAY,MAAsC;QAChD,MAAM,IAAI,GAAG,IAAI,oBAAa,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,uCAAsB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,mCAAoB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAc,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAnBD,4DAmBC"}
@@ -0,0 +1,16 @@
1
+ import type { HttpTransport } from './http';
2
+ import type { TenantVolumeConfig } from './adminTypes';
3
+ /**
4
+ * Tenant volume config — which source is the tenant's active base. Mirrors
5
+ * forecast's `/v1/admin/config/source` REST. The `useEnrichedPrediction` flag
6
+ * is intentionally NOT exposed: that's a VI-webapp analytical concern, not part
7
+ * of the embedded source-management surface (ADR §6).
8
+ */
9
+ export declare class ConfigResource {
10
+ private readonly http;
11
+ constructor(http: HttpTransport);
12
+ /** The tenant's active-source config, or null if none is set yet. */
13
+ getSource(): Promise<TenantVolumeConfig | null>;
14
+ setSource(sourceId: string): Promise<TenantVolumeConfig>;
15
+ }
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD;;;;;GAKG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEhD,qEAAqE;IAC/D,SAAS,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAQ/C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQ/D"}
package/dist/config.js ADDED
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigResource = void 0;
4
+ /**
5
+ * Tenant volume config — which source is the tenant's active base. Mirrors
6
+ * forecast's `/v1/admin/config/source` REST. The `useEnrichedPrediction` flag
7
+ * is intentionally NOT exposed: that's a VI-webapp analytical concern, not part
8
+ * of the embedded source-management surface (ADR §6).
9
+ */
10
+ class ConfigResource {
11
+ http;
12
+ constructor(http) {
13
+ this.http = http;
14
+ }
15
+ /** The tenant's active-source config, or null if none is set yet. */
16
+ async getSource() {
17
+ const res = await this.http.request({
18
+ method: 'GET',
19
+ path: '/v1/admin/config/source',
20
+ });
21
+ return res.data;
22
+ }
23
+ async setSource(sourceId) {
24
+ const res = await this.http.request({
25
+ method: 'POST',
26
+ path: '/v1/admin/config/source',
27
+ body: { sourceId },
28
+ });
29
+ return res.data;
30
+ }
31
+ }
32
+ exports.ConfigResource = ConfigResource;
33
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAIA;;;;;GAKG;AACH,MAAa,cAAc;IACI;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,qEAAqE;IACrE,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA8C;YAC/E,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,yBAAyB;SAChC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuC;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF;AApBD,wCAoBC"}
package/dist/http.d.ts CHANGED
@@ -1,21 +1,50 @@
1
1
  import type { VolumeIntelligenceClientConfig } from './types';
2
2
  interface HttpRequestOptions {
3
- method: 'GET' | 'POST';
3
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
4
4
  path: string;
5
5
  body?: unknown;
6
6
  query?: Record<string, string | undefined>;
7
7
  }
8
+ interface HttpMultipartOptions {
9
+ method?: 'POST';
10
+ path: string;
11
+ form: FormData;
12
+ query?: Record<string, string | undefined>;
13
+ }
8
14
  /** Auth-aware fetch transport. Mirrors master-data-client / cfi-ai-hub-client:
9
15
  * `{ baseUrl, getToken, timeout }`, bearer-token injection, timeout via
10
- * AbortController, and status→error mapping. Read-focused for v0.1. */
16
+ * AbortController, and status→error mapping. Supports JSON (`request`) and
17
+ * multipart file upload (`requestMultipart`). */
11
18
  export declare class HttpTransport {
12
19
  private readonly baseUrl;
13
20
  private readonly getToken;
14
21
  private readonly timeout;
15
22
  constructor(config: VolumeIntelligenceClientConfig);
16
23
  request<T>(options: HttpRequestOptions): Promise<T>;
24
+ /** Multipart/form-data POST — for file uploads (`POST /v1/uploads`,
25
+ * `detect-segments`). The `Content-Type` (with boundary) is set by fetch
26
+ * from the FormData body; we must NOT set it ourselves. */
27
+ requestMultipart<T>(options: HttpMultipartOptions): Promise<T>;
28
+ private authHeaders;
29
+ private send;
17
30
  private buildUrl;
18
31
  private throwForStatus;
19
32
  }
33
+ /**
34
+ * Portable file input for multipart uploads. Pass a `Blob`/`File` (browser) or
35
+ * a `Uint8Array`/`Buffer`/`ArrayBuffer` (Node — e.g. a multer `file.buffer` in
36
+ * a consumer's backend proxy). `fileName` is required for the latter; for a
37
+ * `File` it defaults to the File's own name.
38
+ */
39
+ export interface UploadFileInput {
40
+ data: Blob | Uint8Array | ArrayBuffer;
41
+ fileName?: string;
42
+ contentType?: string;
43
+ }
44
+ /** Normalises an UploadFileInput into a [Blob, filename] pair for FormData. */
45
+ export declare function toFilePart(input: UploadFileInput): {
46
+ blob: Blob;
47
+ fileName: string;
48
+ };
20
49
  export {};
21
50
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAK9D,UAAU,kBAAkB;IAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5C;AAED;;wEAEwE;AACxE,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,8BAA8B;IAM5C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IA2CzD,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;CAuBvB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAK9D,UAAU,kBAAkB;IAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5C;AAED,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5C;AAED;;;kDAGkD;AAClD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,8BAA8B;IAM5C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAazD;;gEAE4D;IACtD,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC;YAWtD,WAAW;YAKX,IAAI;IA6BlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;CAuBvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAenF"}
package/dist/http.js CHANGED
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpTransport = void 0;
4
+ exports.toFilePart = toFilePart;
4
5
  const errors_1 = require("./errors");
5
6
  const DEFAULT_TIMEOUT = 30_000;
6
7
  /** Auth-aware fetch transport. Mirrors master-data-client / cfi-ai-hub-client:
7
8
  * `{ baseUrl, getToken, timeout }`, bearer-token injection, timeout via
8
- * AbortController, and status→error mapping. Read-focused for v0.1. */
9
+ * AbortController, and status→error mapping. Supports JSON (`request`) and
10
+ * multipart file upload (`requestMultipart`). */
9
11
  class HttpTransport {
10
12
  baseUrl;
11
13
  getToken;
@@ -18,21 +20,36 @@ class HttpTransport {
18
20
  async request(options) {
19
21
  const { method, path, body, query } = options;
20
22
  const url = this.buildUrl(path, query);
23
+ const headers = await this.authHeaders();
24
+ headers['Content-Type'] = 'application/json';
25
+ return this.send(url, {
26
+ method,
27
+ headers,
28
+ body: body !== undefined ? JSON.stringify(body) : undefined,
29
+ });
30
+ }
31
+ /** Multipart/form-data POST — for file uploads (`POST /v1/uploads`,
32
+ * `detect-segments`). The `Content-Type` (with boundary) is set by fetch
33
+ * from the FormData body; we must NOT set it ourselves. */
34
+ async requestMultipart(options) {
35
+ const url = this.buildUrl(options.path, options.query);
36
+ const headers = await this.authHeaders();
37
+ return this.send(url, {
38
+ method: options.method ?? 'POST',
39
+ headers,
40
+ body: options.form,
41
+ });
42
+ }
43
+ async authHeaders() {
21
44
  const token = await this.getToken();
22
- const headers = {
23
- 'Content-Type': 'application/json',
24
- Authorization: `Bearer ${token}`,
25
- };
45
+ return { Authorization: `Bearer ${token}` };
46
+ }
47
+ async send(url, init) {
26
48
  const controller = new AbortController();
27
49
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
28
50
  let response;
29
51
  try {
30
- response = await fetch(url, {
31
- method,
32
- headers,
33
- body: body !== undefined ? JSON.stringify(body) : undefined,
34
- signal: controller.signal,
35
- });
52
+ response = await fetch(url, { ...init, signal: controller.signal });
36
53
  }
37
54
  catch (error) {
38
55
  if (error.name === 'AbortError') {
@@ -80,4 +97,19 @@ class HttpTransport {
80
97
  }
81
98
  }
82
99
  exports.HttpTransport = HttpTransport;
100
+ /** Normalises an UploadFileInput into a [Blob, filename] pair for FormData. */
101
+ function toFilePart(input) {
102
+ const fileName = input.fileName ??
103
+ (typeof File !== 'undefined' && input.data instanceof File ? input.data.name : undefined) ??
104
+ 'upload.xlsx';
105
+ if (input.data instanceof Blob) {
106
+ return { blob: input.data, fileName };
107
+ }
108
+ // A Uint8Array/Buffer/ArrayBuffer is a valid Blob part at runtime, but Node's
109
+ // typings narrow Uint8Array<ArrayBufferLike> out of the accepted union and
110
+ // `BlobPart` isn't a global name under `lib: ES2022` — so cast locally.
111
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
112
+ const blob = new Blob([input.data], input.contentType ? { type: input.contentType } : undefined);
113
+ return { blob, fileName };
114
+ }
83
115
  //# sourceMappingURL=http.js.map
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  export { VolumeIntelligenceClient } from './client';
2
2
  export { MockVolumeIntelligenceClient } from './mock';
3
3
  export { ProgramsResource } from './programs';
4
+ export { SourcesResource, SegmentsResource } from './sources';
5
+ export type { UploadFileInput } from './http';
6
+ export { SegmentMappingResource } from './segmentMapping';
7
+ export { ValueAliasesResource } from './valueAliases';
8
+ export { ConfigResource } from './config';
9
+ export { UploadsResource } from './uploads';
4
10
  export { VolumeIntelligenceError, NotFoundError, UnauthorizedError, ForbiddenError, } from './errors';
5
- export type { VolumeIntelligenceClientConfig, ProgramView, ProgramWithVolumes, MonthlyVolume, ListActiveProgramsOptions, ListProgramsForMatchingOptions, ProgramListResponse, } from './types';
11
+ export type { VolumeIntelligenceClientConfig, ProgramView, ProgramWithVolumes, MonthlyVolume, ListActiveProgramsOptions, ListProgramsForMatchingOptions, ForecastEnvelope, ProgramList, } from './types';
12
+ export type { SourceLayout, VolumeSourceKind, VolumeSource, VolumeSourceSegment, SourceWithSegments, TenantVolumeConfig, CreateSourceInput, UpdateSourceInput, CreateSegmentInput, DetectSegmentsResult, CreateUploadInput, SourceTemplateSummary, ActivateSourceResult, ClearSourceDataResult, SegmentMappingCategory, SegmentMappingRow, SegmentMappingCategoryKeys, SegmentMappingKeys, SegmentMappingEntry, SourceValueAlias, ValueAliasEntry, RelinkResult, UploadStatus, Upload, UploadError, UploadListParams, UploadListResponse, UploadErrorListParams, UploadErrorListResponse, UploadWithErrors, } from './adminTypes';
6
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,8BAA8B,EAC9B,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,8BAA8B,EAC9B,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EAEV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForbiddenError = exports.UnauthorizedError = exports.NotFoundError = exports.VolumeIntelligenceError = exports.ProgramsResource = exports.MockVolumeIntelligenceClient = exports.VolumeIntelligenceClient = void 0;
3
+ exports.ForbiddenError = exports.UnauthorizedError = exports.NotFoundError = exports.VolumeIntelligenceError = exports.UploadsResource = exports.ConfigResource = exports.ValueAliasesResource = exports.SegmentMappingResource = exports.SegmentsResource = exports.SourcesResource = exports.ProgramsResource = exports.MockVolumeIntelligenceClient = exports.VolumeIntelligenceClient = void 0;
4
4
  var client_1 = require("./client");
5
5
  Object.defineProperty(exports, "VolumeIntelligenceClient", { enumerable: true, get: function () { return client_1.VolumeIntelligenceClient; } });
6
6
  var mock_1 = require("./mock");
7
7
  Object.defineProperty(exports, "MockVolumeIntelligenceClient", { enumerable: true, get: function () { return mock_1.MockVolumeIntelligenceClient; } });
8
8
  var programs_1 = require("./programs");
9
9
  Object.defineProperty(exports, "ProgramsResource", { enumerable: true, get: function () { return programs_1.ProgramsResource; } });
10
+ var sources_1 = require("./sources");
11
+ Object.defineProperty(exports, "SourcesResource", { enumerable: true, get: function () { return sources_1.SourcesResource; } });
12
+ Object.defineProperty(exports, "SegmentsResource", { enumerable: true, get: function () { return sources_1.SegmentsResource; } });
13
+ var segmentMapping_1 = require("./segmentMapping");
14
+ Object.defineProperty(exports, "SegmentMappingResource", { enumerable: true, get: function () { return segmentMapping_1.SegmentMappingResource; } });
15
+ var valueAliases_1 = require("./valueAliases");
16
+ Object.defineProperty(exports, "ValueAliasesResource", { enumerable: true, get: function () { return valueAliases_1.ValueAliasesResource; } });
17
+ var config_1 = require("./config");
18
+ Object.defineProperty(exports, "ConfigResource", { enumerable: true, get: function () { return config_1.ConfigResource; } });
19
+ var uploads_1 = require("./uploads");
20
+ Object.defineProperty(exports, "UploadsResource", { enumerable: true, get: function () { return uploads_1.UploadsResource; } });
10
21
  var errors_1 = require("./errors");
11
22
  Object.defineProperty(exports, "VolumeIntelligenceError", { enumerable: true, get: function () { return errors_1.VolumeIntelligenceError; } });
12
23
  Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,kHAAA,wBAAwB,OAAA;AACjC,+BAAsD;AAA7C,oHAAA,4BAA4B,OAAA;AACrC,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA;AACzB,mCAKkB;AAJhB,iHAAA,uBAAuB,OAAA;AACvB,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,kHAAA,wBAAwB,OAAA;AACjC,+BAAsD;AAA7C,oHAAA,4BAA4B,OAAA;AACrC,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA;AACzB,qCAA8D;AAArD,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAE1C,mDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAC/B,+CAAsD;AAA7C,oHAAA,oBAAoB,OAAA;AAC7B,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,mCAKkB;AAJhB,iHAAA,uBAAuB,OAAA;AACvB,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA"}