@oxy-hq/sdk 2.0.0 → 2.1.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.
package/dist/index.d.mts CHANGED
@@ -1,7 +1,484 @@
1
1
 
2
2
  import * as React from "react";
3
3
 
4
+ //#region src/config.d.ts
5
+ /**
6
+ * Configuration for the Oxy SDK
7
+ */
8
+ interface OxyConfig {
9
+ /**
10
+ * Base URL of the Oxy API (e.g., 'https://api.oxy.tech' or 'http://localhost:3000')
11
+ */
12
+ baseUrl: string;
13
+ /**
14
+ * API key for authentication (optional for local development)
15
+ */
16
+ apiKey?: string;
17
+ /**
18
+ * Project ID (UUID)
19
+ */
20
+ projectId: string;
21
+ /**
22
+ * Optional branch name (defaults to current branch if not specified)
23
+ */
24
+ branch?: string;
25
+ /**
26
+ * Request timeout in milliseconds (default: 30000)
27
+ */
28
+ timeout?: number;
29
+ /**
30
+ * Parent window origin for postMessage authentication (iframe scenarios)
31
+ * Required when using postMessage auth for security.
32
+ * Example: 'https://app.example.com'
33
+ * Use '*' only in development!
34
+ */
35
+ parentOrigin?: string;
36
+ /**
37
+ * Disable automatic postMessage authentication even if in iframe
38
+ * Set to true if you want to provide API key manually in iframe context
39
+ */
40
+ disableAutoAuth?: boolean;
41
+ }
42
+ //#endregion
43
+ //#region src/metricTree.d.ts
44
+ type EdgeKind = "component" | "driver";
45
+ type DriverDirection = "positive" | "negative" | "unknown";
46
+ type DriverStrength = "strong" | "moderate" | "weak";
47
+ type DriverConfidence = "high" | "medium" | "low";
48
+ type DriverForm = "linear" | "log-log" | "log-linear" | "linear-log";
49
+ interface MetricNode {
50
+ id: string;
51
+ view: string;
52
+ measure: string;
53
+ label: string;
54
+ description?: string | null;
55
+ measure_type: string;
56
+ is_composite: boolean;
57
+ expr?: string | null;
58
+ }
59
+ interface MetricEdge {
60
+ from: string;
61
+ to: string;
62
+ kind: EdgeKind;
63
+ /** Sign of a component edge; omitted (defaults to +1) for most edges. */
64
+ sign?: number;
65
+ direction: DriverDirection;
66
+ strength: DriverStrength;
67
+ confidence: DriverConfidence;
68
+ coefficient?: number | null;
69
+ form: DriverForm;
70
+ intercept?: number | null;
71
+ lag?: number | null;
72
+ description?: string | null;
73
+ refs?: string[] | null;
74
+ }
75
+ interface MetricTree {
76
+ nodes: MetricNode[];
77
+ edges: MetricEdge[];
78
+ root?: string | null;
79
+ }
80
+ interface SensitivityDriver {
81
+ measure: string;
82
+ path: string[];
83
+ edge_kind: string;
84
+ effective_coefficient?: number | null;
85
+ form?: DriverForm | null;
86
+ direction: DriverDirection;
87
+ strength: DriverStrength;
88
+ lag?: number | null;
89
+ description?: string | null;
90
+ }
91
+ interface SensitivityResult {
92
+ target: string;
93
+ drivers: SensitivityDriver[];
94
+ }
95
+ interface PredictChange {
96
+ measure: string;
97
+ delta: number;
98
+ }
99
+ interface PredictImpact {
100
+ measure: string;
101
+ estimated_delta: number;
102
+ confidence: string;
103
+ path: string[];
104
+ form: DriverForm;
105
+ lag?: number | null;
106
+ }
107
+ interface PredictResult {
108
+ inputs: PredictChange[];
109
+ impacts: PredictImpact[];
110
+ }
111
+ type SplitKind = {
112
+ type: "component";
113
+ child_measure: string;
114
+ } | {
115
+ type: "dimension";
116
+ dimension: string;
117
+ value: string;
118
+ } | {
119
+ type: "uniform_degradation";
120
+ dimension: string;
121
+ num_elements: number;
122
+ } | {
123
+ type: "cross_cutting";
124
+ dimension: string;
125
+ value: string;
126
+ measures: string[];
127
+ };
128
+ interface ExplainSibling {
129
+ split: SplitKind;
130
+ measure: string;
131
+ delta: number;
132
+ root_fraction: number;
133
+ }
134
+ interface ExplainNode {
135
+ split: SplitKind;
136
+ measure: string;
137
+ filters: unknown[];
138
+ delta: number;
139
+ concentration: number;
140
+ root_fraction: number;
141
+ siblings?: ExplainSibling[];
142
+ dimension_count?: number;
143
+ children?: ExplainNode[];
144
+ }
145
+ interface DriverAttribution {
146
+ driver_measure: string;
147
+ driver_previous: number;
148
+ driver_current: number;
149
+ driver_delta: number;
150
+ coefficient?: number;
151
+ form: DriverForm;
152
+ estimated_target_impact?: number;
153
+ description?: string;
154
+ }
155
+ type ExplainWarning = {
156
+ type: "simpsons_paradox";
157
+ dimension: string;
158
+ aggregate_delta: number;
159
+ segment_directions: [string, number][];
160
+ } | {
161
+ type: "opposing_offset";
162
+ component_a: string;
163
+ component_b: string;
164
+ delta_a: number;
165
+ delta_b: number;
166
+ } | {
167
+ type: "non_additive_dimension_split";
168
+ measure: string;
169
+ measure_type: string;
170
+ dimension: string;
171
+ };
172
+ interface ExplainConfigOverride {
173
+ deep?: boolean;
174
+ max_depth?: number;
175
+ coverage_threshold?: number;
176
+ }
177
+ interface ExplainRequest {
178
+ target: string;
179
+ time_dimension: string;
180
+ current_period: [string, string];
181
+ previous_period: [string, string];
182
+ config?: ExplainConfigOverride;
183
+ }
184
+ interface ExplainResult {
185
+ target: string;
186
+ target_delta: number;
187
+ target_previous: number;
188
+ target_current: number;
189
+ time_dimension: string;
190
+ current_period: [string, string];
191
+ previous_period: [string, string];
192
+ nodes: ExplainNode[];
193
+ coverage: number;
194
+ driver_attribution?: DriverAttribution[];
195
+ alternatives?: unknown[];
196
+ warnings?: ExplainWarning[];
197
+ }
198
+ interface SegmentOpportunity {
199
+ segment: string;
200
+ current_value: number;
201
+ volume: number;
202
+ benchmark: number;
203
+ gap: number;
204
+ /** Match-the-best upside in measure units. */
205
+ upside: number;
206
+ }
207
+ interface DimensionOpportunity {
208
+ dimension: string;
209
+ cardinality: number;
210
+ /** "best_peer" or "p75". */
211
+ benchmark_basis: string;
212
+ total_upside: number;
213
+ segments: SegmentOpportunity[];
214
+ other_segments_skipped: number;
215
+ }
216
+ interface SkippedDimension {
217
+ dimension: string;
218
+ reason: string;
219
+ }
220
+ interface OpportunityRequest {
221
+ target: string;
222
+ time_dimension: string;
223
+ period: [string, string];
224
+ }
225
+ interface OpportunityResult {
226
+ target: string;
227
+ period: [string, string];
228
+ overall_value: number;
229
+ /** "value_share" (additive) or "equal" (ratios). */
230
+ weight_basis: string;
231
+ dimensions: DimensionOpportunity[];
232
+ skipped_dimensions: SkippedDimension[];
233
+ downstream: PredictImpact[];
234
+ }
235
+ /**
236
+ * Shape of the inner request helper exposed by `OxyClient`. The metric-tree
237
+ * client reuses it to inherit auth headers, timeout, baseUrl, and project
238
+ * scoping rather than reimplementing fetch end-to-end.
239
+ */
240
+ type RequestFn$1 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
241
+ /**
242
+ * Client for the `/semantic/metric-tree*` endpoints. Surfaces the four
243
+ * airlayer metric-tree analyses (tree introspection, sensitivity, predict,
244
+ * explain, opportunity) over typed methods.
245
+ *
246
+ * Construction is internal to {@link OxyClient} — call `client.metricTree`
247
+ * to access an instance rather than building one yourself.
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const client = await OxyClient.create({ projectId: "...", apiKey: "..." });
252
+ * const tree = await client.metricTree.getTree();
253
+ * const drivers = await client.metricTree.getSensitivity("orders.net_revenue");
254
+ * ```
255
+ */
256
+ declare class MetricTreeClient {
257
+ private readonly request;
258
+ private readonly config;
259
+ constructor(config: OxyConfig, request: RequestFn$1);
260
+ private path;
261
+ private buildQuery;
262
+ /**
263
+ * Fetch the full metric tree, or the subtree rooted at `root`.
264
+ *
265
+ * @param root - Optional fully-qualified measure id to root the tree at.
266
+ * @returns Nodes (measures) and edges (component / driver relationships).
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const tree = await client.metricTree.getTree();
271
+ * const subtree = await client.metricTree.getTree("orders.net_revenue");
272
+ * ```
273
+ */
274
+ getTree(root?: string): Promise<MetricTree>;
275
+ /**
276
+ * Rank the declared drivers of a measure by influence.
277
+ *
278
+ * @param measureId - Fully-qualified measure id (`view.measure`).
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * const sensitivity = await client.metricTree.getSensitivity("orders.net_revenue");
283
+ * for (const driver of sensitivity.drivers) {
284
+ * console.log(driver.measure, driver.direction, driver.strength);
285
+ * }
286
+ * ```
287
+ */
288
+ getSensitivity(measureId: string): Promise<SensitivityResult>;
289
+ /**
290
+ * Propagate hypothetical `(measure, delta)` changes upward through the
291
+ * tree. Returns the estimated impact on every downstream measure.
292
+ *
293
+ * @example
294
+ * ```typescript
295
+ * const result = await client.metricTree.predict([
296
+ * { measure: "marketing_spend.total_spend", delta: 10000 },
297
+ * ]);
298
+ * ```
299
+ */
300
+ predict(changes: PredictChange[]): Promise<PredictResult>;
301
+ /**
302
+ * Period-over-period root-cause decomposition. Recursively splits the
303
+ * target measure by components and dimensions until the move concentrates.
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * const result = await client.metricTree.explain({
308
+ * target: "financials.operating_profit",
309
+ * time_dimension: "financials.month",
310
+ * current_period: ["2025-09-01", "2025-09-30"],
311
+ * previous_period: ["2025-08-01", "2025-08-31"],
312
+ * });
313
+ * ```
314
+ */
315
+ explain(request: ExplainRequest): Promise<ExplainResult>;
316
+ /**
317
+ * Size the upside opportunity for a measure by finding underperforming
318
+ * segments. Skips high-cardinality dimensions and trims the long tail.
319
+ *
320
+ * @example
321
+ * ```typescript
322
+ * const result = await client.metricTree.findOpportunities({
323
+ * target: "orders.net_revenue",
324
+ * time_dimension: "orders.order_date",
325
+ * period: ["2025-09-01", "2025-09-30"],
326
+ * });
327
+ * for (const dim of result.dimensions) {
328
+ * console.log(dim.dimension, "+", dim.total_upside);
329
+ * }
330
+ * ```
331
+ */
332
+ findOpportunities(request: OpportunityRequest): Promise<OpportunityResult>;
333
+ }
334
+ //#endregion
335
+ //#region src/anomalies.d.ts
336
+ type AnomalyStatus = "new" | "acknowledged" | "dismissed";
337
+ type AnomalySeverity = "low" | "medium" | "high";
338
+ /**
339
+ * One row in the anomaly inbox. Detected by `oxy-metric-monitoring` per
340
+ * `.monitor.yml` entry; upserted by repeat scans so unresolved anomalies
341
+ * stay visible without piling up duplicates.
342
+ */
343
+ interface Anomaly {
344
+ id: string;
345
+ workspace_id: string;
346
+ measure: string;
347
+ time_dimension: string;
348
+ granularity: string;
349
+ period_start: string;
350
+ period_end: string;
351
+ observed: number;
352
+ expected: number;
353
+ lower_bound: number;
354
+ upper_bound: number;
355
+ z_score: number;
356
+ severity: AnomalySeverity | string;
357
+ status: AnomalyStatus | string;
358
+ label?: string | null;
359
+ /** Cached ExplainResult — populated by `POST /anomalies/:id/explain`. */
360
+ explain_cache?: ExplainResult | null;
361
+ explain_cached_at?: string | null;
362
+ detected_at: string;
363
+ updated_at: string;
364
+ }
365
+ interface ListAnomaliesOptions {
366
+ status?: AnomalyStatus | string;
367
+ /** Max rows (server caps at 500, defaults to 100). */
368
+ limit?: number;
369
+ }
370
+ interface ListAnomaliesResponse {
371
+ anomalies: Anomaly[];
372
+ }
373
+ interface ScanOptions {
374
+ /** Override the reference "now" date (YYYY-MM-DD) — useful for demos. */
375
+ as_of?: string;
376
+ }
377
+ interface ScanResponse {
378
+ monitors_scanned: number;
379
+ monitors_failed: number;
380
+ anomalies_persisted: number;
381
+ }
382
+ type RequestFn = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
383
+ /**
384
+ * Client for `/semantic/anomalies*`. Construct via `OxyClient.anomalies`
385
+ * rather than instantiating directly — the getter wires the request helper
386
+ * so auth, timeout, and branch propagation come along for free.
387
+ *
388
+ * @example
389
+ * ```typescript
390
+ * const { anomalies } = await client.anomalies.list({ status: "new" });
391
+ * for (const a of anomalies) {
392
+ * console.log(a.label ?? a.measure, a.severity, a.z_score.toFixed(2));
393
+ * }
394
+ * ```
395
+ */
396
+ declare class AnomaliesClient {
397
+ private readonly request;
398
+ private readonly config;
399
+ constructor(config: OxyConfig, request: RequestFn);
400
+ private path;
401
+ private buildQuery;
402
+ /**
403
+ * List anomalies in the inbox, newest first.
404
+ *
405
+ * @example
406
+ * ```typescript
407
+ * // Open / unresolved anomalies only
408
+ * const { anomalies } = await client.anomalies.list({ status: "new" });
409
+ * ```
410
+ */
411
+ list(options?: ListAnomaliesOptions): Promise<ListAnomaliesResponse>;
412
+ /**
413
+ * Trigger a full scan. Iterates every `.monitor.yml` entry in the
414
+ * workspace, runs the detector, and upserts matching rows into the
415
+ * inbox. Returns counts of scanned / failed / persisted.
416
+ *
417
+ * @example
418
+ * ```typescript
419
+ * // Scan against a known-good reference date (matches the seed dataset)
420
+ * const result = await client.anomalies.scan({ as_of: "2025-12-15" });
421
+ * console.log(`${result.anomalies_persisted} anomalies detected`);
422
+ * ```
423
+ */
424
+ scan(options?: ScanOptions): Promise<ScanResponse>;
425
+ /**
426
+ * Update an anomaly's status (acknowledge / dismiss / re-open).
427
+ */
428
+ updateStatus(anomalyId: string, status: AnomalyStatus): Promise<Anomaly>;
429
+ /**
430
+ * Run the metric-tree `explain` for an anomaly and cache the result on
431
+ * the row. Subsequent calls return the cached `ExplainResult` instantly.
432
+ */
433
+ explain(anomalyId: string): Promise<ExplainResult>;
434
+ }
435
+ //#endregion
4
436
  //#region src/customer-app/manifest.d.ts
