@openlimiter/core 1.3.5 → 2.0.2
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/dist/acquire/cadence.d.ts +5 -3
- package/dist/acquire/cadence.d.ts.map +1 -1
- package/dist/acquire/cadence.js +14 -9
- package/dist/acquire/cadence.js.map +1 -1
- package/dist/acquire/coordination.d.ts.map +1 -1
- package/dist/acquire/coordination.js +3 -4
- package/dist/acquire/coordination.js.map +1 -1
- package/dist/acquire/credentials.d.ts +5 -2
- package/dist/acquire/credentials.d.ts.map +1 -1
- package/dist/acquire/credentials.js +45 -11
- package/dist/acquire/credentials.js.map +1 -1
- package/dist/acquire/cursor.d.ts +8 -0
- package/dist/acquire/cursor.d.ts.map +1 -0
- package/dist/acquire/cursor.js +60 -0
- package/dist/acquire/cursor.js.map +1 -0
- package/dist/acquire/identity.d.ts +16 -2
- package/dist/acquire/identity.d.ts.map +1 -1
- package/dist/acquire/identity.js +64 -1
- package/dist/acquire/identity.js.map +1 -1
- package/dist/acquire/index.d.ts +1 -0
- package/dist/acquire/index.d.ts.map +1 -1
- package/dist/acquire/index.js +1 -0
- package/dist/acquire/index.js.map +1 -1
- package/dist/acquire/providers.d.ts +1 -0
- package/dist/acquire/providers.d.ts.map +1 -1
- package/dist/acquire/providers.js +10 -1
- package/dist/acquire/providers.js.map +1 -1
- package/dist/acquire/runner.d.ts +7 -14
- package/dist/acquire/runner.d.ts.map +1 -1
- package/dist/acquire/runner.js +151 -9
- package/dist/acquire/runner.js.map +1 -1
- package/dist/acquire/transport.d.ts +7 -1
- package/dist/acquire/transport.d.ts.map +1 -1
- package/dist/acquire/transport.js +30 -4
- package/dist/acquire/transport.js.map +1 -1
- package/dist/activity/contract.d.ts +108 -0
- package/dist/activity/contract.d.ts.map +1 -0
- package/dist/activity/contract.js +281 -0
- package/dist/activity/contract.js.map +1 -0
- package/dist/activity/spool.d.ts +20 -0
- package/dist/activity/spool.d.ts.map +1 -0
- package/dist/activity/spool.js +305 -0
- package/dist/activity/spool.js.map +1 -0
- package/dist/cache.d.ts +41 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +134 -4
- package/dist/cache.js.map +1 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +6 -0
- package/dist/collection.js.map +1 -1
- package/dist/connection-state.d.ts +15 -0
- package/dist/connection-state.d.ts.map +1 -1
- package/dist/connection-state.js +18 -0
- package/dist/connection-state.js.map +1 -1
- package/dist/contracts/notify.d.ts +47 -0
- package/dist/contracts/notify.d.ts.map +1 -0
- package/dist/contracts/notify.js +83 -0
- package/dist/contracts/notify.js.map +1 -0
- package/dist/contracts/surfaces.d.ts +61 -0
- package/dist/contracts/surfaces.d.ts.map +1 -0
- package/dist/contracts/surfaces.js +73 -0
- package/dist/contracts/surfaces.js.map +1 -0
- package/dist/contracts/wire.d.ts +108 -0
- package/dist/contracts/wire.d.ts.map +1 -0
- package/dist/contracts/wire.js +202 -0
- package/dist/contracts/wire.js.map +1 -0
- package/dist/data-rules.d.ts +30 -0
- package/dist/data-rules.d.ts.map +1 -0
- package/dist/data-rules.js +57 -0
- package/dist/data-rules.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizer.d.ts.map +1 -1
- package/dist/normalizer.js +42 -7
- package/dist/normalizer.js.map +1 -1
- package/dist/types.d.ts +44 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -1
- package/package.json +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"AAiBA,6DAA6D;AAC7D,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,8BAA8B,UAAY,CAAC;AAIxD,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,8CAA8C,CAAC;AAElF,yEAAyE;AACzE,eAAO,MAAM,eAAe,+CAA+C,CAAC;AAE5E,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,kEACiC,CAAC;AAElE,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,qEACmC,CAAC;AAErE,iEAAiE;AACjE,eAAO,MAAM,cAAc,8DAA8D,CAAC;AAE1F,8DAA8D;AAC9D,eAAO,MAAM,cAAc,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export const GEMINI_CLI_QUOTA_URL = "https://cloudcode-pa.googleapis.com/v1inter
|
|
|
31
31
|
export const GROK_USAGE_URL = "https://cli-chat-proxy.grok.com/v1/billing?format=credits";
|
|
32
32
|
/** The Kimi Code usage report the official Kimi CLI reads. */
|
|
33
33
|
export const KIMI_USAGE_URL = "https://api.kimi.com/coding/v1/usages";
|
|
34
|
+
export const CURSOR_USAGE_URL = "https://cursor.com/api/usage-summary";
|
|
34
35
|
/** The OpenRouter inference key report: limit, remaining and usage. */
|
|
35
36
|
export const OPENROUTER_KEY_URL = "https://openrouter.ai/api/v1/key";
|
|
36
37
|
/**
|
|
@@ -48,6 +49,7 @@ export const ACQUISITION_ENDPOINTS = {
|
|
|
48
49
|
code_assist_quota: { url: GEMINI_CLI_QUOTA_URL, method: "POST" },
|
|
49
50
|
grok_billing: { url: GROK_USAGE_URL, method: "GET" },
|
|
50
51
|
kimi_usage: { url: KIMI_USAGE_URL, method: "GET" },
|
|
52
|
+
cursor_usage: { url: CURSOR_USAGE_URL, method: "GET" },
|
|
51
53
|
openrouter_key: { url: OPENROUTER_KEY_URL, method: "GET" }
|
|
52
54
|
};
|
|
53
55
|
/* ---------------------------------------------------------------- headers */
|
|
@@ -202,6 +204,17 @@ export function kimiUsageRequest(secret) {
|
|
|
202
204
|
body: null
|
|
203
205
|
};
|
|
204
206
|
}
|
|
207
|
+
export function cursorUsageRequest(secret, authId) {
|
|
208
|
+
if (!/^[A-Za-z0-9._-]{1,16384}$/u.test(secret) || !/^[A-Za-z0-9._-]{1,16384}$/u.test(authId))
|
|
209
|
+
return null;
|
|
210
|
+
return {
|
|
211
|
+
endpoint: "cursor_usage", url: CURSOR_USAGE_URL, method: "GET", body: null,
|
|
212
|
+
headers: {
|
|
213
|
+
"user-agent": OPENLIMITER_USER_AGENT, accept: "application/json",
|
|
214
|
+
cookie: `WorkosCursorSessionToken=${authId}::${secret}`
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
205
218
|
/** The OpenRouter key report, the one documented interface in this table. */
|
|
206
219
|
export function openrouterKeyRequest(secret) {
|
|
207
220
|
if (!usableHeaderSecret(secret))
|
|
@@ -262,14 +275,18 @@ export function outcomeForStatus(status) {
|
|
|
262
275
|
return "remote_error";
|
|
263
276
|
}
|
|
264
277
|
/** Retry-After in seconds, when the header is a count of seconds we believe. */
|
|
265
|
-
export function retryAfterSeconds(value) {
|
|
278
|
+
export function retryAfterSeconds(value, now = Date.now()) {
|
|
266
279
|
if (value === null)
|
|
267
280
|
return null;
|
|
268
281
|
const trimmed = value.trim();
|
|
269
|
-
if (
|
|
282
|
+
if (/^\d+$/u.test(trimmed)) {
|
|
283
|
+
const seconds = Number(trimmed);
|
|
284
|
+
return Number.isSafeInteger(seconds) ? seconds : null;
|
|
285
|
+
}
|
|
286
|
+
if (!/^[A-Za-z]{3}, /u.test(trimmed))
|
|
270
287
|
return null;
|
|
271
|
-
const
|
|
272
|
-
return Number.isFinite(
|
|
288
|
+
const deadline = Date.parse(trimmed);
|
|
289
|
+
return Number.isFinite(deadline) ? Math.max(0, Math.ceil((deadline - now) / 1_000)) : null;
|
|
273
290
|
}
|
|
274
291
|
/**
|
|
275
292
|
* The header names an acquisition request may carry.
|
|
@@ -281,6 +298,7 @@ export function retryAfterSeconds(value) {
|
|
|
281
298
|
*/
|
|
282
299
|
export const ALLOWED_REQUEST_HEADERS = [
|
|
283
300
|
"authorization",
|
|
301
|
+
"cookie",
|
|
284
302
|
"accept",
|
|
285
303
|
"user-agent",
|
|
286
304
|
"content-type",
|
|
@@ -304,6 +322,8 @@ function validHeaderValue(name, value, method) {
|
|
|
304
322
|
return value === OPENLIMITER_USER_AGENT;
|
|
305
323
|
if (name === "accept")
|
|
306
324
|
return value === "application/json";
|
|
325
|
+
if (name === "cookie")
|
|
326
|
+
return /^WorkosCursorSessionToken=[A-Za-z0-9._-]{1,16384}::[A-Za-z0-9._-]{1,16384}$/u.test(value);
|
|
307
327
|
if (name === "content-type") {
|
|
308
328
|
return value === "application/json" && method === "POST";
|
|
309
329
|
}
|
|
@@ -371,6 +391,12 @@ export function validAcquisitionRequest(request) {
|
|
|
371
391
|
return false;
|
|
372
392
|
if (request.headers["user-agent"] !== OPENLIMITER_USER_AGENT)
|
|
373
393
|
return false;
|
|
394
|
+
if (request.endpoint === "cursor_usage") {
|
|
395
|
+
if (Object.keys(request.headers).sort().join(",") !== "accept,cookie,user-agent")
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
else if (request.headers["cookie"] !== undefined)
|
|
399
|
+
return false;
|
|
374
400
|
for (const name of Object.keys(request.headers)) {
|
|
375
401
|
if (!ALLOWED_REQUEST_HEADERS.includes(name))
|
|
376
402
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC;AAExD,6EAA6E;AAE7E,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAElF,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,4CAA4C,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAC9B,+DAA+D,CAAC;AAElE,2CAA2C;AAC3C,MAAM,CAAC,MAAM,oBAAoB,GAC/B,kEAAkE,CAAC;AAErE,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,2DAA2D,CAAC;AAE1F,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAEtE,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,KAAK,EAAE;IAC5D,WAAW,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE;IACpD,gBAAgB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9D,iBAAiB,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE;IAChE,YAAY,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE;IACpD,UAAU,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE;IAClD,cAAc,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;CAC0B,CAAC;AAIvF,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAE1D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC;IAClD,QAAQ,EAAE;QACR,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,sBAAsB;QAChC,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAUH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;QACrB,KAAK,CAAC,MAAM,IAAI,KAAK;QACrB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO;QACL,aAAa,EAAE,SAAS,GAAG,MAAM;QACjC,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,kBAAkB;KAC3B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG;QAC3C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,uBAAuB,EAAE;QACnF,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,OAAO;QACL,QAAQ,EAAE,aAAa;QACvB,GAAG,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAAG;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE;QACjE,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,QAAQ,EAAE,kBAAkB;QAC5B,GAAG,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,GAAG;QAC/C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAClE,IAAI,EAAE,qBAAqB;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;AAElF,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAAe;IAEf,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,OAAO;QACL,QAAQ,EAAE,mBAAmB;QAC7B,GAAG,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,GAAG;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAClE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,SAAwB;IAExB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,SAAS,KAAK,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC;QACpE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC;IACT,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,GAAG,EAAE,qBAAqB,CAAC,YAAY,CAAC,GAAG;QAC3C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,MAAM,CAAC;YACjB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;SAChE;QACD,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,GAAG,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG;QACzC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,QAAQ,EAAE,gBAAgB;QAC1B,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG;QAC7C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI;IACJ,cAAc;IACd,cAAc;IACd,SAAS;IACT,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,kBAAkB;CACV,CAAC;AAeX;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,wBAAwB;IACxB,oBAAoB;IACpB,mBAAmB;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,KAAK,sBAAsB,CAAC;IACnE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,kBAAkB,CAAC;IAC3D,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,OAAO,KAAK,KAAK,kBAAkB,IAAI,MAAM,KAAK,MAAM,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB;QAAE,OAAO,KAAK,KAAK,uBAAuB,CAAC;IAChF,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAClE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAA2B;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,IAAI,KAAK,qBAAqB,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAY,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ;YAChC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,KAAK,sBAAsB,CAAC;IACnD,CAAC;IACD,8EAA8E;IAC9E,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA2B;IACjE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAC3E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;IACnE,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,sBAA+C,UAAU,CAAC,KAAK;IAE/D,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB;;6CAEqC;QACrC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE;gBACtD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aACzD,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBACpD,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACrD;8DAC8C;gBAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAC9E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,8BAA8B,EAAE,UAAU,CAAC,CAAC;YAC/F,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB;8EAC8D;gBAC9D,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAChE,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC/D,iBAAiB,EAAE,UAAU;aAC9B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/acquire/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/** Local activity protocol. No collector, clock, storage or notification delivery. */
|
|
2
|
+
export declare const ACTIVITY_EVENT_VERSION = 1;
|
|
3
|
+
export declare const MAX_ACTIVITY_EVENT_BYTES: number;
|
|
4
|
+
export declare const MAX_ACTIVITY_SPOOL_BYTES: number;
|
|
5
|
+
export declare const MAX_ACTIVITY_EVENT_AGE_MS: number;
|
|
6
|
+
/** Proposed live cap, frozen for consumers of version 1. */
|
|
7
|
+
export declare const MAX_LIVE_ACTIVITY_SESSIONS = 64;
|
|
8
|
+
export declare const ACTIVITY_SESSION_RETIREMENT_MS: number;
|
|
9
|
+
export declare const ACTIVITY_AGENTS: readonly ["claude_code", "codex", "muse", "gemini_cli", "cursor", "kimi", "grok", "antigravity"];
|
|
10
|
+
export declare const ACTIVITY_STATES: readonly ["busy", "waiting", "done", "idle", "unknown"];
|
|
11
|
+
export declare const ACTIVITY_SOURCES: readonly ["hook", "registry", "transcript", "rollout", "editor_state"];
|
|
12
|
+
export declare const ACTIVITY_SIGNALS: readonly ["observation", "user_question", "claude_stop", "process_vanished", "session_ended"];
|
|
13
|
+
export type ActivityAgent = (typeof ACTIVITY_AGENTS)[number];
|
|
14
|
+
export type ActivityState = (typeof ACTIVITY_STATES)[number];
|
|
15
|
+
export type ActivityConfidence = "explicit" | "inferred";
|
|
16
|
+
export type ActivityOutcome = "cancelled" | "failed";
|
|
17
|
+
/** LOCAL ONLY. The hook reports ppid; the desktop resolves pid and startedAt together. */
|
|
18
|
+
export interface ActivityProcess {
|
|
19
|
+
ppid?: number;
|
|
20
|
+
pid?: number;
|
|
21
|
+
startedAt?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ActivityEvent {
|
|
24
|
+
version: typeof ACTIVITY_EVENT_VERSION;
|
|
25
|
+
eventId: string;
|
|
26
|
+
/** Exact opaque id from the agent payload, never a path or a fabricated parent id. */
|
|
27
|
+
sessionId: string;
|
|
28
|
+
sequence: number;
|
|
29
|
+
agent: ActivityAgent;
|
|
30
|
+
accountAlias?: string;
|
|
31
|
+
observedAt: string;
|
|
32
|
+
state: ActivityState;
|
|
33
|
+
outcome?: ActivityOutcome;
|
|
34
|
+
source: (typeof ACTIVITY_SOURCES)[number];
|
|
35
|
+
confidence: ActivityConfidence;
|
|
36
|
+
process?: ActivityProcess;
|
|
37
|
+
/** Structural metadata only. Adapters must never attach the question itself. */
|
|
38
|
+
signal?: (typeof ACTIVITY_SIGNALS)[number];
|
|
39
|
+
parentSessionId?: string;
|
|
40
|
+
isSidechain?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type HookActivityEvent = Omit<ActivityEvent, "source" | "process"> & {
|
|
43
|
+
source: "hook";
|
|
44
|
+
process?: {
|
|
45
|
+
ppid: number;
|
|
46
|
+
pid?: never;
|
|
47
|
+
startedAt?: never;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
/** Shared boundary primitives, deliberately independent of Node and browser state. */
|
|
51
|
+
export declare function isContractObject(value: unknown): value is Record<string, unknown>;
|
|
52
|
+
export declare function isContractInstant(value: unknown): value is string;
|
|
53
|
+
export declare function hasOnlyContractKeys(value: Record<string, unknown>, keys: readonly string[]): boolean;
|
|
54
|
+
/** Strict spool boundary. now is epoch milliseconds supplied by the consumer. */
|
|
55
|
+
export declare function isActivityEvent(value: unknown, now: number, origin?: "hook" | "desktop"): value is ActivityEvent;
|
|
56
|
+
/** Validate original byte size before parsing; reserialization alone misses whitespace padding. */
|
|
57
|
+
export declare function readActivityEvent(serialized: string, now: number, origin?: "hook" | "desktop"): ActivityEvent;
|
|
58
|
+
export interface ActivitySession {
|
|
59
|
+
sessionId: string;
|
|
60
|
+
agent: ActivityAgent;
|
|
61
|
+
accountAlias?: string;
|
|
62
|
+
state: ActivityState;
|
|
63
|
+
confidence: ActivityConfidence;
|
|
64
|
+
outcome?: ActivityOutcome;
|
|
65
|
+
firstObservedAt: string;
|
|
66
|
+
observedAt: string;
|
|
67
|
+
stateChangedAt: string;
|
|
68
|
+
endedAt?: string;
|
|
69
|
+
sequence: number;
|
|
70
|
+
seenEventIds: readonly string[];
|
|
71
|
+
process?: ActivityProcess;
|
|
72
|
+
awaitingInput: boolean;
|
|
73
|
+
/** Set only by a separate user preference, never copied from events. */
|
|
74
|
+
userProjectLabel?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface ActivityTransition {
|
|
77
|
+
session: ActivitySession;
|
|
78
|
+
notification: "agent_waiting" | "agent_done" | null;
|
|
79
|
+
reason: "baseline" | "applied" | "duplicate" | "out_of_order" | "other_session" | "child" | "lower_confidence";
|
|
80
|
+
}
|
|
81
|
+
/** Batch dedupe across sessions before applying per session sequence precedence. */
|
|
82
|
+
export declare function dedupeActivityEvents(events: readonly ActivityEvent[]): ActivityEvent[];
|
|
83
|
+
/**
|
|
84
|
+
* Call only with validated events. Sequence is monotonic for a session across sources.
|
|
85
|
+
* Suppressed observations still advance dedupe, but never weaken the winning evidence.
|
|
86
|
+
*/
|
|
87
|
+
export declare function nextSessionState(previous: ActivitySession | null, event: ActivityEvent): ActivityTransition;
|
|
88
|
+
/** Retirement uses the state/ending time, so repeated idle polls cannot keep it alive. */
|
|
89
|
+
export declare function shouldRetireActivitySession(session: ActivitySession, now: number): boolean;
|
|
90
|
+
export interface ActivityUploadRecord {
|
|
91
|
+
sessionId: string;
|
|
92
|
+
agent: ActivityAgent;
|
|
93
|
+
state: ActivityState;
|
|
94
|
+
confidence: ActivityConfidence;
|
|
95
|
+
firstObservedAt: string;
|
|
96
|
+
observedAt: string;
|
|
97
|
+
stateChangedAt: string;
|
|
98
|
+
userProjectLabel?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface ActivityDisplayRecord extends ActivityUploadRecord {
|
|
101
|
+
outcome?: ActivityOutcome;
|
|
102
|
+
}
|
|
103
|
+
export declare function isActivityUploadRecord(value: unknown): value is ActivityUploadRecord;
|
|
104
|
+
export declare function isActivityDisplayRecord(value: unknown): value is ActivityDisplayRecord;
|
|
105
|
+
/** An explicit allowlist. Never spread a session, event, alias or process into either record. */
|
|
106
|
+
export declare function toUploadRecord(session: ActivitySession): ActivityUploadRecord;
|
|
107
|
+
export declare function toDisplayRecord(session: ActivitySession): ActivityDisplayRecord;
|
|
108
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/activity/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/** Local activity protocol. No collector, clock, storage or notification delivery. */
|
|
2
|
+
export const ACTIVITY_EVENT_VERSION = 1;
|
|
3
|
+
export const MAX_ACTIVITY_EVENT_BYTES = 8 * 1024;
|
|
4
|
+
export const MAX_ACTIVITY_SPOOL_BYTES = 16 * 1024 * 1024;
|
|
5
|
+
export const MAX_ACTIVITY_EVENT_AGE_MS = 24 * 60 * 60 * 1000;
|
|
6
|
+
/** Proposed live cap, frozen for consumers of version 1. */
|
|
7
|
+
export const MAX_LIVE_ACTIVITY_SESSIONS = 64;
|
|
8
|
+
export const ACTIVITY_SESSION_RETIREMENT_MS = 24 * 60 * 60 * 1000;
|
|
9
|
+
export const ACTIVITY_AGENTS = [
|
|
10
|
+
"claude_code", "codex", "muse", "gemini_cli", "cursor", "kimi", "grok", "antigravity"
|
|
11
|
+
];
|
|
12
|
+
export const ACTIVITY_STATES = ["busy", "waiting", "done", "idle", "unknown"];
|
|
13
|
+
export const ACTIVITY_SOURCES = ["hook", "registry", "transcript", "rollout", "editor_state"];
|
|
14
|
+
export const ACTIVITY_SIGNALS = [
|
|
15
|
+
"observation", "user_question", "claude_stop", "process_vanished", "session_ended"
|
|
16
|
+
];
|
|
17
|
+
/** Shared boundary primitives, deliberately independent of Node and browser state. */
|
|
18
|
+
export function isContractObject(value) {
|
|
19
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
20
|
+
}
|
|
21
|
+
export function isContractInstant(value) {
|
|
22
|
+
if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(value))
|
|
23
|
+
return false;
|
|
24
|
+
const ms = Date.parse(value);
|
|
25
|
+
return Number.isFinite(ms) && new Date(ms).toISOString() === value;
|
|
26
|
+
}
|
|
27
|
+
export function hasOnlyContractKeys(value, keys) {
|
|
28
|
+
return Object.keys(value).every((key) => keys.includes(key));
|
|
29
|
+
}
|
|
30
|
+
const identifier = (value) => typeof value === "string" && value["length"] > 0 && value["length"] <= 256 && !/[\u0000-\u001f\u007f]/u.test(value);
|
|
31
|
+
const pid = (value) => Number.isSafeInteger(value) && value > 0;
|
|
32
|
+
const member = (values, value) => typeof value === "string" && values.includes(value);
|
|
33
|
+
/** Strict spool boundary. now is epoch milliseconds supplied by the consumer. */
|
|
34
|
+
export function isActivityEvent(value, now, origin = "hook") {
|
|
35
|
+
if (!Number.isFinite(now) || !isContractObject(value))
|
|
36
|
+
return false;
|
|
37
|
+
if (!hasOnlyContractKeys(value, ["version", "eventId", "sessionId", "sequence", "agent", "accountAlias",
|
|
38
|
+
"observedAt", "state", "outcome", "source", "confidence", "process", "signal", "parentSessionId", "isSidechain"]))
|
|
39
|
+
return false;
|
|
40
|
+
try {
|
|
41
|
+
if (new TextEncoder().encode(JSON.stringify(value)).byteLength > MAX_ACTIVITY_EVENT_BYTES)
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (value["version"] !== ACTIVITY_EVENT_VERSION || !identifier(value["eventId"]) || !identifier(value["sessionId"]) ||
|
|
48
|
+
!Number.isSafeInteger(value["sequence"]) || value["sequence"] < 0 ||
|
|
49
|
+
!member(ACTIVITY_AGENTS, value["agent"]) || !member(ACTIVITY_STATES, value["state"]) ||
|
|
50
|
+
!member(ACTIVITY_SOURCES, value["source"]) || !member(["explicit", "inferred"], value["confidence"]) ||
|
|
51
|
+
!isContractInstant(value["observedAt"]))
|
|
52
|
+
return false;
|
|
53
|
+
const age = now - Date.parse(value["observedAt"]);
|
|
54
|
+
if (age < 0 || age > MAX_ACTIVITY_EVENT_AGE_MS)
|
|
55
|
+
return false;
|
|
56
|
+
if (origin === "hook" && value["source"] !== "hook")
|
|
57
|
+
return false;
|
|
58
|
+
if (value["accountAlias"] !== undefined && !identifier(value["accountAlias"]))
|
|
59
|
+
return false;
|
|
60
|
+
if (value["parentSessionId"] !== undefined && (!identifier(value["parentSessionId"]) || value["parentSessionId"] === value["sessionId"]))
|
|
61
|
+
return false;
|
|
62
|
+
if (value["isSidechain"] !== undefined && typeof value["isSidechain"] !== "boolean")
|
|
63
|
+
return false;
|
|
64
|
+
if (value["signal"] !== undefined && !member(ACTIVITY_SIGNALS, value["signal"]))
|
|
65
|
+
return false;
|
|
66
|
+
if (value["signal"] === "claude_stop" && value["agent"] !== "claude_code")
|
|
67
|
+
return false;
|
|
68
|
+
if (value["outcome"] !== undefined && !member(["cancelled", "failed"], value["outcome"]))
|
|
69
|
+
return false;
|
|
70
|
+
if (value["outcome"] !== undefined && value["state"] === "done")
|
|
71
|
+
return false;
|
|
72
|
+
if ((value["state"] === "done" || value["signal"] === "user_question" || value["signal"] === "claude_stop") && value["confidence"] !== "explicit")
|
|
73
|
+
return false;
|
|
74
|
+
if (value["process"] !== undefined) {
|
|
75
|
+
const process = value["process"];
|
|
76
|
+
if (!isContractObject(process) || !hasOnlyContractKeys(process, ["ppid", "pid", "startedAt"]))
|
|
77
|
+
return false;
|
|
78
|
+
if (process["ppid"] !== undefined && !pid(process["ppid"]))
|
|
79
|
+
return false;
|
|
80
|
+
if (origin === "hook" && (process["ppid"] === undefined || process["pid"] !== undefined || process["startedAt"] !== undefined))
|
|
81
|
+
return false;
|
|
82
|
+
if ((process["pid"] === undefined) !== (process["startedAt"] === undefined))
|
|
83
|
+
return false;
|
|
84
|
+
if (process["pid"] !== undefined && (!pid(process["pid"]) || !isContractInstant(process["startedAt"])))
|
|
85
|
+
return false;
|
|
86
|
+
if (isContractInstant(process["startedAt"]) && process["startedAt"] > value["observedAt"])
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
/** Validate original byte size before parsing; reserialization alone misses whitespace padding. */
|
|
92
|
+
export function readActivityEvent(serialized, now, origin = "hook") {
|
|
93
|
+
if (new TextEncoder().encode(serialized).byteLength > MAX_ACTIVITY_EVENT_BYTES)
|
|
94
|
+
throw new TypeError("activity: event too large");
|
|
95
|
+
let value;
|
|
96
|
+
try {
|
|
97
|
+
value = JSON.parse(serialized);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
throw new TypeError("activity: invalid JSON");
|
|
101
|
+
}
|
|
102
|
+
if (!isActivityEvent(value, now, origin))
|
|
103
|
+
throw new TypeError("activity: invalid event");
|
|
104
|
+
return value;
|
|
105
|
+
}
|
|
106
|
+
/** Batch dedupe across sessions before applying per session sequence precedence. */
|
|
107
|
+
export function dedupeActivityEvents(events) {
|
|
108
|
+
const ids = new Set();
|
|
109
|
+
const sequences = new Set();
|
|
110
|
+
return events.filter((event) => {
|
|
111
|
+
const key = JSON.stringify([event.sessionId, event.sequence]);
|
|
112
|
+
if (ids.has(event.eventId) || sequences.has(key))
|
|
113
|
+
return false;
|
|
114
|
+
ids.add(event.eventId);
|
|
115
|
+
sequences.add(key);
|
|
116
|
+
return true;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Call only with validated events. Sequence is monotonic for a session across sources.
|
|
121
|
+
* Suppressed observations still advance dedupe, but never weaken the winning evidence.
|
|
122
|
+
*/
|
|
123
|
+
export function nextSessionState(previous, event) {
|
|
124
|
+
if (previous !== null) {
|
|
125
|
+
if (previous.sessionId !== event.sessionId || previous.agent !== event.agent)
|
|
126
|
+
return { session: previous, notification: null, reason: "other_session" };
|
|
127
|
+
if (previous.seenEventIds.includes(event.eventId) || previous.sequence === event.sequence)
|
|
128
|
+
return { session: previous, notification: null, reason: "duplicate" };
|
|
129
|
+
if (event.sequence < previous.sequence || event.observedAt < previous.observedAt)
|
|
130
|
+
return { session: previous, notification: null, reason: "out_of_order" };
|
|
131
|
+
}
|
|
132
|
+
const base = previous ?? {
|
|
133
|
+
sessionId: event.sessionId, agent: event.agent, state: "unknown", confidence: "inferred",
|
|
134
|
+
firstObservedAt: event.observedAt, observedAt: event.observedAt, stateChangedAt: event.observedAt,
|
|
135
|
+
sequence: event.sequence, seenEventIds: [], awaitingInput: false,
|
|
136
|
+
...(event.accountAlias === undefined ? {} : { accountAlias: event.accountAlias })
|
|
137
|
+
};
|
|
138
|
+
const session = {
|
|
139
|
+
...base, sequence: event.sequence, seenEventIds: [...base.seenEventIds, event.eventId], observedAt: event.observedAt
|
|
140
|
+
};
|
|
141
|
+
// A sidechain observation attributed to a parent cannot change that parent's state.
|
|
142
|
+
if (event.isSidechain)
|
|
143
|
+
return { session, notification: null, reason: previous === null ? "baseline" : "child" };
|
|
144
|
+
const identityChanged = base.process?.pid !== undefined && event.process?.pid !== undefined &&
|
|
145
|
+
(base.process["pid"] !== event.process["pid"] || base.process["startedAt"] !== event.process["startedAt"]);
|
|
146
|
+
const vanished = event.signal === "process_vanished" || event.signal === "session_ended" || identityChanged;
|
|
147
|
+
if (!vanished && previous !== null && base.confidence === "explicit" && event.confidence === "inferred")
|
|
148
|
+
return { session, notification: null, reason: "lower_confidence" };
|
|
149
|
+
let state = event.state;
|
|
150
|
+
let awaitingInput = base.awaitingInput;
|
|
151
|
+
if (event.signal === "user_question") {
|
|
152
|
+
state = "waiting";
|
|
153
|
+
awaitingInput = true;
|
|
154
|
+
}
|
|
155
|
+
if (event.signal === "claude_stop" && awaitingInput)
|
|
156
|
+
state = "waiting";
|
|
157
|
+
if (state === "busy" && event.confidence === "explicit")
|
|
158
|
+
awaitingInput = false;
|
|
159
|
+
if (vanished) {
|
|
160
|
+
state = "unknown";
|
|
161
|
+
awaitingInput = false;
|
|
162
|
+
}
|
|
163
|
+
// A failure or cancellation is never a success, including defensive typed calls.
|
|
164
|
+
if (event.outcome !== undefined && state === "done")
|
|
165
|
+
state = "unknown";
|
|
166
|
+
if (state === "done" && event.confidence !== "explicit")
|
|
167
|
+
state = "unknown";
|
|
168
|
+
if (state !== "waiting")
|
|
169
|
+
awaitingInput = false;
|
|
170
|
+
session.state = state;
|
|
171
|
+
session.confidence = vanished ? "inferred" : event.confidence;
|
|
172
|
+
session.awaitingInput = awaitingInput;
|
|
173
|
+
if (state !== base.state)
|
|
174
|
+
session.stateChangedAt = event.observedAt;
|
|
175
|
+
delete session.outcome;
|
|
176
|
+
if (event.outcome !== undefined)
|
|
177
|
+
session.outcome = event.outcome;
|
|
178
|
+
delete session.endedAt;
|
|
179
|
+
if (vanished || state === "done" || event.outcome !== undefined)
|
|
180
|
+
session.endedAt = base.state === state && base.outcome === event.outcome ? base.endedAt ?? event.observedAt : event.observedAt;
|
|
181
|
+
if (event.process !== undefined && !identityChanged)
|
|
182
|
+
session.process = {
|
|
183
|
+
...(base.process?.pid === undefined ? {} : { pid: base.process.pid, startedAt: base.process.startedAt }),
|
|
184
|
+
...(event.process["ppid"] === undefined ? {} : { ppid: event.process["ppid"] }),
|
|
185
|
+
...(event.process["pid"] === undefined ? {} : { pid: event.process["pid"], startedAt: event.process["startedAt"] })
|
|
186
|
+
};
|
|
187
|
+
if (identityChanged)
|
|
188
|
+
delete session.process;
|
|
189
|
+
const notification = previous !== null && base.state !== state && event.outcome === undefined &&
|
|
190
|
+
session.confidence === "explicit" ? state === "waiting" ? "agent_waiting" : state === "done" ? "agent_done" : null : null;
|
|
191
|
+
return { session, notification, reason: previous === null ? "baseline" : "applied" };
|
|
192
|
+
}
|
|
193
|
+
/** Retirement uses the state/ending time, so repeated idle polls cannot keep it alive. */
|
|
194
|
+
export function shouldRetireActivitySession(session, now) {
|
|
195
|
+
const since = session.endedAt ?? (session.state === "idle" ? session.stateChangedAt : undefined);
|
|
196
|
+
return since !== undefined && Number.isFinite(now) && now - Date.parse(since) >= ACTIVITY_SESSION_RETIREMENT_MS;
|
|
197
|
+
}
|
|
198
|
+
// SHA-256 over a domain separated, length delimited identity. Pure and usable in every lane.
|
|
199
|
+
// This is a stable pseudonym, not a secret or an authorization token.
|
|
200
|
+
function opaqueSessionId(agent, sessionId) {
|
|
201
|
+
const bytes = new TextEncoder().encode(JSON.stringify(["openlimiter.activity.v1", agent, sessionId]));
|
|
202
|
+
const words = new Uint32Array(Math.ceil((bytes.length + 9) / 64) * 16);
|
|
203
|
+
bytes.forEach((byte, index) => { words[index >>> 2] = words[index >>> 2] | byte << (24 - (index % 4) * 8); });
|
|
204
|
+
words[bytes.length >>> 2] = words[bytes.length >>> 2] | 0x80 << (24 - (bytes.length % 4) * 8);
|
|
205
|
+
words[words.length - 1] = bytes.length * 8;
|
|
206
|
+
const k = [
|
|
207
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
208
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
209
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
210
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
211
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
212
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
213
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
214
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
|
215
|
+
];
|
|
216
|
+
const h = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19];
|
|
217
|
+
const rotate = (n, shift) => n >>> shift | n << (32 - shift);
|
|
218
|
+
for (let offset = 0; offset < words.length; offset += 16) {
|
|
219
|
+
const w = new Uint32Array(64);
|
|
220
|
+
for (let i = 0; i < 64; i++) {
|
|
221
|
+
const x = w[i - 15] ?? 0, y = w[i - 2] ?? 0;
|
|
222
|
+
w[i] = i < 16 ? words[offset + i] : w[i - 16] + (rotate(x, 7) ^ rotate(x, 18) ^ x >>> 3) + w[i - 7] + (rotate(y, 17) ^ rotate(y, 19) ^ y >>> 10);
|
|
223
|
+
}
|
|
224
|
+
let [a, b, c, d, e, f, g, j] = h;
|
|
225
|
+
for (let i = 0; i < 64; i++) {
|
|
226
|
+
const t1 = (j + (rotate(e, 6) ^ rotate(e, 11) ^ rotate(e, 25)) + ((e & f) ^ (~e & g)) + k[i] + w[i]) | 0;
|
|
227
|
+
const t2 = ((rotate(a, 2) ^ rotate(a, 13) ^ rotate(a, 22)) + ((a & b) ^ (a & c) ^ (b & c))) | 0;
|
|
228
|
+
j = g;
|
|
229
|
+
g = f;
|
|
230
|
+
f = e;
|
|
231
|
+
e = (d + t1) | 0;
|
|
232
|
+
d = c;
|
|
233
|
+
c = b;
|
|
234
|
+
b = a;
|
|
235
|
+
a = (t1 + t2) | 0;
|
|
236
|
+
}
|
|
237
|
+
[a, b, c, d, e, f, g, j].forEach((value, i) => { h[i] = (h[i] + value) >>> 0; });
|
|
238
|
+
}
|
|
239
|
+
return h.map((value) => value["toString"](16).padStart(8, "0")).join("");
|
|
240
|
+
}
|
|
241
|
+
function isProjectedActivityRecord(value, display) {
|
|
242
|
+
if (!isContractObject(value) || !hasOnlyContractKeys(value, ["sessionId", "agent", "state", "confidence", "firstObservedAt",
|
|
243
|
+
"observedAt", "stateChangedAt", "userProjectLabel", ...(display ? ["outcome"] : [])]))
|
|
244
|
+
return false;
|
|
245
|
+
if (typeof value["sessionId"] !== "string" || !/^[a-f0-9]{64}$/u.test(value["sessionId"]) ||
|
|
246
|
+
!member(ACTIVITY_AGENTS, value["agent"]) || !member(ACTIVITY_STATES, value["state"]) ||
|
|
247
|
+
!member(["explicit", "inferred"], value["confidence"]) || !isContractInstant(value["firstObservedAt"]) ||
|
|
248
|
+
!isContractInstant(value["observedAt"]) || !isContractInstant(value["stateChangedAt"]))
|
|
249
|
+
return false;
|
|
250
|
+
if (value["firstObservedAt"] > value["stateChangedAt"] || value["stateChangedAt"] > value["observedAt"])
|
|
251
|
+
return false;
|
|
252
|
+
if (value["state"] === "done" && value["confidence"] !== "explicit")
|
|
253
|
+
return false;
|
|
254
|
+
if (value["userProjectLabel"] !== undefined && !identifier(value["userProjectLabel"]))
|
|
255
|
+
return false;
|
|
256
|
+
return value["outcome"] === undefined || (display && member(["cancelled", "failed"], value["outcome"]) && value["state"] !== "done");
|
|
257
|
+
}
|
|
258
|
+
export function isActivityUploadRecord(value) {
|
|
259
|
+
return isProjectedActivityRecord(value, false);
|
|
260
|
+
}
|
|
261
|
+
export function isActivityDisplayRecord(value) {
|
|
262
|
+
return isProjectedActivityRecord(value, true);
|
|
263
|
+
}
|
|
264
|
+
/** An explicit allowlist. Never spread a session, event, alias or process into either record. */
|
|
265
|
+
export function toUploadRecord(session) {
|
|
266
|
+
const record = {
|
|
267
|
+
sessionId: opaqueSessionId(session.agent, session.sessionId), agent: session.agent,
|
|
268
|
+
state: session.state, confidence: session.confidence, firstObservedAt: session.firstObservedAt,
|
|
269
|
+
observedAt: session.observedAt, stateChangedAt: session.stateChangedAt
|
|
270
|
+
};
|
|
271
|
+
if (session.userProjectLabel !== undefined) {
|
|
272
|
+
if (!identifier(session.userProjectLabel))
|
|
273
|
+
throw new TypeError("activity: invalid user project label");
|
|
274
|
+
record.userProjectLabel = session.userProjectLabel;
|
|
275
|
+
}
|
|
276
|
+
return record;
|
|
277
|
+
}
|
|
278
|
+
export function toDisplayRecord(session) {
|
|
279
|
+
return { ...toUploadRecord(session), ...(session.outcome === undefined ? {} : { outcome: session.outcome }) };
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/activity/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ActivityEvent } from "./contract.js";
|
|
2
|
+
export interface ActivitySpoolOptions {
|
|
3
|
+
/** The existing OpenLimiter state root, never a value from a hook payload. */
|
|
4
|
+
directory: string;
|
|
5
|
+
now?: number;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
/** Monotonic deadline for synchronous filesystem work; timers cannot interrupt it. */
|
|
8
|
+
deadline?: number;
|
|
9
|
+
/** Windows must establish and verify an inheritable owner ACL before writing. */
|
|
10
|
+
protectWindowsDirectory?: (directory: string) => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare function prepareActivitySpool(options: ActivitySpoolOptions): Promise<string>;
|
|
13
|
+
/** A global spool lock serializes size accounting and sequence allocation. */
|
|
14
|
+
export declare function writeActivityEvent(event: ActivityEvent, options: ActivitySpoolOptions): Promise<ActivityEvent>;
|
|
15
|
+
/** Read only. Invalid, stale, partial and hostile records are counted and skipped. */
|
|
16
|
+
export declare function readActivitySpool(directory: string, now?: number): {
|
|
17
|
+
events: ActivityEvent[];
|
|
18
|
+
skipped: number;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=spool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spool.d.ts","sourceRoot":"","sources":["../../src/activity/spool.ts"],"names":[],"mappings":"AAOA,OAAO,EAEwC,KAAK,aAAa,EAChE,MAAM,eAAe,CAAC;AASvB,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAyED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCzF;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CA0DpH;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiCnH"}
|