@particle-academy/fancy-connector-core 0.6.0 → 0.6.2
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 +31 -0
- package/README.md +8 -6
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,37 @@ All notable changes to `fancy-connector-core` are documented here, in
|
|
|
6
6
|
**This package is pre-1.0, so breaking changes land in MINOR releases.** The
|
|
7
7
|
version number is not a promise it can keep yet; the entries below are.
|
|
8
8
|
|
|
9
|
+
## [0.6.2] - 2026-09-14
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Three remedies that could not be followed are gone, and a test now refuses
|
|
14
|
+
any string that names a command, package or script that does not exist.**
|
|
15
|
+
`ConnectorApiMismatch` for a connector behind the window told the reader to
|
|
16
|
+
run `npx fancy-cli@latest add connector <id>` — there is no such command; it
|
|
17
|
+
now says to move the connector to a release written for this core (upgrade
|
|
18
|
+
its `-js`/`-php` package, or regenerate a vendored copy from that release).
|
|
19
|
+
`index.ts` opened by naming `@particle-academy/fancy-connectors`, a package
|
|
20
|
+
that was never published and whose vendored catalogue is retired (the owner,
|
|
21
|
+
2026-09-14 — every connector is a generated package from the Fancy-Friends
|
|
22
|
+
estate, and this core is Weaver's). And the banner `scripts/vendor.mjs`
|
|
23
|
+
writes into every generated file said to re-run `php artisan flow:build`,
|
|
24
|
+
which regenerates nothing; it now names `vendor.mjs` itself. **What to do:**
|
|
25
|
+
nothing at runtime; a host carrying a vendored `_connector` copy regenerates
|
|
26
|
+
it with `node scripts/vendor.mjs --target <dir>` on its next core update, and
|
|
27
|
+
its drift check will say so.
|
|
28
|
+
|
|
29
|
+
## [0.6.1] - 2026-09-13
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **`ConnectorError` declares `attempts` and `idempotent` on its type.** A failed
|
|
34
|
+
call has attached both since 0.5.0, but the class never declared them, so
|
|
35
|
+
TypeScript refused `error.attempts` and the README taught a cast. They are
|
|
36
|
+
`declare` fields: nothing changes at runtime, and an error that did not end a
|
|
37
|
+
call still has no such property. **What to do:** nothing; a cast you added
|
|
38
|
+
still compiles and can go.
|
|
39
|
+
|
|
9
40
|
## [0.6.0] - 2026-09-13
|
|
10
41
|
|
|
11
42
|
Additive only. **What a consumer must DO: nothing** — see each entry.
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# fancy-connector-core
|
|
2
2
|
|
|
3
|
+
[](https://particle.academy)
|
|
4
|
+
|
|
3
5
|
**The runtime under every Fancy connector.** Modes and estates, connections, one
|
|
4
6
|
call path, a failure taxonomy that knows the difference between *it never
|
|
5
7
|
arrived* and *nobody can tell*, deterministic fakers, webhook verification, pure
|
|
@@ -84,10 +86,8 @@ try {
|
|
|
84
86
|
error.kind; // the retry primitive
|
|
85
87
|
error.providerCode; // only where the service declared `providerCodeFrom`
|
|
86
88
|
error.cause; // the classified error; for a thrown transport, the original below it
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
(error as { attempts?: Attempt[] }).attempts; // every failed attempt of the call, in order
|
|
90
|
-
(error as { idempotent?: boolean }).idempotent; // what the call declared — "never allowed to retry" vs "retries ran out"
|
|
89
|
+
error.attempts; // every failed attempt of the call, in order
|
|
90
|
+
error.idempotent; // what the call declared — "never allowed to retry" vs "retries ran out"
|
|
91
91
|
}
|
|
92
92
|
```
|
|
93
93
|
|
|
@@ -222,7 +222,9 @@ entirely. That is the whole argument.
|
|
|
222
222
|
|
|
223
223
|
- [`AGENTS.md`](./AGENTS.md) — the invariants, the traps, and what a change here
|
|
224
224
|
breaks.
|
|
225
|
-
-
|
|
226
|
-
|
|
225
|
+
- `RULES.md` in [`Fancy-Friends/weaver.agi`](https://github.com/Fancy-Friends/weaver.agi)
|
|
226
|
+
— the estate every connector is generated from (one definition → four
|
|
227
|
+
packages), its invariants, and the process rules this core follows since it
|
|
228
|
+
became Weaver's on 2026-09-14.
|
|
227
229
|
|
|
228
230
|
MIT.
|
package/dist/index.cjs
CHANGED
|
@@ -142,7 +142,7 @@ function assertConnectorApi(connectorId, declared) {
|
|
|
142
142
|
if (SUPPORTED_CONNECTOR_API.includes(declared)) return;
|
|
143
143
|
const supported = SUPPORTED_CONNECTOR_API.join(", ");
|
|
144
144
|
throw new ConnectorApiMismatch(
|
|
145
|
-
declared > CONNECTOR_API_VERSION ? `"${connectorId}" was written against connector API ${declared}, and this core implements ${supported}. The CONNECTOR is newer: upgrade @particle-academy/fancy-connector-core. Vendoring a connector ahead of the core it needs is the one direction that cannot be made to work by trying.` : `"${connectorId}" was written against connector API ${declared}, which is older than anything this core still runs (${supported}). The CONNECTOR is behind:
|
|
145
|
+
declared > CONNECTOR_API_VERSION ? `"${connectorId}" was written against connector API ${declared}, and this core implements ${supported}. The CONNECTOR is newer: upgrade @particle-academy/fancy-connector-core. Vendoring a connector ahead of the core it needs is the one direction that cannot be made to work by trying.` : `"${connectorId}" was written against connector API ${declared}, which is older than anything this core still runs (${supported}). The CONNECTOR is behind: move it to a release written for this core \u2014 upgrade its package (@particle-academy/${connectorId}-js, particle-academy/${connectorId}-php), or regenerate a vendored copy from that release; its CHANGELOG names the connector API each release targets. Nothing is adapted automatically, because guessing what a two-version-old connector meant is how a connector quietly starts doing something else.`,
|
|
146
146
|
connectorId,
|
|
147
147
|
declared
|
|
148
148
|
);
|