437
+ /**
438
+ * Declaration of a single Oxy Function shipped in the bundle's
439
+ * `functions/` dir. See `internal-docs/2026-06-12-customer-apps-functions-design.md`.
440
+ *
441
+ * All fields optional except that at least one invocation surface
442
+ * (`route`, `schedule`, or `airwayStep`) must be active. Absent =
443
+ * `route: true` (HTTP-invocable via `useFunction`).
444
+ */
445
+ interface OxyAppFunctionManifest {
446
+ /** Source entry, relative to the app dir. Default: `functions/<name>.ts`. */
447
+ entry?: string;
448
+ /** Cron expression. When set, the function fires on this schedule. */
449
+ schedule?: string;
450
+ /** IANA timezone for `schedule`. Default: `UTC`. */
451
+ timezone?: string;
452
+ /** Expose `POST .../fn/<name>` (called via `useFunction`). Default: true. */
453
+ route?: boolean;
454
+ /** Wire the function in as an Airway pipeline transform step. */
455
+ airwayStep?: {
456
+ pipeline: string;
457
+ resource: string;
458
+ };
459
+ /** Wall-clock timeout. Default 30, max 300. */
460
+ timeoutSeconds?: number;
461
+ /**
462
+ * Opt-in result caching for route invocations. Omit (the default) to never
463
+ * cache — the safe choice for a side-effectful function (writes, external
464
+ * POSTs, ELT). Set `ttlSeconds` ONLY for read-only / idempotent functions:
465
+ * results are then cached per (build, function, user, request body) for that
466
+ * window, and a repeat `useFunction().invoke(sameBody)` returns the cached
467
+ * result without re-running. A `?refresh` query bypasses it.
468
+ */
469
+ cache?: {
470
+ ttlSeconds?: number;
471
+ };
472
+ /**
473
+ * Databases this function's `ctx.warehouse.*` writes may target. Omit (or
474
+ * leave empty) and the function may NOT write to any database — writes are
475
+ * fail-closed and rejected before any connection is opened. Declare a
476
+ * destination here ONLY for a function that legitimately writes to it; a
477
+ * read-only function omits it. This scopes writes away from the project's
478
+ * source warehouse.
479
+ */
480
+ destinations?: string[];
481
+ }
5
482
  /** Wire shape of `oxy-app.json` (v2 only). */
