@abloatai/ablo 0.9.3 → 0.9.4
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/README.md +8 -6
- package/dist/BaseSyncedStore.d.ts +5 -2
- package/dist/BaseSyncedStore.js +15 -14
- package/dist/Database.js +7 -1
- package/dist/SyncClient.d.ts +8 -0
- package/dist/SyncClient.js +9 -0
- package/dist/cli.cjs +9257 -29661
- package/dist/client/Ablo.js +8 -1
- package/dist/client/auth.d.ts +1 -1
- package/dist/client/auth.js +14 -5
- package/dist/schema/ddl.js +10 -2
- package/dist/schema/model.d.ts +9 -7
- package/dist/schema/model.js +1 -1
- package/dist/schema/schema.js +7 -1
- package/dist/sync/syncPosition.d.ts +78 -0
- package/dist/sync/syncPosition.js +111 -0
- package/dist/transactions/TransactionQueue.d.ts +16 -1
- package/dist/transactions/TransactionQueue.js +43 -25
- package/docs/api-keys.md +4 -4
- package/docs/cli.md +6 -6
- package/docs/quickstart.md +1 -1
- package/llms-full.txt +10 -5
- package/llms.txt +3 -3
- package/package.json +5 -3
package/llms.txt
CHANGED
|
@@ -10,9 +10,9 @@ Use AI SDK for the agent loop. Use Ablo when agent reads and writes must persist
|
|
|
10
10
|
|
|
11
11
|
First action when integrating into an app: run `npx ablo init --yes --framework <nextjs|vite|remix|vanilla> --storage datasource`. Agents have no TTY — `--yes` is REQUIRED or it HANGS. It scaffolds `ablo/schema.ts`, the client, the Data Source endpoint, and (for Next.js) the browser provider + session route, all on the current API. Edit the generated files rather than hand-writing from this doc.
|
|
12
12
|
|
|
13
|
-
Second: make sure a key exists. Check `ABLO_API_KEY`
|
|
13
|
+
Second: make sure a key exists — WITHOUT printing it. The key is a secret; it must never appear in your output, your reasoning, or a file you echo (it would live in the conversation history forever). Check PRESENCE only: `[ -n "$ABLO_API_KEY" ] && echo set` and `grep -cq '^ABLO_API_KEY=' .env.local && echo wired` — never `cat .env.local`, never `echo $ABLO_API_KEY`. If neither check passes, ask the HUMAN to run `npx ablo login` once — it opens a browser and saves a `sk_test_` key locally; an agent must NOT run it. You never copy the key by hand: the next step writes it into `.env.local` (and gitignores it) for you.
|
|
14
14
|
|
|
15
|
-
Then PUSH — this is the step everything depends on. The server keeps its OWN copy of the schema. Run `npx ablo dev --no-watch`: it pushes `ablo/schema.ts` (
|
|
15
|
+
Then PUSH — this is the step everything depends on. The server keeps its OWN copy of the schema. Run `npx ablo dev --no-watch`: it pushes `ablo/schema.ts` (sandbox) AND writes `ABLO_API_KEY` into `.env.local` from the stored login. Until the schema is pushed, EVERY write to a new or changed model fails with `server_execute_unknown_model`. Re-run it after schema changes (`npx ablo push` also works once the key is wired; bare `npx ablo dev` watches forever — don't, you have no TTY).
|
|
16
16
|
|
|
17
17
|
## Use this API
|
|
18
18
|
|
|
@@ -179,6 +179,6 @@ Do not teach `/api`, `/agent`, `/ai-sdk`, `/core`, `/realtime`, or internal subp
|
|
|
179
179
|
- `npx ablo init --yes` (flags: `--framework`, `--auth`, `--storage`, `--no-agent`, `--no-pull`, `--no-install`, `--no-login`). Generates `ablo/schema.ts` + the `ablo/data-source.ts` endpoint above.
|
|
180
180
|
- Key: see "Start here" — env → `.env.local` → ask the human to `npx ablo login`; never run `login` yourself, never copy keys by hand (`ablo dev` writes `.env.local`).
|
|
181
181
|
- Adopt an existing DB: `npx ablo pull prisma [path]` / `npx ablo pull drizzle <module>`.
|
|
182
|
-
- `npx ablo dev --no-watch` pushes the schema (
|
|
182
|
+
- `npx ablo dev --no-watch` pushes the schema (sandbox) AND writes `ABLO_API_KEY` to `.env.local` (default watches forever); `npx ablo logs --no-follow` (default tails forever); `npx ablo mode sandbox|production` (always pass the arg). `npx ablo push`/`status`/`pull`/`check`/`generate` are one-shot.
|
|
183
183
|
|
|
184
184
|
Canonical docs to read before integrating: `quickstart`, `schema-contract`, `integration-guide`, `guarantees`, `client-behavior`, `data-sources`, `examples/existing-python-backend`, `api`, `examples/ai-sdk-tool`, and `examples/server-agent`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abloatai/ablo",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "State control API for AI agents and collaborative apps.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -134,6 +134,7 @@
|
|
|
134
134
|
"check:dist": "node scripts/check-dist-fresh.mjs",
|
|
135
135
|
"pretest": "node scripts/check-dist-fresh.mjs",
|
|
136
136
|
"test": "jest",
|
|
137
|
+
"test:quickstart": "node scripts/test-quickstart.mjs",
|
|
137
138
|
"test:unit": "jest --testPathPattern=__tests__/unit",
|
|
138
139
|
"test:integration": "jest --testPathPattern=__tests__/integration",
|
|
139
140
|
"test:contract": "jest --testPathPattern=__tests__/contract",
|
|
@@ -183,10 +184,11 @@
|
|
|
183
184
|
}
|
|
184
185
|
},
|
|
185
186
|
"dependencies": {
|
|
187
|
+
"jiti": "^2.7.0",
|
|
186
188
|
"mobx": "^6.13.7",
|
|
187
189
|
"mobx-react-lite": "^4.0.0",
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
+
"uuid": "^11.1.0",
|
|
191
|
+
"zod": "^4.0.17"
|
|
190
192
|
},
|
|
191
193
|
"devDependencies": {
|
|
192
194
|
"@ai-sdk/provider": "^3.0.0",
|