@schlessera/brain-ui-server 0.34.1 → 0.35.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/README.md +28 -0
- package/dist/activity/notify.d.ts.map +1 -1
- package/dist/activity/notify.js +18 -8
- package/dist/activity/notify.js.map +1 -1
- package/dist/activity/push-sender.d.ts +7 -3
- package/dist/activity/push-sender.d.ts.map +1 -1
- package/dist/activity/push-sender.js +45 -11
- package/dist/activity/push-sender.js.map +1 -1
- package/dist/activity/query.d.ts.map +1 -1
- package/dist/activity/query.js +8 -0
- package/dist/activity/query.js.map +1 -1
- package/dist/activity/recorder.d.ts +11 -1
- package/dist/activity/recorder.d.ts.map +1 -1
- package/dist/activity/recorder.js +52 -2
- package/dist/activity/recorder.js.map +1 -1
- package/dist/activity/runtime.d.ts.map +1 -1
- package/dist/activity/runtime.js +2 -5
- package/dist/activity/runtime.js.map +1 -1
- package/dist/activity/sql.d.ts +3 -3
- package/dist/activity/sql.d.ts.map +1 -1
- package/dist/activity/sql.js +7 -5
- package/dist/activity/sql.js.map +1 -1
- package/dist/activity/store.d.ts +7 -0
- package/dist/activity/store.d.ts.map +1 -1
- package/dist/activity/store.js +15 -3
- package/dist/activity/store.js.map +1 -1
- package/dist/activity/stream.d.ts +3 -1
- package/dist/activity/stream.d.ts.map +1 -1
- package/dist/activity/stream.js +32 -17
- package/dist/activity/stream.js.map +1 -1
- package/dist/app-env.d.ts +8 -0
- package/dist/app-env.d.ts.map +1 -0
- package/dist/app-env.js +2 -0
- package/dist/app-env.js.map +1 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +28 -3
- package/dist/app.js.map +1 -1
- package/dist/brain/client.d.ts +4 -2
- package/dist/brain/client.d.ts.map +1 -1
- package/dist/brain/client.js +60 -20
- package/dist/brain/client.js.map +1 -1
- package/dist/brain/types.d.ts +9 -0
- package/dist/brain/types.d.ts.map +1 -1
- package/dist/cron/run-job.d.ts.map +1 -1
- package/dist/cron/run-job.js +60 -10
- package/dist/cron/run-job.js.map +1 -1
- package/dist/db/principals.d.ts +72 -0
- package/dist/db/principals.d.ts.map +1 -0
- package/dist/db/principals.js +294 -0
- package/dist/db/principals.js.map +1 -0
- package/dist/files/walker.d.ts.map +1 -1
- package/dist/files/walker.js +6 -1
- package/dist/files/walker.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/middleware/auth.d.ts +37 -9
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +148 -74
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/passkeys.d.ts +9 -7
- package/dist/middleware/passkeys.d.ts.map +1 -1
- package/dist/middleware/passkeys.js +25 -7
- package/dist/middleware/passkeys.js.map +1 -1
- package/dist/middleware/principals.d.ts +18 -0
- package/dist/middleware/principals.d.ts.map +1 -0
- package/dist/middleware/principals.js +138 -0
- package/dist/middleware/principals.js.map +1 -0
- package/dist/middleware/require-owner.d.ts +5 -0
- package/dist/middleware/require-owner.d.ts.map +1 -0
- package/dist/middleware/require-owner.js +10 -0
- package/dist/middleware/require-owner.js.map +1 -0
- package/dist/observability/loggers.js +1 -1
- package/dist/observability/loggers.js.map +1 -1
- package/dist/routes/activity.d.ts.map +1 -1
- package/dist/routes/activity.js +3 -0
- package/dist/routes/activity.js.map +1 -1
- package/dist/routes/brain.d.ts.map +1 -1
- package/dist/routes/brain.js +102 -63
- package/dist/routes/brain.js.map +1 -1
- package/dist/routes/files.d.ts.map +1 -1
- package/dist/routes/files.js +7 -2
- package/dist/routes/files.js.map +1 -1
- package/dist/routes/push.d.ts +61 -2
- package/dist/routes/push.d.ts.map +1 -1
- package/dist/routes/push.js +8 -3
- package/dist/routes/push.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +30 -4
- package/dist/routes/sessions.js.map +1 -1
- package/dist/share/staging.d.ts.map +1 -1
- package/dist/share/staging.js +11 -4
- package/dist/share/staging.js.map +1 -1
- package/dist/ws/bridge.d.ts.map +1 -1
- package/dist/ws/bridge.js +6 -2
- package/dist/ws/bridge.js.map +1 -1
- package/dist/ws/clients.d.ts +9 -2
- package/dist/ws/clients.d.ts.map +1 -1
- package/dist/ws/clients.js +44 -6
- package/dist/ws/clients.js.map +1 -1
- package/dist/ws/connection.d.ts +7 -4
- package/dist/ws/connection.d.ts.map +1 -1
- package/dist/ws/connection.js +83 -12
- package/dist/ws/connection.js.map +1 -1
- package/dist/ws/dispatch.d.ts +12 -1
- package/dist/ws/dispatch.d.ts.map +1 -1
- package/dist/ws/dispatch.js +46 -6
- package/dist/ws/dispatch.js.map +1 -1
- package/dist/ws/history.d.ts.map +1 -1
- package/dist/ws/history.js +7 -5
- package/dist/ws/history.js.map +1 -1
- package/dist/ws/host.d.ts +22 -0
- package/dist/ws/host.d.ts.map +1 -1
- package/dist/ws/host.js +39 -1
- package/dist/ws/host.js.map +1 -1
- package/dist/ws/run-session.d.ts +7 -7
- package/dist/ws/run-session.d.ts.map +1 -1
- package/dist/ws/run-session.js +208 -52
- package/dist/ws/run-session.js.map +1 -1
- package/dist/ws/shrink.d.ts +3 -1
- package/dist/ws/shrink.d.ts.map +1 -1
- package/dist/ws/shrink.js +46 -16
- package/dist/ws/shrink.js.map +1 -1
- package/dist/ws/turns.d.ts +58 -3
- package/dist/ws/turns.d.ts.map +1 -1
- package/dist/ws/turns.js +101 -2
- package/dist/ws/turns.js.map +1 -1
- package/migrations/011_principals.sql +13 -0
- package/migrations/012_activity_principals.sql +12 -0
- package/migrations/013_push_subscription_principals.sql +7 -0
- package/migrations/014_invalidate_legacy_sessions.sql +14 -0
- package/package.json +3 -3
- package/src/activity/notify.ts +16 -7
- package/src/activity/push-sender.ts +79 -16
- package/src/activity/query.ts +8 -0
- package/src/activity/recorder.ts +68 -3
- package/src/activity/runtime.ts +2 -5
- package/src/activity/sql.ts +7 -5
- package/src/activity/store.ts +32 -1
- package/src/activity/stream.ts +37 -17
- package/src/app-env.ts +8 -0
- package/src/app.ts +33 -4
- package/src/brain/client.ts +61 -20
- package/src/brain/types.ts +10 -0
- package/src/cron/run-job.ts +41 -17
- package/src/db/principals.ts +452 -0
- package/src/files/walker.ts +5 -1
- package/src/index.ts +6 -1
- package/src/middleware/auth.ts +241 -81
- package/src/middleware/passkeys.ts +35 -14
- package/src/middleware/principals.ts +189 -0
- package/src/middleware/require-owner.ts +13 -0
- package/src/observability/loggers.ts +1 -1
- package/src/routes/activity.ts +3 -0
- package/src/routes/brain.ts +107 -70
- package/src/routes/files.ts +10 -5
- package/src/routes/push.ts +11 -5
- package/src/routes/sessions.ts +45 -20
- package/src/share/staging.ts +11 -4
- package/src/ws/bridge.ts +14 -2
- package/src/ws/clients.ts +52 -7
- package/src/ws/connection.ts +98 -20
- package/src/ws/dispatch.ts +66 -6
- package/src/ws/history.ts +7 -5
- package/src/ws/host.ts +59 -1
- package/src/ws/run-session.ts +247 -74
- package/src/ws/shrink.ts +48 -14
- package/src/ws/turns.ts +136 -5
package/README.md
CHANGED
|
@@ -75,6 +75,14 @@ process. The returned handle carries `config`, `db`, `wsHost`,
|
|
|
75
75
|
`isTurnActive()`, `cancelActiveTurns()` and `close()` for the deployment
|
|
76
76
|
shell's lifecycle wiring.
|
|
77
77
|
|
|
78
|
+
## Interactive search
|
|
79
|
+
|
|
80
|
+
Search has a 15-second deadline and returns HTTP 504 with a readable error on
|
|
81
|
+
expiry. The route propagates the incoming request's abort signal to its
|
|
82
|
+
read-only CLI subprocess, so a disconnected or superseded browser request stops
|
|
83
|
+
that work. Keep the original `Request` when forwarding to `app.fetch` in a
|
|
84
|
+
Bun deployment. Mutating commands retain their existing lifecycle.
|
|
85
|
+
|
|
78
86
|
## Cron bin
|
|
79
87
|
|
|
80
88
|
The package ships the Bun-only `brain-ui-cron` executable for the container
|
|
@@ -139,6 +147,10 @@ brain repository.
|
|
|
139
147
|
+ cookie/IP auth). Refuses to boot on an unsafe auth configuration.
|
|
140
148
|
- **Auth** (`AUTH_MODE`): `password` (+ passkeys/WebAuthn), `tailscale`,
|
|
141
149
|
`proxy`, `none` (loopback-only unless explicitly overridden).
|
|
150
|
+
- **Principal access** (password mode only): `GET /api/auth/principals` lists
|
|
151
|
+
active devices and agents, `POST /api/auth/principals` mints an agent
|
|
152
|
+
credential, and `DELETE /api/auth/principals/:id` revokes one. These routes
|
|
153
|
+
are disabled in every other `AUTH_MODE`.
|
|
142
154
|
- **WebSocket turn coordinator** — parallel sessions with per-session turn
|
|
143
155
|
slots, follow-up queueing, host-owned per-turn timeout/cancellation, and the
|
|
144
156
|
approval / ask-user / location round-trips. Decomposed into explicit host
|
|
@@ -240,3 +252,19 @@ don't depend on network access; set the var explicitly to opt in.
|
|
|
240
252
|
## Versioning
|
|
241
253
|
|
|
242
254
|
Versions in lockstep with all `@schlessera/brain-*` packages.
|
|
255
|
+
|
|
256
|
+
### Capture recovery and concurrent requests
|
|
257
|
+
|
|
258
|
+
`POST /api/brain/add` preserves the CLI capture outcome alongside `success`:
|
|
259
|
+
`action`, `path`, `title`, `type`, `indexed`, and optional `indexError`.
|
|
260
|
+
A saved file with `indexed: false` is a partial success; retry indexing with
|
|
261
|
+
`POST /api/brain/index` (JSON media type) instead of submitting the content
|
|
262
|
+
again. Concurrent index retries share one run.
|
|
263
|
+
|
|
264
|
+
WebSocket session starts reserve their session id before backend routing.
|
|
265
|
+
Messages received during routing join the bounded follow-up queue; cancellation
|
|
266
|
+
before routing completes drops that queue and prevents the backend from starting.
|
|
267
|
+
New-conversation frames retain the client's `draftId` for reply correlation.
|
|
268
|
+
|
|
269
|
+
Wikilink scans visit each canonical directory once, including when directories
|
|
270
|
+
have symlink aliases or cycles. Concurrent refresh requests share a rebuild.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/activity/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC9C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,cAAc,IAAI,MAAM,CAAC;IACzB,6EAA6E;IAC7E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAChD;AAaD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/activity/notify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAC9C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,cAAc,IAAI,MAAM,CAAC;IACzB,6EAA6E;IAC7E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAChD;AAaD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAgOnF"}
|
package/dist/activity/notify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isFailureOutcome } from "@schlessera/brain-ui-sdk/protocol";
|
|
2
|
-
import { getSetting } from "../db/settings.js";
|
|
2
|
+
import { getSetting, setSetting } from "../db/settings.js";
|
|
3
3
|
/** Global cap on intents CREATED per hour — failure-storm circuit. */
|
|
4
4
|
const MAX_INTENTS_PER_HOUR = 20;
|
|
5
5
|
/** A send_failed intent is retried this many times before push is forfeited
|
|
@@ -12,7 +12,7 @@ const SEND_RETRY_BACKOFF_MS = 5 * 60 * 1000;
|
|
|
12
12
|
const DEFAULT_STUCK_THRESHOLD_MS = 45 * 60 * 1000;
|
|
13
13
|
export function createActivityNotifier(deps) {
|
|
14
14
|
const { db, store, isWatched, log } = deps;
|
|
15
|
-
|
|
15
|
+
const cursorKey = "activity.notify.cursor";
|
|
16
16
|
/** Runs already flagged as stuck this process lifetime (tag also guards). */
|
|
17
17
|
const stuckFlagged = new Set();
|
|
18
18
|
function latestCursor(database) {
|
|
@@ -23,6 +23,10 @@ export function createActivityNotifier(deps) {
|
|
|
23
23
|
}
|
|
24
24
|
function createIntent(input) {
|
|
25
25
|
const now = Date.now();
|
|
26
|
+
// Replay on first upgrade must not resurrect an acknowledged notification.
|
|
27
|
+
if (db.query("SELECT id FROM notification_intents WHERE run_id = ? AND kind = ? LIMIT 1")
|
|
28
|
+
.get(input.runId, input.kind))
|
|
29
|
+
return;
|
|
26
30
|
// Tag dedupe: one live (unacknowledged) intent per tag — repeats coalesce.
|
|
27
31
|
const existing = db
|
|
28
32
|
.query("SELECT id FROM notification_intents WHERE tag = ? AND acknowledged = 0 LIMIT 1")
|
|
@@ -91,12 +95,18 @@ export function createActivityNotifier(deps) {
|
|
|
91
95
|
// The head is read BEFORE the detection query so advancing past
|
|
92
96
|
// non-terminal changes can never skip a terminal write committed
|
|
93
97
|
// in between; a change seen twice is absorbed by the tag dedupe.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
db.transaction(() => {
|
|
99
|
+
const saved = getSetting(db, cursorKey, 0, log);
|
|
100
|
+
const cursor = typeof saved === "number" && Number.isSafeInteger(saved) && saved >= 0 ? saved : 0;
|
|
101
|
+
const head = latestCursor(db);
|
|
102
|
+
const rows = store.terminalRootChangesSince(cursor, 500);
|
|
103
|
+
for (const { span } of rows)
|
|
104
|
+
intentForSpan(span);
|
|
105
|
+
const lastSeen = rows.length > 0 ? rows[rows.length - 1].changeId : cursor;
|
|
106
|
+
// Commit intents and progress together. A crash retries the entire
|
|
107
|
+
// batch; another notifier reads the committed cursor under this lock.
|
|
108
|
+
setSetting(db, cursorKey, rows.length === 500 ? lastSeen : Math.max(head, lastSeen));
|
|
109
|
+
}).immediate();
|
|
100
110
|
// Watchdog: an over-threshold LIVE root run is stuck — a signal, not
|
|
101
111
|
// an outcome. Threshold from settings, per-job override supported.
|
|
102
112
|
const defaultThreshold = getSetting(db, "activity.watchdog.thresholdMs", DEFAULT_STUCK_THRESHOLD_MS, log);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/activity/notify.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/activity/notify.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,18 +24,22 @@ export interface PushSubscriptionRow {
|
|
|
24
24
|
label: string | null;
|
|
25
25
|
createdAt: number;
|
|
26
26
|
lastUsedAt: number | null;
|
|
27
|
+
principalId: string | null;
|
|
27
28
|
}
|
|
28
29
|
export interface PushSender {
|
|
29
30
|
publicKey(): string;
|
|
31
|
+
/** Bind (or re-bind) an endpoint only while the registering principal is live. */
|
|
30
32
|
subscribe(sub: {
|
|
31
33
|
endpoint: string;
|
|
32
34
|
keys: {
|
|
33
35
|
p256dh: string;
|
|
34
36
|
auth: string;
|
|
35
37
|
};
|
|
36
|
-
}, label?: string):
|
|
37
|
-
unsubscribe(endpoint: string): boolean;
|
|
38
|
-
subscriptions(): PushSubscriptionRow[];
|
|
38
|
+
}, principalId: string, label?: string): boolean;
|
|
39
|
+
unsubscribe(endpoint: string, principalId: string): boolean;
|
|
40
|
+
subscriptions(principalId?: string): PushSubscriptionRow[];
|
|
41
|
+
/** Make one revoked principal's endpoints inert without deleting browser state. */
|
|
42
|
+
unbindPrincipal(principalId: string): number;
|
|
39
43
|
/** Deliver pending intents to every subscription. Returns sends attempted. */
|
|
40
44
|
deliverPending(notifier: ActivityNotifier): Promise<number>;
|
|
41
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-sender.d.ts","sourceRoot":"","sources":["../../src/activity/push-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"push-sender.d.ts","sourceRoot":"","sources":["../../src/activity/push-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,IAAI,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,CACP,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EACjE,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IACX,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5D,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAC3D,mFAAmF;IACnF,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,8EAA8E;IAC9E,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CACL,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAC1E,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,YAAY,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACzE,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACE,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAMD,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,uBAA4B,GACpC,UAAU,CA+MZ"}
|
|
@@ -19,35 +19,69 @@ export function createPushSender(db, options = {}) {
|
|
|
19
19
|
db.query("INSERT OR IGNORE INTO vapid_keys (id, public_key, private_key, created_at) VALUES (1, ?, ?, ?)").run(generated.publicKey, generated.privateKey, Date.now());
|
|
20
20
|
return vapid();
|
|
21
21
|
}
|
|
22
|
-
function
|
|
23
|
-
return
|
|
22
|
+
function mapRows(dbRows) {
|
|
23
|
+
return (dbRows).map((r) => ({
|
|
24
24
|
endpoint: r.endpoint,
|
|
25
25
|
p256dh: r.p256dh,
|
|
26
26
|
auth: r.auth,
|
|
27
27
|
label: r.label,
|
|
28
28
|
createdAt: r.created_at,
|
|
29
29
|
lastUsedAt: r.last_used_at,
|
|
30
|
+
principalId: r.principal_id,
|
|
30
31
|
}));
|
|
31
32
|
}
|
|
33
|
+
function rows(principalId) {
|
|
34
|
+
const dbRows = principalId === undefined
|
|
35
|
+
? db.query("SELECT * FROM push_subscriptions ORDER BY created_at").all()
|
|
36
|
+
: db
|
|
37
|
+
.query(`SELECT * FROM push_subscriptions
|
|
38
|
+
WHERE principal_id = ? ORDER BY created_at`)
|
|
39
|
+
.all(principalId);
|
|
40
|
+
return mapRows(dbRows);
|
|
41
|
+
}
|
|
42
|
+
function deliverableRows(now) {
|
|
43
|
+
return mapRows(db
|
|
44
|
+
.query(`SELECT s.* FROM push_subscriptions s
|
|
45
|
+
JOIN principals p ON p.id = s.principal_id
|
|
46
|
+
WHERE p.revoked_at IS NULL
|
|
47
|
+
AND typeof(p.expires_at) = 'integer'
|
|
48
|
+
AND p.expires_at > ?
|
|
49
|
+
ORDER BY s.created_at`)
|
|
50
|
+
.all(now));
|
|
51
|
+
}
|
|
32
52
|
return {
|
|
33
53
|
publicKey() {
|
|
34
54
|
return vapid().publicKey;
|
|
35
55
|
},
|
|
36
|
-
subscribe(sub, label) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
56
|
+
subscribe(sub, principalId, label) {
|
|
57
|
+
const now = Date.now();
|
|
58
|
+
return db.query(`INSERT INTO push_subscriptions
|
|
59
|
+
(endpoint, p256dh, auth, label, created_at, principal_id)
|
|
60
|
+
SELECT ?, ?, ?, ?, ?, id FROM principals
|
|
61
|
+
WHERE id = ? AND revoked_at IS NULL
|
|
62
|
+
AND typeof(expires_at) = 'integer' AND expires_at > ?
|
|
63
|
+
ON CONFLICT(endpoint) DO UPDATE SET
|
|
64
|
+
p256dh = excluded.p256dh,
|
|
65
|
+
auth = excluded.auth,
|
|
66
|
+
label = excluded.label,
|
|
67
|
+
principal_id = excluded.principal_id`).run(sub.endpoint, sub.keys.p256dh, sub.keys.auth, label ?? null, now, principalId, now).changes > 0;
|
|
40
68
|
},
|
|
41
|
-
unsubscribe(endpoint) {
|
|
42
|
-
return db
|
|
43
|
-
.
|
|
69
|
+
unsubscribe(endpoint, principalId) {
|
|
70
|
+
return db
|
|
71
|
+
.query("DELETE FROM push_subscriptions WHERE endpoint = ? AND principal_id = ?")
|
|
72
|
+
.run(endpoint, principalId).changes > 0;
|
|
44
73
|
},
|
|
45
74
|
subscriptions: rows,
|
|
75
|
+
unbindPrincipal(principalId) {
|
|
76
|
+
return db
|
|
77
|
+
.query("UPDATE push_subscriptions SET principal_id = NULL WHERE principal_id = ?")
|
|
78
|
+
.run(principalId).changes;
|
|
79
|
+
},
|
|
46
80
|
async deliverPending(notifier) {
|
|
47
81
|
const pending = notifier.pending();
|
|
48
82
|
if (pending.length === 0)
|
|
49
83
|
return 0;
|
|
50
|
-
if (
|
|
84
|
+
if (deliverableRows(Date.now()).length === 0) {
|
|
51
85
|
// No devices: the inbox already has it; nothing to deliver. Leave
|
|
52
86
|
// the intents pending so a device subscribing later still gets them
|
|
53
87
|
// if they are fresh, and the boot sweep can retry.
|
|
@@ -58,7 +92,7 @@ export function createPushSender(db, options = {}) {
|
|
|
58
92
|
for (const intent of pending) {
|
|
59
93
|
// Re-read per intent: an endpoint pruned as dead during the previous
|
|
60
94
|
// intent's pass must not be attempted again in this one.
|
|
61
|
-
const subs =
|
|
95
|
+
const subs = deliverableRows(Date.now());
|
|
62
96
|
if (subs.length === 0)
|
|
63
97
|
break;
|
|
64
98
|
// Minimized payload; the tag coalesces repeats per run across devices.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-sender.js","sourceRoot":"","sources":["../../src/activity/push-sender.ts"],"names":[],"mappings":"AAkBA,OAAO,OAAO,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"push-sender.js","sourceRoot":"","sources":["../../src/activity/push-sender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/activity/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAI1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAoC,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAEhG,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/activity/query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAI1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAoC,KAAK,aAAa,EAAgB,MAAM,YAAY,CAAC;AAEhG,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,mBAAmB,CAsJrB"}
|
package/dist/activity/query.js
CHANGED
|
@@ -24,6 +24,9 @@ export function runActivityQuery(db, store, query, notifier) {
|
|
|
24
24
|
name: r.name,
|
|
25
25
|
jobName: r.jobName,
|
|
26
26
|
sessionId: r.sessionId,
|
|
27
|
+
principalId: r.principalId,
|
|
28
|
+
principalLabel: r.principalLabel,
|
|
29
|
+
principalKind: r.principalKind,
|
|
27
30
|
startedAt: iso(r.startedAt),
|
|
28
31
|
outcome: r.outcome,
|
|
29
32
|
durationMs: r.durationMs,
|
|
@@ -63,6 +66,7 @@ export function runActivityQuery(db, store, query, notifier) {
|
|
|
63
66
|
parent: s.parentSpanId,
|
|
64
67
|
name: s.name,
|
|
65
68
|
kind: s.kind,
|
|
69
|
+
principalId: s.principalId,
|
|
66
70
|
startedAt: iso(s.startedAt),
|
|
67
71
|
endedAt: s.endedAt ? iso(s.endedAt) : null,
|
|
68
72
|
outcome: s.outcome,
|
|
@@ -86,6 +90,9 @@ export function runActivityQuery(db, store, query, notifier) {
|
|
|
86
90
|
rollup: {
|
|
87
91
|
name: rollup.name,
|
|
88
92
|
jobName: rollup.jobName,
|
|
93
|
+
principalId: rollup.principalId,
|
|
94
|
+
principalLabel: rollup.principalLabel,
|
|
95
|
+
principalKind: rollup.principalKind,
|
|
89
96
|
outcome: rollup.outcome,
|
|
90
97
|
startedAt: iso(rollup.startedAt),
|
|
91
98
|
durationMs: rollup.durationMs,
|
|
@@ -142,6 +149,7 @@ function liveSummary(span) {
|
|
|
142
149
|
name: span.name,
|
|
143
150
|
jobName: span.jobName,
|
|
144
151
|
sessionId: span.sessionId,
|
|
152
|
+
principalId: span.principalId,
|
|
145
153
|
startedAt: iso(span.startedAt),
|
|
146
154
|
elapsedMs: Date.now() - span.startedAt,
|
|
147
155
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/activity/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/activity/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,16 @@ export interface TurnRecorder {
|
|
|
34
34
|
readonly runId: string;
|
|
35
35
|
observeFrame(msg: ServerMessage): void;
|
|
36
36
|
observeActivity(event: BackendActivityEvent): void;
|
|
37
|
+
/** Record that this turn's principal was revoked while work kept running. */
|
|
38
|
+
recordPrincipalRevocation(principalId: string): void;
|
|
39
|
+
/** Record a live follow-up that joined this already-running turn. */
|
|
40
|
+
recordFollowUp(principalId: string): void;
|
|
41
|
+
/** Record who cancelled this turn or an interactive prompt within it. */
|
|
42
|
+
recordCancellation(principalId: string, kind?: "turn" | "ask_user"): void;
|
|
43
|
+
/** Record who answered an ask-user interaction. */
|
|
44
|
+
recordAskUserResponse(principalId: string): void;
|
|
37
45
|
/** The user's approval decision arrived for a gated tool call. */
|
|
38
|
-
onApprovalDecision(toolUseId: string,
|
|
46
|
+
onApprovalDecision(toolUseId: string, decision: "allow" | "always_allow" | "deny", requestKind: "tool" | "command", principalId?: string): void;
|
|
39
47
|
/**
|
|
40
48
|
* Close the turn: merge the buffered result enrichment into the root's
|
|
41
49
|
* single terminal write, cascade-cancel anything left open, roll up.
|
|
@@ -49,5 +57,7 @@ export declare function createTurnRecorder(deps: TurnRecorderDeps, turn: {
|
|
|
49
57
|
profileId?: string;
|
|
50
58
|
/** Billing classification of that profile, resolved at run start (U3). */
|
|
51
59
|
billingMode?: BillingMode;
|
|
60
|
+
/** Principal that initiated this turn; absent means unattributed. */
|
|
61
|
+
principalId?: string;
|
|
52
62
|
}): TurnRecorder;
|
|
53
63
|
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/activity/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EAEd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD,kEAAkE;IAClE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/activity/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EAEd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD,6EAA6E;IAC7E,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,qEAAqE;IACrE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,yEAAyE;IACzE,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1E,mDAAmD;IACnD,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,kEAAkE;IAClE,kBAAkB,CAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,GAAG,cAAc,GAAG,MAAM,EAC3C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IACR;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;CAC1E;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,YAAY,CAoRd"}
|
|
@@ -10,6 +10,7 @@ export function createTurnRecorder(deps, turn) {
|
|
|
10
10
|
let resultOutcome = null;
|
|
11
11
|
let resultUsage;
|
|
12
12
|
let resultAttrs;
|
|
13
|
+
let principalRevocationRecorded = false;
|
|
13
14
|
const guard = (fn) => {
|
|
14
15
|
try {
|
|
15
16
|
fn();
|
|
@@ -33,6 +34,7 @@ export function createTurnRecorder(deps, turn) {
|
|
|
33
34
|
kind: "turn",
|
|
34
35
|
origin: "session",
|
|
35
36
|
sessionId,
|
|
37
|
+
principalId: turn.principalId,
|
|
36
38
|
// Profile + billing ride the ROOT span so the rollup can price the run
|
|
37
39
|
// without any registry or env lookup of its own (a root missing the
|
|
38
40
|
// billing attr falls back to env classification at rollup time).
|
|
@@ -179,9 +181,57 @@ export function createTurnRecorder(deps, turn) {
|
|
|
179
181
|
}
|
|
180
182
|
});
|
|
181
183
|
},
|
|
182
|
-
|
|
184
|
+
recordPrincipalRevocation(principalId) {
|
|
183
185
|
guard(() => {
|
|
184
|
-
if (
|
|
186
|
+
if (finished || principalRevocationRecorded)
|
|
187
|
+
return;
|
|
188
|
+
ensureRoot();
|
|
189
|
+
store.appendEvent(rootSpanId, "principal_revoked", { principalId });
|
|
190
|
+
principalRevocationRecorded = true;
|
|
191
|
+
onWrite?.();
|
|
192
|
+
});
|
|
193
|
+
},
|
|
194
|
+
recordFollowUp(principalId) {
|
|
195
|
+
guard(() => {
|
|
196
|
+
if (finished)
|
|
197
|
+
return;
|
|
198
|
+
ensureRoot();
|
|
199
|
+
store.appendEvent(rootSpanId, "follow_up", { principalId });
|
|
200
|
+
onWrite?.();
|
|
201
|
+
});
|
|
202
|
+
},
|
|
203
|
+
recordCancellation(principalId, kind = "turn") {
|
|
204
|
+
guard(() => {
|
|
205
|
+
if (finished)
|
|
206
|
+
return;
|
|
207
|
+
ensureRoot();
|
|
208
|
+
store.appendEvent(rootSpanId, `${kind}_cancelled`, { principalId });
|
|
209
|
+
onWrite?.();
|
|
210
|
+
});
|
|
211
|
+
},
|
|
212
|
+
recordAskUserResponse(principalId) {
|
|
213
|
+
guard(() => {
|
|
214
|
+
if (finished)
|
|
215
|
+
return;
|
|
216
|
+
ensureRoot();
|
|
217
|
+
store.appendEvent(rootSpanId, "ask_user_response", { principalId });
|
|
218
|
+
onWrite?.();
|
|
219
|
+
});
|
|
220
|
+
},
|
|
221
|
+
onApprovalDecision(toolUseId, decision, requestKind, principalId) {
|
|
222
|
+
guard(() => {
|
|
223
|
+
if (principalId) {
|
|
224
|
+
// One tool can raise several approval requests. The span-level actor
|
|
225
|
+
// remains the latest responder for compact views, while this
|
|
226
|
+
// append-only event preserves every decision and actor in order.
|
|
227
|
+
store.appendEvent(toolUseId, "approval_decision", {
|
|
228
|
+
principalId,
|
|
229
|
+
decision,
|
|
230
|
+
requestKind,
|
|
231
|
+
});
|
|
232
|
+
store.patchSpan(toolUseId, { principalId });
|
|
233
|
+
}
|
|
234
|
+
if (decision !== "deny") {
|
|
185
235
|
// Everything before this moment was approval wait, not execution.
|
|
186
236
|
store.patchSpan(toolUseId, { waitUntil: Date.now() });
|
|
187
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/activity/recorder.ts"],"names":[],"mappings":"AA0BA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/activity/recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/activity/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBrE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAAC;IACjD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE;IACJ,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,GACA,eAAe,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/activity/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE1F,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAgBrE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAAC;IACjD,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE;IACJ,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,GACA,eAAe,CA8GjB"}
|
package/dist/activity/runtime.js
CHANGED
|
@@ -19,11 +19,8 @@ export function createActivityRuntime(db, deps) {
|
|
|
19
19
|
const { log } = deps;
|
|
20
20
|
const store = createActivityStore(db, deps.pricing ? { pricing: deps.pricing } : {});
|
|
21
21
|
const stream = createActivityStream(store, log);
|
|
22
|
-
// The notifier
|
|
23
|
-
//
|
|
24
|
-
// it and the first tick turns restart-interrupted runs into failure
|
|
25
|
-
// intents. Created after, the sweep's changes would sit below the cursor
|
|
26
|
-
// and a turn killed by a restart would never be notified.
|
|
22
|
+
// The notifier resumes its persisted cursor, including terminal changes
|
|
23
|
+
// committed while this server was down and interruptions from the boot sweep.
|
|
27
24
|
const notifier = createActivityNotifier({
|
|
28
25
|
db,
|
|
29
26
|
store,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/activity/runtime.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAA0C,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,0EAA0E;AAC1E,yEAAyE;AACzE,mEAAmE;AACnE,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClD,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1D,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAYrD,MAAM,UAAU,qBAAqB,CACnC,EAAY,EACZ,IAQC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhD,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/activity/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/activity/sql.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export declare const ACTIVITY_SQL: {
|
|
|
7
7
|
readonly endSpan: "UPDATE activity_spans SET outcome = ?, outcome_reason = ?, ended_at = ?, attrs = ?,\n input_tokens = COALESCE(?, input_tokens),\n output_tokens = COALESCE(?, output_tokens),\n cache_read_tokens = COALESCE(?, cache_read_tokens),\n cache_creation_tokens = COALESCE(?, cache_creation_tokens),\n cost_usd = COALESCE(?, cost_usd),\n model = COALESCE(?, model)\n WHERE span_id = ?";
|
|
8
8
|
readonly openSpansByRun: "SELECT span_id FROM activity_spans WHERE run_id = ? AND outcome IS NULL ORDER BY started_at DESC";
|
|
9
9
|
readonly spansByRun: "SELECT * FROM activity_spans WHERE run_id = ? ORDER BY started_at";
|
|
10
|
-
readonly upsertRollup: "INSERT INTO activity_run_rollups\n (run_id, origin, name, session_id, job_name, started_at, ended_at, outcome,\n duration_ms, span_count, input_tokens, output_tokens, cache_read_tokens,\n cache_creation_tokens, cost_usd, effective_cost_usd, billing_mode,\n pricing_estimate, failure_reason, detail_pruned)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)\n ON CONFLICT(run_id) DO UPDATE SET\n ended_at = excluded.ended_at, outcome = excluded.outcome,\n duration_ms = excluded.duration_ms, span_count = excluded.span_count,\n input_tokens = excluded.input_tokens, output_tokens = excluded.output_tokens,\n cache_read_tokens = excluded.cache_read_tokens,\n cache_creation_tokens = excluded.cache_creation_tokens,\n cost_usd = COALESCE(activity_run_rollups.cost_usd, excluded.cost_usd),\n effective_cost_usd = CASE\n WHEN activity_run_rollups.effective_cost_usd IS NOT NULL\n THEN activity_run_rollups.effective_cost_usd\n WHEN activity_run_rollups.billing_mode IS NULL\n OR activity_run_rollups.billing_mode = excluded.billing_mode\n THEN excluded.effective_cost_usd\n ELSE NULL\n END,\n billing_mode = COALESCE(activity_run_rollups.billing_mode, excluded.billing_mode),\n pricing_estimate = CASE\n WHEN activity_run_rollups.pricing_estimate IS NOT NULL\n THEN activity_run_rollups.pricing_estimate\n WHEN activity_run_rollups.billing_mode IS NULL\n OR activity_run_rollups.billing_mode = excluded.billing_mode\n THEN excluded.pricing_estimate\n ELSE NULL\n END,\n failure_reason = excluded.failure_reason";
|
|
11
|
-
readonly insertSpan: "INSERT INTO activity_spans\n (span_id, run_id, parent_span_id, name, kind, origin, session_id, job_name,\n attrs, started_at, writer, last_heartbeat_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
12
|
-
readonly patchSpan: "UPDATE activity_spans SET attrs = ?, wait_until = COALESCE(?, wait_until),\n input_tokens = COALESCE(?, input_tokens),\n output_tokens = COALESCE(?, output_tokens),\n cache_read_tokens = COALESCE(?, cache_read_tokens),\n cache_creation_tokens = COALESCE(?, cache_creation_tokens),\n cost_usd = COALESCE(?, cost_usd),\n model = COALESCE(?, model)\n WHERE span_id = ?";
|
|
10
|
+
readonly upsertRollup: "INSERT INTO activity_run_rollups\n (run_id, origin, name, session_id, job_name, principal_id, principal_label,\n principal_kind, started_at, ended_at, outcome,\n duration_ms, span_count, input_tokens, output_tokens, cache_read_tokens,\n cache_creation_tokens, cost_usd, effective_cost_usd, billing_mode,\n pricing_estimate, failure_reason, detail_pruned)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)\n ON CONFLICT(run_id) DO UPDATE SET\n ended_at = excluded.ended_at, outcome = excluded.outcome,\n duration_ms = excluded.duration_ms, span_count = excluded.span_count,\n input_tokens = excluded.input_tokens, output_tokens = excluded.output_tokens,\n cache_read_tokens = excluded.cache_read_tokens,\n cache_creation_tokens = excluded.cache_creation_tokens,\n cost_usd = COALESCE(activity_run_rollups.cost_usd, excluded.cost_usd),\n effective_cost_usd = CASE\n WHEN activity_run_rollups.effective_cost_usd IS NOT NULL\n THEN activity_run_rollups.effective_cost_usd\n WHEN activity_run_rollups.billing_mode IS NULL\n OR activity_run_rollups.billing_mode = excluded.billing_mode\n THEN excluded.effective_cost_usd\n ELSE NULL\n END,\n billing_mode = COALESCE(activity_run_rollups.billing_mode, excluded.billing_mode),\n pricing_estimate = CASE\n WHEN activity_run_rollups.pricing_estimate IS NOT NULL\n THEN activity_run_rollups.pricing_estimate\n WHEN activity_run_rollups.billing_mode IS NULL\n OR activity_run_rollups.billing_mode = excluded.billing_mode\n THEN excluded.pricing_estimate\n ELSE NULL\n END,\n failure_reason = excluded.failure_reason";
|
|
11
|
+
readonly insertSpan: "INSERT INTO activity_spans\n (span_id, run_id, parent_span_id, name, kind, origin, session_id, job_name, principal_id,\n attrs, started_at, writer, last_heartbeat_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
12
|
+
readonly patchSpan: "UPDATE activity_spans SET principal_id = COALESCE(?, principal_id),\n attrs = ?, wait_until = COALESCE(?, wait_until),\n input_tokens = COALESCE(?, input_tokens),\n output_tokens = COALESCE(?, output_tokens),\n cache_read_tokens = COALESCE(?, cache_read_tokens),\n cache_creation_tokens = COALESCE(?, cache_creation_tokens),\n cost_usd = COALESCE(?, cost_usd),\n model = COALESCE(?, model)\n WHERE span_id = ?";
|
|
13
13
|
readonly spanRunById: "SELECT run_id FROM activity_spans WHERE span_id = ?";
|
|
14
14
|
readonly nextEventIndex: "SELECT COALESCE(MAX(event_index), -1) + 1 AS idx FROM activity_events WHERE span_id = ?";
|
|
15
15
|
readonly insertEvent: "INSERT INTO activity_events (span_id, event_index, ts, event_type, payload) VALUES (?, ?, ?, ?, ?)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/activity/sql.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/activity/sql.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHf,CAAC"}
|