@botiverse/oar 0.48.0 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -1
- package/dist/contracts/failure.d.ts +35 -0
- package/dist/contracts/failure.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/provider-auth.d.ts +55 -1
- package/dist/contracts/provider-auth.d.ts.map +1 -1
- package/dist/contracts/records.d.ts +8 -10
- package/dist/contracts/records.d.ts.map +1 -1
- package/dist/contracts/session-options.d.ts +15 -5
- package/dist/contracts/session-options.d.ts.map +1 -1
- package/dist/contracts/session.d.ts +15 -3
- package/dist/contracts/session.d.ts.map +1 -1
- package/dist/observe/failure-advice.d.ts +11 -4
- package/dist/observe/failure-advice.d.ts.map +1 -1
- package/dist/observe/failure-advice.js +1 -1
- package/dist/observe/failure-advice.js.map +1 -1
- package/dist/observe/session-view-events.d.ts.map +1 -1
- package/dist/observe/session-view-events.js +3 -0
- package/dist/observe/session-view-events.js.map +1 -1
- package/dist/observe/session-view-fold.d.ts +2 -1
- package/dist/observe/session-view-fold.d.ts.map +1 -1
- package/dist/observe/session-view-fold.js +4 -7
- package/dist/observe/session-view-fold.js.map +1 -1
- package/dist/observe/session-view.d.ts +2 -0
- package/dist/observe/session-view.d.ts.map +1 -1
- package/dist/observe/session-view.js +1 -0
- package/dist/observe/session-view.js.map +1 -1
- package/dist/observe/usage.d.ts +23 -4
- package/dist/observe/usage.d.ts.map +1 -1
- package/dist/observe/usage.js +77 -18
- package/dist/observe/usage.js.map +1 -1
- package/dist/runtimes/antigravity/session.d.ts.map +1 -1
- package/dist/runtimes/antigravity/session.js +2 -2
- package/dist/runtimes/antigravity/session.js.map +1 -1
- package/dist/runtimes/claude/failure.d.ts +25 -4
- package/dist/runtimes/claude/failure.d.ts.map +1 -1
- package/dist/runtimes/claude/failure.js +38 -4
- package/dist/runtimes/claude/failure.js.map +1 -1
- package/dist/runtimes/claude/open-settings.d.ts +13 -3
- package/dist/runtimes/claude/open-settings.d.ts.map +1 -1
- package/dist/runtimes/claude/open-settings.js +94 -14
- package/dist/runtimes/claude/open-settings.js.map +1 -1
- package/dist/runtimes/claude/projection.d.ts +18 -3
- package/dist/runtimes/claude/projection.d.ts.map +1 -1
- package/dist/runtimes/claude/projection.js +29 -22
- package/dist/runtimes/claude/projection.js.map +1 -1
- package/dist/runtimes/claude/session.d.ts.map +1 -1
- package/dist/runtimes/claude/session.js +16 -11
- package/dist/runtimes/claude/session.js.map +1 -1
- package/dist/runtimes/claude/token-usage.d.ts +59 -0
- package/dist/runtimes/claude/token-usage.d.ts.map +1 -0
- package/dist/runtimes/claude/token-usage.js +135 -0
- package/dist/runtimes/claude/token-usage.js.map +1 -0
- package/dist/runtimes/codex/app-server-client.d.ts.map +1 -1
- package/dist/runtimes/codex/app-server-client.js +11 -8
- package/dist/runtimes/codex/app-server-client.js.map +1 -1
- package/dist/runtimes/codex/failure.d.ts +2 -4
- package/dist/runtimes/codex/failure.d.ts.map +1 -1
- package/dist/runtimes/codex/open.d.ts.map +1 -1
- package/dist/runtimes/codex/open.js +3 -2
- package/dist/runtimes/codex/open.js.map +1 -1
- package/dist/runtimes/codex/rpc-control.d.ts.map +1 -1
- package/dist/runtimes/codex/rpc-control.js +2 -1
- package/dist/runtimes/codex/rpc-control.js.map +1 -1
- package/dist/runtimes/codex/session.d.ts.map +1 -1
- package/dist/runtimes/codex/session.js +5 -6
- package/dist/runtimes/codex/session.js.map +1 -1
- package/dist/runtimes/grok/failure.js.map +1 -1
- package/dist/runtimes/kimi/session.d.ts.map +1 -1
- package/dist/runtimes/kimi/session.js +2 -2
- package/dist/runtimes/kimi/session.js.map +1 -1
- package/dist/runtimes/opencode/session.d.ts.map +1 -1
- package/dist/runtimes/opencode/session.js +3 -2
- package/dist/runtimes/opencode/session.js.map +1 -1
- package/dist/runtimes/pi/auth.d.ts +26 -5
- package/dist/runtimes/pi/auth.d.ts.map +1 -1
- package/dist/runtimes/pi/auth.js +53 -20
- package/dist/runtimes/pi/auth.js.map +1 -1
- package/dist/runtimes/pi/catalog.d.ts +3 -6
- package/dist/runtimes/pi/catalog.d.ts.map +1 -1
- package/dist/runtimes/pi/catalog.js +3 -11
- package/dist/runtimes/pi/catalog.js.map +1 -1
- package/dist/runtimes/pi/credentials.d.ts +6 -0
- package/dist/runtimes/pi/credentials.d.ts.map +1 -0
- package/dist/runtimes/pi/credentials.js +17 -0
- package/dist/runtimes/pi/credentials.js.map +1 -0
- package/dist/runtimes/pi/facade-runtime.d.ts +20 -0
- package/dist/runtimes/pi/facade-runtime.d.ts.map +1 -0
- package/dist/runtimes/pi/facade-runtime.js +23 -0
- package/dist/runtimes/pi/facade-runtime.js.map +1 -0
- package/dist/runtimes/pi/failure.d.ts +2 -4
- package/dist/runtimes/pi/failure.d.ts.map +1 -1
- package/dist/runtimes/pi/inventory.d.ts.map +1 -1
- package/dist/runtimes/pi/inventory.js +2 -1
- package/dist/runtimes/pi/inventory.js.map +1 -1
- package/dist/runtimes/pi/list-models.d.ts.map +1 -1
- package/dist/runtimes/pi/list-models.js +2 -1
- package/dist/runtimes/pi/list-models.js.map +1 -1
- package/dist/runtimes/pi/mcp.d.ts.map +1 -1
- package/dist/runtimes/pi/mcp.js +3 -2
- package/dist/runtimes/pi/mcp.js.map +1 -1
- package/dist/runtimes/pi/open.d.ts +1 -1
- package/dist/runtimes/pi/open.d.ts.map +1 -1
- package/dist/runtimes/pi/open.js +8 -4
- package/dist/runtimes/pi/open.js.map +1 -1
- package/dist/runtimes/pi/resolve.d.ts +9 -0
- package/dist/runtimes/pi/resolve.d.ts.map +1 -1
- package/dist/runtimes/pi/resolve.js +12 -0
- package/dist/runtimes/pi/resolve.js.map +1 -1
- package/dist/runtimes/pi/session.d.ts.map +1 -1
- package/dist/runtimes/pi/session.js +6 -7
- package/dist/runtimes/pi/session.js.map +1 -1
- package/dist/shared/acp/failure.js +2 -2
- package/dist/shared/acp/failure.js.map +1 -1
- package/dist/shared/acp/mcp-servers.d.ts +1 -1
- package/dist/shared/acp/mcp-servers.d.ts.map +1 -1
- package/dist/shared/acp/mcp-servers.js +1 -2
- package/dist/shared/acp/mcp-servers.js.map +1 -1
- package/dist/shared/acp/process.d.ts +3 -0
- package/dist/shared/acp/process.d.ts.map +1 -1
- package/dist/shared/acp/process.js +14 -1
- package/dist/shared/acp/process.js.map +1 -1
- package/dist/shared/acp/profile.d.ts +2 -3
- package/dist/shared/acp/profile.d.ts.map +1 -1
- package/dist/shared/acp/profile.js +3 -4
- package/dist/shared/acp/profile.js.map +1 -1
- package/dist/shared/acp/session.d.ts.map +1 -1
- package/dist/shared/acp/session.js +7 -8
- package/dist/shared/acp/session.js.map +1 -1
- package/dist/shared/credential-redactor.d.ts +9 -0
- package/dist/shared/credential-redactor.d.ts.map +1 -0
- package/dist/shared/credential-redactor.js +75 -0
- package/dist/shared/credential-redactor.js.map +1 -0
- package/dist/shared/failure-class.d.ts +2 -3
- package/dist/shared/failure-class.d.ts.map +1 -1
- package/dist/shared/failure-class.js.map +1 -1
- package/dist/shared/mcp-servers.d.ts +1 -6
- package/dist/shared/mcp-servers.d.ts.map +1 -1
- package/dist/shared/mcp-servers.js +3 -18
- package/dist/shared/mcp-servers.js.map +1 -1
- package/dist/shared/native-error.d.ts +7 -0
- package/dist/shared/native-error.d.ts.map +1 -0
- package/dist/shared/native-error.js +20 -0
- package/dist/shared/native-error.js.map +1 -0
- package/dist/shared/redact-text.d.ts +3 -0
- package/dist/shared/redact-text.d.ts.map +1 -0
- package/dist/shared/redact-text.js +71 -0
- package/dist/shared/redact-text.js.map +1 -0
- package/dist/shared/seal-session.js +1 -1
- package/dist/shared/seal-session.js.map +1 -1
- package/dist/shared/session-credentials.d.ts +11 -0
- package/dist/shared/session-credentials.d.ts.map +1 -0
- package/dist/shared/session-credentials.js +45 -0
- package/dist/shared/session-credentials.js.map +1 -0
- package/dist/shared/session-kernel.d.ts +2 -1
- package/dist/shared/session-kernel.d.ts.map +1 -1
- package/dist/shared/session-kernel.js +7 -5
- package/dist/shared/session-kernel.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQzD,sFAAsF;AACtF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC1E,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAE/D,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,IAAI,aAAa,CAE1E;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,SAAS,EAAE,GAAG,IAAI,CAWtG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAYvE;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAEzG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAUrF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sessionCredentialRedactor } from "./credential-redactor.js";
|
|
1
2
|
import { UnsupportedOptionError } from "../contracts/errors.js";
|
|
2
3
|
export function isHttpMcpServer(server) {
|
|
3
4
|
return "type" in server;
|
|
@@ -37,25 +38,9 @@ export function checkMcpServerNames(servers) {
|
|
|
37
38
|
seen.add(name);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
/**
|
|
41
|
-
const CREDENTIAL_MIN_LENGTH = 4;
|
|
42
|
-
/** Every credential value in the entries: each `env` and `headers` value, longest first. */
|
|
43
|
-
function credentialValues(servers) {
|
|
44
|
-
const values = servers.flatMap((server) => Object.values((isHttpMcpServer(server) ? server.headers : server.env) ?? {}));
|
|
45
|
-
return [...new Set(values.filter((value) => typeof value === "string" && value.length >= CREDENTIAL_MIN_LENGTH))].toSorted((left, right) => right.length - left.length);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* A redactor for text oar reports from a runtime that was given these
|
|
49
|
-
* entries (an error message, a stderr tail): every `env` and `headers` value
|
|
50
|
-
* of at least four characters becomes `[redacted]`. Identity when the
|
|
51
|
-
* entries hold none.
|
|
52
|
-
*/
|
|
41
|
+
/** The same credential-name, length and path rules used for retained session records. */
|
|
53
42
|
export function mcpCredentialRedactor(servers) {
|
|
54
|
-
|
|
55
|
-
if (values.length === 0) {
|
|
56
|
-
return (text) => text;
|
|
57
|
-
}
|
|
58
|
-
return (text) => values.reduce((redacted, value) => redacted.replaceAll(value, "[redacted]"), text);
|
|
43
|
+
return sessionCredentialRedactor({ mcpServers: servers ?? [] }).redact;
|
|
59
44
|
}
|
|
60
45
|
/**
|
|
61
46
|
* `error` with its message and stack passed through `redact`, and so every
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAchE,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/F,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,OAAyC;IACvE,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,sBAAsB,CAAC,YAAY,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,yEAAyE,CAAC,CAAC;gBAChL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/shared/mcp-servers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type JsonRecord } from "./json.js";
|
|
2
|
+
/** Diagnostic context for a failed native call, also usable before a Session exists to hold records. */
|
|
3
|
+
export declare function nativeErrorCause(method: string, native: JsonRecord, redact: (text: string) => string): {
|
|
4
|
+
readonly method: string;
|
|
5
|
+
readonly native: JsonRecord;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=native-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-error.d.ts","sourceRoot":"","sources":["../../src/shared/native-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AActD,wGAAwG;AACxG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAE/J"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { asRecord } from "./json.js";
|
|
2
|
+
/** Only decoded protocol JSON, never an arbitrary Error, request parameters or spawn arguments. */
|
|
3
|
+
function redactNative(value, redact) {
|
|
4
|
+
if (typeof value === "string") {
|
|
5
|
+
return redact(value);
|
|
6
|
+
}
|
|
7
|
+
if (Array.isArray(value)) {
|
|
8
|
+
return value.map((entry) => redactNative(entry, redact));
|
|
9
|
+
}
|
|
10
|
+
const record = asRecord(value);
|
|
11
|
+
return record === null ? value : redactRecord(record, redact);
|
|
12
|
+
}
|
|
13
|
+
function redactRecord(record, redact) {
|
|
14
|
+
return Object.fromEntries(Object.entries(record).map(([key, value]) => [redact(key), redactNative(value, redact)]));
|
|
15
|
+
}
|
|
16
|
+
/** Diagnostic context for a failed native call, also usable before a Session exists to hold records. */
|
|
17
|
+
export function nativeErrorCause(method, native, redact) {
|
|
18
|
+
return { method, native: redactRecord(native, redact) };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=native-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-error.js","sourceRoot":"","sources":["../../src/shared/native-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAEtD,mGAAmG;AACnG,SAAS,YAAY,CAAC,KAAc,EAAE,MAAgC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAChG,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB,EAAE,MAAgC;IACxE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,MAAkB,EAAE,MAAgC;IACnG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Copy diagnostic data, including Error fields and cause chains, replacing known strings without mutating native inputs. */
|
|
2
|
+
export declare function redactText<T>(value: T, redact: (text: string) => string, contains: (text: string) => boolean): T;
|
|
3
|
+
//# sourceMappingURL=redact-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact-text.d.ts","sourceRoot":"","sources":["../../src/shared/redact-text.ts"],"names":[],"mappings":"AACA,6HAA6H;AAC7H,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,CA+ChH"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* oxlint-disable import/prefer-default-export -- Shared named helper. */
|
|
2
|
+
/** Copy diagnostic data, including Error fields and cause chains, replacing known strings without mutating native inputs. */
|
|
3
|
+
export function redactText(value, redact, contains) {
|
|
4
|
+
const scanned = new Set();
|
|
5
|
+
const matches = (entry) => {
|
|
6
|
+
if (typeof entry === "string") {
|
|
7
|
+
return contains(entry);
|
|
8
|
+
}
|
|
9
|
+
if (entry === null || typeof entry !== "object" || scanned.has(entry)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
scanned.add(entry);
|
|
13
|
+
if (Array.isArray(entry)) {
|
|
14
|
+
return entry.some((item) => matches(item));
|
|
15
|
+
}
|
|
16
|
+
return Object.getOwnPropertyNames(entry).some((key) => {
|
|
17
|
+
if (contains(key)) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
const descriptor = Object.getOwnPropertyDescriptor(entry, key);
|
|
21
|
+
if (descriptor !== undefined && "value" in descriptor) {
|
|
22
|
+
return matches(descriptor.value);
|
|
23
|
+
}
|
|
24
|
+
return entry instanceof Error && key === "stack" && matches(entry.stack);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
if (!matches(value)) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
const seen = new Map();
|
|
31
|
+
const copy = (entry) => {
|
|
32
|
+
if (typeof entry === "string") {
|
|
33
|
+
return redact(entry);
|
|
34
|
+
}
|
|
35
|
+
if (entry === null || typeof entry !== "object") {
|
|
36
|
+
return entry;
|
|
37
|
+
}
|
|
38
|
+
if (seen.has(entry)) {
|
|
39
|
+
return seen.get(entry);
|
|
40
|
+
}
|
|
41
|
+
if (Array.isArray(entry)) {
|
|
42
|
+
const result = [];
|
|
43
|
+
seen.set(entry, result);
|
|
44
|
+
for (const item of entry) {
|
|
45
|
+
result.push(copy(item));
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
// Keep native Error classes (notably RuntimeFailureError) and non-enumerable
|
|
50
|
+
// message/stack/cause, even for frozen SDK errors. Never unwrap spawn errors.
|
|
51
|
+
// oxlint-disable-next-line typescript/no-unsafe-assignment, typescript/no-unsafe-argument -- Object's reflection API is untyped; preserve the native Error brand and its class prototype.
|
|
52
|
+
const result = entry instanceof Error ? Object.setPrototypeOf(new Error(redact(entry.message)), Object.getPrototypeOf(entry)) : {};
|
|
53
|
+
seen.set(entry, result);
|
|
54
|
+
for (const key of Object.getOwnPropertyNames(entry)) {
|
|
55
|
+
const descriptor = Object.getOwnPropertyDescriptor(entry, key);
|
|
56
|
+
if (descriptor !== undefined && "value" in descriptor) {
|
|
57
|
+
Object.defineProperty(result, redact(key), { ...descriptor, value: copy(descriptor.value) });
|
|
58
|
+
}
|
|
59
|
+
else if (entry instanceof Error && key === "stack" && typeof entry.stack === "string") {
|
|
60
|
+
// Node 24 exposes the lazily computed stack as an accessor. Copy its
|
|
61
|
+
// redacted text, never a getter closing over the original Error.
|
|
62
|
+
Object.defineProperty(result, "stack", { value: redact(entry.stack), configurable: true, writable: true });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
};
|
|
67
|
+
// Text leaves keep their types; only strings change, never the structure's kinds.
|
|
68
|
+
// oxlint-disable-next-line typescript/consistent-type-assertions, typescript/no-unsafe-type-assertion -- The recursive copy preserves scalar types, descriptors and array/object structure.
|
|
69
|
+
return copy(value);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=redact-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact-text.js","sourceRoot":"","sources":["../../src/shared/redact-text.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,6HAA6H;AAC7H,MAAM,UAAU,UAAU,CAAI,KAAQ,EAAE,MAAgC,EAAE,QAAmC;IAC3G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAW,EAAE;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QACzE,OAAO,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACpD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAAC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAC5F,OAAO,KAAK,YAAY,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,KAAc,EAAW,EAAE;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAClE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,6EAA6E;QAC7E,8EAA8E;QAC9E,0LAA0L;QAC1L,MAAM,MAAM,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3I,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBACtD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;iBAAM,IAAI,KAAK,YAAY,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxF,qEAAqE;gBACrE,iEAAiE;gBACjE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,kFAAkF;IAClF,4LAA4L;IAC5L,OAAO,IAAI,CAAC,KAAK,CAAM,CAAC;AAC1B,CAAC"}
|
|
@@ -81,7 +81,7 @@ export function sealSession(adapterSession) {
|
|
|
81
81
|
model: () => modelOf(adapterSession.records(), adapterSession.id),
|
|
82
82
|
effort: () => effortOf(adapterSession.records(), adapterSession.id),
|
|
83
83
|
serviceTier: () => serviceTierOf(adapterSession.records(), adapterSession.id),
|
|
84
|
-
usage: () => usageOf(adapterSession.records(), adapterSession.id),
|
|
84
|
+
usage: () => usageOf(adapterSession.records(), adapterSession.id, adapterSession.graph()),
|
|
85
85
|
contextUsage: () => contextUsageOf(adapterSession.records(), adapterSession.id),
|
|
86
86
|
status: () => statusOf(adapterSession.records(), adapterSession.id),
|
|
87
87
|
steerOrQueue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"seal-session.js","sourceRoot":"","sources":["../../src/shared/seal-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AvailableInstallation } from "../contracts/installation.js";
|
|
2
|
+
import type { AdapterSession, Session, SessionOptions, StartSession } from "../contracts/session.js";
|
|
3
|
+
import { type CredentialRedactor } from "./credential-redactor.js";
|
|
4
|
+
import { type SessionKernel } from "./session-kernel.js";
|
|
5
|
+
export interface SessionCredentials extends CredentialRedactor {
|
|
6
|
+
kernel(id: string): SessionKernel;
|
|
7
|
+
seal(adapter: AdapterSession): Session;
|
|
8
|
+
}
|
|
9
|
+
/** Keep opening failures and later adapter errors under the same session credential rules as the record stream. */
|
|
10
|
+
export declare function withSessionCredentials(open: (installation: AvailableInstallation, options: SessionOptions, credentials: SessionCredentials) => Promise<Session>): StartSession;
|
|
11
|
+
//# sourceMappingURL=session-credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-credentials.d.ts","sourceRoot":"","sources":["../../src/shared/session-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;CACxC;AA4BD,mHAAmH;AACnH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,YAAY,CAM9K"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { sessionCredentialRedactor } from "./credential-redactor.js";
|
|
2
|
+
import { sealSession } from "./seal-session.js";
|
|
3
|
+
import { createSessionKernel } from "./session-kernel.js";
|
|
4
|
+
/** Credentials supplied for this session, plus native keys the adapter resolves. No inherited environment or credential-file scan. */
|
|
5
|
+
function sessionCredentials(options) {
|
|
6
|
+
const { add, redact, redactValue } = sessionCredentialRedactor(options);
|
|
7
|
+
const guard = (method) => async (...args) => {
|
|
8
|
+
try {
|
|
9
|
+
return await method(...args);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
throw redactValue(error);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
add,
|
|
17
|
+
redact,
|
|
18
|
+
redactValue,
|
|
19
|
+
kernel: (id) => createSessionKernel(id, redactValue),
|
|
20
|
+
seal: (adapter) => sealSession({
|
|
21
|
+
...adapter,
|
|
22
|
+
prompt: guard(adapter.prompt.bind(adapter)),
|
|
23
|
+
queue: guard(adapter.queue.bind(adapter)),
|
|
24
|
+
...(adapter.steer === undefined ? {} : { steer: guard(adapter.steer.bind(adapter)) }),
|
|
25
|
+
...(adapter.withdraw === undefined ? {} : { withdraw: guard(adapter.withdraw.bind(adapter)) }),
|
|
26
|
+
abort: guard(adapter.abort.bind(adapter)),
|
|
27
|
+
dispose: guard(adapter.dispose.bind(adapter)),
|
|
28
|
+
...(adapter.contextBreakdown === undefined ? {} : { contextBreakdown: guard(adapter.contextBreakdown.bind(adapter)) }),
|
|
29
|
+
...(adapter.resources === undefined ? {} : { resources: guard(adapter.resources.bind(adapter)) }),
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** Keep opening failures and later adapter errors under the same session credential rules as the record stream. */
|
|
34
|
+
export function withSessionCredentials(open) {
|
|
35
|
+
return async (installation, options) => {
|
|
36
|
+
const credentials = sessionCredentials(options);
|
|
37
|
+
try {
|
|
38
|
+
return await open(installation, options, credentials);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw credentials.redactValue(error);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=session-credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-credentials.js","sourceRoot":"","sources":["../../src/shared/session-credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAA2B,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAO9E,sIAAsI;AACtI,SAAS,kBAAkB,CAAC,OAAuB;IACjD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,CAAiC,MAA0C,EAAwC,EAAE,CACjI,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QAChB,IAAI,CAAC;YAAC,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IACnF,CAAC,CAAC;IACJ,OAAO;QACL,GAAG;QACH,MAAM;QACN,WAAW;QACX,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC;QACpD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;YAC7B,GAAG,OAAO;YACV,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9F,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACtH,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;SAClG,CAAC;KACH,CAAC;AACJ,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,sBAAsB,CAAC,IAAyH;IAC9J,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC;YAAC,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAAC,CAAC;QAC9D,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -75,5 +75,6 @@ export interface SessionKernel {
|
|
|
75
75
|
/** Add a session node whose lineage is not (yet) known: an id seen on the wire without an explaining edge. Never fabricate the edge. */
|
|
76
76
|
node(id: string): void;
|
|
77
77
|
}
|
|
78
|
-
|
|
78
|
+
/** An optional session credential redactor runs before retention and observer delivery; native command inputs remain unchanged. */
|
|
79
|
+
export declare function createSessionKernel(sessionId?: string, redact?: <T extends RawEvent>(record: T) => T): SessionKernel;
|
|
79
80
|
//# sourceMappingURL=session-kernel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,gHAAgH;AAChH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7C,gHAAgH;IAChH,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACjH,iDAAiD;IACjD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC9E;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5I;;;;;;OAMG;IACH,WAAW,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3H,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACpE,OAAO,IAAI,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,IAAI,YAAY,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,wIAAwI;IACxI,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAqBD,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAuC,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"session-kernel.d.ts","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,gHAAgH;AAChH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7C,gHAAgH;IAChH,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa,CAAC;IACjH,iDAAiD;IACjD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC;IAC9E;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5I;;;;;;OAMG;IACH,WAAW,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3H,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACpE,OAAO,IAAI,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,IAAI,YAAY,CAAC;IACtB,gGAAgG;IAChG,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,wIAAwI;IACxI,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAqBD,mIAAmI;AACnI,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAAuC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,aAAa,CAiGpJ"}
|
|
@@ -15,7 +15,8 @@ function deliver(observer, record) {
|
|
|
15
15
|
// Observers are a side-tap; their failures must not touch the run.
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
/** An optional session credential redactor runs before retention and observer delivery; native command inputs remain unchanged. */
|
|
19
|
+
export function createSessionKernel(sessionId = globalThis.crypto.randomUUID(), redact) {
|
|
19
20
|
const observers = new Set();
|
|
20
21
|
const log = [];
|
|
21
22
|
const nodes = new Map([[sessionId, { id: sessionId }]]);
|
|
@@ -33,7 +34,8 @@ export function createSessionKernel(sessionId = globalThis.crypto.randomUUID())
|
|
|
33
34
|
receivedAt: Date.now(),
|
|
34
35
|
});
|
|
35
36
|
seq += 1;
|
|
36
|
-
|
|
37
|
+
const retained = redact === undefined ? record : redact(record);
|
|
38
|
+
log.push(retained);
|
|
37
39
|
if (record.kind === "response" && record.body.kind === "exited") {
|
|
38
40
|
exited = true;
|
|
39
41
|
}
|
|
@@ -41,9 +43,9 @@ export function createSessionKernel(sessionId = globalThis.crypto.randomUUID())
|
|
|
41
43
|
disposing = true;
|
|
42
44
|
}
|
|
43
45
|
for (const observer of observers) {
|
|
44
|
-
deliver(observer,
|
|
46
|
+
deliver(observer, retained);
|
|
45
47
|
}
|
|
46
|
-
return
|
|
48
|
+
return retained;
|
|
47
49
|
};
|
|
48
50
|
const unreachable = () => {
|
|
49
51
|
if (exited) {
|
|
@@ -61,7 +63,7 @@ export function createSessionKernel(sessionId = globalThis.crypto.randomUUID())
|
|
|
61
63
|
async control(body, decide, at) {
|
|
62
64
|
const blocked = unreachable();
|
|
63
65
|
const issued = request("toRuntime", body, at);
|
|
64
|
-
const decided = blocked ?? emptyInputRefusal(body) ?? await settle(decide, issued);
|
|
66
|
+
const decided = blocked ?? emptyInputRefusal(body) ?? await settle(decide, { ...issued, body });
|
|
65
67
|
return { request: issued, response: respond(issued.id, decided, at) };
|
|
66
68
|
},
|
|
67
69
|
unreachable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-kernel.js","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA0FvD,KAAK,UAAU,MAAM,CACnB,MAAwE,EACxE,MAAqB;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,QAA0B,EAAE,MAAgB;IAC3D,IAAI,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"session-kernel.js","sourceRoot":"","sources":["../../src/shared/session-kernel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.0",
|
|
4
4
|
"description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|