@armoriq/sdk-dev 0.6.10 → 0.8.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 +168 -1
- package/dist/_version.d.ts +1 -1
- package/dist/_version.d.ts.map +1 -1
- package/dist/_version.js +1 -1
- package/dist/_version.js.map +1 -1
- package/dist/cli/commands/auth.d.ts +12 -0
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +522 -49
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/client.d.ts +8 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +20 -18
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +0 -17
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -19
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -14
- package/dist/index.js.map +1 -1
- package/dist/integrations/google_adk.d.ts +155 -7
- package/dist/integrations/google_adk.d.ts.map +1 -1
- package/dist/integrations/google_adk.js +727 -46
- package/dist/integrations/google_adk.js.map +1 -1
- package/dist/integrations/langchain.d.ts +48 -2
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +528 -33
- package/dist/integrations/langchain.js.map +1 -1
- package/dist/integrations/strands.d.ts +65 -1
- package/dist/integrations/strands.d.ts.map +1 -1
- package/dist/integrations/strands.js +456 -36
- package/dist/integrations/strands.js.map +1 -1
- package/dist/models.d.ts +2 -2
- package/dist/models.d.ts.map +1 -1
- package/dist/observability/content-capture.d.ts +103 -0
- package/dist/observability/content-capture.d.ts.map +1 -0
- package/dist/observability/content-capture.js +423 -0
- package/dist/observability/content-capture.js.map +1 -0
- package/dist/observability/index.d.ts +6 -7
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +18 -27
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/otel-config.d.ts +47 -0
- package/dist/observability/otel-config.d.ts.map +1 -0
- package/dist/observability/otel-config.js +268 -0
- package/dist/observability/otel-config.js.map +1 -0
- package/dist/observability/otel-export-ceiling.d.ts +96 -0
- package/dist/observability/otel-export-ceiling.d.ts.map +1 -0
- package/dist/observability/otel-export-ceiling.js +271 -0
- package/dist/observability/otel-export-ceiling.js.map +1 -0
- package/dist/observability/otel-runtime.d.ts +103 -0
- package/dist/observability/otel-runtime.d.ts.map +1 -0
- package/dist/observability/otel-runtime.js +680 -0
- package/dist/observability/otel-runtime.js.map +1 -0
- package/dist/observability/otel-session.d.ts +168 -0
- package/dist/observability/otel-session.d.ts.map +1 -0
- package/dist/observability/otel-session.js +630 -0
- package/dist/observability/otel-session.js.map +1 -0
- package/dist/observability/otel-shutdown.d.ts +17 -0
- package/dist/observability/otel-shutdown.d.ts.map +1 -0
- package/dist/observability/otel-shutdown.js +54 -0
- package/dist/observability/otel-shutdown.js.map +1 -0
- package/dist/observability/policy-lease.d.ts +22 -0
- package/dist/observability/policy-lease.d.ts.map +1 -0
- package/dist/observability/policy-lease.js +102 -0
- package/dist/observability/policy-lease.js.map +1 -0
- package/dist/plan_builder.d.ts +5 -4
- package/dist/plan_builder.d.ts.map +1 -1
- package/dist/plan_builder.js +14 -15
- package/dist/plan_builder.js.map +1 -1
- package/dist/session.d.ts +61 -93
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +388 -804
- package/dist/session.js.map +1 -1
- package/dist/token_usage.d.ts +11 -18
- package/dist/token_usage.d.ts.map +1 -1
- package/dist/token_usage.js +29 -94
- package/dist/token_usage.js.map +1 -1
- package/dist/tool_name.d.ts +18 -0
- package/dist/tool_name.d.ts.map +1 -0
- package/dist/tool_name.js +29 -0
- package/dist/tool_name.js.map +1 -0
- package/dist/tool_push.d.ts +28 -0
- package/dist/tool_push.d.ts.map +1 -0
- package/dist/tool_push.js +151 -0
- package/dist/tool_push.js.map +1 -0
- package/dist/tool_registry.d.ts +100 -0
- package/dist/tool_registry.d.ts.map +1 -0
- package/dist/tool_registry.js +440 -0
- package/dist/tool_registry.js.map +1 -0
- package/dist/tool_schema.d.ts +22 -0
- package/dist/tool_schema.d.ts.map +1 -0
- package/dist/tool_schema.js +163 -0
- package/dist/tool_schema.js.map +1 -0
- package/package.json +12 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-session.js","sourceRoot":"","sources":["../../src/observability/otel-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-exit drain for SDK-owned OTel providers only.
|
|
3
|
+
*
|
|
4
|
+
* No SIGINT/SIGTERM handlers are installed: applications retain full control
|
|
5
|
+
* of their signal policy. `exit` is synchronous, so this module intentionally
|
|
6
|
+
* does nothing there. Node's `beforeExit` is the only async-safe boundary.
|
|
7
|
+
*/
|
|
8
|
+
interface OwnedTelemetryRuntime {
|
|
9
|
+
forceFlush(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/** Register only an SDK-created runtime. Borrowed application providers never enter this set. */
|
|
12
|
+
export declare function registerOwnedTelemetryRuntime(runtime: OwnedTelemetryRuntime): void;
|
|
13
|
+
export declare function unregisterOwnedTelemetryRuntime(runtime: OwnedTelemetryRuntime): void;
|
|
14
|
+
/** Test-only observability for ownership boundaries. */
|
|
15
|
+
export declare function __ownedTelemetryRuntimeCountForTests(): number;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=otel-shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-shutdown.d.ts","sourceRoot":"","sources":["../../src/observability/otel-shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU,qBAAqB;IAC7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAiCD,iGAAiG;AACjG,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAGlF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAEpF;AAED,wDAAwD;AACxD,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Process-exit drain for SDK-owned OTel providers only.
|
|
4
|
+
*
|
|
5
|
+
* No SIGINT/SIGTERM handlers are installed: applications retain full control
|
|
6
|
+
* of their signal policy. `exit` is synchronous, so this module intentionally
|
|
7
|
+
* does nothing there. Node's `beforeExit` is the only async-safe boundary.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.registerOwnedTelemetryRuntime = registerOwnedTelemetryRuntime;
|
|
11
|
+
exports.unregisterOwnedTelemetryRuntime = unregisterOwnedTelemetryRuntime;
|
|
12
|
+
exports.__ownedTelemetryRuntimeCountForTests = __ownedTelemetryRuntimeCountForTests;
|
|
13
|
+
const activeRuntimes = new Set();
|
|
14
|
+
let beforeExitRegistered = false;
|
|
15
|
+
let drainPromise = null;
|
|
16
|
+
const SHUTDOWN_DRAIN_MS = 1_500;
|
|
17
|
+
function boundedFlush(runtime) {
|
|
18
|
+
return new Promise((resolve) => {
|
|
19
|
+
const timer = setTimeout(resolve, SHUTDOWN_DRAIN_MS);
|
|
20
|
+
runtime.forceFlush()
|
|
21
|
+
.catch(() => undefined)
|
|
22
|
+
.finally(() => {
|
|
23
|
+
clearTimeout(timer);
|
|
24
|
+
resolve();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function drain() {
|
|
29
|
+
await Promise.all([...activeRuntimes].map((runtime) => boundedFlush(runtime)));
|
|
30
|
+
}
|
|
31
|
+
function registerBeforeExit() {
|
|
32
|
+
if (beforeExitRegistered || typeof process === 'undefined' || typeof process.on !== 'function')
|
|
33
|
+
return;
|
|
34
|
+
beforeExitRegistered = true;
|
|
35
|
+
process.on('beforeExit', () => {
|
|
36
|
+
// A resolved drainPromise remains a no-op when beforeExit fires again after
|
|
37
|
+
// the async flush completes. This avoids a repeated-drain loop.
|
|
38
|
+
if (!drainPromise)
|
|
39
|
+
drainPromise = drain();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/** Register only an SDK-created runtime. Borrowed application providers never enter this set. */
|
|
43
|
+
function registerOwnedTelemetryRuntime(runtime) {
|
|
44
|
+
activeRuntimes.add(runtime);
|
|
45
|
+
registerBeforeExit();
|
|
46
|
+
}
|
|
47
|
+
function unregisterOwnedTelemetryRuntime(runtime) {
|
|
48
|
+
activeRuntimes.delete(runtime);
|
|
49
|
+
}
|
|
50
|
+
/** Test-only observability for ownership boundaries. */
|
|
51
|
+
function __ownedTelemetryRuntimeCountForTests() {
|
|
52
|
+
return activeRuntimes.size;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=otel-shutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-shutdown.js","sourceRoot":"","sources":["../../src/observability/otel-shutdown.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAsCH,sEAGC;AAED,0EAEC;AAGD,oFAEC;AA5CD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;AACxD,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,IAAI,YAAY,GAAyB,IAAI,CAAC;AAC9C,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,SAAS,YAAY,CAAC,OAA8B;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACrD,OAAO,CAAC,UAAU,EAAE;aACjB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,OAAO,CAAC,GAAG,EAAE;YACZ,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,KAAK;IAClB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,oBAAoB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU;QAAE,OAAO;IACvG,oBAAoB,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAC5B,4EAA4E;QAC5E,gEAAgE;QAChE,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,KAAK,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,SAAgB,6BAA6B,CAAC,OAA8B;IAC1E,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,kBAAkB,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,+BAA+B,CAAC,OAA8B;IAC5E,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,wDAAwD;AACxD,SAAgB,oCAAoC;IAClD,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CaptureMode } from './otel-config';
|
|
2
|
+
import type { ContentReasonCode } from './content-capture';
|
|
3
|
+
export interface PolicyLease {
|
|
4
|
+
readonly captureMode: CaptureMode;
|
|
5
|
+
readonly revision: number;
|
|
6
|
+
readonly expiresAt: Date;
|
|
7
|
+
/** False means the SDK applied the safe local fallback. */
|
|
8
|
+
readonly authoritative: boolean;
|
|
9
|
+
/** Permission to retain content in ArmorIQ-owned observability storage. */
|
|
10
|
+
readonly contentCaptureAllowed: boolean;
|
|
11
|
+
/** Explicit organization grant for third-party OTLP content egress. */
|
|
12
|
+
readonly externalContentCaptureAllowed: boolean;
|
|
13
|
+
/** Derived, fail-closed content authority for the configured destination. */
|
|
14
|
+
readonly externalContentAllowed: boolean;
|
|
15
|
+
readonly contentReasonCode: ContentReasonCode;
|
|
16
|
+
/** Debug capture must expire even if a stale caller keeps this lease. */
|
|
17
|
+
readonly debugExpiresAt: Date | null;
|
|
18
|
+
}
|
|
19
|
+
export declare function parsePolicyLease(payload: unknown): PolicyLease;
|
|
20
|
+
export declare function fallbackPolicyLease(): PolicyLease;
|
|
21
|
+
export declare function isLeaseCurrent(lease: PolicyLease): boolean;
|
|
22
|
+
//# sourceMappingURL=policy-lease.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-lease.d.ts","sourceRoot":"","sources":["../../src/observability/policy-lease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAChD,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;CACtC;AAaD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CA+C9D;AAwBD,wBAAgB,mBAAmB,IAAI,WAAW,CAYjD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE1D"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePolicyLease = parsePolicyLease;
|
|
4
|
+
exports.fallbackPolicyLease = fallbackPolicyLease;
|
|
5
|
+
exports.isLeaseCurrent = isLeaseCurrent;
|
|
6
|
+
const LEASE_MS = 60_000;
|
|
7
|
+
const MODES = new Set(['off', 'metadata', 'enhanced', 'debug']);
|
|
8
|
+
// `new Date("2026-09-10T12:00:00")` (no offset) is parsed as local time, so
|
|
9
|
+
// the same lease resolves to a different, unannounced instant on every host.
|
|
10
|
+
// Mirrors Python's `parsed.tzinfo is None` rejection in policy_lease.py.
|
|
11
|
+
const UTC_OFFSET_PATTERN = /(?:Z|[+-]\d{2}:\d{2})$/i;
|
|
12
|
+
function hasExplicitUtcOffset(value) {
|
|
13
|
+
return UTC_OFFSET_PATTERN.test(value);
|
|
14
|
+
}
|
|
15
|
+
function parsePolicyLease(payload) {
|
|
16
|
+
if (!payload || typeof payload !== 'object')
|
|
17
|
+
throw new Error('invalid observability policy lease');
|
|
18
|
+
const value = payload;
|
|
19
|
+
const captureMode = value.captureMode;
|
|
20
|
+
const revision = value.revision;
|
|
21
|
+
const expiresAt = value.expiresAt;
|
|
22
|
+
if (typeof captureMode !== 'string' || !MODES.has(captureMode)) {
|
|
23
|
+
throw new Error('invalid observability policy capture mode');
|
|
24
|
+
}
|
|
25
|
+
if (!Number.isInteger(revision) || revision < 0) {
|
|
26
|
+
throw new Error('invalid observability policy revision');
|
|
27
|
+
}
|
|
28
|
+
if (typeof expiresAt !== 'string' || Number.isNaN(Date.parse(expiresAt)) || !hasExplicitUtcOffset(expiresAt)) {
|
|
29
|
+
throw new Error('invalid observability policy expiry');
|
|
30
|
+
}
|
|
31
|
+
const parsed = new Date(expiresAt);
|
|
32
|
+
if (parsed.getTime() <= Date.now())
|
|
33
|
+
throw new Error('observability policy lease expired');
|
|
34
|
+
// Older servers did not return content authority. Omission must never grant
|
|
35
|
+
// content capture; it remains a metadata-only lease until a new response.
|
|
36
|
+
const contentCaptureAllowed = value.contentCaptureAllowed === true;
|
|
37
|
+
const externalContentCaptureAllowed = value.externalContentCaptureAllowed === true;
|
|
38
|
+
const debugExpiresAt = parseOptionalDate(value.debugExpiresAt, 'invalid observability debug expiry');
|
|
39
|
+
// Debug is deliberately time-bounded. A legacy lease without an expiry may
|
|
40
|
+
// retain metadata compatibility but can never authorize debug content.
|
|
41
|
+
const debugStillCurrent = captureMode !== 'debug' || Boolean(debugExpiresAt && debugExpiresAt.getTime() > Date.now());
|
|
42
|
+
const externalContentAllowed = captureMode !== 'off'
|
|
43
|
+
&& captureMode !== 'metadata'
|
|
44
|
+
&& contentCaptureAllowed
|
|
45
|
+
&& externalContentCaptureAllowed
|
|
46
|
+
&& debugStillCurrent;
|
|
47
|
+
const contentReasonCode = deriveReason({
|
|
48
|
+
captureMode: captureMode,
|
|
49
|
+
contentCaptureAllowed,
|
|
50
|
+
externalContentCaptureAllowed,
|
|
51
|
+
debugStillCurrent,
|
|
52
|
+
});
|
|
53
|
+
return Object.freeze({
|
|
54
|
+
captureMode: captureMode,
|
|
55
|
+
revision: revision,
|
|
56
|
+
expiresAt: parsed,
|
|
57
|
+
authoritative: true,
|
|
58
|
+
contentCaptureAllowed,
|
|
59
|
+
externalContentCaptureAllowed,
|
|
60
|
+
externalContentAllowed,
|
|
61
|
+
contentReasonCode,
|
|
62
|
+
debugExpiresAt,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function parseOptionalDate(value, message) {
|
|
66
|
+
if (value === undefined || value === null)
|
|
67
|
+
return null;
|
|
68
|
+
if (typeof value !== 'string' || Number.isNaN(Date.parse(value)) || !hasExplicitUtcOffset(value)) {
|
|
69
|
+
throw new Error(message);
|
|
70
|
+
}
|
|
71
|
+
return new Date(value);
|
|
72
|
+
}
|
|
73
|
+
function deriveReason(input) {
|
|
74
|
+
if (input.captureMode === 'off')
|
|
75
|
+
return 'capture_mode_off';
|
|
76
|
+
if (input.captureMode === 'metadata')
|
|
77
|
+
return 'capture_mode_metadata';
|
|
78
|
+
if (input.captureMode === 'debug' && !input.debugStillCurrent)
|
|
79
|
+
return 'policy_expired';
|
|
80
|
+
if (!input.contentCaptureAllowed)
|
|
81
|
+
return 'organization_content_disabled';
|
|
82
|
+
if (!input.externalContentCaptureAllowed)
|
|
83
|
+
return 'external_content_disabled';
|
|
84
|
+
return 'captured';
|
|
85
|
+
}
|
|
86
|
+
function fallbackPolicyLease() {
|
|
87
|
+
return Object.freeze({
|
|
88
|
+
captureMode: 'metadata',
|
|
89
|
+
revision: 0,
|
|
90
|
+
expiresAt: new Date(Date.now() + LEASE_MS),
|
|
91
|
+
authoritative: false,
|
|
92
|
+
contentCaptureAllowed: false,
|
|
93
|
+
externalContentCaptureAllowed: false,
|
|
94
|
+
externalContentAllowed: false,
|
|
95
|
+
contentReasonCode: 'policy_unavailable',
|
|
96
|
+
debugExpiresAt: null,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
function isLeaseCurrent(lease) {
|
|
100
|
+
return lease.expiresAt.getTime() > Date.now();
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=policy-lease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-lease.js","sourceRoot":"","sources":["../../src/observability/policy-lease.ts"],"names":[],"mappings":"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"}
|
package/dist/plan_builder.d.ts
CHANGED
|
@@ -14,11 +14,12 @@ export type ToolNameParser = (toolName: string) => {
|
|
|
14
14
|
action: string;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
-
* Default tool-name convention: `<MCP>__<action
|
|
18
|
-
*
|
|
17
|
+
* Default tool-name convention: `<MCP>__<action>`, optionally behind the
|
|
18
|
+
* `mcp__` prefix @langchain/mcp-adapters emits. See splitPrefixedToolName.
|
|
19
19
|
*
|
|
20
|
-
* "Stripe__create_payment"
|
|
21
|
-
* "
|
|
20
|
+
* "Stripe__create_payment" -> { mcp: "Stripe", action: "create_payment" }
|
|
21
|
+
* "mcp__Stripe__create_payment" -> { mcp: "Stripe", action: "create_payment" }
|
|
22
|
+
* "create_payment" -> uses defaultMcpName, else throws.
|
|
22
23
|
*/
|
|
23
24
|
export declare function defaultToolNameParser(defaultMcpName?: string): ToolNameParser;
|
|
24
25
|
export interface PlanStep {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan_builder.d.ts","sourceRoot":"","sources":["../src/plan_builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"plan_builder.d.ts","sourceRoot":"","sources":["../src/plan_builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,cAAc,CAc7E;AAMD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,EAC7E,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,cAAc,EAC/B,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,CAcX;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAC5E,MAAM,CAOR"}
|
package/dist/plan_builder.js
CHANGED
|
@@ -48,28 +48,27 @@ exports.buildPlanFromToolCalls = buildPlanFromToolCalls;
|
|
|
48
48
|
exports.hashToolCalls = hashToolCalls;
|
|
49
49
|
const crypto = __importStar(require("crypto"));
|
|
50
50
|
const crypto_verify_1 = require("./crypto_verify");
|
|
51
|
+
const tool_name_1 = require("./tool_name");
|
|
51
52
|
/**
|
|
52
|
-
* Default tool-name convention: `<MCP>__<action
|
|
53
|
-
*
|
|
53
|
+
* Default tool-name convention: `<MCP>__<action>`, optionally behind the
|
|
54
|
+
* `mcp__` prefix @langchain/mcp-adapters emits. See splitPrefixedToolName.
|
|
54
55
|
*
|
|
55
|
-
* "Stripe__create_payment"
|
|
56
|
-
* "
|
|
56
|
+
* "Stripe__create_payment" -> { mcp: "Stripe", action: "create_payment" }
|
|
57
|
+
* "mcp__Stripe__create_payment" -> { mcp: "Stripe", action: "create_payment" }
|
|
58
|
+
* "create_payment" -> uses defaultMcpName, else throws.
|
|
57
59
|
*/
|
|
58
60
|
function defaultToolNameParser(defaultMcpName) {
|
|
59
61
|
return (toolName) => {
|
|
60
|
-
const
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
return { mcp: defaultMcpName, action: toolName };
|
|
66
|
-
}
|
|
67
|
-
const mcp = toolName.slice(0, idx);
|
|
68
|
-
const action = toolName.slice(idx + 2);
|
|
69
|
-
if (!mcp || !action) {
|
|
62
|
+
const split = (0, tool_name_1.splitPrefixedToolName)(toolName);
|
|
63
|
+
if (split)
|
|
64
|
+
return split;
|
|
65
|
+
if (toolName.includes('__')) {
|
|
70
66
|
throw new Error(`Tool "${toolName}" has a malformed MCP prefix.`);
|
|
71
67
|
}
|
|
72
|
-
|
|
68
|
+
if (!defaultMcpName) {
|
|
69
|
+
throw new Error(`Tool "${toolName}" is not namespaced as <MCP>__<action> and no defaultMcpName was set on the session.`);
|
|
70
|
+
}
|
|
71
|
+
return { mcp: defaultMcpName, action: toolName };
|
|
73
72
|
};
|
|
74
73
|
}
|
|
75
74
|
function asToolCall(tc) {
|
package/dist/plan_builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan_builder.js","sourceRoot":"","sources":["../src/plan_builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plan_builder.js","sourceRoot":"","sources":["../src/plan_builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBH,sDAcC;AAsBD,wDAmBC;AAUD,sCASC;AAzFD,+CAAiC;AACjC,mDAAgD;AAEhD,2CAAoD;AAIpD;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,cAAuB;IAC3D,OAAO,CAAC,QAAgB,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,IAAA,iCAAqB,EAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,+BAA+B,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,sFAAsF,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAA+D;IACjF,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAChD,CAAC;AAeD;;GAEG;AACH,SAAgB,sBAAsB,CACpC,SAA6E,EAC7E,IAAa,EACb,cAA+B,EAC/B,cAAuB;IAEvB,MAAM,MAAM,GAAG,cAAc,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,KAAK,GAAe,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;YACL,MAAM;YACN,IAAI,EAAE,MAAM;YACZ,GAAG;YACH,MAAM,EAAG,IAAI,CAAC,IAAgC,IAAI,EAAE;YACpD,WAAW,EAAE,QAAQ,MAAM,OAAO,GAAG,EAAE;SACxC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,SAA6E;IAE7E,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI;QACzB,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,IAAA,6BAAa,EAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* return session.dispatch(toolName, toolArgs);
|
|
15
15
|
*/
|
|
16
16
|
import { ArmorIQClient } from './client';
|
|
17
|
-
import { ObservabilityConfig } from './config';
|
|
18
17
|
import { IntentToken, ToolCall } from './models';
|
|
19
18
|
import { ToolNameParser } from './plan_builder';
|
|
20
|
-
import {
|
|
19
|
+
import { OtelSession, type ObservabilityOptions, type OtelTerminalStatus, type TelemetryContent } from './observability';
|
|
20
|
+
import type { OperationInput } from './observability/otel-session';
|
|
21
21
|
export type SessionMode = 'local' | 'proxy' | 'sdk';
|
|
22
22
|
export interface SessionOptions {
|
|
23
23
|
toolNameParser?: ToolNameParser;
|
|
@@ -67,9 +67,9 @@ export interface SessionOptions {
|
|
|
67
67
|
/**
|
|
68
68
|
* Observability emitter overrides for this session. Falls back to the
|
|
69
69
|
* client-level `SDKConfig.observability` when unset. Setting
|
|
70
|
-
* `enabled: false` disables
|
|
70
|
+
* `enabled: false` disables native OTel emission entirely.
|
|
71
71
|
*/
|
|
72
|
-
observability?:
|
|
72
|
+
observability?: ObservabilityOptions;
|
|
73
73
|
/**
|
|
74
74
|
* Stable session id stamped onto every observability trace emitted by
|
|
75
75
|
* this session (`obs_traces.session_id` / groups into one `obs_sessions`
|
|
@@ -123,6 +123,14 @@ export interface ReportOptions {
|
|
|
123
123
|
isDelegated?: boolean;
|
|
124
124
|
delegatedBy?: string;
|
|
125
125
|
delegatedTo?: string;
|
|
126
|
+
/** Safe typed operation facts only; raw tool args and output stay out of this record. */
|
|
127
|
+
operation?: Omit<OperationInput, 'toolName' | 'planItemOrdinal'>;
|
|
128
|
+
/** A framework lifecycle already owns the native OTel tool span. */
|
|
129
|
+
emitOtel?: boolean;
|
|
130
|
+
}
|
|
131
|
+
interface PolicyTelemetryOptions {
|
|
132
|
+
/** Framework adapters own richer policy span context and suppress the core span. */
|
|
133
|
+
emitOtel?: boolean;
|
|
126
134
|
}
|
|
127
135
|
type ToolCallInput = ToolCall | {
|
|
128
136
|
name: string;
|
|
@@ -131,6 +139,7 @@ type ToolCallInput = ToolCall | {
|
|
|
131
139
|
export declare class ArmorIQSession {
|
|
132
140
|
userEmail?: string;
|
|
133
141
|
private client;
|
|
142
|
+
private readonly pendingPolicyTelemetry;
|
|
134
143
|
private toolNameParser;
|
|
135
144
|
private defaultMcpName?;
|
|
136
145
|
private validitySeconds;
|
|
@@ -146,11 +155,15 @@ export declare class ArmorIQSession {
|
|
|
146
155
|
private mcpByAction;
|
|
147
156
|
private declaredTools;
|
|
148
157
|
private metadataWarmed;
|
|
149
|
-
|
|
158
|
+
/** Native OTel bridge. It never changes the application's global provider. */
|
|
159
|
+
private otel;
|
|
160
|
+
/** Pending delegation spans are ended only by the approval terminal path. */
|
|
161
|
+
private readonly pendingDelegationOperations;
|
|
162
|
+
private readonly delegationTerminalOperations;
|
|
163
|
+
private readonly completedDelegations;
|
|
150
164
|
/**
|
|
151
165
|
* This session's one stable observability session id — stamped onto every
|
|
152
|
-
* trace this session emits
|
|
153
|
-
* `ObservabilityConfig.sessionId`). Always a valid UUID; the backend's
|
|
166
|
+
* trace this session emits. Always a valid UUID; the backend's
|
|
154
167
|
* `obs_sessions.id` column is UUID-typed, so a non-UUID id (e.g. the
|
|
155
168
|
* legacy `contextId` default of the literal string `'default'`) can never
|
|
156
169
|
* form a session and traces stamped with it can never be grouped.
|
|
@@ -161,83 +174,46 @@ export declare class ArmorIQSession {
|
|
|
161
174
|
* 3. A freshly minted `crypto.randomUUID()` (default — no arg needed).
|
|
162
175
|
*/
|
|
163
176
|
readonly sessionId: string;
|
|
164
|
-
/**
|
|
165
|
-
* Model A (trace-per-plan): the ONE active observability trace for the
|
|
166
|
-
* current plan. Every chokepoint (enforce/check/report/dispatch/...)
|
|
167
|
-
* records a container span under this trace via `ensurePlanTrace()`
|
|
168
|
-
* instead of opening its own trace — matching Langfuse/OTel's
|
|
169
|
-
* Session → Trace → Observation hierarchy (one IAP plan = one trace).
|
|
170
|
-
*
|
|
171
|
-
* Lifecycle: opened by `ensurePlanTrace()` (called from `startPlan()` or
|
|
172
|
-
* lazily by any chokepoint invoked before `startPlan()` — back-compat);
|
|
173
|
-
* ended by `endPlanTrace()`, called on the NEXT `startPlan()`, on
|
|
174
|
-
* `close()`/`dispose()`, and on `flushObservability()`.
|
|
175
|
-
*/
|
|
176
|
-
private activePlanTrace;
|
|
177
177
|
constructor(client: ArmorIQClient, opts?: SessionOptions);
|
|
178
|
+
/** Native request-scoped OTel bridge for framework adapters. */
|
|
179
|
+
get otelSession(): OtelSession | null;
|
|
178
180
|
/**
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* ..., observabilityRecorder, planTraceCtx })` so transcript-derived generation spans are
|
|
183
|
-
* attributed to the correct session — the SDK no longer keeps a
|
|
184
|
-
* process-global "active recorder" (see #4: concurrent sessions would
|
|
185
|
-
* otherwise misattribute usage to whichever session constructed last).
|
|
181
|
+
* Explicitly await the observability policy control-plane refresh. Request
|
|
182
|
+
* hooks must not call this: their native telemetry remains fail-open and
|
|
183
|
+
* latency-free while the SDK refreshes in the background.
|
|
186
184
|
*/
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Model A (Task 4): the session's active plan trace context, or `null` if
|
|
190
|
-
* none is open yet (lazily opens on first use — same as every chokepoint).
|
|
191
|
-
* Pass this as `summarizeTranscriptUsage(path, session.observabilityRecorder,
|
|
192
|
-
* session.activePlanTraceContext)` (or via
|
|
193
|
-
* `client.captureTranscriptTokens({ ..., planTraceCtx: session.activePlanTraceContext })`)
|
|
194
|
-
* so transcript-derived generation spans nest under the SAME plan trace as
|
|
195
|
-
* every other chokepoint this session recorded, instead of opening a
|
|
196
|
-
* standalone `llm.usage.report` trace.
|
|
197
|
-
*/
|
|
198
|
-
get activePlanTraceContext(): TraceContext | null;
|
|
199
|
-
/**
|
|
200
|
-
* Return the session's active plan trace, lazily opening one if none is
|
|
201
|
-
* active. This is the ONE trace every chokepoint's container span nests
|
|
202
|
-
* under (Model A: trace-per-plan). Returns `null` when observability is
|
|
203
|
-
* disabled — every call site already treats a null ctx as "skip emit".
|
|
204
|
-
*
|
|
205
|
-
* Back-compat (plan §"Global Constraints"): a chokepoint invoked with no
|
|
206
|
-
* prior `startPlan()` (e.g. a standalone `enforceLocal()`/`report()` call)
|
|
207
|
-
* still needs to emit — so this opens a plan trace lazily on first use
|
|
208
|
-
* rather than requiring `startPlan()` to have run first.
|
|
209
|
-
*/
|
|
210
|
-
private ensurePlanTrace;
|
|
211
|
-
/**
|
|
212
|
-
* End the active plan trace (if any) and clear it. Called on the NEXT
|
|
213
|
-
* `startPlan()` (closing the PRIOR plan before opening a new one),
|
|
214
|
-
* `close()`/`dispose()`, and `flushObservability()` — so the in-flight
|
|
215
|
-
* plan trace always ships before the process exits or a new plan begins.
|
|
216
|
-
*/
|
|
217
|
-
private endPlanTrace;
|
|
185
|
+
refreshObservabilityPolicy(): Promise<void>;
|
|
218
186
|
private reanchorCall;
|
|
219
187
|
private getIntentTokenCall;
|
|
220
188
|
startPlan(toolCalls: ToolCallInput[], goal?: string): Promise<IntentToken>;
|
|
221
189
|
private _startPlanImpl;
|
|
190
|
+
enforceLocal(toolName: string, toolArgs: Record<string, unknown>): EnforceResult;
|
|
191
|
+
private _enforceLocalImpl;
|
|
222
192
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
* siblings directly under the plan trace (Task 3 risk: "check → enforce
|
|
228
|
-
* double-open" — `iap.check`'s span wraps the dispatched enforce span,
|
|
229
|
-
* it never opens a second redundant plan trace or duplicate container).
|
|
193
|
+
* A server named in the tool itself wins; the plan's action map only answers
|
|
194
|
+
* for unqualified names. The map keeps one server per action, so with
|
|
195
|
+
* `stripe__search` and `github__search` both planned it would otherwise send
|
|
196
|
+
* the last one for either call.
|
|
230
197
|
*/
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
198
|
+
private resolveMcp;
|
|
199
|
+
/**
|
|
200
|
+
* The two fields the tool inventory attributes a call with. `wireName` is the
|
|
201
|
+
* name the framework dispatched, untouched. `mcpServer` is sent only when the
|
|
202
|
+
* SDK actually knows the server (the name carried it, or the bootstrap toolMap
|
|
203
|
+
* named it); a default fallback is a guess and is left out so the backend
|
|
204
|
+
* attributes from its own declarations.
|
|
205
|
+
*/
|
|
206
|
+
/** `toolsSnapshotHash` when this client has an inventory; conmap answers `inventoryUnknown` if it holds no snapshot under it. */
|
|
207
|
+
private snapshotHashField;
|
|
208
|
+
private inventoryFields;
|
|
209
|
+
enforceSdk(toolName: string, toolArgs: Record<string, unknown>, userEmail?: string): Promise<EnforceResult>;
|
|
236
210
|
private _enforceSdkImpl;
|
|
237
|
-
|
|
238
|
-
enforce(toolName: string, toolArgs: Record<string, unknown>, parentContainerSpanId?: string | null): Promise<EnforceResult>;
|
|
211
|
+
enforce(toolName: string, toolArgs: Record<string, unknown>): Promise<EnforceResult>;
|
|
239
212
|
private _enforceImpl;
|
|
240
|
-
check(toolName: string, toolArgs: Record<string, unknown>, userEmail?: string): Promise<EnforceResult>;
|
|
213
|
+
check(toolName: string, toolArgs: Record<string, unknown>, userEmail?: string, telemetry?: PolicyTelemetryOptions): Promise<EnforceResult>;
|
|
214
|
+
private recordPolicyDecision;
|
|
215
|
+
private trackPolicyTelemetry;
|
|
216
|
+
private drainPolicyTelemetry;
|
|
241
217
|
report(toolName: string, toolArgs: Record<string, unknown>, result: unknown, opts?: ReportOptions): Promise<void>;
|
|
242
218
|
dispatch(toolName: string, toolArgs: Record<string, unknown>): Promise<unknown>;
|
|
243
219
|
private handleHold;
|
|
@@ -253,6 +229,8 @@ export declare class ArmorIQSession {
|
|
|
253
229
|
interval?: number;
|
|
254
230
|
userEmail?: string;
|
|
255
231
|
}): Promise<'approved' | 'rejected' | 'timeout'>;
|
|
232
|
+
private operationForTool;
|
|
233
|
+
private finalizeDelegationOperation;
|
|
256
234
|
private static extractAmount;
|
|
257
235
|
/**
|
|
258
236
|
* The amount a financial policy should be compared against. The tool's
|
|
@@ -299,36 +277,26 @@ export declare class ArmorIQSession {
|
|
|
299
277
|
get currentTokenValue(): IntentToken | undefined;
|
|
300
278
|
get currentMode(): SessionMode;
|
|
301
279
|
/**
|
|
302
|
-
*
|
|
303
|
-
*
|
|
280
|
+
* End the active native OTel plan span and force-flush its exporter.
|
|
281
|
+
* No-op when native observability is disabled.
|
|
304
282
|
*
|
|
305
283
|
* Call this at the request boundary (e.g. Stop hook in armorClaude, end of
|
|
306
|
-
* turn in ADK consumers) to
|
|
307
|
-
*
|
|
308
|
-
* exponential backoff and **never throws** into the SDK consumer — a flush
|
|
309
|
-
* failure is logged and the spans are dropped.
|
|
284
|
+
* turn in ADK consumers) to make completed native spans available before the
|
|
285
|
+
* process exits. Export remains fail-open and does not change tool execution.
|
|
310
286
|
*/
|
|
311
287
|
flushObservability(): Promise<void>;
|
|
312
288
|
/**
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
* multiple times; a no-op when observability is disabled.
|
|
289
|
+
* Close the native OTel session: end any active plan and root spans, then
|
|
290
|
+
* perform the final exporter shutdown. Safe to call multiple times; a no-op
|
|
291
|
+
* when native observability is disabled.
|
|
317
292
|
*
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
* processes this is a resource leak, and in tests it is why processes
|
|
321
|
-
* (and jest) can hang or emit "cannot log after tests done" / stray
|
|
322
|
-
* network activity after teardown. `flushObservability()` alone does NOT
|
|
323
|
-
* stop the interval — it only flushes; call `close()` (or `dispose()`) at
|
|
324
|
-
* the natural end of the session's lifetime (e.g. Stop hook in armorClaude,
|
|
325
|
-
* end of process, or end of a request/turn in ADK consumers) instead of
|
|
326
|
-
* (or in addition to) `flushObservability()`.
|
|
293
|
+
* Call `close()` (or `dispose()`) at the natural end of the session's
|
|
294
|
+
* lifetime, such as an adapter Stop hook or the end of a request/turn.
|
|
327
295
|
*
|
|
328
296
|
* NEVER throws — observability teardown failures must not propagate into
|
|
329
297
|
* the SDK consumer, matching every other observability code path.
|
|
330
298
|
*/
|
|
331
|
-
close(status?:
|
|
299
|
+
close(status?: OtelTerminalStatus, taskOutcome?: string, content?: Pick<TelemetryContent, 'output'>): Promise<void>;
|
|
332
300
|
/** Alias for `close()`. Use whichever reads better at the call site. */
|
|
333
301
|
dispose(): Promise<void>;
|
|
334
302
|
}
|