@abloatai/ablo 0.10.0 → 0.10.1
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 +6 -0
- package/docs/migration.md +52 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.10.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Docs: add the 0.10.0 entry to the Version History & Migration Guide — the `test`/`live` → `sandbox`/`production` environment enum rename (key prefixes unchanged) and the new `transport: 'http'` stateless client.
|
|
8
|
+
|
|
3
9
|
## 0.10.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/docs/migration.md
CHANGED
|
@@ -11,6 +11,7 @@ change when you upgrade.
|
|
|
11
11
|
|
|
12
12
|
| Version | What changed | What to do |
|
|
13
13
|
|---|---|---|
|
|
14
|
+
| **0.10.0** | Environment enum renamed `test`/`live` → `sandbox`/`production` | Update code that branches on the environment (e.g. source `mode`): `'test'`→`'sandbox'`, `'live'`→`'production'`. Key prefixes `sk_test_`/`sk_live_` are unchanged |
|
|
14
15
|
| **0.9.2** | `turn` primitive + agent-work `tasks` resource removed | Coordinate with `claim`; mint a scoped session instead of `agent().run()` |
|
|
15
16
|
| **0.9.2** | `intents` deprecated in favor of `claim` | Use `ablo.<model>.claim`; `ablo.intents` is now `@internal` |
|
|
16
17
|
| **0.9.0** | One options object per verb | `update(id, data, opts)` → `update({ id, data, ...opts })` |
|
|
@@ -23,6 +24,57 @@ change when you upgrade.
|
|
|
23
24
|
|
|
24
25
|
---
|
|
25
26
|
|
|
27
|
+
## 0.10.0 — environment enum `sandbox` / `production`; stateless HTTP transport
|
|
28
|
+
|
|
29
|
+
### Environment enum rename (the only breaking change)
|
|
30
|
+
|
|
31
|
+
The canonical environment values are now **`production`** and **`sandbox`** (was
|
|
32
|
+
`live` and `test`). This is a *vocabulary* change at the type/API layer — the
|
|
33
|
+
on-the-wire key prefixes are **unchanged**: keys are still `sk_test_…` /
|
|
34
|
+
`sk_live_…` and parse exactly as before. What changed is the enum you see in
|
|
35
|
+
code: `Environment`, the source-handler `mode` field, and `ApiKeyEnv` now read
|
|
36
|
+
`production` / `sandbox`.
|
|
37
|
+
|
|
38
|
+
You only need to act if your code branches on the environment value — most
|
|
39
|
+
commonly a Data Source handler keyed on `mode`. The mapping is exactly
|
|
40
|
+
`test → sandbox`, `live → production`:
|
|
41
|
+
|
|
42
|
+
```diff
|
|
43
|
+
const handler = createSourceHandler({
|
|
44
|
+
read: async ({ mode }) => {
|
|
45
|
+
- const db = mode === 'test' ? testDb : liveDb;
|
|
46
|
+
+ const db = mode === 'sandbox' ? sandboxDb : productionDb;
|
|
47
|
+
// …
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`commit` now also forwards `projectId`, `accountScope`, and `environment` to
|
|
53
|
+
source resolvers, so per-project and per-environment traffic can be routed to
|
|
54
|
+
distinct stores.
|
|
55
|
+
|
|
56
|
+
> **CLI note:** the legacy single-file config that stored `test`/`live` key
|
|
57
|
+
> buckets is no longer auto-migrated. If `ablo status` can't find your keys after
|
|
58
|
+
> upgrading, re-run `ablo login` to write the current `sandbox`/`production`
|
|
59
|
+
> layout.
|
|
60
|
+
|
|
61
|
+
### New (non-breaking): `transport: 'http'`
|
|
62
|
+
|
|
63
|
+
`Ablo({ transport: 'http' })` returns a stateless `AbloHttpClient` for
|
|
64
|
+
server-side actors (agents, workers, serverless): the same `ablo.<model>` surface
|
|
65
|
+
and `claim` coordination, but each call is one HTTP round-trip with identity on
|
|
66
|
+
the Bearer credential — no websocket, no local synced pool. The return type
|
|
67
|
+
narrows, so stateful-only APIs (`get` / `getAll` / `onChange`) become compile
|
|
68
|
+
errors instead of latent runtime gaps. Existing code keeps the default
|
|
69
|
+
`'websocket'` transport, unchanged.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
const ablo = Ablo({ schema, apiKey: process.env.ABLO_API_KEY, transport: 'http' });
|
|
73
|
+
await ablo.tasks.update({ id, data: { status: 'done' } });
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
26
78
|
## 0.9.2 — `turn` / agent-`tasks` removed; `intents` deprecated
|
|
27
79
|
|
|
28
80
|
The SDK's coordination surface is now exactly two things: `ablo.<model>` writes
|