@armoriq/sdk-dev 0.6.5 → 0.6.7

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.
@@ -67,6 +67,7 @@ export declare class ArmorIQLangChainEnforcer {
67
67
  private goal?;
68
68
  private onEvent?;
69
69
  private parser;
70
+ private toolCallNames;
70
71
  session?: ArmorIQSession;
71
72
  planStarted: boolean;
72
73
  constructor(args: {
@@ -80,10 +81,18 @@ export declare class ArmorIQLangChainEnforcer {
80
81
  private emit;
81
82
  private ensureSession;
82
83
  private capturePlan;
83
- captureFromLlm(toolCalls: Array<{
84
- name: string;
85
- args: any;
86
- }>): Promise<void>;
84
+ captureFromLlm(toolCalls: Array<LlmToolCall>): Promise<void>;
85
+ /** Remember tool_call id -> tool name from the model's own tool calls. That id
86
+ * comes back as handleToolStart's toolCallId and is the only place the real
87
+ * tool name is available: LangChain's Serialized payload carries the tool
88
+ * CLASS name, not the tool name. */
89
+ private noteToolCallIds;
90
+ /** The name the plan was minted with wins, so enforcement and the plan can
91
+ * never disagree. runName is what the tool()/DynamicTool helpers set. */
92
+ resolveToolName(toolCallId?: string, runName?: string): string | undefined;
93
+ /** A tool we cannot name cannot be enforced: a policy keyed on the real name
94
+ * would silently never match. Refuse it instead of guessing. */
95
+ refuseUnnamedTool(serializedHint: string): never;
87
96
  /** Allow -> return; block/hold-denied -> throw (LangChain stops the tool). */
88
97
  enforceTool(toolName: string, args: Record<string, any>): Promise<void>;
89
98
  /** Report an executed tool to ArmorIQ so the plan lifecycle closes (advances to
@@ -92,9 +101,16 @@ export declare class ArmorIQLangChainEnforcer {
92
101
  * are logged, never allowed to break the run (mirrors the strands AfterToolCall). */
93
102
  reportExecution(toolName: string, args: Record<string, any>, result: unknown, error?: string): Promise<void>;
94
103
  }
95
- export declare function toolCallsFromLLMResult(output: any): Array<{
104
+ export interface LlmToolCall {
96
105
  name: string;
97
106
  args: any;
98
- }>;
107
+ /** LangChain's tool_call id — comes back as handleToolStart's toolCallId. */
108
+ id?: string;
109
+ }
110
+ export declare function toolCallsFromLLMResult(output: any): LlmToolCall[];
111
+ /** Best-effort name from LangChain's Serialized payload. `id` is deliberately
112
+ * ignored: its last element is the tool CLASS name, which looks like a tool
113
+ * name but never is one. */
114
+ export declare function nameFromSerialized(tool: any): string | undefined;
99
115
  export declare function coerceArgs(input: any): Record<string, any>;
100
116
  //# sourceMappingURL=langchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.ArmorIQLangChainEnforcer = exports.ArmorIQLangChain = void 0;
31
31
  exports.toolCallsFromLLMResult = toolCallsFromLLMResult;
32
+ exports.nameFromSerialized = nameFromSerialized;
32
33
  exports.coerceArgs = coerceArgs;
33
34
  const exceptions_1 = require("../exceptions");
34
35
  class ArmorIQLangChain {
@@ -100,6 +101,7 @@ class ArmorIQLangChainEnforcer {
100
101
  goal;
101
102
  onEvent;
102
103
  parser;
104
+ toolCallNames = new Map();
103
105
  session;
104
106
  planStarted = false;
105
107
  constructor(args) {
@@ -134,10 +136,11 @@ class ArmorIQLangChainEnforcer {
134
136
  async capturePlan(toolCalls) {
135
137
  if (!toolCalls.length)
136
138
  return;
137
- await this.ensureSession().startPlan(toolCalls, this.goal);
139
+ await this.ensureSession().startPlan(toolCalls.map((c) => ({ name: c.name, args: c.args })), this.goal);
138
140
  this.planStarted = true;
139
141
  }
140
142
  async captureFromLlm(toolCalls) {
143
+ this.noteToolCallIds(toolCalls);
141
144
  try {
142
145
  await this.capturePlan(toolCalls);
143
146
  }
@@ -145,6 +148,33 @@ class ArmorIQLangChainEnforcer {
145
148
  console.warn(`[armoriq] langchain plan capture (handleLLMEnd) failed: ${exc.message}`);
146
149
  }
147
150
  }
151
+ /** Remember tool_call id -> tool name from the model's own tool calls. That id
152
+ * comes back as handleToolStart's toolCallId and is the only place the real
153
+ * tool name is available: LangChain's Serialized payload carries the tool
154
+ * CLASS name, not the tool name. */
155
+ noteToolCallIds(toolCalls) {
156
+ for (const c of toolCalls) {
157
+ if (c.id && c.name)
158
+ this.toolCallNames.set(c.id, c.name);
159
+ }
160
+ }
161
+ /** The name the plan was minted with wins, so enforcement and the plan can
162
+ * never disagree. runName is what the tool()/DynamicTool helpers set. */
163
+ resolveToolName(toolCallId, runName) {
164
+ if (toolCallId) {
165
+ const fromPlan = this.toolCallNames.get(toolCallId);
166
+ if (fromPlan)
167
+ return fromPlan;
168
+ }
169
+ return runName || undefined;
170
+ }
171
+ /** A tool we cannot name cannot be enforced: a policy keyed on the real name
172
+ * would silently never match. Refuse it instead of guessing. */
173
+ refuseUnnamedTool(serializedHint) {
174
+ const reason = `unresolvable LangChain tool name (serialized as "${serializedHint}")`;
175
+ this.emit('error', { tool: serializedHint, error: reason });
176
+ throw new exceptions_1.PolicyBlockedException(`ArmorIQ enforcement error (fail-closed): ${reason}`);
177
+ }
148
178
  /** Allow -> return; block/hold-denied -> throw (LangChain stops the tool). */
149
179
  async enforceTool(toolName, args) {
150
180
  args = args || {};
@@ -221,12 +251,23 @@ function toolCallsFromLLMResult(output) {
221
251
  for (const tc of (msg?.tool_calls ?? [])) {
222
252
  const name = tc?.name;
223
253
  if (name)
224
- calls.push({ name, args: tc.args ?? {} });
254
+ calls.push({ name, args: tc.args ?? {}, id: tc.id });
225
255
  }
226
256
  }
227
257
  }
228
258
  return calls;
229
259
  }
260
+ /** Best-effort name from LangChain's Serialized payload. `id` is deliberately
261
+ * ignored: its last element is the tool CLASS name, which looks like a tool
262
+ * name but never is one. */
263
+ function nameFromSerialized(tool) {
264
+ return tool?.name || tool?.kwargs?.name || undefined;
265
+ }
266
+ function serializedHint(tool) {
267
+ if (Array.isArray(tool?.id))
268
+ return tool.id[tool.id.length - 1] ?? 'unknown';
269
+ return String(tool?.id ?? 'unknown');
270
+ }
230
271
  function coerceArgs(input) {
231
272
  if (input && typeof input === 'object')
232
273
  return input;
@@ -263,11 +304,10 @@ function buildCallback(enforcer) {
263
304
  if (calls.length)
264
305
  await enforcer.captureFromLlm(calls);
265
306
  }
266
- async handleToolStart(tool, input, runId, _parentRunId, _tags, _metadata, runName) {
267
- const toolName = runName ||
268
- tool?.name ||
269
- (Array.isArray(tool?.id) ? tool.id[tool.id.length - 1] : '') ||
270
- '';
307
+ async handleToolStart(tool, input, runId, _parentRunId, _tags, _metadata, runName, toolCallId) {
308
+ const toolName = enforcer.resolveToolName(toolCallId, runName) ??
309
+ nameFromSerialized(tool) ??
310
+ enforcer.refuseUnnamedTool(serializedHint(tool));
271
311
  const args = coerceArgs(input);
272
312
  await enforcer.enforceTool(toolName, args); // throws to block/hold-deny
273
313
  // Only reached when allowed -> the tool will run; remember it so
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * run — not the agent's whole tool set — so a read-only
11
11
  * turn is not flagged 'held' at issuance).
12
12
  * BeforeToolCallEvent → enforce per-user policy before each tool runs;
13
- * block/hold by setting event.cancel_tool.
13
+ * block/hold by setting event.cancel.
14
14
  * AfterToolCallEvent → report each executed tool to ArmorIQ so the plan
15
15
  * lifecycle closes (advances to 'completed' once all
16
16
  * declared steps have run) instead of sitting 'active'
@@ -32,6 +32,19 @@ import { ArmorIQClient, ArmorIQUserScope } from '../client';
32
32
  import { SessionOptions } from '../session';
33
33
  import { ToolNameParser } from '../plan_builder';
34
34
  export type OnEvent = (kind: string, payload: Record<string, any>) => void;
35
+ /**
36
+ * The strands hook registry dispatches on the event CONSTRUCTOR
37
+ * (`callbacks.get(event.constructor)`), so we must register with the very same
38
+ * classes the running agent constructs — a string name never fires. Strands
39
+ * stays an optional peer here: the classes are resolved lazily at wire-up time,
40
+ * or injected by the host via `eventClasses` (useful when the host pins its own
41
+ * copy of the package, or bundles one).
42
+ */
43
+ export interface StrandsEventClasses {
44
+ AfterModelCallEvent: new (...args: any[]) => any;
45
+ BeforeToolCallEvent: new (...args: any[]) => any;
46
+ AfterToolCallEvent: new (...args: any[]) => any;
47
+ }
35
48
  export interface ArmorIQStrandsOptions {
36
49
  client: ArmorIQClient;
37
50
  mode?: SessionOptions['mode'];
@@ -40,6 +53,8 @@ export interface ArmorIQStrandsOptions {
40
53
  toolNameParser?: ToolNameParser;
41
54
  approvalWaitSeconds?: number;
42
55
  approvalPollInterval?: number;
56
+ /** Strands event classes, when the host would rather hand us its own copy. */
57
+ eventClasses?: StrandsEventClasses;
43
58
  }
44
59
  export declare class ArmorIQStrands {
45
60
  readonly client: ArmorIQClient;
@@ -48,6 +63,7 @@ export declare class ArmorIQStrands {
48
63
  readonly defaultMcpName?: string;
49
64
  readonly approvalWaitSeconds: number;
50
65
  readonly approvalPollInterval: number;
66
+ readonly eventClasses?: StrandsEventClasses;
51
67
  private customParser?;
52
68
  private _bootstrap?;
53
69
  constructor(opts: ArmorIQStrandsOptions);
@@ -60,6 +76,8 @@ export declare class ArmorIQStrands {
60
76
  }): Promise<ArmorIQStrandsPlugin>;
61
77
  }
62
78
  export declare class ArmorIQStrandsPlugin {
79
+ /** Stable Plugin id — the strands PluginRegistry keys on it. */
80
+ readonly name = "armoriq-enforcement";
63
81
  private factory;
64
82
  private scope;
65
83
  private userEmail;
@@ -68,6 +86,8 @@ export declare class ArmorIQStrandsPlugin {
68
86
  private parser;
69
87
  private session?;
70
88
  private planStarted;
89
+ private eventClasses?;
90
+ private cancelledToolUseIds;
71
91
  constructor(args: {
72
92
  factory: ArmorIQStrands;
73
93
  scope: ArmorIQUserScope;
@@ -75,9 +95,10 @@ export declare class ArmorIQStrandsPlugin {
75
95
  goal?: string;
76
96
  onEvent?: OnEvent;
77
97
  parser: ToolNameParser;
98
+ eventClasses?: StrandsEventClasses;
78
99
  });
79
100
  /** Strands Plugin entrypoint: register our hooks on the agent. */
80
- initAgent(agent: any): void;
101
+ initAgent(agent: any): Promise<void>;
81
102
  /** Wire the AfterModelCall + BeforeToolCall hooks onto a Strands agent. */
82
103
  register(agent: any): void;
83
104
  private emit;
@@ -89,6 +110,14 @@ export declare class ArmorIQStrandsPlugin {
89
110
  args: any;
90
111
  }>;
91
112
  private onAfterModelCall;
113
+ /**
114
+ * Key a tool call so beforeToolCall can tell onAfterToolCall "this one never
115
+ * ran". Strands always supplies the model-issued toolUseId; the tool name is
116
+ * a fallback for duck-typed hosts that don't.
117
+ */
118
+ private static cancelKey;
119
+ /** Cancel the tool and remember that we did, so we never audit it as run. */
120
+ private cancelTool;
92
121
  private beforeToolCall;
93
122
  /**
94
123
  * Report a tool execution to ArmorIQ once it has actually run, so the plan
@@ -96,8 +125,11 @@ export declare class ArmorIQStrandsPlugin {
96
125
  * plan to 'completed' when all declared steps have run, instead of leaving it
97
126
  * stuck 'active' (shown as a perpetual "Running"). Tools we cancelled for
98
127
  * enforcement (block / rejected / timeout / error) never ran, so they are
99
- * skipped — a blocked tool must not be logged as executed. Best-effort: audit
100
- * failures are logged, never allowed to break the run.
128
+ * skipped — a blocked tool must not be logged as executed. The cancelled
129
+ * tool's after-event looks like any failed execution (strands hands us an
130
+ * error-status result and no cancel marker), so the skip is driven by what
131
+ * beforeToolCall recorded. Best-effort: audit failures are logged, never
132
+ * allowed to break the run.
101
133
  */
102
134
  private onAfterToolCall;
103
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"strands.d.ts","sourceRoot":"","sources":["../../src/integrations/strands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAsB;gBAE7B,IAAI,EAAE,qBAAqB;IAYjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKzC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAe/C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIjC,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC,oBAAoB,CAAC;CAWjC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,EAAE;QAChB,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,gBAAgB,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,cAAc,CAAC;KACxB;IASD,kEAAkE;IAClE,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAI3B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAY1B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,aAAa;YAYP,WAAW;IAMzB,8EAA8E;IAC9E,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;YAa/D,gBAAgB;YAWhB,cAAc;IAyD5B;;;;;;;;OAQG;YACW,eAAe;CAuB9B"}
1
+ {"version":3,"file":"strands.d.ts","sourceRoot":"","sources":["../../src/integrations/strands.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * run — not the agent's whole tool set — so a read-only
12
12
  * turn is not flagged 'held' at issuance).
13
13
  * BeforeToolCallEvent → enforce per-user policy before each tool runs;
14
- * block/hold by setting event.cancel_tool.
14
+ * block/hold by setting event.cancel.
15
15
  * AfterToolCallEvent → report each executed tool to ArmorIQ so the plan
16
16
  * lifecycle closes (advances to 'completed' once all
17
17
  * declared steps have run) instead of sitting 'active'
@@ -31,6 +31,55 @@
31
31
  */
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
33
  exports.ArmorIQStrandsPlugin = exports.ArmorIQStrands = void 0;
34
+ const STRANDS_PACKAGE = '@strands-agents/sdk';
35
+ const EVENT_NAMES = [
36
+ 'AfterModelCallEvent',
37
+ 'BeforeToolCallEvent',
38
+ 'AfterToolCallEvent',
39
+ ];
40
+ function pickEventClasses(mod) {
41
+ // Reach through an interop default when the namespace itself has no classes.
42
+ const src = mod && typeof mod.BeforeToolCallEvent !== 'function' && mod.default ? mod.default : mod;
43
+ if (!src)
44
+ return undefined;
45
+ for (const name of EVENT_NAMES) {
46
+ if (typeof src[name] !== 'function')
47
+ return undefined;
48
+ }
49
+ return {
50
+ AfterModelCallEvent: src.AfterModelCallEvent,
51
+ BeforeToolCallEvent: src.BeforeToolCallEvent,
52
+ AfterToolCallEvent: src.AfterToolCallEvent,
53
+ };
54
+ }
55
+ /** Load the event classes without a static import, so strands stays optional. */
56
+ function requireStrandsEventClasses() {
57
+ try {
58
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
59
+ return pickEventClasses(require(STRANDS_PACKAGE));
60
+ }
61
+ catch {
62
+ return undefined; // not installed, or an ESM-only package on an older Node
63
+ }
64
+ }
65
+ async function loadStrandsEventClasses() {
66
+ const required = requireStrandsEventClasses();
67
+ if (required)
68
+ return required;
69
+ try {
70
+ // Indirect so the emitted CJS keeps a real dynamic import (Node <22.12
71
+ // cannot require() this ESM-only package).
72
+ const dynamicImport = new Function('m', 'return import(m)');
73
+ return pickEventClasses(await dynamicImport(STRANDS_PACKAGE));
74
+ }
75
+ catch {
76
+ return undefined;
77
+ }
78
+ }
79
+ const MISSING_STRANDS = `ArmorIQStrands: could not load the strands hook events from '${STRANDS_PACKAGE}'. ` +
80
+ `Install it (npm i ${STRANDS_PACKAGE}), attach the plugin via ` +
81
+ 'Agent({ plugins: [p] }) so it can load them asynchronously, or pass ' +
82
+ 'eventClasses: { AfterModelCallEvent, BeforeToolCallEvent, AfterToolCallEvent }.';
34
83
  class ArmorIQStrands {
35
84
  client;
36
85
  mode;
@@ -38,6 +87,7 @@ class ArmorIQStrands {
38
87
  defaultMcpName;
39
88
  approvalWaitSeconds;
40
89
  approvalPollInterval;
90
+ eventClasses;
41
91
  customParser;
42
92
  _bootstrap;
43
93
  constructor(opts) {
@@ -46,6 +96,7 @@ class ArmorIQStrands {
46
96
  this.validitySeconds = opts.validitySeconds ?? 3600;
47
97
  this.defaultMcpName = opts.defaultMcpName;
48
98
  this.customParser = opts.toolNameParser;
99
+ this.eventClasses = opts.eventClasses;
49
100
  this.approvalWaitSeconds =
50
101
  opts.approvalWaitSeconds ??
51
102
  Number(process.env.ARMORIQ_APPROVAL_WAIT_SECONDS ?? '300');
@@ -84,11 +135,14 @@ class ArmorIQStrands {
84
135
  goal: opts?.goal,
85
136
  onEvent: opts?.onEvent,
86
137
  parser: await this.toolNameParser(),
138
+ eventClasses: this.eventClasses,
87
139
  });
88
140
  }
89
141
  }
90
142
  exports.ArmorIQStrands = ArmorIQStrands;
91
143
  class ArmorIQStrandsPlugin {
144
+ /** Stable Plugin id — the strands PluginRegistry keys on it. */
145
+ name = 'armoriq-enforcement';
92
146
  factory;
93
147
  scope;
94
148
  userEmail;
@@ -97,6 +151,11 @@ class ArmorIQStrandsPlugin {
97
151
  parser;
98
152
  session;
99
153
  planStarted = false;
154
+ eventClasses;
155
+ // toolUseIds we cancelled in beforeToolCall. AfterToolCallEvent still fires
156
+ // for a cancelled tool and carries nothing that distinguishes it, so this is
157
+ // the only way to know the tool never actually ran.
158
+ cancelledToolUseIds = new Set();
100
159
  constructor(args) {
101
160
  this.factory = args.factory;
102
161
  this.scope = args.scope;
@@ -104,9 +163,12 @@ class ArmorIQStrandsPlugin {
104
163
  this.goal = args.goal;
105
164
  this.onEvent = args.onEvent;
106
165
  this.parser = args.parser;
166
+ this.eventClasses = args.eventClasses ?? args.factory?.eventClasses;
107
167
  }
108
168
  /** Strands Plugin entrypoint: register our hooks on the agent. */
109
- initAgent(agent) {
169
+ async initAgent(agent) {
170
+ if (!this.eventClasses)
171
+ this.eventClasses = await loadStrandsEventClasses();
110
172
  this.register(agent);
111
173
  }
112
174
  /** Wire the AfterModelCall + BeforeToolCall hooks onto a Strands agent. */
@@ -115,9 +177,13 @@ class ArmorIQStrandsPlugin {
115
177
  if (!add) {
116
178
  throw new Error('ArmorIQStrands: agent has no addHook/hooks.addCallback');
117
179
  }
118
- add('AfterModelCallEvent', (e) => this.onAfterModelCall(e));
119
- add('BeforeToolCallEvent', (e) => this.beforeToolCall(e));
120
- add('AfterToolCallEvent', (e) => this.onAfterToolCall(e));
180
+ const events = this.eventClasses ?? requireStrandsEventClasses();
181
+ if (!events)
182
+ throw new Error(MISSING_STRANDS);
183
+ this.eventClasses = events;
184
+ add(events.AfterModelCallEvent, (e) => this.onAfterModelCall(e));
185
+ add(events.BeforeToolCallEvent, (e) => this.beforeToolCall(e));
186
+ add(events.AfterToolCallEvent, (e) => this.onAfterToolCall(e));
121
187
  }
122
188
  emit(kind, payload) {
123
189
  if (!this.onEvent)
@@ -151,9 +217,10 @@ class ArmorIQStrandsPlugin {
151
217
  const content = message?.content ?? [];
152
218
  const calls = [];
153
219
  for (const item of content) {
154
- const tu = item?.toolUse;
155
- if (!tu)
156
- continue;
220
+ // A live ToolUseBlock carries name/input directly; the serialized (wire)
221
+ // form nests them under `toolUse`.
222
+ const tu = item?.toolUse ??
223
+ (item?.type === 'toolUseBlock' || item?.toolUseId ? item : undefined);
157
224
  const name = tu?.name;
158
225
  const args = tu?.input ?? {};
159
226
  if (name)
@@ -163,16 +230,31 @@ class ArmorIQStrandsPlugin {
163
230
  }
164
231
  async onAfterModelCall(event) {
165
232
  try {
166
- const resp = event?.stopResponse ?? event?.stop_response;
167
- if (!resp)
233
+ const stopData = event?.stopData;
234
+ if (!stopData)
168
235
  return; // model errored; nothing to capture this turn
169
- const toolCalls = ArmorIQStrandsPlugin.toolCallsFromMessage(resp?.message);
236
+ const toolCalls = ArmorIQStrandsPlugin.toolCallsFromMessage(stopData?.message);
170
237
  await this.capturePlan(toolCalls);
171
238
  }
172
239
  catch (exc) {
173
240
  console.warn(`[armoriq] strands plan capture (after model) failed: ${exc.message}`);
174
241
  }
175
242
  }
243
+ /**
244
+ * Key a tool call so beforeToolCall can tell onAfterToolCall "this one never
245
+ * ran". Strands always supplies the model-issued toolUseId; the tool name is
246
+ * a fallback for duck-typed hosts that don't.
247
+ */
248
+ static cancelKey(toolUse) {
249
+ return toolUse?.toolUseId ?? toolUse?.name ?? '';
250
+ }
251
+ /** Cancel the tool and remember that we did, so we never audit it as run. */
252
+ cancelTool(event, toolUse, message) {
253
+ event.cancel = message;
254
+ const key = ArmorIQStrandsPlugin.cancelKey(toolUse);
255
+ if (key)
256
+ this.cancelledToolUseIds.add(key);
257
+ }
176
258
  async beforeToolCall(event) {
177
259
  const toolUse = event?.toolUse ?? event?.tool_use ?? {};
178
260
  const toolName = toolUse.name ?? '';
@@ -207,25 +289,19 @@ class ArmorIQStrandsPlugin {
207
289
  delegationId: decision.delegationId,
208
290
  reason: decision.reason,
209
291
  });
210
- const cancel = `ArmorIQ hold ${outcome}: ${decision.reason ?? 'approval required'}`;
211
- event.cancel = cancel;
212
- event.cancel_tool = cancel;
292
+ this.cancelTool(event, toolUse, `ArmorIQ hold ${outcome}: ${decision.reason ?? 'approval required'}`);
213
293
  return;
214
294
  }
215
295
  // block (or any other non-allow decision)
216
296
  const reason = decision.reason ?? 'blocked by policy';
217
297
  this.emit('block', { tool: toolName, reason });
218
- const cancel = `ArmorIQ ${decision.action}: ${reason}`;
219
- event.cancel = cancel;
220
- event.cancel_tool = cancel;
298
+ this.cancelTool(event, toolUse, `ArmorIQ ${decision.action}: ${reason}`);
221
299
  }
222
300
  catch (exc) {
223
301
  // Fail closed: never let a tool run if enforcement errored — and surface it.
224
302
  const msg = exc.message ?? String(exc);
225
303
  this.emit('error', { tool: toolName, error: msg });
226
- const cancel = `ArmorIQ enforcement error (fail-closed): ${msg}`;
227
- event.cancel = cancel;
228
- event.cancel_tool = cancel;
304
+ this.cancelTool(event, toolUse, `ArmorIQ enforcement error (fail-closed): ${msg}`);
229
305
  }
230
306
  }
231
307
  /**
@@ -234,23 +310,27 @@ class ArmorIQStrandsPlugin {
234
310
  * plan to 'completed' when all declared steps have run, instead of leaving it
235
311
  * stuck 'active' (shown as a perpetual "Running"). Tools we cancelled for
236
312
  * enforcement (block / rejected / timeout / error) never ran, so they are
237
- * skipped — a blocked tool must not be logged as executed. Best-effort: audit
238
- * failures are logged, never allowed to break the run.
313
+ * skipped — a blocked tool must not be logged as executed. The cancelled
314
+ * tool's after-event looks like any failed execution (strands hands us an
315
+ * error-status result and no cancel marker), so the skip is driven by what
316
+ * beforeToolCall recorded. Best-effort: audit failures are logged, never
317
+ * allowed to break the run.
239
318
  */
240
319
  async onAfterToolCall(event) {
241
- const cancelled = event?.cancelMessage ?? event?.cancel_message ?? event?.cancel;
242
- if (cancelled)
243
- return; // enforcement-cancelled: it never executed
320
+ const toolUse = event?.toolUse ?? event?.tool_use ?? {};
321
+ // Consume the mark so a later legitimate call to the same tool is reported.
322
+ const key = ArmorIQStrandsPlugin.cancelKey(toolUse);
323
+ if (key && this.cancelledToolUseIds.delete(key))
324
+ return; // we cancelled it; it never ran
244
325
  if (!this.session || !this.planStarted)
245
326
  return;
246
- const toolUse = event?.toolUse ?? event?.tool_use ?? {};
247
327
  const toolName = toolUse.name ?? '';
248
328
  if (!toolName)
249
329
  return;
250
330
  const args = toolUse.input ?? {};
251
- const exc = event?.exception;
331
+ const exc = event?.error;
252
332
  const status = exc ? 'error' : 'success';
253
- const errMsg = exc ? (exc?.message ?? String(exc)) : undefined;
333
+ const errMsg = exc ? (exc.message ?? String(exc)) : undefined;
254
334
  const result = exc ? errMsg : event?.result;
255
335
  try {
256
336
  await this.session.report(toolName, args, result, {
@@ -1 +1 @@
1
- {"version":3,"file":"strands.js","sourceRoot":"","sources":["../../src/integrations/strands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strands.js","sourceRoot":"","sources":["../../src/integrations/strands.ts"],"names":[],"mappings":"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"}