@farthershore/cli 0.36.0 → 0.37.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/CHANGELOG.md +71 -0
- package/README.md +14 -6
- package/dist/index.js +5237 -578
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,77 @@ All notable changes to the `farthershore` CLI are documented here. The CLI
|
|
|
4
4
|
versions independently from the SDKs. Pre-1.0: minor versions may include
|
|
5
5
|
breaking changes. Releases before 0.35.0 are recorded only in the git history.
|
|
6
6
|
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## [0.37.0] - 2026-10-14
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- `business status` reports `serving` (`status`, `coherent`, `message`) in
|
|
14
|
+
place of `edgeCoherence` (no generations, epochs or digests), and
|
|
15
|
+
`latestDeployment.publishStatus` in place of `edgePublishStatus`.
|
|
16
|
+
`business routes` lists each route once (no compiled row id);
|
|
17
|
+
`business contract` and `business config-attempts` print the closed public
|
|
18
|
+
shapes (no raw proposal text or payload). `validate --business` no longer
|
|
19
|
+
echoes the server's spec hash; a failure's `irHash` is the locally built IR's.
|
|
20
|
+
- `auth whoami` no longer prints a maker token's `authVersion` or a dashboard
|
|
21
|
+
session's identity-provider user id.
|
|
22
|
+
- `agents`, `bulletin`, `automation`, `knowledge`, `resource-count`,
|
|
23
|
+
`denial`, `dependents` and `workflow-control` print the closed public
|
|
24
|
+
shapes: an agent run names a failure by code with a fixed message and
|
|
25
|
+
carries no trace object key; a denial carries no internal decision or ledger
|
|
26
|
+
ids; a rollback preview reports `currentCommitSha`.
|
|
27
|
+
- The webhook commands print only the public webhook fields. Every endpoint
|
|
28
|
+
result carries the same fields (`failCount`, `disabledAt` and `updatedAt`
|
|
29
|
+
included); the signing secret appears only in `webhook create`,
|
|
30
|
+
`webhook rotate` and `webhook listen --print-secret`. A delivery's
|
|
31
|
+
`status` is `pending`, `success`, `failed` or `dead`, and `webhook test` /
|
|
32
|
+
`webhook trigger` results (and their `WEBHOOK_DELIVERY_FAILED` /
|
|
33
|
+
`WEBHOOK_REDIRECTED` errors) carry `deliveryId`, null when the attempt
|
|
34
|
+
could not be recorded.
|
|
35
|
+
- New `webhook delivery <business> <webhookId> <deliveryId>` shows one
|
|
36
|
+
delivery's status, attempts and HTTP status.
|
|
37
|
+
- `analytics log` events carry `request` (path, status code, subscriber, deny
|
|
38
|
+
code, gateway / backend timing) instead of the raw archived `payload`.
|
|
39
|
+
`usage summary` reports `activeApiKeys` (was `activeRuntimeKeys`) and no
|
|
40
|
+
business id. `stripe status` no longer prints the Stripe account id, and
|
|
41
|
+
`source` reads `business` | `organization`. `tax-settings show|update` print
|
|
42
|
+
`{ status, defaults: { taxBehavior, taxCode }, headOffice, missingFields }`
|
|
43
|
+
instead of the payment provider's settings object. `plan list` reads the
|
|
44
|
+
plan's `kind` and `isActive`.
|
|
45
|
+
- `variables` mutations and `variables status` print the public operation
|
|
46
|
+
(no `mutationId`, `state` or `result`; `impact` is integrations and
|
|
47
|
+
subscriber count; a failed attempt shows fixed copy; `generation` is
|
|
48
|
+
`version`, also on `variables list`). `frontend status`
|
|
49
|
+
prints `activeReleaseId` and each build's `releaseId`; `frontend rollback`
|
|
50
|
+
prints the release now serving with its `environmentId`.
|
|
51
|
+
|
|
52
|
+
- `agreements`, `promo-code` and `persona` print the closed public shapes:
|
|
53
|
+
no payment-provider ids on promo codes, no plan-version, user or membership
|
|
54
|
+
ids on personas, and `agreements pins` names the plan by key and version.
|
|
55
|
+
- `apply-timeline list` / `inspect` print the public entry: no build id, IR
|
|
56
|
+
hash or internal trigger; apply phases are `publish` and `billing`, and a
|
|
57
|
+
failed platform step reads as a code plus the id to quote to support.
|
|
58
|
+
`proposal create|preview|list|get` print the public ChangeSet (no rollback
|
|
59
|
+
plan, correlation id or simulation fingerprint; `resetReason` replaces
|
|
60
|
+
`failureReason`), and `proposal create --dry-run` prints what it would record.
|
|
61
|
+
An unknown `--env` name on the `apply-timeline` and `proposal` commands now
|
|
62
|
+
fails with `ENVIRONMENT_NOT_FOUND` (apply-timeline used to show production
|
|
63
|
+
entries).
|
|
64
|
+
- `env create` prints the full environment (now including `portalHostname`)
|
|
65
|
+
with `created` and `branchCreated`, and says when the environment already
|
|
66
|
+
existed. A failed `env delete` reports which cleanup steps did not finish
|
|
67
|
+
(`runtime`, `docs`, `branch`) instead of the underlying error text.
|
|
68
|
+
- `backend list` prints each backend's `status` straight from the server; the
|
|
69
|
+
backend and runtime-token commands print only the public fields (a backend's
|
|
70
|
+
internal origin host and raw provisioning / readiness state are no longer
|
|
71
|
+
returned). `backend tokens create` / `rotate` results carry `envVar` and the
|
|
72
|
+
one-time `token` as the server returns them.
|
|
73
|
+
- `business show`, `business list` and the other business reads print only the
|
|
74
|
+
public business fields. Internal platform state the server used to include
|
|
75
|
+
(release and sync bookkeeping, accepted specs, frontend activation details,
|
|
76
|
+
…) is no longer returned.
|
|
77
|
+
|
|
7
78
|
## [0.36.0] - 2026-10-13
|
|
8
79
|
|
|
9
80
|
### Changed
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Create and operate [FartherShore](https://farthershore.com) software businesses
|
|
4
4
|
from the terminal.
|
|
5
5
|
|
|
6
|
-
**Status: `0.
|
|
6
|
+
**Status: `0.37.0`.** Pre-1.0 — the command surface is stable but may still
|
|
7
7
|
change between minor versions. Pin an exact version in CI.
|
|
8
8
|
|
|
9
9
|
FartherShore lets you define a software business as code, then sells, meters,
|
|
@@ -20,13 +20,13 @@ takes `--format json` for non-interactive scripting.
|
|
|
20
20
|
## Install
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
npm install -g @farthershore/cli@0.
|
|
23
|
+
npm install -g @farthershore/cli@0.37.0
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Or run it directly with npx:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
npx -p @farthershore/cli@0.
|
|
29
|
+
npx -p @farthershore/cli@0.37.0 farthershore --help
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Authentication
|
|
@@ -708,6 +708,7 @@ farthershore webhook update weather-api <webhookId> --disable --format json
|
|
|
708
708
|
farthershore webhook test weather-api <webhookId> --format json
|
|
709
709
|
farthershore webhook trigger weather-api <webhookId> --type payment.failed --format json
|
|
710
710
|
farthershore webhook deliveries weather-api <webhookId> --limit 20 --format json
|
|
711
|
+
farthershore webhook delivery weather-api <webhookId> <deliveryId> --format json
|
|
711
712
|
farthershore webhook rotate weather-api <webhookId> --yes --format json
|
|
712
713
|
farthershore webhook delete weather-api <webhookId> --yes --format json
|
|
713
714
|
```
|
|
@@ -720,6 +721,13 @@ in the receiving app. In human mode they also print it as an
|
|
|
720
721
|
sends a signed, realistic sample of one catalog event (the deliveries log
|
|
721
722
|
records it under that type) so every handler branch can be exercised locally.
|
|
722
723
|
|
|
724
|
+
`webhook deliveries` lists recent attempts; `webhook delivery` shows one by its
|
|
725
|
+
id (the `webhook-id` header your endpoint received, also the `deliveryId` that
|
|
726
|
+
`webhook test` / `webhook trigger` return): its status, attempts, last HTTP
|
|
727
|
+
status and when the next attempt is due. A `failed` delivery with no next
|
|
728
|
+
attempt (a test send) is final. Neither returns the event payload or your
|
|
729
|
+
endpoint's response body.
|
|
730
|
+
|
|
723
731
|
For a receiver on your machine, `webhook listen` is the Stripe-CLI-style loop:
|
|
724
732
|
it opens a Cloudflare quick tunnel to `--forward-to`, creates a temporary
|
|
725
733
|
endpoint on it, prints the endpoint id / tunnel URL / (with `--print-secret`)
|
|
@@ -764,18 +772,18 @@ Use `--all-plans` to clear plan scoping.
|
|
|
764
772
|
Install or refresh the platform-verified skills bundle together. The platform
|
|
765
773
|
pins this immutable release, and CI plus a daily repository check compare it to
|
|
766
774
|
GitHub's latest stable release so the guidance cannot silently drift.
|
|
767
|
-
This command requires `@farthershore/cli` 0.
|
|
775
|
+
This command requires `@farthershore/cli` 0.37.0 or newer.
|
|
768
776
|
|
|
769
777
|
```bash
|
|
770
778
|
set -euo pipefail
|
|
771
779
|
CLI_VERSION=$(farthershore --version)
|
|
772
|
-
printf '%s' "$CLI_VERSION" | node -e 'let v=""; process.stdin.on("data", c => v += c).on("end", () => { const m = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim()); if (!m || !(+m[1] > 0 || +m[2] >
|
|
780
|
+
printf '%s' "$CLI_VERSION" | node -e 'let v=""; process.stdin.on("data", c => v += c).on("end", () => { const m = /^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(?:\+[0-9A-Za-z.-]+)?$/.exec(v.trim()); if (!m || !(+m[1] > 0 || +m[2] > 37 || (+m[2] === 37 && +m[3] >= 0))) { console.error("Stop: CLI 0.37.0 or newer is required; ask the human to upgrade."); process.exitCode = 1; } })'
|
|
773
781
|
farthershore skills install --help
|
|
774
782
|
farthershore skills install
|
|
775
783
|
```
|
|
776
784
|
|
|
777
785
|
If either prerequisite fails, stop and ask the human to run
|
|
778
|
-
`npm install -g @farthershore/cli@0.
|
|
786
|
+
`npm install -g @farthershore/cli@0.37.0`, then repeat the checks.
|
|
779
787
|
Do not install or upgrade global tooling autonomously.
|
|
780
788
|
|
|
781
789
|
The Farther Shore CLI downloads the exact installer archive and verifies this
|