@epilot/cli 0.1.147 → 0.1.148

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.147 — CLI for epilot APIs
32
+ epilot v0.1.148 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "Integration Toolkit API",
5
- "version": "1.22.0",
5
+ "version": "1.29.1",
6
6
  "description": "API for integrating with external systems in a standardised way."
7
7
  },
8
8
  "tags": [
@@ -3005,11 +3005,11 @@
3005
3005
  }
3006
3006
  }
3007
3007
  },
3008
- "/v1/entities/{entityId}/sync-status": {
3008
+ "/v1/integrations/entities/{entityId}/sync-status": {
3009
3009
  "get": {
3010
3010
  "operationId": "getEntitySyncStatus",
3011
3011
  "summary": "getEntitySyncStatus",
3012
- "description": "Get the inbound ERP sync status of an entity: when each integration last\nsynchronized (checked) the entity against the ERP, and when it last\nactually changed it. `last_synced_at` also advances on no-op checks —\nevents that were received and evaluated but changed nothing — which by\ndesign leave no trace on the entity itself (no activity feed entry, no\n`_updated_at` bump). Use it to tell whether an entity is up to date with\nthe ERP. Returns an empty list for entities no inbound use case has\nprocessed. Org-scoped via the caller's token.\n",
3012
+ "description": "Get the inbound ERP sync status of an entity: when each integration last\nsynchronized (checked) the entity against the ERP, and when it last\nactually changed it. `last_synced_at` also advances on no-op checks —\nevents that were received and evaluated but changed nothing — which by\ndesign leave no trace on the entity itself (no activity feed entry, no\n`_updated_at` bump). Use it to tell whether an entity is up to date with\nthe ERP. Returns an empty list for entities no inbound use case has\nprocessed. Org-scoped via the caller's token.\n\nDeprecated alias: `GET /v1/entities/{entityId}/sync-status` is still\nserved (rewritten to this path in the API handler) but will be removed —\nmigrate callers to this path.\n",
3013
3013
  "tags": [
3014
3014
  "integrations"
3015
3015
  ],
@@ -4191,7 +4191,7 @@
4191
4191
  "post": {
4192
4192
  "operationId": "createErpImport",
4193
4193
  "summary": "createErpImport",
4194
- "description": "Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.\nPass `import_id` to repoint an existing PENDING import at a different file instead, keeping its id and its place in the history.",
4194
+ "description": "Register an already-uploaded file (S3 ref) as a pricing-file import job. Returns the job and a file preview. Nothing runs yet: no use case is chosen and no validation starts here. Optionally rank candidates with POST /v2/erp/imports/{importId}:suggest-use-cases, then start validation with POST /v2/erp/imports/{importId}:validate.\nPass `import_id` to repoint an existing import at a different file instead, keeping its id and its place in the history — allowed while the import has written nothing.",
4195
4195
  "tags": [
4196
4196
  "erp-imports"
4197
4197
  ],
@@ -4425,7 +4425,7 @@
4425
4425
  "$ref": "#/components/responses/Conflict"
4426
4426
  },
4427
4427
  "422": {
4428
- "description": "The use case cannot drive an import",
4428
+ "description": "The check could not be run. `code` is the translation key.\n\n- `USE_CASE_NOT_USABLE` — missing, not inbound, disabled, or no mapping\n configuration.\n- `SCHEMA_NOT_AUTHORITATIVE` — an entity schema could not be read. Retryable.\n\nA mapping that CAN be judged and is found wanting is not a 422: the job is\nrecorded FAILED with `error.code = VALIDATION_BLOCKED` and the detail in\n`validation.issues`.",
4429
4429
  "content": {
4430
4430
  "application/json": {
4431
4431
  "schema": {
@@ -4488,7 +4488,7 @@
4488
4488
  "post": {
4489
4489
  "operationId": "executeErpImport",
4490
4490
  "summary": "executeErpImport",
4491
- "description": "Confirm and run the write phase of a validated import. Only a READY job may be executed; any other status returns 409.",
4491
+ "description": "Confirm and run the write phase of a validated import. Only a READY job may be executed; any other status returns 409.\nThe verdict is re-checked against live inputs first: if the mapping or an entity schema changed since the check, this returns 409 `VALIDATION_STALE` and leaves the verdict untouched for `:validate` to re-form.",
4492
4492
  "tags": [
4493
4493
  "erp-imports"
4494
4494
  ],
@@ -4530,10 +4530,17 @@
4530
4530
  "$ref": "#/components/responses/NotFound"
4531
4531
  },
4532
4532
  "409": {
4533
- "$ref": "#/components/responses/Conflict"
4533
+ "description": "The job cannot be executed as it stands. `code` is the translation key.\n\n- `IMPORT_NOT_READY` — the job is not READY, or a concurrent confirm won.\n- `VALIDATION_STALE` — the inputs the verdict was formed against have changed;\n re-run `:validate`.\n\nNeither changes the job's status or its verdict.",
4534
+ "content": {
4535
+ "application/json": {
4536
+ "schema": {
4537
+ "$ref": "#/components/schemas/ErrorResponseBase"
4538
+ }
4539
+ }
4540
+ }
4534
4541
  },
4535
4542
  "422": {
4536
- "description": "The verdict carries warnings and `ack_warnings` was not true",
4543
+ "description": "The write could not be started. `code` is the translation key.\n\n- `WARNINGS_NOT_ACKNOWLEDGED` — the verdict carries warnings and `ack_warnings`\n was not true.\n- `USE_CASE_NOT_USABLE` — the use case went missing, disabled, or lost its\n mapping configuration after the check.\n- `SCHEMA_NOT_AUTHORITATIVE` — an entity schema could not be read. Retryable.",
4537
4544
  "content": {
4538
4545
  "application/json": {
4539
4546
  "schema": {
@@ -4636,7 +4643,7 @@
4636
4643
  },
4637
4644
  "import_id": {
4638
4645
  "type": "string",
4639
- "description": "Repoint an EXISTING import at this file instead of registering a new one — same row, same id, so iterating on which file to import leaves one entry in the history rather than one per attempt.\nOnly a PENDING import may be repointed; any other status returns 409 with code `IMPORT_NOT_REPLACEABLE`. Past the first check the previous verdict is what tells the user what to fix, and a job that reached the execute phase may already have published rows under `correlation_id`.\nAn id that names nothing returns 404. It never falls back to registering a new import: a stale id must fail loudly rather than quietly produce a second one."
4646
+ "description": "Repoint an EXISTING import at this file instead of registering a new one — same row, same id, so iterating on which file to import leaves one entry in the history rather than one per attempt.\nRepointing is allowed exactly while the import has written nothing: from PENDING and READY, and from FAILED when `error.code` is one of `VALIDATION_BLOCKED`, `VALIDATE_TIMEOUT` or `FILE_FORMAT_UNSUPPORTED`. Anything else returns 409 with code `IMPORT_NOT_REPLACEABLE`. The repoint clears any verdict the import had.\nAn id that names nothing returns 404. It never falls back to registering a new import: a stale id must fail loudly rather than quietly produce a second one."
4640
4647
  }
4641
4648
  }
4642
4649
  },
@@ -4722,7 +4729,7 @@
4722
4729
  },
4723
4730
  "ErpImportIssue": {
4724
4731
  "type": "object",
4725
- "description": "A problem found during validation, scoped to the file as a whole rather than to individual rows.\n`code` is the translation key and the other fields are its parameters — there is deliberately no message to display. Each code appears at most once, with everything it has to say aggregated into that one entry.",
4732
+ "description": "A problem found during validation, scoped to the file as a whole rather than to\nindividual rows.\n\n`code` is the translation key and the other fields are its parameters — there is\ndeliberately no message to display. Each code appears at most once, with\neverything it has to say aggregated into that one entry.\n\nThe conditional codes describe a file that cannot be written as variants:\n\n- `TIER_ROWS_NOT_GROUPED` — rows of one variant are spread through the file;\n `columns` names what to group by.\n- `TIER_BANDS_CONFLICT` — two rows of one variant claim the same band.\n- `CONDITION_VALUE_MISSING` — a condition column is blank in every row.\n- `VARIANT_VALUE_CONFLICT` — rows of one variant disagree on a value that is not\n the one being folded; the first row's value is what would be written.\n- `ATTRIBUTE_NOT_OVERRIDABLE` — the schema does not let a variant override this\n attribute, so the mapped value would be discarded.\n- `ATTRIBUTE_NOT_IN_SCHEMA` — the schema does not have the attribute at all.\n\nThe rest reject the mapping against the entity schemas, before the file is read, and\nname the thing at fault in `subject`: `IS_CONDITIONAL_NOT_CONSTANT`,\n`SCHEMA_NOT_CONDITIONABLE`, `SCHEMA_NOT_FOUND`, `SCHEMA_DECLARES_NO_CONDITIONS`,\n`GROUPING_KEY_NOT_A_COLUMN`, `GROUPING_KEY_IS_FOLD_COLUMN`.",
4726
4733
  "required": [
4727
4734
  "code",
4728
4735
  "severity"
@@ -4738,7 +4745,19 @@
4738
4745
  "INVALID_ENCODING",
4739
4746
  "EMPTY_FILE",
4740
4747
  "TOO_MANY_ROWS",
4741
- "BLANK_ROWS_SKIPPED"
4748
+ "BLANK_ROWS_SKIPPED",
4749
+ "TIER_ROWS_NOT_GROUPED",
4750
+ "TIER_BANDS_CONFLICT",
4751
+ "CONDITION_VALUE_MISSING",
4752
+ "VARIANT_VALUE_CONFLICT",
4753
+ "ATTRIBUTE_NOT_OVERRIDABLE",
4754
+ "ATTRIBUTE_NOT_IN_SCHEMA",
4755
+ "IS_CONDITIONAL_NOT_CONSTANT",
4756
+ "SCHEMA_NOT_CONDITIONABLE",
4757
+ "SCHEMA_NOT_FOUND",
4758
+ "SCHEMA_DECLARES_NO_CONDITIONS",
4759
+ "GROUPING_KEY_NOT_A_COLUMN",
4760
+ "GROUPING_KEY_IS_FOLD_COLUMN"
4742
4761
  ]
4743
4762
  },
4744
4763
  "severity": {
@@ -4768,6 +4787,10 @@
4768
4787
  }
4769
4788
  }
4770
4789
  },
4790
+ "subject": {
4791
+ "type": "string",
4792
+ "description": "What the issue is about — an attribute, an entity type slug, or an \"attribute reads column\" pair — to substitute into the client's copy for the code. Independent of `columns`; a code can carry both."
4793
+ },
4771
4794
  "row": {
4772
4795
  "type": "integer",
4773
4796
  "description": "The offending data row, 1-based as the user counts rows. MALFORMED_ROW only."
@@ -4778,7 +4801,6 @@
4778
4801
  "type": "object",
4779
4802
  "description": "Validate-phase summary: what the file will create, and whether it may be confirmed. Absent until the validate phase completes. No per-row detail is kept — a rejected file is corrected and imported again.",
4780
4803
  "required": [
4781
- "total_rows",
4782
4804
  "blocking",
4783
4805
  "warnings",
4784
4806
  "entities"
@@ -4786,7 +4808,7 @@
4786
4808
  "properties": {
4787
4809
  "total_rows": {
4788
4810
  "type": "integer",
4789
- "description": "Data rows the import will act on. Rows with no value in any column are dropped before they are counted, and reported as BLANK_ROWS_SKIPPED — so this can be lower than the line count of the file."
4811
+ "description": "Data rows the import will act on. Rows with no value in any column are dropped before they are counted, and reported as BLANK_ROWS_SKIPPED — so this can be lower than the line count of the file.\nABSENT when the verdict was reached without reading the file, as a mapping refused against the entity schemas alone is. Do not default it to zero."
4790
4812
  },
4791
4813
  "blocking": {
4792
4814
  "type": "integer",
@@ -4802,6 +4824,17 @@
4802
4824
  },
4803
4825
  "description": "Distinct entities the file expresses, keyed by entity slug."
4804
4826
  },
4827
+ "entity_details": {
4828
+ "type": "array",
4829
+ "description": "What this import will write, one entry per entity instance, capped at 20 in first-appearance order. `entities` stays exact regardless.",
4830
+ "items": {
4831
+ "$ref": "#/components/schemas/ErpImportEntityDetail"
4832
+ }
4833
+ },
4834
+ "entity_details_truncated": {
4835
+ "type": "boolean",
4836
+ "description": "More entities exist than `entity_details` lists."
4837
+ },
4805
4838
  "issues": {
4806
4839
  "type": "array",
4807
4840
  "description": "Whole-file issues, at most one per `code`. Do not expect the length to match blocking + warnings: those also count per-row problems, which are recorded for support but never listed here. Warnings here are what `ack_warnings` on `:execute` acknowledges.",
@@ -4811,6 +4844,39 @@
4811
4844
  }
4812
4845
  }
4813
4846
  },
4847
+ "ErpImportEntityDetail": {
4848
+ "type": "object",
4849
+ "description": "One entity instance the import will write, attributed to the mapping target that produces it.",
4850
+ "required": [
4851
+ "mapping_index",
4852
+ "entity_schema",
4853
+ "business_key"
4854
+ ],
4855
+ "properties": {
4856
+ "mapping_index": {
4857
+ "type": "integer",
4858
+ "description": "Which `config.entities[]` target produced this entity — the join key back to the mapping."
4859
+ },
4860
+ "entity_schema": {
4861
+ "type": "string"
4862
+ },
4863
+ "business_key": {
4864
+ "type": "object",
4865
+ "additionalProperties": {
4866
+ "type": "string"
4867
+ },
4868
+ "description": "The entity's identity: its `unique_ids` as the mapping resolved them, keyed by attribute name in the order the target declares them. Values are strings, as they arrive from CSV."
4869
+ },
4870
+ "variants": {
4871
+ "type": "integer",
4872
+ "description": "Distinct condition tuples. Absent when the entity is not conditional."
4873
+ },
4874
+ "versions": {
4875
+ "type": "integer",
4876
+ "description": "Version writes — one per variant per effective date. Absent when the entity is not conditional."
4877
+ }
4878
+ }
4879
+ },
4814
4880
  "ErpImportProgress": {
4815
4881
  "type": "object",
4816
4882
  "description": "How far the currently running phase has got. Written at every batch boundary, so it advances during long runs rather than only at the end.\n`total_rows` is ABSENT during the validate phase until the file has been read to the end — there is deliberately no counting pass, since that would be a second unbounded read of the whole file. Render an indeterminate indicator while it is missing: dividing by a missing total yields a determinate bar pinned at 0%, which reads as a hung import.",
@@ -4847,6 +4913,7 @@
4847
4913
  "IMPORT_TIMEOUT",
4848
4914
  "USE_CASE_NOT_USABLE",
4849
4915
  "IMPORT_NO_PROGRESS",
4916
+ "TIER_ROWS_NOT_GROUPED",
4850
4917
  "INTERNAL_ERROR"
4851
4918
  ]
4852
4919
  },
@@ -5667,6 +5734,13 @@
5667
5734
  },
5668
5735
  "description": "Configuration defining environment variables needed by this integration. Values are stored in the Environments API."
5669
5736
  },
5737
+ "maps": {
5738
+ "type": "array",
5739
+ "description": "Re-usable key/value maps (e.g. salutation codes) declared by this integration (max 50). Each map is synced to the Environments API as a non-secret variable of type `JSON` and is available in JSONata mappings as `$env.<key>`, together with the `$mapValue(map, key, default)` and `$mapKey(map, value, default)` helpers.\n",
5740
+ "items": {
5741
+ "$ref": "#/components/schemas/IntegrationMap"
5742
+ }
5743
+ },
5670
5744
  "settings": {
5671
5745
  "$ref": "#/components/schemas/IntegrationSettings"
5672
5746
  },
@@ -5882,6 +5956,38 @@
5882
5956
  "UpdateIntegrationRequest": {
5883
5957
  "$ref": "#/components/schemas/IntegrationEditableFields"
5884
5958
  },
5959
+ "IntegrationMap": {
5960
+ "type": "object",
5961
+ "description": "A flat key/value map stored as an Environments API variable of type `JSON`. Values must be strings, numbers, booleans or null; the serialised map must not exceed 32 KB.\n",
5962
+ "required": [
5963
+ "key",
5964
+ "label",
5965
+ "value"
5966
+ ],
5967
+ "properties": {
5968
+ "key": {
5969
+ "type": "string",
5970
+ "description": "Environment variable key the map is synced to (`$env.<key>` in JSONata).",
5971
+ "pattern": "^[a-z0-9][a-z0-9_.\\-]{0,127}$"
5972
+ },
5973
+ "label": {
5974
+ "type": "string",
5975
+ "description": "Display label for the map in the UI",
5976
+ "minLength": 1,
5977
+ "maxLength": 255
5978
+ },
5979
+ "description": {
5980
+ "type": "string",
5981
+ "description": "Help text shown for the map",
5982
+ "maxLength": 1000
5983
+ },
5984
+ "value": {
5985
+ "type": "object",
5986
+ "description": "The map itself, e.g. `{\"Mr.\": 1, \"Ms. / Mrs.\": 2}`",
5987
+ "additionalProperties": true
5988
+ }
5989
+ }
5990
+ },
5885
5991
  "EnvironmentFieldConfig": {
5886
5992
  "type": "object",
5887
5993
  "required": [
@@ -6396,9 +6502,100 @@
6396
6502
  "items": {
6397
6503
  "$ref": "#/components/schemas/IntegrationEntityField"
6398
6504
  }
6505
+ },
6506
+ "conditional": {
6507
+ "$ref": "#/components/schemas/IntegrationEntityConditional"
6399
6508
  }
6400
6509
  }
6401
6510
  },
6511
+ "IntegrationEntityConditional": {
6512
+ "type": "object",
6513
+ "description": "Conditional Pricing extras for this target, used when it writes a conditional entity (a Product, Price or Coupon carrying context-dependent variants). The conditions themselves are declared on the entity schema, not here.",
6514
+ "required": [
6515
+ "folds"
6516
+ ],
6517
+ "properties": {
6518
+ "folds": {
6519
+ "type": "array",
6520
+ "minItems": 1,
6521
+ "maxItems": 1,
6522
+ "description": "Row folds for this target. Exactly one is supported; the array is the shape for later, not a capability claim.",
6523
+ "items": {
6524
+ "$ref": "#/components/schemas/IntegrationEntityFold"
6525
+ }
6526
+ }
6527
+ }
6528
+ },
6529
+ "IntegrationEntityFold": {
6530
+ "type": "object",
6531
+ "description": "Collapse the rows of one variant-version into a single array attribute, ordered by a column. A commodity file carries one row per consumption band, while a variant-version holds exactly one `tiers` array.",
6532
+ "required": [
6533
+ "attribute",
6534
+ "sort_by",
6535
+ "item"
6536
+ ],
6537
+ "properties": {
6538
+ "attribute": {
6539
+ "type": "string",
6540
+ "description": "The array attribute this fold builds, e.g. `tiers`."
6541
+ },
6542
+ "sort_by": {
6543
+ "allOf": [
6544
+ {
6545
+ "$ref": "#/components/schemas/MappedFieldValue"
6546
+ }
6547
+ ],
6548
+ "description": "Orders the group's rows. Coerced to a number, so `10000` sorts after `5000` rather than before it as strings."
6549
+ },
6550
+ "item": {
6551
+ "type": "object",
6552
+ "additionalProperties": {
6553
+ "$ref": "#/components/schemas/MappedFieldValue"
6554
+ },
6555
+ "description": "Attribute name to field value, shaping one array item from one row. `jsonataExpression` is often needed here: German ERP exports carry decimal commas (`31,25`) that `Number()` cannot parse."
6556
+ }
6557
+ }
6558
+ },
6559
+ "MappedFieldValue": {
6560
+ "description": "One mapped value. Exactly one of field, constant or jsonataExpression must be set — the same three forms `IntegrationEntityField` accepts.",
6561
+ "oneOf": [
6562
+ {
6563
+ "type": "object",
6564
+ "required": [
6565
+ "field"
6566
+ ],
6567
+ "properties": {
6568
+ "field": {
6569
+ "type": "string",
6570
+ "description": "Source column name, or a JSONPath expression when it starts with $"
6571
+ }
6572
+ }
6573
+ },
6574
+ {
6575
+ "type": "object",
6576
+ "required": [
6577
+ "constant"
6578
+ ],
6579
+ "properties": {
6580
+ "constant": {
6581
+ "description": "Constant value, of any type"
6582
+ }
6583
+ }
6584
+ },
6585
+ {
6586
+ "type": "object",
6587
+ "required": [
6588
+ "jsonataExpression"
6589
+ ],
6590
+ "properties": {
6591
+ "jsonataExpression": {
6592
+ "type": "string",
6593
+ "description": "JSONata expression evaluated against the row"
6594
+ }
6595
+ }
6596
+ }
6597
+ ]
6598
+ },
6402
6599
  "IntegrationMeterReading": {
6403
6600
  "type": "object",
6404
6601
  "required": [
@@ -8887,7 +9084,7 @@
8887
9084
  },
8888
9085
  "DirectPayload": {
8889
9086
  "type": "object",
8890
- "description": "The payload of an ERP event routed to a `direct: true` use case: a versioned envelope of\npre-mapped operations that skip the mapping engine. Sent as the `payload` of an\n`ErpEventV3` - either as a JSON object or as a JSON string (`format` must be `json`;\nXML is rejected for direct use cases).\n\nThe schema is strict: unknown keys on the envelope or on any operation are rejected with\nan error naming the offending path. Attribute values, by contrast, pass through to the\nentity verbatim (except `$relation` / `$relation_ref` envelopes, which are validated and\nresolved).\n\nOne event lands as one queue message, so the whole event (including this payload) must\nstay within the 256 KiB message budget. Identical consecutive payloads within 5 minutes\ncan be deduplicated by the queue - use the event's `deduplication_id` deliberately when\nre-sending identical data.\n",
9087
+ "description": "The payload of an ERP event routed to a `direct: true` use case: a versioned envelope of\npre-mapped operations that skip the mapping engine. Sent as the `payload` of an\n`ErpEventV3` - either as a JSON object or as a JSON string (`format` must be `json`;\nXML is rejected for direct use cases).\n\nThe schema is strict: unknown keys on the envelope or on any operation are rejected with\nan error naming the offending path. Attribute values, by contrast, pass through to the\nentity verbatim (except `$relation` / `$relation_ref` envelopes, which are validated and\nresolved).\n\nOne event lands as one queue message, so the whole serialized event (including this\npayload and its internal envelope) must stay within the 1 MiB message budget. Identical\nconsecutive payloads within 5 minutes can be deduplicated by the queue - use the event's\n`deduplication_id` deliberately when re-sending identical data.\n",
8891
9088
  "required": [
8892
9089
  "version",
8893
9090
  "operations"
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
11
11
  var main = defineCommand({
12
12
  meta: {
13
13
  name: "epilot",
14
- version: "0.1.147",
14
+ version: "0.1.148",
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-O46M2V67.js").then((m) => m.default),
34
- upgrade: () => import("../upgrade-2CGBWWDQ.js").then((m) => m.default),
34
+ upgrade: () => import("../upgrade-4KQQCBX6.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.147" : (await null).default.version;
137
+ var VERSION = true ? "0.1.148" : (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.147";
75
+ if (true) return "0.1.148";
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.147",
3
+ "version": "0.1.148",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {