@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.
Files changed (96) hide show
  1. package/README.md +168 -1
  2. package/dist/_version.d.ts +1 -1
  3. package/dist/_version.d.ts.map +1 -1
  4. package/dist/_version.js +1 -1
  5. package/dist/_version.js.map +1 -1
  6. package/dist/cli/commands/auth.d.ts +12 -0
  7. package/dist/cli/commands/auth.d.ts.map +1 -1
  8. package/dist/cli/commands/auth.js +522 -49
  9. package/dist/cli/commands/auth.js.map +1 -1
  10. package/dist/client.d.ts +8 -15
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +20 -18
  13. package/dist/client.js.map +1 -1
  14. package/dist/config.d.ts +0 -17
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +1 -19
  17. package/dist/config.js.map +1 -1
  18. package/dist/index.d.ts +3 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +8 -14
  21. package/dist/index.js.map +1 -1
  22. package/dist/integrations/google_adk.d.ts +155 -7
  23. package/dist/integrations/google_adk.d.ts.map +1 -1
  24. package/dist/integrations/google_adk.js +727 -46
  25. package/dist/integrations/google_adk.js.map +1 -1
  26. package/dist/integrations/langchain.d.ts +48 -2
  27. package/dist/integrations/langchain.d.ts.map +1 -1
  28. package/dist/integrations/langchain.js +528 -33
  29. package/dist/integrations/langchain.js.map +1 -1
  30. package/dist/integrations/strands.d.ts +65 -1
  31. package/dist/integrations/strands.d.ts.map +1 -1
  32. package/dist/integrations/strands.js +456 -36
  33. package/dist/integrations/strands.js.map +1 -1
  34. package/dist/models.d.ts +2 -2
  35. package/dist/models.d.ts.map +1 -1
  36. package/dist/observability/content-capture.d.ts +103 -0
  37. package/dist/observability/content-capture.d.ts.map +1 -0
  38. package/dist/observability/content-capture.js +423 -0
  39. package/dist/observability/content-capture.js.map +1 -0
  40. package/dist/observability/index.d.ts +6 -7
  41. package/dist/observability/index.d.ts.map +1 -1
  42. package/dist/observability/index.js +18 -27
  43. package/dist/observability/index.js.map +1 -1
  44. package/dist/observability/otel-config.d.ts +47 -0
  45. package/dist/observability/otel-config.d.ts.map +1 -0
  46. package/dist/observability/otel-config.js +268 -0
  47. package/dist/observability/otel-config.js.map +1 -0
  48. package/dist/observability/otel-export-ceiling.d.ts +96 -0
  49. package/dist/observability/otel-export-ceiling.d.ts.map +1 -0
  50. package/dist/observability/otel-export-ceiling.js +271 -0
  51. package/dist/observability/otel-export-ceiling.js.map +1 -0
  52. package/dist/observability/otel-runtime.d.ts +103 -0
  53. package/dist/observability/otel-runtime.d.ts.map +1 -0
  54. package/dist/observability/otel-runtime.js +680 -0
  55. package/dist/observability/otel-runtime.js.map +1 -0
  56. package/dist/observability/otel-session.d.ts +168 -0
  57. package/dist/observability/otel-session.d.ts.map +1 -0
  58. package/dist/observability/otel-session.js +630 -0
  59. package/dist/observability/otel-session.js.map +1 -0
  60. package/dist/observability/otel-shutdown.d.ts +17 -0
  61. package/dist/observability/otel-shutdown.d.ts.map +1 -0
  62. package/dist/observability/otel-shutdown.js +54 -0
  63. package/dist/observability/otel-shutdown.js.map +1 -0
  64. package/dist/observability/policy-lease.d.ts +22 -0
  65. package/dist/observability/policy-lease.d.ts.map +1 -0
  66. package/dist/observability/policy-lease.js +102 -0
  67. package/dist/observability/policy-lease.js.map +1 -0
  68. package/dist/plan_builder.d.ts +5 -4
  69. package/dist/plan_builder.d.ts.map +1 -1
  70. package/dist/plan_builder.js +14 -15
  71. package/dist/plan_builder.js.map +1 -1
  72. package/dist/session.d.ts +61 -93
  73. package/dist/session.d.ts.map +1 -1
  74. package/dist/session.js +388 -804
  75. package/dist/session.js.map +1 -1
  76. package/dist/token_usage.d.ts +11 -18
  77. package/dist/token_usage.d.ts.map +1 -1
  78. package/dist/token_usage.js +29 -94
  79. package/dist/token_usage.js.map +1 -1
  80. package/dist/tool_name.d.ts +18 -0
  81. package/dist/tool_name.d.ts.map +1 -0
  82. package/dist/tool_name.js +29 -0
  83. package/dist/tool_name.js.map +1 -0
  84. package/dist/tool_push.d.ts +28 -0
  85. package/dist/tool_push.d.ts.map +1 -0
  86. package/dist/tool_push.js +151 -0
  87. package/dist/tool_push.js.map +1 -0
  88. package/dist/tool_registry.d.ts +100 -0
  89. package/dist/tool_registry.d.ts.map +1 -0
  90. package/dist/tool_registry.js +440 -0
  91. package/dist/tool_registry.js.map +1 -0
  92. package/dist/tool_schema.d.ts +22 -0
  93. package/dist/tool_schema.d.ts.map +1 -0
  94. package/dist/tool_schema.js +163 -0
  95. package/dist/tool_schema.js.map +1 -0
  96. 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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"}
@@ -14,11 +14,12 @@ export type ToolNameParser = (toolName: string) => {
14
14
  action: string;
15
15
  };
16
16
  /**
17
- * Default tool-name convention: `<MCP>__<action>`. Matches the proxy's
18
- * MCP gateway and the convention used by sdk-admin-agent.
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" -> { mcp: "Stripe", action: "create_payment" }
21
- * "create_payment" -> uses defaultMcpName, else throws.
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;AAEpC,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,cAAc,CAkB7E;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"}
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"}
@@ -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>`. Matches the proxy's
53
- * MCP gateway and the convention used by sdk-admin-agent.
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" -> { mcp: "Stripe", action: "create_payment" }
56
- * "create_payment" -> uses defaultMcpName, else throws.
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 idx = toolName.indexOf('__');
61
- if (idx === -1) {
62
- if (!defaultMcpName) {
63
- throw new Error(`Tool "${toolName}" is not namespaced as <MCP>__<action> and no defaultMcpName was set on the session.`);
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
- return { mcp, action };
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan_builder.js","sourceRoot":"","sources":["../src/plan_builder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,sDAkBC;AAsBD,wDAmBC;AAUD,sCASC;AA3FD,+CAAiC;AACjC,mDAAgD;AAKhD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,cAAuB;IAC3D,OAAO,CAAC,QAAgB,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,sFAAsF,CACxG,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,+BAA+B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,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"}
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 { ObservabilityRecorder, type TraceContext } from './observability';
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 the recorder entirely.
70
+ * `enabled: false` disables native OTel emission entirely.
71
71
  */
72
- observability?: ObservabilityConfig;
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
- private obs;
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 (via the recorder's `defaultSessionId`, see
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
- * The session's `ObservabilityRecorder`, or `null` when observability is
180
- * disabled for this session. Pass this explicitly to
181
- * `summarizeTranscriptUsage(path, recorder, ctx)` / `client.captureTranscriptTokens({
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
- get observabilityRecorder(): ObservabilityRecorder | null;
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
- * `parentContainerSpanId` is an internal-only hook (not part of the public
224
- * signature contract other SDK consumers rely on — it's simply an extra
225
- * optional trailing arg) so `check()` can nest this call's container span
226
- * under `iap.check`'s own container span instead of both sitting as
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
- enforceLocal(toolName: string, toolArgs: Record<string, unknown>, parentContainerSpanId?: string | null): EnforceResult;
232
- private _enforceLocalImpl;
233
- private _emitEnforcePolicyCall;
234
- /** See `enforceLocal`'s doc comment re: `parentContainerSpanId` (internal-only hook for `check()`). */
235
- enforceSdk(toolName: string, toolArgs: Record<string, unknown>, userEmail?: string, parentContainerSpanId?: string | null): Promise<EnforceResult>;
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
- /** See `enforceLocal`'s doc comment re: `parentContainerSpanId` (internal-only hook for `check()`). */
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
- * Force-flush all buffered observability traces/spans to the backend ingest
303
- * endpoint. No-op when observability is disabled (`observability.enabled: false`).
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 guarantee all spans for the current session have
307
- * been POSTed before the process exits. The underlying shipper retries with
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
- * Stop the session's observability lifecycle: clears the shipper's
314
- * repeating flush interval (`setInterval`, see `ObservabilityShipper`) and
315
- * performs one final drain/flush of anything still queued. Safe to call
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
- * **Required at session end.** Without calling this, the recorder's
319
- * shipper keeps its interval timer alive indefinitely — in long-running
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?: 'ok' | 'error' | 'denied'): Promise<void>;
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
  }