@epilot/cli 0.1.157 → 0.1.159

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/README.md CHANGED
@@ -29,7 +29,7 @@ npm install -g @epilot/cli
29
29
 
30
30
  <!-- usage-help -->
31
31
  ```
32
- epilot v0.1.157 — CLI for epilot APIs
32
+ epilot v0.1.159 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -348,7 +348,7 @@
348
348
  "schemas": {
349
349
  "EnvironmentValueType": {
350
350
  "type": "string",
351
- "description": "The structure a variable's value holds. `SecretString` is encrypted at rest and\nits value is never returned. `Text`, `Number`, `Boolean`, `Map`, `JSON` and `Link`\nmay be served to browser-facing consumers; `String` and `SecretString` may not.\n",
351
+ "description": "The structure a variable's value holds. `SecretString` is encrypted at rest and\nits value is never returned. `Text`, `Number`, `Boolean`, `Map`, `JSON` and `Link`\nmay be served to browser-facing consumers; `String` and `SecretString` may not. A\n`List` inherits this from its element type: a `List` is served only when its\n`itemType` is itself client-safe, so a `List<String>` or `List<SecretString>` is not.\n",
352
352
  "enum": [
353
353
  "String",
354
354
  "SecretString",
@@ -357,7 +357,8 @@
357
357
  "Boolean",
358
358
  "Map",
359
359
  "JSON",
360
- "Link"
360
+ "Link",
361
+ "List"
361
362
  ]
362
363
  },
363
364
  "StringTranslations": {
@@ -466,8 +467,273 @@
466
467
  }
467
468
  }
468
469
  },
470
+ "LinkFields": {
471
+ "description": "The fields of a link, without a fallback language — the shape a `List`\nitem carries. Inside a list the fallback belongs to the wrapper, which\nowns the language tabs for every row.\n\nRestated rather than composed with `LinkValue`: `allOf` plus\n`additionalProperties: false` is rejected by most validators, because\neach branch sees the sibling's properties as unknown. zod composes\nproperly — see LinkFieldsSchema in src/core/value-types.ts.\n",
472
+ "type": "object",
473
+ "required": [
474
+ "url",
475
+ "label"
476
+ ],
477
+ "additionalProperties": false,
478
+ "properties": {
479
+ "url": {
480
+ "type": "string",
481
+ "minLength": 1,
482
+ "maxLength": 2048
483
+ },
484
+ "label": {
485
+ "oneOf": [
486
+ {
487
+ "type": "string",
488
+ "minLength": 1,
489
+ "maxLength": 255
490
+ },
491
+ {
492
+ "$ref": "#/components/schemas/StringTranslations"
493
+ }
494
+ ]
495
+ },
496
+ "description": {
497
+ "oneOf": [
498
+ {
499
+ "type": "string",
500
+ "minLength": 1,
501
+ "maxLength": 1024
502
+ },
503
+ {
504
+ "$ref": "#/components/schemas/StringTranslations"
505
+ }
506
+ ]
507
+ }
508
+ }
509
+ },
510
+ "ListItemType": {
511
+ "description": "The element type a `List` holds — every value type except the\ncontainers. `Map` is already a keyed collection and a list of lists has\nno consumer. A list is exactly as client-safe and exactly as secret as\nits element type: a list of `SecretString` is encrypted per item and its\nvalue is never returned.\n",
512
+ "type": "string",
513
+ "enum": [
514
+ "String",
515
+ "SecretString",
516
+ "Text",
517
+ "Number",
518
+ "Boolean",
519
+ "JSON",
520
+ "Link"
521
+ ]
522
+ },
523
+ "ListOfText": {
524
+ "type": "object",
525
+ "required": [
526
+ "itemType",
527
+ "items"
528
+ ],
529
+ "additionalProperties": false,
530
+ "properties": {
531
+ "itemType": {
532
+ "type": "string",
533
+ "enum": [
534
+ "Text"
535
+ ]
536
+ },
537
+ "items": {
538
+ "type": "array",
539
+ "minItems": 1,
540
+ "items": {
541
+ "type": "string",
542
+ "minLength": 1,
543
+ "maxLength": 32768
544
+ }
545
+ }
546
+ }
547
+ },
548
+ "ListOfString": {
549
+ "type": "object",
550
+ "required": [
551
+ "itemType",
552
+ "items"
553
+ ],
554
+ "additionalProperties": false,
555
+ "properties": {
556
+ "itemType": {
557
+ "type": "string",
558
+ "enum": [
559
+ "String"
560
+ ]
561
+ },
562
+ "items": {
563
+ "type": "array",
564
+ "minItems": 1,
565
+ "items": {
566
+ "type": "string",
567
+ "minLength": 1
568
+ }
569
+ }
570
+ }
571
+ },
572
+ "ListOfSecretString": {
573
+ "description": "Write-only in effect: the items are encrypted per item at rest and the\nwhole value is omitted from every read response, exactly as a\n`SecretString` variable's value is. Read `item_type` to learn what a\nlist holds when its value is withheld.\n",
574
+ "type": "object",
575
+ "required": [
576
+ "itemType",
577
+ "items"
578
+ ],
579
+ "additionalProperties": false,
580
+ "properties": {
581
+ "itemType": {
582
+ "type": "string",
583
+ "enum": [
584
+ "SecretString"
585
+ ]
586
+ },
587
+ "items": {
588
+ "type": "array",
589
+ "minItems": 1,
590
+ "items": {
591
+ "type": "string",
592
+ "minLength": 1,
593
+ "description": "Must be at most 4096 bytes when UTF-8 encoded — the same limit KMS\nenforces on a symmetric Encrypt call. This is a byte bound, not a\ncharacter bound: a string with multi-byte characters can be well\nunder 4096 characters long and still be rejected.\n"
594
+ }
595
+ }
596
+ }
597
+ },
598
+ "ListOfNumber": {
599
+ "type": "object",
600
+ "required": [
601
+ "itemType",
602
+ "items"
603
+ ],
604
+ "additionalProperties": false,
605
+ "properties": {
606
+ "itemType": {
607
+ "type": "string",
608
+ "enum": [
609
+ "Number"
610
+ ]
611
+ },
612
+ "items": {
613
+ "type": "array",
614
+ "minItems": 1,
615
+ "items": {
616
+ "type": "number"
617
+ }
618
+ }
619
+ }
620
+ },
621
+ "ListOfBoolean": {
622
+ "type": "object",
623
+ "required": [
624
+ "itemType",
625
+ "items"
626
+ ],
627
+ "additionalProperties": false,
628
+ "properties": {
629
+ "itemType": {
630
+ "type": "string",
631
+ "enum": [
632
+ "Boolean"
633
+ ]
634
+ },
635
+ "items": {
636
+ "type": "array",
637
+ "minItems": 1,
638
+ "items": {
639
+ "type": "boolean"
640
+ }
641
+ }
642
+ }
643
+ },
644
+ "ListOfJson": {
645
+ "type": "object",
646
+ "required": [
647
+ "itemType",
648
+ "items"
649
+ ],
650
+ "additionalProperties": false,
651
+ "properties": {
652
+ "itemType": {
653
+ "type": "string",
654
+ "enum": [
655
+ "JSON"
656
+ ]
657
+ },
658
+ "items": {
659
+ "type": "array",
660
+ "minItems": 1,
661
+ "items": {
662
+ "type": "object",
663
+ "additionalProperties": true
664
+ }
665
+ }
666
+ }
667
+ },
668
+ "ListOfLink": {
669
+ "description": "A list of links. `fallbackLanguage` applies to every item's translated\n`label` and `description`; items may mix plain and translated fields\nfreely, since a plain string is a complete answer for any language.\n",
670
+ "type": "object",
671
+ "required": [
672
+ "itemType",
673
+ "items"
674
+ ],
675
+ "additionalProperties": false,
676
+ "properties": {
677
+ "itemType": {
678
+ "type": "string",
679
+ "enum": [
680
+ "Link"
681
+ ]
682
+ },
683
+ "fallbackLanguage": {
684
+ "type": "string",
685
+ "minLength": 2,
686
+ "default": "de"
687
+ },
688
+ "items": {
689
+ "type": "array",
690
+ "minItems": 1,
691
+ "items": {
692
+ "$ref": "#/components/schemas/LinkFields"
693
+ }
694
+ }
695
+ }
696
+ },
697
+ "ListValue": {
698
+ "description": "An ordered collection of one declared element type. Items round-trip in\nthe order written; nothing sorts them. Holds at most 100 items.\n\nThe whole value is limited to 32768 characters when serialised — the\nserver enforces this, and it is not expressible per-property here.\n",
699
+ "oneOf": [
700
+ {
701
+ "$ref": "#/components/schemas/ListOfText"
702
+ },
703
+ {
704
+ "$ref": "#/components/schemas/ListOfNumber"
705
+ },
706
+ {
707
+ "$ref": "#/components/schemas/ListOfBoolean"
708
+ },
709
+ {
710
+ "$ref": "#/components/schemas/ListOfJson"
711
+ },
712
+ {
713
+ "$ref": "#/components/schemas/ListOfLink"
714
+ },
715
+ {
716
+ "$ref": "#/components/schemas/ListOfString"
717
+ },
718
+ {
719
+ "$ref": "#/components/schemas/ListOfSecretString"
720
+ }
721
+ ],
722
+ "discriminator": {
723
+ "propertyName": "itemType",
724
+ "mapping": {
725
+ "Text": "#/components/schemas/ListOfText",
726
+ "Number": "#/components/schemas/ListOfNumber",
727
+ "Boolean": "#/components/schemas/ListOfBoolean",
728
+ "JSON": "#/components/schemas/ListOfJson",
729
+ "Link": "#/components/schemas/ListOfLink",
730
+ "String": "#/components/schemas/ListOfString",
731
+ "SecretString": "#/components/schemas/ListOfSecretString"
732
+ }
733
+ }
734
+ },
469
735
  "EnvironmentValue": {
470
- "description": "A variable's value. The JSON type corresponds to the variable's `type`:\n`String`, `SecretString` and `Text` are strings, `Number` is a number,\n`Boolean` is a boolean, and `Map`, `JSON` and `Link` are objects. Numbers are\nIEEE 754 doubles; integers above 2^53 may lose precision on round-trip.\n",
736
+ "description": "A variable's value. The JSON type corresponds to the variable's `type`:\n`String`, `SecretString` and `Text` are strings, `Number` is a number,\n`Boolean` is a boolean, and `Map`, `JSON`, `Link` and `List` are objects.\nNumbers are IEEE 754 doubles; integers above 2^53 may lose precision on\nround-trip.\n",
471
737
  "anyOf": [
472
738
  {
473
739
  "type": "string"
@@ -486,6 +752,9 @@
486
752
  },
487
753
  {
488
754
  "$ref": "#/components/schemas/LinkValue"
755
+ },
756
+ {
757
+ "$ref": "#/components/schemas/ListValue"
489
758
  }
490
759
  ]
491
760
  },
@@ -505,6 +774,14 @@
505
774
  "type": {
506
775
  "$ref": "#/components/schemas/EnvironmentValueType"
507
776
  },
777
+ "item_type": {
778
+ "allOf": [
779
+ {
780
+ "$ref": "#/components/schemas/ListItemType"
781
+ }
782
+ ],
783
+ "description": "Present only for a `List` variable that holds a value, derived from\nthat value at read time and never stored. Returned even when `value`\nitself is withheld, which is the case for a list of `SecretString` —\nit is the only way a client learns what such a list holds.\n"
784
+ },
508
785
  "description": {
509
786
  "type": "string"
510
787
  },
@@ -518,7 +795,7 @@
518
795
  "$ref": "#/components/schemas/EnvironmentValue"
519
796
  }
520
797
  ],
521
- "description": "Returned for non-secret types, omitted for SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
798
+ "description": "Returned for non-secret types, omitted for SecretString and for a\nList of SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
522
799
  },
523
800
  "protected": {
524
801
  "type": "boolean",
@@ -549,6 +826,14 @@
549
826
  "type": {
550
827
  "$ref": "#/components/schemas/EnvironmentValueType"
551
828
  },
829
+ "item_type": {
830
+ "allOf": [
831
+ {
832
+ "$ref": "#/components/schemas/ListItemType"
833
+ }
834
+ ],
835
+ "description": "Present only for a `List` variable that holds a value, derived from\nthat value at read time and never stored. Returned even when `value`\nitself is withheld, which is the case for a list of `SecretString` —\nit is the only way a client learns what such a list holds.\n"
836
+ },
552
837
  "description": {
553
838
  "type": "string"
554
839
  },
@@ -562,7 +847,7 @@
562
847
  "$ref": "#/components/schemas/EnvironmentValue"
563
848
  }
564
849
  ],
565
- "description": "Returned for non-secret types, omitted for SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
850
+ "description": "Returned for non-secret types, omitted for SecretString and for a\nList of SecretString. Also omitted when\nthe variable has been created without a value — for example by a blueprint\ninstall, which syncs a variable's key and type but never its value.\n"
566
851
  },
567
852
  "protected": {
568
853
  "type": "boolean",
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "Journey API",
5
5
  "description": "API to configure journeys",
6
- "version": "1.5.0"
6
+ "version": "1.6.0"
7
7
  },
8
8
  "security": [
9
9
  {
@@ -124,6 +124,16 @@
124
124
  "default": 0
125
125
  }
126
126
  },
127
+ {
128
+ "name": "revision_id",
129
+ "in": "query",
130
+ "description": "Serve the named revision instead of the published version, so a save-and-continue session can stay on the revision it started on. Only revisions that have been published at least once are served on the public and portal routes; an unpublished revision is served to `EpilotAuth` callers with the edit permission and is otherwise unknown. Cannot be combined with the legacy `version` parameter.\n",
131
+ "required": false,
132
+ "schema": {
133
+ "type": "string",
134
+ "example": "42"
135
+ }
136
+ },
127
137
  {
128
138
  "name": "source",
129
139
  "in": "query",
@@ -155,6 +165,9 @@
155
165
  },
156
166
  {
157
167
  "$ref": "#/components/schemas/JourneyActivationGuarantee"
168
+ },
169
+ {
170
+ "$ref": "#/components/schemas/JourneyServedRevision"
158
171
  }
159
172
  ]
160
173
  }
@@ -2815,6 +2828,16 @@
2815
2828
  }
2816
2829
  ]
2817
2830
  },
2831
+ "JourneyServedRevision": {
2832
+ "description": "Which revision the runtime read served: the requested one, or the published version when no revision was requested. Absent while the journey has not adopted versioning and on legacy `version` reads.\n",
2833
+ "type": "object",
2834
+ "properties": {
2835
+ "revision_id": {
2836
+ "type": "string",
2837
+ "example": "42"
2838
+ }
2839
+ }
2840
+ },
2818
2841
  "JourneyActivationGuarantee": {
2819
2842
  "description": "Journeys read from the API always carry an explicit `settings.isActive`. The flag remains optional in request bodies.\n",
2820
2843
  "type": "object",
@@ -2896,6 +2919,11 @@
2896
2919
  "type": "number",
2897
2920
  "description": "Version of the entity-mapping config stored alongside this revision. Publishing the revision points the journey's automation at it.\n",
2898
2921
  "example": 12
2922
+ },
2923
+ "revision_name": {
2924
+ "type": "string",
2925
+ "description": "What this save changed, for the revision history to list. Distinct from `name`, which is the journey's own name. A publish replaces it with the version name.\n",
2926
+ "example": "Changes to Steps and Logic"
2899
2927
  }
2900
2928
  }
2901
2929
  }
@@ -3553,9 +3581,6 @@
3553
3581
  "servers": [
3554
3582
  {
3555
3583
  "url": "https://journey-config.sls.epilot.io"
3556
- },
3557
- {
3558
- "url": "https://journey-config.dev.sls.epilot.io"
3559
3584
  }
3560
3585
  ]
3561
3586
  }
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
11
11
  var main = defineCommand({
12
12
  meta: {
13
13
  name: "epilot",
14
- version: "0.1.157",
14
+ version: "0.1.159",
15
15
  description: "CLI for epilot APIs"
16
16
  },
17
17
  args: {
@@ -31,7 +31,7 @@ var main = defineCommand({
31
31
  profile: () => import("../profile-OZJL5ZPT.js").then((m) => m.default),
32
32
  config: () => import("../config-DGZIMLZK.js").then((m) => m.default),
33
33
  completion: () => import("../completion-6CAE47TY.js").then((m) => m.default),
34
- upgrade: () => import("../upgrade-TN4F5WP3.js").then((m) => m.default),
34
+ upgrade: () => import("../upgrade-4YMCSJBS.js").then((m) => m.default),
35
35
  "access-token": () => import("../access-token-WWE6BDJH.js").then((m) => m.default),
36
36
  address: () => import("../address-EH3C4CVB.js").then((m) => m.default),
37
37
  "address-suggestions": () => import("../address-suggestions-RRSLOBFW.js").then((m) => m.default),
@@ -134,7 +134,7 @@ process.stderr.on("error", (err) => {
134
134
  if (err.code === "EPIPE") process.exit(0);
135
135
  throw err;
136
136
  });
137
- var VERSION = true ? "0.1.157" : (await null).default.version;
137
+ var VERSION = true ? "0.1.159" : (await null).default.version;
138
138
  var reorderedArgv = hoistFlagsAfterSubcommand(process.argv.slice(2));
139
139
  process.argv = [process.argv[0], process.argv[1], ...reorderedArgv];
140
140
  var args = process.argv.slice(2);
@@ -72,7 +72,7 @@ ${GREEN}${BOLD}Upgraded to @epilot/cli@${latest}${RESET}
72
72
  }
73
73
  });
74
74
  var getCurrentVersion = () => {
75
- if (true) return "0.1.157";
75
+ if (true) return "0.1.159";
76
76
  try {
77
77
  const output = execSync("npm ls -g @epilot/cli --depth=0 --json 2>/dev/null", {
78
78
  encoding: "utf-8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/cli",
3
- "version": "0.1.157",
3
+ "version": "0.1.159",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {