@armoriq/sdk-dev 0.6.6 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_version.d.ts +12 -0
- package/dist/_version.d.ts.map +1 -0
- package/dist/_version.js +15 -0
- package/dist/_version.js.map +1 -0
- package/dist/cli/commands/auth.d.ts.map +1 -1
- package/dist/cli/commands/auth.js +1 -0
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/client.d.ts +7 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +11 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/google_adk.d.ts +12 -4
- package/dist/integrations/google_adk.d.ts.map +1 -1
- package/dist/integrations/google_adk.js +17 -1
- package/dist/integrations/google_adk.js.map +1 -1
- package/dist/integrations/langchain.d.ts +22 -6
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +47 -7
- package/dist/integrations/langchain.js.map +1 -1
- package/dist/integrations/microsoft_copilot.d.ts +84 -0
- package/dist/integrations/microsoft_copilot.d.ts.map +1 -0
- package/dist/integrations/microsoft_copilot.js +126 -0
- package/dist/integrations/microsoft_copilot.js.map +1 -0
- package/dist/integrations/strands.d.ts +36 -4
- package/dist/integrations/strands.d.ts.map +1 -1
- package/dist/integrations/strands.js +108 -28
- package/dist/integrations/strands.js.map +1 -1
- package/dist/observability/recorder.d.ts +1 -1
- package/dist/observability/recorder.d.ts.map +1 -1
- package/dist/session.d.ts +24 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +87 -11
- package/dist/session.js.map +1 -1
- package/dist/token_usage.d.ts +1 -1
- package/dist/token_usage.d.ts.map +1 -1
- package/package.json +21 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google_adk.d.ts","sourceRoot":"","sources":["../../src/integrations/google_adk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EACL,cAAc,EAEd,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"google_adk.d.ts","sourceRoot":"","sources":["../../src/integrations/google_adk.ts"],"names":[],"mappings":"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"}
|
|
@@ -390,9 +390,25 @@ class ArmorIQADKBundle {
|
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
392
|
catch (exc) {
|
|
393
|
+
// Fail closed: ADK reads a null return as "proceed", so an enforcement
|
|
394
|
+
// error has to come back as a payload or the tool runs unchecked. Matches
|
|
395
|
+
// the strands/langchain hooks, which also refuse the tool on error.
|
|
393
396
|
const msg = exc.message ?? String(exc);
|
|
394
397
|
this.emit('error', { tool: toolName, error: msg });
|
|
395
|
-
console.
|
|
398
|
+
console.error(`[armoriq] beforeToolCallback failed (fail-closed): ${msg}`);
|
|
399
|
+
this.blockedTools.add(toolName);
|
|
400
|
+
this.blockedActions.set(toolName, 'block');
|
|
401
|
+
return {
|
|
402
|
+
error: `ArmorIQ enforcement error (fail-closed): ${msg}`,
|
|
403
|
+
armoriq_enforcement: {
|
|
404
|
+
blocked: true,
|
|
405
|
+
action: 'block',
|
|
406
|
+
reason: `enforcement-error: ${msg}`,
|
|
407
|
+
matched_policy: null,
|
|
408
|
+
tool: toolName,
|
|
409
|
+
delegation_id: null,
|
|
410
|
+
},
|
|
411
|
+
};
|
|
396
412
|
}
|
|
397
413
|
return null;
|
|
398
414
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google_adk.js","sourceRoot":"","sources":["../../src/integrations/google_adk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google_adk.js","sourceRoot":"","sources":["../../src/integrations/google_adk.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;AAE3E,MAAM,WAAW,uBAAuB;IACtC,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,gBAAgB;IAC3B,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,uBAAuB;IAYnC,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;IAIvC;4DACwD;IAClD,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,GAAG,CAAC;CAYhB;AAED;iEACiE;AACjE,qBAAa,wBAAwB;IACnC,OAAO,CAAC,OAAO,CAAmB;IAClC,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,EAAE,cAAc,CAAC;IACzB,WAAW,UAAS;gBAER,IAAI,EAAE;QAChB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,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,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,aAAa;YAYP,WAAW;
|
|
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
|
|
269
|
-
|
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;
|
|
1
|
+
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ArmorIQ - Microsoft Copilot Studio integration (TypeScript).
|
|
3
|
+
*
|
|
4
|
+
* Provides the building blocks for hosting an ArmorCopilot webhook
|
|
5
|
+
* receiver that fronts the Microsoft Copilot Studio external security
|
|
6
|
+
* webhook (`POST /analyze-tool-execution`).
|
|
7
|
+
*
|
|
8
|
+
* import {
|
|
9
|
+
* verifyCopilotStudioSignature,
|
|
10
|
+
* translateCopilotStudioPayload,
|
|
11
|
+
* } from '@armoriq/sdk/integrations/microsoft_copilot';
|
|
12
|
+
*
|
|
13
|
+
* The MS side sends each tool invocation with an HMAC-SHA256 signature
|
|
14
|
+
* computed over `<timestamp>.<rawBody>` using a shared secret the tenant
|
|
15
|
+
* configured in Copilot Studio admin. We verify, translate the payload
|
|
16
|
+
* to our internal tool-call shape, then run the request through
|
|
17
|
+
* ArmorIQ policy enforcement.
|
|
18
|
+
*
|
|
19
|
+
* The verifier here is pure crypto: it does not call the backend. The
|
|
20
|
+
* caller is responsible for routing the verified request through the
|
|
21
|
+
* regular SDK enforce path (or future plan-less enforce endpoint) once
|
|
22
|
+
* the signature has been confirmed.
|
|
23
|
+
*/
|
|
24
|
+
export interface CopilotStudioPayload {
|
|
25
|
+
userMessage?: string;
|
|
26
|
+
chatHistory?: Record<string, unknown>;
|
|
27
|
+
toolDefinition: {
|
|
28
|
+
name?: string;
|
|
29
|
+
id?: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
};
|
|
33
|
+
toolInputValues?: Record<string, unknown>;
|
|
34
|
+
agentMetadata?: Record<string, unknown>;
|
|
35
|
+
userMetadata?: Record<string, unknown>;
|
|
36
|
+
conversationMetadata?: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
export interface CopilotStudioVerifyArgs {
|
|
39
|
+
/** Raw HTTP body bytes — must be the exact bytes MS signed, before any JSON re-serialization. */
|
|
40
|
+
rawBody: Buffer | string;
|
|
41
|
+
/** Value of `X-ArmorCopilot-Signature` header. Hex string, optionally prefixed `sha256=`. */
|
|
42
|
+
signature: string;
|
|
43
|
+
/** Value of `X-ArmorCopilot-Timestamp` header. Unix seconds. */
|
|
44
|
+
timestamp: string | number;
|
|
45
|
+
/** Per-tenant shared secret configured in Copilot Studio admin. */
|
|
46
|
+
secret: string;
|
|
47
|
+
/** Maximum allowed clock skew in seconds. Defaults to 300 (5 min). */
|
|
48
|
+
maxSkewSeconds?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface CopilotStudioVerifyResult {
|
|
51
|
+
ok: boolean;
|
|
52
|
+
reason?: 'missing-signature' | 'missing-timestamp' | 'invalid-timestamp' | 'timestamp-skew' | 'bad-signature';
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Verify the HMAC signature MS Copilot Studio attaches to a webhook
|
|
56
|
+
* request. Pure crypto — no backend calls. Constant-time comparison.
|
|
57
|
+
*/
|
|
58
|
+
export declare function verifyCopilotStudioSignature(args: CopilotStudioVerifyArgs): CopilotStudioVerifyResult;
|
|
59
|
+
export interface TranslatedToolCall {
|
|
60
|
+
toolName: string;
|
|
61
|
+
args: Record<string, unknown>;
|
|
62
|
+
userMessage?: string;
|
|
63
|
+
agentMetadata?: Record<string, unknown>;
|
|
64
|
+
userMetadata?: Record<string, unknown>;
|
|
65
|
+
conversationMetadata?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Translate a Copilot Studio webhook payload into the
|
|
69
|
+
* `{ toolName, args, ...meta }` shape ArmorIQ enforce paths expect.
|
|
70
|
+
*/
|
|
71
|
+
export declare function translateCopilotStudioPayload(payload: CopilotStudioPayload): TranslatedToolCall;
|
|
72
|
+
export interface CopilotStudioDecision {
|
|
73
|
+
action: 'allow' | 'block';
|
|
74
|
+
reason?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Sentinel mapping: a non-allow enforce result -> Copilot Studio response.
|
|
78
|
+
*/
|
|
79
|
+
export declare function toCopilotStudioDecision(enforced: {
|
|
80
|
+
allowed: boolean;
|
|
81
|
+
action?: string;
|
|
82
|
+
reason?: string;
|
|
83
|
+
}): CopilotStudioDecision;
|
|
84
|
+
//# sourceMappingURL=microsoft_copilot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft_copilot.d.ts","sourceRoot":"","sources":["../../src/integrations/microsoft_copilot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,EAAE;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,uBAAuB;IACtC,iGAAiG;IACjG,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EACH,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,uBAAuB,GAC5B,yBAAyB,CAuC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oBAAoB,GAC5B,kBAAkB,CAapB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,qBAAqB,CAKvB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ArmorIQ - Microsoft Copilot Studio integration (TypeScript).
|
|
4
|
+
*
|
|
5
|
+
* Provides the building blocks for hosting an ArmorCopilot webhook
|
|
6
|
+
* receiver that fronts the Microsoft Copilot Studio external security
|
|
7
|
+
* webhook (`POST /analyze-tool-execution`).
|
|
8
|
+
*
|
|
9
|
+
* import {
|
|
10
|
+
* verifyCopilotStudioSignature,
|
|
11
|
+
* translateCopilotStudioPayload,
|
|
12
|
+
* } from '@armoriq/sdk/integrations/microsoft_copilot';
|
|
13
|
+
*
|
|
14
|
+
* The MS side sends each tool invocation with an HMAC-SHA256 signature
|
|
15
|
+
* computed over `<timestamp>.<rawBody>` using a shared secret the tenant
|
|
16
|
+
* configured in Copilot Studio admin. We verify, translate the payload
|
|
17
|
+
* to our internal tool-call shape, then run the request through
|
|
18
|
+
* ArmorIQ policy enforcement.
|
|
19
|
+
*
|
|
20
|
+
* The verifier here is pure crypto: it does not call the backend. The
|
|
21
|
+
* caller is responsible for routing the verified request through the
|
|
22
|
+
* regular SDK enforce path (or future plan-less enforce endpoint) once
|
|
23
|
+
* the signature has been confirmed.
|
|
24
|
+
*/
|
|
25
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
28
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
29
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
30
|
+
}
|
|
31
|
+
Object.defineProperty(o, k2, desc);
|
|
32
|
+
}) : (function(o, m, k, k2) {
|
|
33
|
+
if (k2 === undefined) k2 = k;
|
|
34
|
+
o[k2] = m[k];
|
|
35
|
+
}));
|
|
36
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
37
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
38
|
+
}) : function(o, v) {
|
|
39
|
+
o["default"] = v;
|
|
40
|
+
});
|
|
41
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
42
|
+
var ownKeys = function(o) {
|
|
43
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
44
|
+
var ar = [];
|
|
45
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
46
|
+
return ar;
|
|
47
|
+
};
|
|
48
|
+
return ownKeys(o);
|
|
49
|
+
};
|
|
50
|
+
return function (mod) {
|
|
51
|
+
if (mod && mod.__esModule) return mod;
|
|
52
|
+
var result = {};
|
|
53
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
54
|
+
__setModuleDefault(result, mod);
|
|
55
|
+
return result;
|
|
56
|
+
};
|
|
57
|
+
})();
|
|
58
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
+
exports.verifyCopilotStudioSignature = verifyCopilotStudioSignature;
|
|
60
|
+
exports.translateCopilotStudioPayload = translateCopilotStudioPayload;
|
|
61
|
+
exports.toCopilotStudioDecision = toCopilotStudioDecision;
|
|
62
|
+
const crypto = __importStar(require("crypto"));
|
|
63
|
+
const MAX_SKEW_SECONDS = 300;
|
|
64
|
+
/**
|
|
65
|
+
* Verify the HMAC signature MS Copilot Studio attaches to a webhook
|
|
66
|
+
* request. Pure crypto — no backend calls. Constant-time comparison.
|
|
67
|
+
*/
|
|
68
|
+
function verifyCopilotStudioSignature(args) {
|
|
69
|
+
if (!args.signature)
|
|
70
|
+
return { ok: false, reason: 'missing-signature' };
|
|
71
|
+
if (args.timestamp === undefined || args.timestamp === null) {
|
|
72
|
+
return { ok: false, reason: 'missing-timestamp' };
|
|
73
|
+
}
|
|
74
|
+
const tsNum = typeof args.timestamp === 'number'
|
|
75
|
+
? args.timestamp
|
|
76
|
+
: Number(args.timestamp);
|
|
77
|
+
if (Number.isNaN(tsNum)) {
|
|
78
|
+
return { ok: false, reason: 'invalid-timestamp' };
|
|
79
|
+
}
|
|
80
|
+
const drift = Math.abs(Date.now() / 1000 - tsNum);
|
|
81
|
+
const maxSkew = args.maxSkewSeconds ?? MAX_SKEW_SECONDS;
|
|
82
|
+
if (drift > maxSkew)
|
|
83
|
+
return { ok: false, reason: 'timestamp-skew' };
|
|
84
|
+
const body = typeof args.rawBody === 'string'
|
|
85
|
+
? args.rawBody
|
|
86
|
+
: args.rawBody.toString('utf8');
|
|
87
|
+
const expected = crypto
|
|
88
|
+
.createHmac('sha256', args.secret)
|
|
89
|
+
.update(`${tsNum}.${body}`)
|
|
90
|
+
.digest('hex');
|
|
91
|
+
const provided = args.signature.startsWith('sha256=')
|
|
92
|
+
? args.signature.slice(7)
|
|
93
|
+
: args.signature;
|
|
94
|
+
if (provided.length !== expected.length) {
|
|
95
|
+
return { ok: false, reason: 'bad-signature' };
|
|
96
|
+
}
|
|
97
|
+
const match = crypto.timingSafeEqual(Buffer.from(provided, 'hex'), Buffer.from(expected, 'hex'));
|
|
98
|
+
return match ? { ok: true } : { ok: false, reason: 'bad-signature' };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Translate a Copilot Studio webhook payload into the
|
|
102
|
+
* `{ toolName, args, ...meta }` shape ArmorIQ enforce paths expect.
|
|
103
|
+
*/
|
|
104
|
+
function translateCopilotStudioPayload(payload) {
|
|
105
|
+
const toolName = payload.toolDefinition?.name ??
|
|
106
|
+
payload.toolDefinition?.id ??
|
|
107
|
+
'unknown';
|
|
108
|
+
return {
|
|
109
|
+
toolName: String(toolName),
|
|
110
|
+
args: payload.toolInputValues ?? {},
|
|
111
|
+
userMessage: payload.userMessage,
|
|
112
|
+
agentMetadata: payload.agentMetadata,
|
|
113
|
+
userMetadata: payload.userMetadata,
|
|
114
|
+
conversationMetadata: payload.conversationMetadata,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Sentinel mapping: a non-allow enforce result -> Copilot Studio response.
|
|
119
|
+
*/
|
|
120
|
+
function toCopilotStudioDecision(enforced) {
|
|
121
|
+
if (enforced.allowed && enforced.action !== 'block') {
|
|
122
|
+
return { action: 'allow' };
|
|
123
|
+
}
|
|
124
|
+
return { action: 'block', reason: enforced.reason };
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=microsoft_copilot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft_copilot.js","sourceRoot":"","sources":["../../src/integrations/microsoft_copilot.ts"],"names":[],"mappings":"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"}
|