@schlessera/brain-ui-server 0.34.0 → 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.
Files changed (169) hide show
  1. package/README.md +28 -0
  2. package/dist/activity/notify.d.ts.map +1 -1
  3. package/dist/activity/notify.js +18 -8
  4. package/dist/activity/notify.js.map +1 -1
  5. package/dist/activity/push-sender.d.ts +7 -3
  6. package/dist/activity/push-sender.d.ts.map +1 -1
  7. package/dist/activity/push-sender.js +45 -11
  8. package/dist/activity/push-sender.js.map +1 -1
  9. package/dist/activity/query.d.ts.map +1 -1
  10. package/dist/activity/query.js +8 -0
  11. package/dist/activity/query.js.map +1 -1
  12. package/dist/activity/recorder.d.ts +11 -1
  13. package/dist/activity/recorder.d.ts.map +1 -1
  14. package/dist/activity/recorder.js +52 -2
  15. package/dist/activity/recorder.js.map +1 -1
  16. package/dist/activity/runtime.d.ts.map +1 -1
  17. package/dist/activity/runtime.js +2 -5
  18. package/dist/activity/runtime.js.map +1 -1
  19. package/dist/activity/sql.d.ts +34 -0
  20. package/dist/activity/sql.d.ts.map +1 -0
  21. package/dist/activity/sql.js +114 -0
  22. package/dist/activity/sql.js.map +1 -0
  23. package/dist/activity/store.d.ts +7 -0
  24. package/dist/activity/store.d.ts.map +1 -1
  25. package/dist/activity/store.js +48 -113
  26. package/dist/activity/store.js.map +1 -1
  27. package/dist/activity/stream.d.ts +3 -1
  28. package/dist/activity/stream.d.ts.map +1 -1
  29. package/dist/activity/stream.js +32 -17
  30. package/dist/activity/stream.js.map +1 -1
  31. package/dist/app-env.d.ts +8 -0
  32. package/dist/app-env.d.ts.map +1 -0
  33. package/dist/app-env.js +2 -0
  34. package/dist/app-env.js.map +1 -0
  35. package/dist/app.d.ts.map +1 -1
  36. package/dist/app.js +28 -3
  37. package/dist/app.js.map +1 -1
  38. package/dist/brain/client.d.ts +4 -2
  39. package/dist/brain/client.d.ts.map +1 -1
  40. package/dist/brain/client.js +60 -20
  41. package/dist/brain/client.js.map +1 -1
  42. package/dist/brain/types.d.ts +9 -0
  43. package/dist/brain/types.d.ts.map +1 -1
  44. package/dist/cron/run-job.d.ts.map +1 -1
  45. package/dist/cron/run-job.js +60 -10
  46. package/dist/cron/run-job.js.map +1 -1
  47. package/dist/db/principals.d.ts +72 -0
  48. package/dist/db/principals.d.ts.map +1 -0
  49. package/dist/db/principals.js +294 -0
  50. package/dist/db/principals.js.map +1 -0
  51. package/dist/files/walker.d.ts.map +1 -1
  52. package/dist/files/walker.js +6 -1
  53. package/dist/files/walker.js.map +1 -1
  54. package/dist/index.d.ts +4 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/middleware/auth.d.ts +37 -9
  59. package/dist/middleware/auth.d.ts.map +1 -1
  60. package/dist/middleware/auth.js +148 -74
  61. package/dist/middleware/auth.js.map +1 -1
  62. package/dist/middleware/passkeys.d.ts +9 -7
  63. package/dist/middleware/passkeys.d.ts.map +1 -1
  64. package/dist/middleware/passkeys.js +25 -7
  65. package/dist/middleware/passkeys.js.map +1 -1
  66. package/dist/middleware/principals.d.ts +18 -0
  67. package/dist/middleware/principals.d.ts.map +1 -0
  68. package/dist/middleware/principals.js +138 -0
  69. package/dist/middleware/principals.js.map +1 -0
  70. package/dist/middleware/require-owner.d.ts +5 -0
  71. package/dist/middleware/require-owner.d.ts.map +1 -0
  72. package/dist/middleware/require-owner.js +10 -0
  73. package/dist/middleware/require-owner.js.map +1 -0
  74. package/dist/observability/loggers.js +1 -1
  75. package/dist/observability/loggers.js.map +1 -1
  76. package/dist/routes/activity.d.ts.map +1 -1
  77. package/dist/routes/activity.js +3 -0
  78. package/dist/routes/activity.js.map +1 -1
  79. package/dist/routes/brain.d.ts.map +1 -1
  80. package/dist/routes/brain.js +102 -63
  81. package/dist/routes/brain.js.map +1 -1
  82. package/dist/routes/files.d.ts.map +1 -1
  83. package/dist/routes/files.js +7 -2
  84. package/dist/routes/files.js.map +1 -1
  85. package/dist/routes/push.d.ts +61 -2
  86. package/dist/routes/push.d.ts.map +1 -1
  87. package/dist/routes/push.js +8 -3
  88. package/dist/routes/push.js.map +1 -1
  89. package/dist/routes/sessions.d.ts.map +1 -1
  90. package/dist/routes/sessions.js +30 -4
  91. package/dist/routes/sessions.js.map +1 -1
  92. package/dist/share/staging.d.ts.map +1 -1
  93. package/dist/share/staging.js +11 -4
  94. package/dist/share/staging.js.map +1 -1
  95. package/dist/ws/bridge.d.ts.map +1 -1
  96. package/dist/ws/bridge.js +6 -2
  97. package/dist/ws/bridge.js.map +1 -1
  98. package/dist/ws/clients.d.ts +9 -2
  99. package/dist/ws/clients.d.ts.map +1 -1
  100. package/dist/ws/clients.js +44 -6
  101. package/dist/ws/clients.js.map +1 -1
  102. package/dist/ws/connection.d.ts +7 -4
  103. package/dist/ws/connection.d.ts.map +1 -1
  104. package/dist/ws/connection.js +83 -12
  105. package/dist/ws/connection.js.map +1 -1
  106. package/dist/ws/dispatch.d.ts +12 -1
  107. package/dist/ws/dispatch.d.ts.map +1 -1
  108. package/dist/ws/dispatch.js +46 -6
  109. package/dist/ws/dispatch.js.map +1 -1
  110. package/dist/ws/history.d.ts.map +1 -1
  111. package/dist/ws/history.js +7 -5
  112. package/dist/ws/history.js.map +1 -1
  113. package/dist/ws/host.d.ts +22 -0
  114. package/dist/ws/host.d.ts.map +1 -1
  115. package/dist/ws/host.js +39 -1
  116. package/dist/ws/host.js.map +1 -1
  117. package/dist/ws/run-session.d.ts +7 -7
  118. package/dist/ws/run-session.d.ts.map +1 -1
  119. package/dist/ws/run-session.js +208 -52
  120. package/dist/ws/run-session.js.map +1 -1
  121. package/dist/ws/shrink.d.ts +3 -1
  122. package/dist/ws/shrink.d.ts.map +1 -1
  123. package/dist/ws/shrink.js +46 -16
  124. package/dist/ws/shrink.js.map +1 -1
  125. package/dist/ws/turns.d.ts +58 -3
  126. package/dist/ws/turns.d.ts.map +1 -1
  127. package/dist/ws/turns.js +101 -2
  128. package/dist/ws/turns.js.map +1 -1
  129. package/migrations/011_principals.sql +13 -0
  130. package/migrations/012_activity_principals.sql +12 -0
  131. package/migrations/013_push_subscription_principals.sql +7 -0
  132. package/migrations/014_invalidate_legacy_sessions.sql +14 -0
  133. package/package.json +3 -3
  134. package/src/activity/notify.ts +16 -7
  135. package/src/activity/push-sender.ts +79 -16
  136. package/src/activity/query.ts +8 -0
  137. package/src/activity/recorder.ts +68 -3
  138. package/src/activity/runtime.ts +2 -5
  139. package/src/activity/sql.ts +122 -0
  140. package/src/activity/store.ts +73 -155
  141. package/src/activity/stream.ts +37 -17
  142. package/src/app-env.ts +8 -0
  143. package/src/app.ts +33 -4
  144. package/src/brain/client.ts +61 -20
  145. package/src/brain/types.ts +10 -0
  146. package/src/cron/run-job.ts +41 -17
  147. package/src/db/principals.ts +452 -0
  148. package/src/files/walker.ts +5 -1
  149. package/src/index.ts +6 -1
  150. package/src/middleware/auth.ts +241 -81
  151. package/src/middleware/passkeys.ts +35 -14
  152. package/src/middleware/principals.ts +189 -0
  153. package/src/middleware/require-owner.ts +13 -0
  154. package/src/observability/loggers.ts +1 -1
  155. package/src/routes/activity.ts +3 -0
  156. package/src/routes/brain.ts +107 -70
  157. package/src/routes/files.ts +10 -5
  158. package/src/routes/push.ts +11 -5
  159. package/src/routes/sessions.ts +45 -20
  160. package/src/share/staging.ts +11 -4
  161. package/src/ws/bridge.ts +14 -2
  162. package/src/ws/clients.ts +52 -7
  163. package/src/ws/connection.ts +98 -20
  164. package/src/ws/dispatch.ts +66 -6
  165. package/src/ws/history.ts +7 -5
  166. package/src/ws/host.ts +59 -1
  167. package/src/ws/run-session.ts +247 -74
  168. package/src/ws/shrink.ts +48 -14
  169. 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,CAuNnF"}
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"}
@@ -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
- let cursor = latestCursor(db);
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
- const head = latestCursor(db);
95
- const rows = store.terminalRootChangesSince(cursor, 500);
96
- for (const { span } of rows)
97
- intentForSpan(span);
98
- const lastSeen = rows.length > 0 ? rows[rows.length - 1].changeId : cursor;
99
- cursor = rows.length === 500 ? lastSeen : Math.max(head, lastSeen);
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":"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"}
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): void;
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;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,IAAI,MAAM,CAAC;IACpB,SAAS,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,aAAa,IAAI,mBAAmB,EAAE,CAAC;IACvC,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,CAwJZ"}
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 rows() {
23
- return db.query("SELECT * FROM push_subscriptions ORDER BY created_at").all().map((r) => ({
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
- db.query(`INSERT INTO push_subscriptions (endpoint, p256dh, auth, label, created_at)
38
- VALUES (?, ?, ?, ?, ?)
39
- ON CONFLICT(endpoint) DO UPDATE SET p256dh = excluded.p256dh, auth = excluded.auth`).run(sub.endpoint, sub.keys.p256dh, sub.keys.auth, label ?? null, Date.now());
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.query("DELETE FROM push_subscriptions WHERE endpoint = ?").run(endpoint)
43
- .changes > 0;
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 (rows().length === 0) {
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 = rows();
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":"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"}
1
+ {"version":3,"file":"push-sender.js","sourceRoot":"","sources":["../../src/activity/push-sender.ts"],"names":[],"mappings":"AAkBA,OAAO,OAAO,MAAM,UAAU,CAAC;AA6C/B;6DAC6D;AAC7D,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,MAAM,UAAU,gBAAgB,CAC9B,EAAY,EACZ,UAAmC,EAAE;IAErC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,wBAAwB,CAAC;IAC5D,MAAM,IAAI,GACR,OAAO,CAAC,IAAI;QACZ,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACtB,OAAO,CAAC,gBAAgB,CACtB,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAC1C,OAAO,EACP,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC3D,CAAC,CAAC;IAEP,2EAA2E;IAC3E,oCAAoC;IACpC,SAAS,KAAK;QACZ,MAAM,GAAG,GAAG,EAAE;aACX,KAAK,CAAC,wFAAwF,CAAC;aAC/F,GAAG,EAAsD,CAAC;QAC7D,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9C,EAAE,CAAC,KAAK,CACN,gGAAgG,CACjG,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,SAAS,OAAO,CAAC,MAAa;QAC5B,OAAO,CACL,MAAM,CACP,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,UAAU,EAAE,CAAC,CAAC,YAAY;YAC1B,WAAW,EAAE,CAAC,CAAC,YAAY;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,IAAI,CAAC,WAAoB;QAChC,MAAM,MAAM,GAAG,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,GAAG,EAAE;YACxE,CAAC,CAAC,EAAE;iBACC,KAAK,CACJ;wDAC4C,CAC7C;iBACA,GAAG,CAAC,WAAW,CAAC,CAAC;QACxB,OAAO,OAAO,CAAC,MAAe,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,eAAe,CAAC,GAAW;QAClC,OAAO,OAAO,CACZ,EAAE;aACC,KAAK,CACJ;;;;;iCAKuB,CACxB;aACA,GAAG,CAAC,GAAG,CAAU,CACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS;YACP,OAAO,KAAK,EAAE,CAAC,SAAS,CAAC;QAC3B,CAAC;QAED,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,KAAK,CACb;;;;;;;;;gDASwC,CACzC,CAAC,GAAG,CACH,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,IAAI,CAAC,MAAM,EACf,GAAG,CAAC,IAAI,CAAC,IAAI,EACb,KAAK,IAAI,IAAI,EACb,GAAG,EACH,WAAW,EACX,GAAG,CACJ,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,WAAW,CAAC,QAAQ,EAAE,WAAW;YAC/B,OAAO,EAAE;iBACN,KAAK,CACJ,wEAAwE,CACzE;iBACA,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,aAAa,EAAE,IAAI;QAEnB,eAAe,CAAC,WAAW;YACzB,OAAO,EAAE;iBACN,KAAK,CACJ,0EAA0E,CAC3E;iBACA,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,QAAQ;YAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACnC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,kEAAkE;gBAClE,oEAAoE;gBACpE,mDAAmD;gBACnD,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,qEAAqE;gBACrE,yDAAyD;gBACzD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM;gBAC7B,uEAAuE;gBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,EAAE,kBAAkB,MAAM,CAAC,KAAK,EAAE;oBACrC,GAAG,EAAE,eAAe,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACvD,CAAC,CAAC;gBACH,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,IAAI,CACF,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EACxE,OAAO,EACP;oBACE,YAAY,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;oBACjF,OAAO,EAAE,eAAe;iBACzB,CACF,CACF,CACF,CAAC;gBACF,iEAAiE;gBACjE,gDAAgD;gBAChD,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;oBACrB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBAClC,SAAS,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC3B,OAAO;oBACT,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC1B,MAAM,MAAM,GAAI,GAA+B,CAAC,UAAU,CAAC;oBAC3D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;wBACrC,6CAA6C;wBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACxB,GAAG,EAAE,IAAI,CAAC;4BACR,YAAY,EAAE,MAAM;4BACpB,IAAI,EAAE,+BAA+B;4BACrC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;yBAC/B,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,GAAG,EAAE,IAAI,CAAC;4BACR,YAAY,EAAE,MAAM;4BACpB,IAAI,EAAE,kBAAkB;4BACxB,UAAU,EAAE;gCACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gCACvD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC9B;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;oBAC/B,EAAE,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAC/E,IAAI,CAAC,GAAG,EAAE,EACV,QAAQ,CACT,CAAC;gBACJ,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC5B,EAAE,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9E,CAAC;gBACD,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC1E,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,oEAAoE;oBACpE,oEAAoE;oBACpE,GAAG,EAAE,IAAI,CAAC;wBACR,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,4CAA4C;wBAClD,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;qBAC3C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -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,CA+IrB"}
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"}
@@ -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, allowed: boolean): void;
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,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9D;;;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;CAC3B,GACA,YAAY,CAkOd"}
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
- onApprovalDecision(toolUseId, allowed) {
184
+ recordPrincipalRevocation(principalId) {
183
185
  guard(() => {
184
- if (allowed) {
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":"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"}
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,CAiHjB"}
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"}
@@ -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 is created BEFORE the boot sweep: its change cursor starts
23
- // at the current head, so the terminal changes the sweep writes are above
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":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/activity/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /** SQL owned by the activity store, kept together so the store reads as operations. */
2
+ export declare const ACTIVITY_SQL: {
3
+ readonly nextSeq: "SELECT COALESCE(MAX(seq), 0) AS hi FROM activity_changes WHERE run_id = ?";
4
+ readonly insertChange: "INSERT INTO activity_changes (run_id, seq, span_id, event_index) VALUES (?, ?, ?, ?)";
5
+ readonly spanById: "SELECT * FROM activity_spans WHERE span_id = ?";
6
+ readonly spanStateById: "SELECT run_id, outcome, attrs FROM activity_spans WHERE span_id = ?";
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
+ readonly openSpansByRun: "SELECT span_id FROM activity_spans WHERE run_id = ? AND outcome IS NULL ORDER BY started_at DESC";
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, 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
+ readonly spanRunById: "SELECT run_id FROM activity_spans WHERE span_id = ?";
14
+ readonly nextEventIndex: "SELECT COALESCE(MAX(event_index), -1) + 1 AS idx FROM activity_events WHERE span_id = ?";
15
+ readonly insertEvent: "INSERT INTO activity_events (span_id, event_index, ts, event_type, payload) VALUES (?, ?, ?, ?, ?)";
16
+ readonly heartbeat: "UPDATE activity_spans SET last_heartbeat_at = ? WHERE span_id = ? AND outcome IS NULL";
17
+ readonly openSessionRuns: "SELECT DISTINCT run_id FROM activity_spans WHERE outcome IS NULL AND origin = 'session'";
18
+ readonly staleRoots: "SELECT span_id, run_id FROM activity_spans\n WHERE outcome IS NULL AND parent_span_id IS NULL\n AND writer != ? AND COALESCE(last_heartbeat_at, started_at) < ?";
19
+ readonly stuckRoots: "SELECT * FROM activity_spans WHERE outcome IS NULL AND parent_span_id IS NULL AND started_at < ?";
20
+ readonly spanChanges: "SELECT c.change_id, c.run_id, c.seq, s.*\n FROM activity_changes c\n JOIN activity_spans s ON s.span_id = c.span_id\n WHERE c.change_id > ? AND c.event_index IS NULL\n ORDER BY c.change_id LIMIT ?";
21
+ readonly eventChanges: "SELECT c.change_id, c.run_id, c.seq, e.*\n FROM activity_changes c\n JOIN activity_events e\n ON e.span_id = c.span_id AND e.event_index = c.event_index\n WHERE c.change_id > ? AND c.event_index IS NOT NULL\n ORDER BY c.change_id LIMIT ?";
22
+ readonly terminalRootChanges: "SELECT MAX(c.change_id) AS change_id, s.*\n FROM activity_changes c\n JOIN activity_spans s ON s.span_id = c.span_id\n WHERE c.change_id > ? AND c.event_index IS NULL\n AND s.parent_span_id IS NULL AND s.outcome IS NOT NULL\n GROUP BY s.span_id\n ORDER BY change_id LIMIT ?";
23
+ readonly latestChangeCursor: "SELECT COALESCE(MAX(change_id), 0) AS hi FROM activity_changes";
24
+ readonly eventsByRun: "SELECT e.* FROM activity_events e\n JOIN activity_spans s ON s.span_id = e.span_id\n WHERE s.run_id = ? ORDER BY e.ts, e.event_index";
25
+ readonly openRootSpans: "SELECT * FROM activity_spans WHERE outcome IS NULL AND parent_span_id IS NULL ORDER BY started_at DESC";
26
+ readonly pruneCandidates: "SELECT run_id, ended_at AS ended FROM activity_run_rollups r\n WHERE detail_pruned = 0 AND ended_at IS NOT NULL\n AND ((ended_at < ? AND ended_at < ?) OR ended_at < ?)\n AND NOT EXISTS (\n SELECT 1 FROM activity_spans s\n WHERE s.run_id = r.run_id AND s.outcome IS NULL\n )\n LIMIT ?";
27
+ readonly markDetailPruned: "UPDATE activity_run_rollups SET detail_pruned = 1 WHERE run_id = ?";
28
+ readonly markDigestCoverageGap: "UPDATE activity_run_rollups SET failure_reason = COALESCE(failure_reason, 'digest coverage gap') WHERE run_id = ?";
29
+ readonly deleteEventsByRun: "DELETE FROM activity_events WHERE span_id IN\n (SELECT span_id FROM activity_spans WHERE run_id = ?)";
30
+ readonly deleteSpansByRun: "DELETE FROM activity_spans WHERE run_id = ?";
31
+ readonly deleteChangesByRun: "DELETE FROM activity_changes WHERE run_id = ?";
32
+ readonly compactChanges: "DELETE FROM activity_changes WHERE change_id < (\n SELECT COALESCE(MAX(change_id), 0) FROM activity_changes\n ) - 100000 AND run_id NOT IN (\n SELECT DISTINCT run_id FROM activity_spans WHERE outcome IS NULL\n )";
33
+ };
34
+ //# sourceMappingURL=sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/activity/sql.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHf,CAAC"}