deepspace 0.28.1 → 0.29.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 +50 -0
- package/dist/{chunk-PVEUIQN4.js → chunk-ZWFH5HON.js} +2 -2
- package/dist/{chunk-PVEUIQN4.js.map → chunk-ZWFH5HON.js.map} +1 -1
- package/dist/cli.js +128 -81
- package/dist/cli.js.map +1 -1
- package/dist/documentation-client-core.js +1 -1
- package/dist/documentation-default-renderer.cjs +1 -1
- package/dist/documentation-react.js +1 -1
- package/dist/documentation-runtime.js +1 -1
- package/dist/documentation-server-core.js +1 -1
- package/dist/documentation.js +1 -1
- package/dist/documentation.js.map +1 -1
- package/dist/index.d.ts +56 -67
- package/dist/index.js +97 -129
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +0 -1
- package/dist/server.js +119 -31
- package/dist/server.js.map +1 -1
- package/dist/worker.d.ts +72 -90
- package/dist/worker.js +219 -143
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# deepspace
|
|
2
2
|
|
|
3
|
+
## 0.29.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add `logEventText(event)` to the log-events module: one event's plain-text body (what the event says, without colors, tags, timestamps, or stack frames), shared by the CLI line formatter and the dashboard log rows and search. CLI output is byte-identical; this is the extraction of the wording both renderers already produced independently. The platform logs endpoint also retires its never-used `until` query param — the window always ends at request time, and an explicit `until` is ignored (no released client ever sent one).
|
|
8
|
+
- New `loggableError(err)` export (shared, both entries): renders an error as the string form that survives Workers Logs ingestion — the telemetry pipeline keeps only a logged Error OBJECT's stack frames, dropping its message, so uncaught route errors showed in `deepspace logs` as bare frames. The SDK's own error logs now go through it — the room runtime (BaseRoom/RecordRoom/CronRoom/JobRoom message, task, job, and websocket error logs), Yjs doc loads, the auth glue's Apple-secret/onUserCreated logs, chat compaction, the files quota/multipart paths, and the documentation MCP worker — so those messages come back for every app on upgrade + redeploy. Output is bounded: causes are walked to a fixed depth and the rendered text is capped at the exported `MAX_LOG_TEXT_LENGTH` (8 KB, the same budget the platform's log reader truncates at), so a hostile or enormous error can't flood the log store. App code should follow the same rule: log `loggableError(err)`, never a bare Error object.
|
|
9
|
+
- Remove the opt-in client-side error forwarding subsystem (`installClientErrorReporter`, `reportClientError`, `registerClientErrorRoute`, `handleClientErrorReport`, `CLIENT_LOG_MARKER`, and the `ClientErrorReport`/`ClientErrorKind`/`ClientErrorReporterOptions` types), and with it the `source: 'client'` field on `AppLogEvent` and the `CLIENT` tag in `deepspace logs` and the dashboard. Shipped in 0.7.0, it was never wired anywhere — not the scaffold, the skill, or the site manual — so it has been ~900 lines of dormant surface, including an anonymous ingestion endpoint (`POST /_deepspace/client-errors`) in every app that opted in. Browser JS errors are therefore invisible to `deepspace logs` again (they never invoke the Worker); the tenant-safe design is recorded in `docs/platform/app-logs.md` and observability gap A7 for resurrection — scaffold-wired by default — if demand appears. Apps that did call the removed APIs must drop those calls when upgrading; reports POSTed by already-deployed apps now surface as plain marker-prefixed log lines instead of `CLIENT`-tagged events.
|
|
10
|
+
- New `workerErrorHandler(prefix, respond?)` export (`deepspace/worker`): the one Hono `app.onError` — a response-bearing error (`HTTPException`) keeps its own answer, everything else is logged as one string (`[prefix] METHOD /path: message, frames, bounded cause chain`, via `loggableError`) and answered with a generic 500 (or the worker's own `respond` shape). The scaffold template and the deploy/auth/platform workers now register it instead of carrying hand-copied handler bodies (api-worker's own handler is the billing owner's area, unchanged). Also exported: `truncateLogText(s)`, the single budget-inclusive, surrogate-safe truncation both `loggableError` (write side) and the platform log reader (read side) use — a capped field never exceeds `MAX_LOG_TEXT_LENGTH` anymore. And `--search` now matches the shared `logEventText` rendering (the same corpus the dashboard searches and both renderers display), so an exception's name/message and a request's method/path/status match — not just the raw message field.
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- `logs --follow` no longer retries a 400 forever. The flags are constant for the life of a tail (a bad `--since` already failed on the first fetch, before the loop), so a mid-tail 400 means the platform stopped accepting a shape it used to — exactly what removing a param does to an older CLI. Resending the identical request cannot succeed; the tail now ends with the error. 429 (the route's own throttle) and 5xx still back off and retry.
|
|
15
|
+
|
|
16
|
+
## 0.28.2
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Every fixable finding from the 2026-08-28 five-lane v0.28.1 AX pass (summary
|
|
21
|
+
and dispositions: `docs/audits/2026-08-28-v0281-ax-summary.md`). Agent-loop
|
|
22
|
+
killers: the server's `stale_base` sentence names all three recoveries
|
|
23
|
+
(`workspace land` included — the old text prescribed the exact `pull` loop the
|
|
24
|
+
0.28.0 action removal closed); a quota-blocked first-use registration refuses
|
|
25
|
+
with the quota's own code instead of `app_not_initialized` plus an `app init`
|
|
26
|
+
action the CLI had just been told cannot succeed (one `registerForLocalRun`
|
|
27
|
+
chokepoint; existing-id checkouts keep local-first warn-and-continue). Agent
|
|
28
|
+
tools: `invalid_tool_input` states the validator's cause; the published
|
|
29
|
+
`additionalProperties: false` is enforced at the invoke route (a typo'd key
|
|
30
|
+
refuses naming it instead of silently succeeding); `tool_not_found` lists the
|
|
31
|
+
available tools; `forbidden` names the one-step remedy; the agent-endpoint 404
|
|
32
|
+
distinguishes "wrong app" from "no registerAgent"; `user_current` explains the
|
|
33
|
+
no-users-row state instead of "User not found". Source latch edges: the
|
|
34
|
+
`--new-id` fork warns that it inherits the wrangler `name` (its first deploy
|
|
35
|
+
targets the ORIGINAL subdomain until `name` changes); pre-latch `status` names
|
|
36
|
+
the repository the latch would record; the claimed-GitHub sentence is
|
|
37
|
+
byte-identical CLI and server. Sessions and test accounts: a present-but-
|
|
38
|
+
undecodable token file reports `sessionError` (`status` no longer calls a
|
|
39
|
+
garbage session healthy); `recover --json` carries `savedTo`; recovered
|
|
40
|
+
accounts keep their real `createdAt` (the credential endpoint returns it);
|
|
41
|
+
remedy joins no longer double the period; the internal docs teach
|
|
42
|
+
`--password-stdin` and retrieval-based `recover`. Operations: a live install
|
|
43
|
+
is reported before `not_authenticated` on dev/test (the heal stays after
|
|
44
|
+
auth); `port_in_use` carries the `dev kill --port <n>` machine action the
|
|
45
|
+
contract documents; `workspace.synced` events record the task and the
|
|
46
|
+
activity feed prints it; `workspace new -t` refuses a flag-shaped task
|
|
47
|
+
instead of creating a workspace named `--json`; `whoami`/`app source` human
|
|
48
|
+
output carries `expiresAt`/`registered` (JSON parity); `app usage` help points
|
|
49
|
+
at `app files list` for storage; the scaffold's Next steps warn about
|
|
50
|
+
committing the `__APP_ID__` placeholder; `behind_trunk`/`vc_diverged` are
|
|
51
|
+
documented beside `stale_base`.
|
|
52
|
+
|
|
3
53
|
## 0.28.1
|
|
4
54
|
|
|
5
55
|
### Patch Changes
|
|
@@ -1274,7 +1274,7 @@ function renderInlineMarkdown(value) {
|
|
|
1274
1274
|
import { useEffect as useEffect6, useRef as useRef5, useState as useState5 } from "react";
|
|
1275
1275
|
|
|
1276
1276
|
// package.json
|
|
1277
|
-
var version = "0.
|
|
1277
|
+
var version = "0.29.0";
|
|
1278
1278
|
|
|
1279
1279
|
// src/documentation/runtime/navigation.tsx
|
|
1280
1280
|
import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
@@ -1954,4 +1954,4 @@ export {
|
|
|
1954
1954
|
DefaultDocumentation,
|
|
1955
1955
|
DocumentationContent
|
|
1956
1956
|
};
|
|
1957
|
-
//# sourceMappingURL=chunk-
|
|
1957
|
+
//# sourceMappingURL=chunk-ZWFH5HON.js.map
|