@ory/opencode 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugin.js +16 -8
- package/package.json +2 -2
package/dist/plugin.js
CHANGED
|
@@ -205,6 +205,7 @@ function createPermissionHandler(client, _options) {
|
|
|
205
205
|
object: mcpTool.serverName,
|
|
206
206
|
relation: "use",
|
|
207
207
|
subjectId: (0, argus_1.subjectLabel)(subject),
|
|
208
|
+
...("subjectSet" in subject ? { subjectSet: subject.subjectSet } : {}),
|
|
208
209
|
spanAttributes: { toolName: input.toolID, mcpServer: mcpTool.serverName, mcpTool: mcpTool.toolName },
|
|
209
210
|
});
|
|
210
211
|
output.status = decision.kind === "deny" ? "deny" : "allow";
|
|
@@ -280,23 +281,27 @@ function createToolBeforeHandler(client) {
|
|
|
280
281
|
object: mcpTool.serverName,
|
|
281
282
|
relation: "use",
|
|
282
283
|
subjectId,
|
|
284
|
+
...("subjectSet" in subject ? { subjectSet: subject.subjectSet } : {}),
|
|
283
285
|
spanAttributes: mcpAttrs,
|
|
284
286
|
});
|
|
287
|
+
const decisionAttrs = decision.spanAttributes;
|
|
285
288
|
if (decision.kind === "allow") {
|
|
286
|
-
client.tracer.record("tool.invoke", "ok", {
|
|
289
|
+
client.tracer.record("tool.invoke", "ok", {
|
|
290
|
+
attributes: { ...mcpAttrs, ...decisionAttrs },
|
|
291
|
+
});
|
|
287
292
|
return;
|
|
288
293
|
}
|
|
289
294
|
if (decision.kind === "observe") {
|
|
290
295
|
client.tracer.record("tool.block", "denied", {
|
|
291
|
-
attributes: { ...mcpAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
296
|
+
attributes: { ...mcpAttrs, ...decisionAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
292
297
|
});
|
|
293
298
|
client.tracer.record("tool.invoke", "ok", {
|
|
294
|
-
attributes: { ...mcpAttrs, allowed: false, observed: true },
|
|
299
|
+
attributes: { ...mcpAttrs, ...decisionAttrs, allowed: false, observed: true },
|
|
295
300
|
});
|
|
296
301
|
return;
|
|
297
302
|
}
|
|
298
303
|
client.tracer.record("tool.block", "denied", {
|
|
299
|
-
attributes: { ...mcpAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
304
|
+
attributes: { ...mcpAttrs, ...decisionAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
300
305
|
});
|
|
301
306
|
const message = (0, argus_1.formatDenialMessage)({
|
|
302
307
|
tool: input.tool,
|
|
@@ -324,21 +329,24 @@ function createToolBeforeHandler(client) {
|
|
|
324
329
|
return;
|
|
325
330
|
}
|
|
326
331
|
const attrs = { toolName: input.tool, ...inputSummary };
|
|
332
|
+
const decisionAttrs = decision.spanAttributes;
|
|
327
333
|
if (decision.kind === "allow") {
|
|
328
|
-
client.tracer.record("tool.invoke", "ok", {
|
|
334
|
+
client.tracer.record("tool.invoke", "ok", {
|
|
335
|
+
attributes: { ...attrs, ...decisionAttrs, allowed: true },
|
|
336
|
+
});
|
|
329
337
|
return;
|
|
330
338
|
}
|
|
331
339
|
if (decision.kind === "observe") {
|
|
332
340
|
client.tracer.record("tool.block", "denied", {
|
|
333
|
-
attributes: { ...attrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
341
|
+
attributes: { ...attrs, ...decisionAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
334
342
|
});
|
|
335
343
|
client.tracer.record("tool.invoke", "ok", {
|
|
336
|
-
attributes: { ...attrs, allowed: false, observed: true },
|
|
344
|
+
attributes: { ...attrs, ...decisionAttrs, allowed: false, observed: true },
|
|
337
345
|
});
|
|
338
346
|
return;
|
|
339
347
|
}
|
|
340
348
|
client.tracer.record("tool.block", "denied", {
|
|
341
|
-
attributes: { ...attrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
349
|
+
attributes: { ...attrs, ...decisionAttrs, allowed: false, ...(0, argus_1.alertAttributes)(false) },
|
|
342
350
|
});
|
|
343
351
|
const message = (0, argus_1.formatDenialMessage)({
|
|
344
352
|
tool: input.tool,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ory/opencode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Ory plugin for OpenCode: scaffolding skills, a local Ory instance, and authentication, authorization, and audit for every tool call",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://ory.com",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"!dist/**/*.tsbuildinfo"
|
|
65
65
|
],
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@ory/argus": "0.
|
|
67
|
+
"@ory/argus": "0.3.0"
|
|
68
68
|
},
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=24"
|