@oxygen-agent/cli 1.739.1 → 1.766.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 (51) hide show
  1. package/README.md +1 -1
  2. package/dist/command-manifest.js +17 -2
  3. package/dist/help.js +8 -0
  4. package/dist/index.js +562 -125
  5. package/node_modules/@oxygen/shared/dist/billing.d.ts +88 -46
  6. package/node_modules/@oxygen/shared/dist/billing.js +134 -74
  7. package/node_modules/@oxygen/shared/dist/capability-discovery.js +12 -4
  8. package/node_modules/@oxygen/shared/dist/cli-result.js +1 -0
  9. package/node_modules/@oxygen/shared/dist/copilot-journeys.d.ts +8 -0
  10. package/node_modules/@oxygen/shared/dist/copilot-journeys.js +23 -5
  11. package/node_modules/@oxygen/shared/dist/future-signup-events.d.ts +13 -2
  12. package/node_modules/@oxygen/shared/dist/future-signup-events.js +17 -2
  13. package/node_modules/@oxygen/shared/dist/future-signup-lifecycle-projection.d.ts +106 -1
  14. package/node_modules/@oxygen/shared/dist/future-signup-lifecycle-projection.js +156 -45
  15. package/node_modules/@oxygen/shared/dist/index.d.ts +5 -1
  16. package/node_modules/@oxygen/shared/dist/index.js +5 -1
  17. package/node_modules/@oxygen/shared/dist/object-storage.d.ts +33 -0
  18. package/node_modules/@oxygen/shared/dist/object-storage.js +69 -4
  19. package/node_modules/@oxygen/shared/dist/person-name.d.ts +40 -0
  20. package/node_modules/@oxygen/shared/dist/person-name.js +23 -0
  21. package/node_modules/@oxygen/shared/dist/plan-capabilities.d.ts +82 -0
  22. package/node_modules/@oxygen/shared/dist/plan-capabilities.js +130 -0
  23. package/node_modules/@oxygen/shared/dist/plan-limits.d.ts +2 -2
  24. package/node_modules/@oxygen/shared/dist/plan-limits.js +18 -2
  25. package/node_modules/@oxygen/shared/dist/pricing-sheet.d.ts +50 -56
  26. package/node_modules/@oxygen/shared/dist/pricing-sheet.js +77 -90
  27. package/node_modules/@oxygen/shared/dist/pricing-snapshot.generated.d.ts +62 -0
  28. package/node_modules/@oxygen/shared/dist/pricing-snapshot.generated.js +91 -0
  29. package/node_modules/@oxygen/shared/dist/provider-funding-errors.d.ts +44 -0
  30. package/node_modules/@oxygen/shared/dist/provider-funding-errors.js +81 -0
  31. package/node_modules/@oxygen/shared/dist/publishing-limits.d.ts +24 -0
  32. package/node_modules/@oxygen/shared/dist/publishing-limits.js +24 -0
  33. package/node_modules/@oxygen/shared/dist/spend-safety.d.ts +27 -6
  34. package/node_modules/@oxygen/shared/dist/spend-safety.js +34 -6
  35. package/node_modules/@oxygen/shared/dist/version.d.ts +2 -1
  36. package/node_modules/@oxygen/shared/dist/version.js +14 -3
  37. package/node_modules/@oxygen/shared/package.json +10 -0
  38. package/node_modules/@oxygen/workflows/dist/graph/expression.d.ts +29 -1
  39. package/node_modules/@oxygen/workflows/dist/graph/expression.js +307 -42
  40. package/node_modules/@oxygen/workflows/dist/graph/index.d.ts +1 -0
  41. package/node_modules/@oxygen/workflows/dist/graph/index.js +1 -0
  42. package/node_modules/@oxygen/workflows/dist/graph/lint.js +153 -19
  43. package/node_modules/@oxygen/workflows/dist/graph/manifest-schema.d.ts +92 -0
  44. package/node_modules/@oxygen/workflows/dist/graph/manifest-schema.js +4 -0
  45. package/node_modules/@oxygen/workflows/dist/graph/mapping.d.ts +79 -0
  46. package/node_modules/@oxygen/workflows/dist/graph/mapping.js +436 -0
  47. package/node_modules/@oxygen/workflows/dist/graph/topology.d.ts +36 -0
  48. package/node_modules/@oxygen/workflows/dist/graph/topology.js +147 -0
  49. package/node_modules/@oxygen/workflows/dist/graph/types.d.ts +31 -0
  50. package/node_modules/@oxygen/workflows/dist/graph/types.js +16 -0
  51. package/package.json +1 -1