6
483
  interface OxyAppManifest {
7
484
  /** Must be 2. v1 manifests are no longer supported. */
@@ -31,6 +508,12 @@ interface OxyAppManifest {
31
508
  * `/api/projects/:id/query` URL.
32
509
  */
33
510
  projectId?: string;
511
+ /**
512
+ * Optional map of Oxy Functions (server-side handlers) shipped in the
513
+ * bundle's `functions/` dir, keyed by function name. Omit for a pure
514
+ * static bundle (today's default). See the functions design doc.
515
+ */
516
+ functions?: Record<string, OxyAppFunctionManifest>;
34
517
  }
35
518
  /**
36
519
  * Manifest + runtime-injected identity needed to call oxy. Callers
@@ -167,6 +650,13 @@ declare function setOxyAppLogger(logger: OxyAppLogger | null): void;
167
650
  /** Used by the SDK internals; not part of the public surface. */
168
651
  declare function getOxyAppLogger(): OxyAppLogger;
169
652
  //#endregion
653
+ //#region src/customer-app/function-sse.d.ts
654
+ /** A captured `console.*` / `ctx.log` line from a function run. */
655
+ interface FunctionLog {
656
+ level: string;
657
+ message: string;
658
+ }
659
+ //#endregion
170
660
  //#region src/customer-app/react.d.ts
171
661
  /**
172
662
  * Credentialed fetch wrapper stored in context so `useQuery` can share
@@ -261,6 +751,42 @@ interface UseQueryResult<Row = Record<string, unknown>> {
261
751
  * available (e.g. a user-supplied filter value).
262
752
  */
263
753
  declare function useQuery<Row = Record<string, unknown>>(input: UseQueryInput, opts?: UseQueryOpts): UseQueryResult<Row>;
754
+ interface UseFunctionResult<Data = unknown> {
755
+ /**
756
+ * Invoke the function with an optional JSON body. Resolves to the parsed
757
+ * result. Pass `{ idempotencyKey }` to make a side-effectful invocation
758
+ * exactly-once: a retry with the same key replays the stored result instead
759
+ * of re-executing. Send a fresh key per logical action (e.g. a UUID per
760
+ * journal entry).
761
+ */
762
+ invoke: (body?: unknown, opts?: {
763
+ idempotencyKey?: string;
764
+ }) => Promise<Data>;
765
+ /** Last successful result, or null before the first invoke. */
766
+ data: Data | null;
767
+ /** True while an invocation is in flight. */
768
+ isLoading: boolean;
769
+ /** Last invocation error, or null. On error this carries `.logs` too. */
770
+ error: Error | null;
771
+ /**
772
+ * `console.*` / `ctx.log` output from the last invoke (success or error), so
773
+ * a developer can see what the function printed without opening the oxy
774
+ * server logs. Empty for a cache hit or idempotent replay — no run happened,
775
+ * so there is nothing to log.
776
+ */
777
+ logs: FunctionLog[];
778
+ }
779
+ /**
780
+ * Imperative hook for invoking an Oxy Function by name.
781
+ *
782
+ * ```tsx
783
+ * const refresh = useFunction("refresh-sales");
784
+ * <button disabled={refresh.isLoading} onClick={() => refresh.invoke({ full: true })}>
785
+ * Refresh
786
+ * </button>
787
+ * ```
788
+ */
789
+ declare function useFunction<Data = unknown>(name: string): UseFunctionResult<Data>;
264
790
  /** Scalar filter operators (compared against a single value). */
265
791
  type SemanticScalarOp = "eq" | "neq" | "lt" | "lte" | "gt" | "gte";
266
792
  /** Array filter operators (compared against a list). */
@@ -457,6 +983,35 @@ interface UseAgentRunResult {
457
983
  error: Error | null;
458
984
  }
459
985
  declare function useAgentRun(input: UseAgentRunInput): UseAgentRunResult;
986
+ /**
987
+ * Engineer-tagged usage event. Free-form `event_name` (≤ 64 chars,
988
+ * `[a-z][a-z0-9-]*` validated server-side) + optional JSON `payload`
989
+ * (object, ≤ 4 KiB serialized). Surfaces in the admin Activity tab
990
+ * grouped by name, with drill-down into recent occurrences.
991
+ *
992
+ * The handler returned by [`useTrackEvent`] is **fire-and-forget**:
993
+ * it enqueues the event into an in-memory batch flushed every second
994
+ * (and on `pagehide` so a navigation away doesn't drop the tail).
995
+ * No await semantics — call it inline from a click handler without
996
+ * awaiting it. Server-side validation errors are logged to the
997
+ * console; the call site doesn't need to handle them.
998
+ *
999
+ * Example:
1000
+ * ```tsx
1001
+ * const track = useTrackEvent();
1002
+ * <button
1003
+ * onClick={() => {
1004
+ * track("export-clicked", { format: "csv", rowCount });
1005
+ * doExport();
1006
+ * }}
1007
+ * >Export</button>
1008
+ * ```
1009
+ *
1010
+ * Rate-limited at 60/min per (user, app) on the server. A burst that
1011
+ * trips the limit drops the excess events with a console warning;
1012
+ * within-limit events are unaffected.
1013
+ */
1014
+ declare function useTrackEvent(): (name: string, payload?: Record<string, unknown>) => void;
460
1015
  interface OxyAnswerProps {
461
1016
  /** Markdown answer text from `useAgentRun().answer`. */
462
1017
  answer: string | null;
@@ -530,5 +1085,5 @@ interface OxyChatProps {
530
1085
  */
531
1086
  declare function OxyChat(props: OxyChatProps): React.JSX.Element;
532
1087
  //#endregion
533
- export { type AgentArtifact, type AgentRunEvent, type AgentRunState, type AgentSqlArtifact, type AppFetcher, type CustomerAppDebugSnapshot, type CustomerAppErrorReport, type LoadManifestOptions, OxyAnswer, type OxyAnswerProps, OxyApiError, type OxyAppLogLevel, type OxyAppLogger, type OxyAppManifest, OxyAppProvider, type OxyAppProviderProps, OxyChat, type OxyChatProps, type OxyInjectedAppConfig, type ProcedureProgress, type ProcedureResult, type ProcedureRunState, type ResolvedCustomerAppManifest, type SemanticArrayOp, type SemanticDateRangeOp, type SemanticFilter, type SemanticScalarOp, type SemanticTimeDimension, type UseAgentRunInput, type UseAgentRunResult, type UseProcedureRunInput, type UseProcedureRunOpts, type UseProcedureRunResult, type UseQueryInput, type UseQueryOpts, type UseQueryResult, type UseSemanticQueryInput, type UseSemanticQueryOpts, type UseSemanticQueryResult, _resetCustomerAppManifestCacheForTest, getCustomerAppDebug, getOxyAppLogger, interpretCustomerAppError, loadCustomerAppManifest, readInjectedAppConfig, setOxyAppLogger, useAgentRun, useProcedureRun, useQuery, useResolvedManifest, useSemanticQuery };
1088
+ export { type AgentArtifact, type AgentRunEvent, type AgentRunState, type AgentSqlArtifact, AnomaliesClient, type Anomaly, type AnomalySeverity, type AnomalyStatus, type AppFetcher, type CustomerAppDebugSnapshot, type CustomerAppErrorReport, type DimensionOpportunity, type DriverAttribution, type DriverConfidence, type DriverDirection, type DriverForm, type DriverStrength, type EdgeKind, type ExplainConfigOverride, type ExplainNode, type ExplainRequest, type ExplainResult, type ExplainSibling, type ExplainWarning, type ListAnomaliesOptions, type ListAnomaliesResponse, type LoadManifestOptions, type MetricEdge, type MetricNode, type MetricTree, MetricTreeClient, type OpportunityRequest, type OpportunityResult, OxyAnswer, type OxyAnswerProps, OxyApiError, type OxyAppFunctionManifest, type OxyAppLogLevel, type OxyAppLogger, type OxyAppManifest, OxyAppProvider, type OxyAppProviderProps, OxyChat, type OxyChatProps, type OxyInjectedAppConfig, type PredictChange, type PredictImpact, type PredictResult, type ProcedureProgress, type ProcedureResult, type ProcedureRunState, type ResolvedCustomerAppManifest, type ScanOptions, type ScanResponse, type SegmentOpportunity, type SemanticArrayOp, type SemanticDateRangeOp, type SemanticFilter, type SemanticScalarOp, type SemanticTimeDimension, type SensitivityDriver, type SensitivityResult, type SkippedDimension, type SplitKind, type UseAgentRunInput, type UseAgentRunResult, type UseFunctionResult, type UseProcedureRunInput, type UseProcedureRunOpts, type UseProcedureRunResult, type UseQueryInput, type UseQueryOpts, type UseQueryResult, type UseSemanticQueryInput, type UseSemanticQueryOpts, type UseSemanticQueryResult, _resetCustomerAppManifestCacheForTest, getCustomerAppDebug, getOxyAppLogger, interpretCustomerAppError, loadCustomerAppManifest, readInjectedAppConfig, setOxyAppLogger, useAgentRun, useFunction, useProcedureRun, useQuery, useResolvedManifest, useSemanticQuery, useTrackEvent };
534
1089
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/customer-app/manifest.ts","../src/customer-app/debug.ts","../src/customer-app/errors.ts","../src/customer-app/inject.ts","../src/customer-app/logger.ts","../src/customer-app/react.tsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/config.ts","../src/metricTree.ts","../src/anomalies.ts","../src/customer-app/manifest.ts","../src/customer-app/debug.ts","../src/customer-app/errors.ts","../src/customer-app/inject.ts","../src/customer-app/logger.ts","../src/customer-app/function-sse.ts","../src/customer-app/react.tsx"],"mappings":"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"}