@@ -34,6 +34,10 @@ export declare const workflowCodeV1Schema: {
34
34
  readonly type: "string";
35
35
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
36
36
  };
37
+ readonly coerce: {
38
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
39
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
40
+ };
37
41
  readonly expression: {
38
42
  readonly type: "string";
39
43
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -280,6 +284,10 @@ export declare const workflowGraphManifestSchema: {
280
284
  readonly type: "string";
281
285
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
282
286
  };
287
+ readonly coerce: {
288
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
289
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
290
+ };
283
291
  readonly expression: {
284
292
  readonly type: "string";
285
293
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -335,6 +343,10 @@ export declare const workflowGraphManifestSchema: {
335
343
  readonly type: "string";
336
344
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
337
345
  };
346
+ readonly coerce: {
347
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
348
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
349
+ };
338
350
  readonly expression: {
339
351
  readonly type: "string";
340
352
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -360,6 +372,10 @@ export declare const workflowGraphManifestSchema: {
360
372
  readonly type: "string";
361
373
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
362
374
  };
375
+ readonly coerce: {
376
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
377
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
378
+ };
363
379
  readonly expression: {
364
380
  readonly type: "string";
365
381
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -420,6 +436,10 @@ export declare const workflowGraphManifestSchema: {
420
436
  readonly type: "string";
421
437
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
422
438
  };
439
+ readonly coerce: {
440
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
441
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
442
+ };
423
443
  readonly expression: {
424
444
  readonly type: "string";
425
445
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -445,6 +465,10 @@ export declare const workflowGraphManifestSchema: {
445
465
  readonly type: "string";
446
466
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
447
467
  };
468
+ readonly coerce: {
469
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
470
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
471
+ };
448
472
  readonly expression: {
449
473
  readonly type: "string";
450
474
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -481,6 +505,10 @@ export declare const workflowGraphManifestSchema: {
481
505
  readonly type: "string";
482
506
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
483
507
  };
508
+ readonly coerce: {
509
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
510
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
511
+ };
484
512
  readonly expression: {
485
513
  readonly type: "string";
486
514
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -531,6 +559,10 @@ export declare const workflowGraphManifestSchema: {
531
559
  readonly type: "string";
532
560
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
533
561
  };
562
+ readonly coerce: {
563
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
564
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
565
+ };
534
566
  readonly expression: {
535
567
  readonly type: "string";
536
568
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -568,6 +600,10 @@ export declare const workflowGraphManifestSchema: {
568
600
  readonly type: "string";
569
601
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
570
602
  };
603
+ readonly coerce: {
604
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
605
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
606
+ };
571
607
  readonly expression: {
572
608
  readonly type: "string";
573
609
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -605,6 +641,10 @@ export declare const workflowGraphManifestSchema: {
605
641
  readonly type: "string";
606
642
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
607
643
  };
644
+ readonly coerce: {
645
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
646
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
647
+ };
608
648
  readonly expression: {
609
649
  readonly type: "string";
610
650
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -652,6 +692,10 @@ export declare const workflowGraphManifestSchema: {
652
692
  readonly type: "string";
653
693
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
654
694
  };
695
+ readonly coerce: {
696
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
697
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
698
+ };
655
699
  readonly expression: {
656
700
  readonly type: "string";
657
701
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -782,6 +826,10 @@ export declare const workflowGraphManifestSchema: {
782
826
  readonly type: "string";
783
827
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
784
828
  };
829
+ readonly coerce: {
830
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
831
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
832
+ };
785
833
  readonly expression: {
786
834
  readonly type: "string";
787
835
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1026,6 +1074,10 @@ export declare const portableWorkflowDefinitionSchema: {
1026
1074
  readonly type: "string";
1027
1075
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1028
1076
  };
1077
+ readonly coerce: {
1078
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1079
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1080
+ };
1029
1081
  readonly expression: {
1030
1082
  readonly type: "string";
1031
1083
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1081,6 +1133,10 @@ export declare const portableWorkflowDefinitionSchema: {
1081
1133
  readonly type: "string";
1082
1134
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1083
1135
  };
1136
+ readonly coerce: {
1137
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1138
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1139
+ };
1084
1140
  readonly expression: {
1085
1141
  readonly type: "string";
1086
1142
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1106,6 +1162,10 @@ export declare const portableWorkflowDefinitionSchema: {
1106
1162
  readonly type: "string";
1107
1163
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1108
1164
  };
1165
+ readonly coerce: {
1166
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1167
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1168
+ };
1109
1169
  readonly expression: {
1110
1170
  readonly type: "string";
1111
1171
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1166,6 +1226,10 @@ export declare const portableWorkflowDefinitionSchema: {
1166
1226
  readonly type: "string";
1167
1227
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1168
1228
  };
1229
+ readonly coerce: {
1230
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1231
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1232
+ };
1169
1233
  readonly expression: {
1170
1234
  readonly type: "string";
1171
1235
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1191,6 +1255,10 @@ export declare const portableWorkflowDefinitionSchema: {
1191
1255
  readonly type: "string";
1192
1256
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1193
1257
  };
1258
+ readonly coerce: {
1259
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1260
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1261
+ };
1194
1262
  readonly expression: {
1195
1263
  readonly type: "string";
1196
1264
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1227,6 +1295,10 @@ export declare const portableWorkflowDefinitionSchema: {
1227
1295
  readonly type: "string";
1228
1296
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1229
1297
  };
1298
+ readonly coerce: {
1299
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1300
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1301
+ };
1230
1302
  readonly expression: {
1231
1303
  readonly type: "string";
1232
1304
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1277,6 +1349,10 @@ export declare const portableWorkflowDefinitionSchema: {
1277
1349
  readonly type: "string";
1278
1350
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1279
1351
  };
1352
+ readonly coerce: {
1353
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1354
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1355
+ };
1280
1356
  readonly expression: {
1281
1357
  readonly type: "string";
1282
1358
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1314,6 +1390,10 @@ export declare const portableWorkflowDefinitionSchema: {
1314
1390
  readonly type: "string";
1315
1391
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1316
1392
  };
1393
+ readonly coerce: {
1394
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1395
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1396
+ };
1317
1397
  readonly expression: {
1318
1398
  readonly type: "string";
1319
1399
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1351,6 +1431,10 @@ export declare const portableWorkflowDefinitionSchema: {
1351
1431
  readonly type: "string";
1352
1432
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1353
1433
  };
1434
+ readonly coerce: {
1435
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1436
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1437
+ };
1354
1438
  readonly expression: {
1355
1439
  readonly type: "string";
1356
1440
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1398,6 +1482,10 @@ export declare const portableWorkflowDefinitionSchema: {
1398
1482
  readonly type: "string";
1399
1483
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1400
1484
  };
1485
+ readonly coerce: {
1486
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1487
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1488
+ };
1401
1489
  readonly expression: {
1402
1490
  readonly type: "string";
1403
1491
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -1528,6 +1616,10 @@ export declare const portableWorkflowDefinitionSchema: {
1528
1616
  readonly type: "string";
1529
1617
  readonly description: "ref: a scope path. context_*: an optional path inside the context value.";
1530
1618
  };
1619
+ readonly coerce: {
1620
+ readonly enum: readonly ["string", "number", "integer", "boolean"];
1621
+ readonly description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.";
1622
+ };
1531
1623
  readonly expression: {
1532
1624
  readonly type: "string";
1533
1625
  readonly description: "formula: an OXYGEN formula-language expression.";
@@ -20,6 +20,10 @@ const valueRefSchema = {
20
20
  },
21
21
  value: { description: "literal: used verbatim. template: interpolated string, e.g. 'Hi {{ steps.find.output.first_name }}'." },
22
22
  path: { type: "string", description: "ref: a scope path. context_*: an optional path inside the context value." },
23
+ coerce: {
24
+ enum: ["string", "number", "integer", "boolean"],
25
+ description: "ref only: an explicit fail-closed scalar conversion applied after resolving the path.",
26
+ },
23
27
  expression: { type: "string", description: "formula: an OXYGEN formula-language expression." },
24
28
  assetId: { type: "string", description: "context_asset: the Knowledge-layer asset id." },
25
29
  },
@@ -0,0 +1,79 @@
1
+ import type { WorkflowValueCoercion } from "./types.js";
2
+ export type WorkflowMappingValueType = "array" | "boolean" | "integer" | "null" | "number" | "object" | "string" | "unknown";
3
+ export type WorkflowMappingFieldSource = "declared" | "observed" | "pinned_sample";
4
+ /** Types stay attached to their evidence instead of being flattened into one claim. */
5
+ export type WorkflowMappingTypeEvidence = Partial<Record<WorkflowMappingFieldSource, WorkflowMappingValueType[]>>;
6
+ export type WorkflowMappingObservation = {
7
+ /** Workflow-local observations may show a bounded sample; workspace observations never do. */
8
+ scope: "workflow" | "workspace";
9
+ runId: string;
10
+ revisionVersion: number;
11
+ sourceHash: string | null;
12
+ /** True when the editor has moved beyond this immutable evidence revision. */
13
+ stale?: boolean;
14
+ };
15
+ /** One typed, provenance-bearing field offered by the Workflow mapper. */
16
+ export type WorkflowMappingField = {
17
+ /** Dotted path relative to a trigger input or node output. `[]` marks an array boundary. */
18
+ path: string;
19
+ /** Every JSON type this field may carry, including nullability. */
20
+ types: WorkflowMappingValueType[];
21
+ /** Per-source type claims, retained so declared/observed drift is visible. */
22
+ typesBySource?: WorkflowMappingTypeEvidence;
23
+ /** Independent evidence for the field, ordered by authoring authority. */
24
+ sources: WorkflowMappingFieldSource[];
25
+ /** Bounded display text only; the stable mapping stores path, never this value. */
26
+ sample?: string;
27
+ /** Which evidence supplied the display-only sample. */
28
+ sampleSource?: WorkflowMappingFieldSource;
29
+ /** Exact immutable run evidence behind an observed field. */
30
+ observedAt?: WorkflowMappingObservation;
31
+ };
32
+ export type WorkflowMappingFieldLimits = {
33
+ maxDepth: number;
34
+ maxKeysPerObject: number;
35
+ maxFields: number;
36
+ };
37
+ export declare const DEFAULT_WORKFLOW_MAPPING_FIELD_LIMITS: WorkflowMappingFieldLimits;
38
+ /** Join one relative mapping path to a rooted executable scope path. */
39
+ export declare function workflowMappingScopePath(base: string, relative: string): string;
40
+ /** Canonical relative mapping path from decoded property segments. */
41
+ export declare function workflowMappingPathFromSegments(segments: readonly string[]): string | null;
42
+ /** True only for the display grammar's unquoted `[]` array marker. */
43
+ export declare function workflowMappingPathHasArrayBoundary(path: string): boolean;
44
+ export declare function workflowMappingValueType(value: unknown): WorkflowMappingValueType;
45
+ /** Human-sized preview; never used to resolve a mapping or build a payload. */
46
+ export declare function workflowMappingSample(value: unknown, maxLength?: number): string | undefined;
47
+ /** Flatten a JSON Schema while retaining types, array boundaries, and pinned examples. */
48
+ export declare function workflowMappingFieldsFromSchema(schema: unknown, options?: {
49
+ sample?: unknown;
50
+ /** Explicit samples are pins only when the caller says so. */
51
+ sampleSource?: WorkflowMappingFieldSource;
52
+ source?: Extract<WorkflowMappingFieldSource, "declared">;
53
+ omitRootPaths?: ReadonlySet<string>;
54
+ limits?: WorkflowMappingFieldLimits;
55
+ }): WorkflowMappingField[];
56
+ /** Describe actual JSON output without retaining more than a bounded display preview. */
57
+ export declare function workflowMappingFieldsFromValue(value: unknown, options?: {
58
+ includeSamples?: boolean;
59
+ limits?: WorkflowMappingFieldLimits;
60
+ }): WorkflowMappingField[];
61
+ export declare function mergeWorkflowMappingFields(...groups: ReadonlyArray<readonly WorkflowMappingField[]>): WorkflowMappingField[];
62
+ /** Compatibility adapter for older path-only observations and small fixtures. */
63
+ export declare function workflowMappingFieldsFromPaths(paths: readonly string[], source?: WorkflowMappingFieldSource): WorkflowMappingField[];
64
+ /** Attach immutable run lineage without changing the field's stable path/type contract. */
65
+ export declare function withWorkflowMappingObservation(fields: readonly WorkflowMappingField[], observedAt: WorkflowMappingObservation): WorkflowMappingField[];
66
+ export declare function workflowMappingSourceLabel(source: WorkflowMappingFieldSource): string;
67
+ export declare function workflowMappingObservationLabel(observation: WorkflowMappingObservation): string;
68
+ export type WorkflowMappingCompatibility = {
69
+ status: "compatible" | "unknown" | "nullable" | "coercible" | "incompatible";
70
+ sourceLabel: string;
71
+ targetLabel: string;
72
+ coercions: WorkflowValueCoercion[];
73
+ };
74
+ /** True when real run evidence contradicts the endpoint's declared type contract. */
75
+ export declare function workflowMappingFieldHasTypeDrift(field: WorkflowMappingField): boolean;
76
+ /** Compact, evidence-specific type copy for picker rows and diagnostics. */
77
+ export declare function workflowMappingTypeEvidenceLabel(field: WorkflowMappingField): string;
78
+ /** Compare one source field with one destination schema field. */
79
+ export declare function workflowMappingCompatibility(sourceTypes: readonly WorkflowMappingValueType[] | undefined, destinationType: string | readonly string[] | undefined, coercion?: WorkflowValueCoercion): WorkflowMappingCompatibility;