@ory/argus 1.2.4 → 1.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.
Files changed (49) hide show
  1. package/README.md +25 -0
  2. package/assets/skills/ory-build-agent/SKILL.md +1 -1
  3. package/assets/skills/ory-deploy-agent/SKILL.md +315 -0
  4. package/assets/skills/ory-deploy-openai-e2b/SKILL.md +289 -0
  5. package/assets/skills/ory-e2b-sandbox/SKILL.md +10 -6
  6. package/assets/skills/ory-temporal-worker/SKILL.md +4 -4
  7. package/dist/adapters.d.ts +11 -3
  8. package/dist/adapters.js +55 -13
  9. package/dist/agent-auth.d.ts +18 -7
  10. package/dist/agent-auth.js +120 -10
  11. package/dist/auth-store.d.ts +3 -3
  12. package/dist/auth-store.js +56 -12
  13. package/dist/auth.d.ts +1 -1
  14. package/dist/auth.js +1 -1
  15. package/dist/build-info.json +4 -4
  16. package/dist/cli.js +5 -0
  17. package/dist/client.d.ts +15 -0
  18. package/dist/client.js +24 -7
  19. package/dist/config.d.ts +23 -3
  20. package/dist/config.js +202 -18
  21. package/dist/contract-suite.d.ts +0 -8
  22. package/dist/contract-suite.js +0 -1
  23. package/dist/event-reporter.d.ts +1 -0
  24. package/dist/event-reporter.js +19 -2
  25. package/dist/hook-timeout.d.ts +2 -2
  26. package/dist/hook-timeout.js +2 -2
  27. package/dist/index.d.ts +4 -4
  28. package/dist/index.js +13 -6
  29. package/dist/lifecycle.js +2 -1
  30. package/dist/local/configs.d.ts +2 -4
  31. package/dist/local/configs.js +2 -4
  32. package/dist/local/manager.js +4 -4
  33. package/dist/local/seed.d.ts +4 -4
  34. package/dist/local/seed.js +8 -10
  35. package/dist/runtime-credential.d.ts +35 -0
  36. package/dist/runtime-credential.js +252 -1
  37. package/dist/runtime.d.ts +19 -12
  38. package/dist/runtime.js +69 -21
  39. package/dist/setup.js +3 -3
  40. package/dist/skills.d.ts +3 -5
  41. package/dist/skills.js +14 -5
  42. package/dist/subject.d.ts +2 -3
  43. package/dist/subject.js +10 -11
  44. package/dist/testing.d.ts +17 -0
  45. package/dist/testing.js +53 -0
  46. package/dist/tool-catalog.d.ts +12 -12
  47. package/dist/tool-catalog.js +206 -50
  48. package/dist/user-login.js +1 -1
  49. package/package.json +1 -1
@@ -48,6 +48,34 @@ exports.HARNESS_TOOL_CATALOG = {
48
48
  "TodoWrite",
49
49
  "Agent",
50
50
  "Task",
51
+ "Artifact",
52
+ "CronCreate",
53
+ "CronDelete",
54
+ "CronList",
55
+ "EndConversation",
56
+ "EnterPlanMode",
57
+ "EnterWorktree",
58
+ "ExitWorktree",
59
+ "ListAgents",
60
+ "ListMcpResourcesTool",
61
+ "LSP",
62
+ "PushNotification",
63
+ "ReadMcpResourceTool",
64
+ "RemoteTrigger",
65
+ "ReportFindings",
66
+ "ScheduleWakeup",
67
+ "SendFeedback",
68
+ "SendMessage",
69
+ "SendUserFile",
70
+ "ShareOnboardingGuide",
71
+ "SubagentHandback",
72
+ "TaskCreate",
73
+ "TaskGet",
74
+ "TaskList",
75
+ "TaskOutput",
76
+ "TaskStop",
77
+ "TaskUpdate",
78
+ "WaitForMcpServers",
51
79
  ],
52
80
  // The Claude Agent SDK exposes the same built-in tool surface as Claude
53
81
  // Code (it is the embeddable form of the same runtime), so the catalog
@@ -70,20 +98,67 @@ exports.HARNESS_TOOL_CATALOG = {
70
98
  "TodoWrite",
71
99
  "Agent",
72
100
  "Task",
101
+ "Artifact",
102
+ "CronCreate",
103
+ "CronDelete",
104
+ "CronList",
105
+ "EndConversation",
106
+ "EnterPlanMode",
107
+ "EnterWorktree",
108
+ "ExitWorktree",
109
+ "ListAgents",
110
+ "ListMcpResourcesTool",
111
+ "LSP",
112
+ "PushNotification",
113
+ "ReadMcpResourceTool",
114
+ "RemoteTrigger",
115
+ "ReportFindings",
116
+ "ScheduleWakeup",
117
+ "SendFeedback",
118
+ "SendMessage",
119
+ "SendUserFile",
120
+ "ShareOnboardingGuide",
121
+ "SubagentHandback",
122
+ "TaskCreate",
123
+ "TaskGet",
124
+ "TaskList",
125
+ "TaskOutput",
126
+ "TaskStop",
127
+ "TaskUpdate",
128
+ "WaitForMcpServers",
73
129
  ],
74
- // Codex serializes its hook `tool_name` as `Bash` (shell) and `apply_patch`
75
- // (file edits — `Write`/`Edit` are matcher aliases only); MCP tools arrive as
76
- // `mcp__<server>__<tool>` and aren't enumerable here. Verified against
77
- // codex 0.143 (see packages/codex/src/types.ts).
78
- codex: ["Bash", "apply_patch"],
130
+ // Codex serializes its hook `tool_name` as `Bash` (shell), `apply_patch`
131
+ // (file edits — `Write`/`Edit` are matcher aliases only), and `webrun`
132
+ // (web access); MCP tools arrive as `mcp__<server>__<tool>` and aren't
133
+ // enumerable here. Verified against codex 0.155 (see packages/codex/src/types.ts).
134
+ codex: ["Bash", "apply_patch", "webrun", "spawn_agent"],
79
135
  "gemini-cli": [
136
+ "run_shell_command",
137
+ "shell",
138
+ "glob",
139
+ "grep_search",
140
+ "list_directory",
80
141
  "read_file",
142
+ "read_many_files",
143
+ "replace",
81
144
  "write_file",
82
- "edit_file",
83
- "list_files",
84
- "search_files",
85
- "shell",
86
- "web_search",
145
+ "write_todos",
146
+ "tracker_create_task",
147
+ "tracker_update_task",
148
+ "tracker_get_task",
149
+ "tracker_list_tasks",
150
+ "tracker_add_dependency",
151
+ "tracker_visualize",
152
+ "list_mcp_resources",
153
+ "read_mcp_resource",
154
+ "activate_skill",
155
+ "get_internal_docs",
156
+ "enter_plan_mode",
157
+ "update_topic",
158
+ "complete_task",
159
+ "invoke_agent",
160
+ "google_web_search",
161
+ "web_fetch",
87
162
  ],
88
163
  // OpenClaw's built-in tool ids (docs.openclaw.ai/tools): shell is `exec`,
89
164
  // file ops are `read`/`write`/`edit`/`apply_patch`, plus web + browser.
@@ -96,26 +171,115 @@ exports.HARNESS_TOOL_CATALOG = {
96
171
  "web_search",
97
172
  "web_fetch",
98
173
  "browser",
174
+ "process",
175
+ "code_execution",
176
+ "x_search",
177
+ "secrets",
178
+ "message",
179
+ "gateway",
180
+ "plugins",
181
+ "nodes",
182
+ "computer",
183
+ "screen",
184
+ "theme",
185
+ "dashboard",
186
+ "terminal",
187
+ "portal",
188
+ "canvas",
189
+ "show_widget",
190
+ "sessions",
191
+ "sessions_list",
192
+ "sessions_history",
193
+ "sessions_search",
194
+ "sessions_send",
195
+ "sessions_spawn",
196
+ "sessions_yield",
197
+ "subagents",
198
+ "session_status",
199
+ "memory_search",
200
+ "memory_get",
201
+ "agents_list",
202
+ "get_goal",
203
+ "create_goal",
204
+ "update_goal",
205
+ "progress_card",
206
+ "view_image",
207
+ "image_generate",
208
+ "music_generate",
209
+ "video_generate",
210
+ "tts",
211
+ "pdf",
212
+ ],
213
+ opencode: [
214
+ "read",
215
+ "write",
216
+ "edit",
217
+ "bash",
218
+ "glob",
219
+ "grep",
220
+ "webfetch",
221
+ "apply_patch",
222
+ "skill",
223
+ "todowrite",
224
+ "websearch",
225
+ "task",
226
+ "lsp",
227
+ "execute",
228
+ ],
229
+ continue: [
230
+ "Edit",
231
+ "Exit",
232
+ "Fetch",
233
+ "List",
234
+ "MultiEdit",
235
+ "Read",
236
+ "ReportFailure",
237
+ "Bash",
238
+ "Search",
239
+ "Status",
240
+ "Subagent",
241
+ "Skills",
242
+ "UploadArtifact",
243
+ "Diff",
244
+ "Checklist",
245
+ "Write",
99
246
  ],
100
- opencode: ["read", "write", "edit", "bash", "glob", "grep", "webfetch"],
101
- continue: ["Bash", "Read", "Edit", "Write", "Grep", "Glob", "WebSearch"],
102
247
  goose: [
248
+ "analyze",
249
+ "write",
250
+ "edit",
103
251
  "shell",
104
- "text_editor",
105
- "read_file",
106
- "write_file",
107
- "list_windows",
108
- "screen_capture",
252
+ "tree",
253
+ "read_image",
254
+ "todo__todo_write",
255
+ "apps__list_apps",
256
+ "apps__create_app",
257
+ "apps__iterate_app",
258
+ "apps__delete_app",
259
+ "extensionmanager__search_available_extensions",
260
+ "extensionmanager__manage_extensions",
261
+ "extensionmanager__list_resources",
262
+ "extensionmanager__read_resource",
263
+ "load",
264
+ "delegate",
265
+ "load_skill",
109
266
  ],
110
267
  cline: [
111
- "execute_command",
268
+ "read_files",
269
+ "search_codebase",
112
270
  "run_commands",
271
+ "fetch_web_content",
272
+ "apply_patch",
273
+ "editor",
274
+ "skills",
275
+ "execute_command",
113
276
  "read_file",
114
277
  "write_to_file",
115
278
  "replace_in_file",
116
279
  "search_files",
117
280
  "list_files",
118
281
  "use_mcp_tool",
282
+ "browser_action",
119
283
  ],
120
284
  amp: [
121
285
  "Bash",
@@ -132,8 +296,15 @@ exports.HARNESS_TOOL_CATALOG = {
132
296
  "todo_write",
133
297
  "oracle",
134
298
  "Task",
299
+ "create_thread",
300
+ "list_agent_modes",
301
+ "get_thread_status",
302
+ "send_thread_message",
303
+ "wait_for_threads",
135
304
  ],
136
- pi: ["read", "write", "edit", "bash", "powershell", "grep", "find", "ls"],
305
+ pi: ["read", "write", "edit", "bash", "grep", "find", "ls"],
306
+ // This adapter remains pinned to the agy 1.0.13 hook contract. Antigravity
307
+ // 2.0 changes both these names and the hook payload/response schema.
137
308
  antigravity: [
138
309
  "run_command",
139
310
  "view_file",
@@ -147,23 +318,9 @@ exports.HARNESS_TOOL_CATALOG = {
147
318
  "search_web",
148
319
  "call_mcp_tool",
149
320
  ],
150
- // Cursor's `preToolUse` hook serializes `tool_name` as a coarse tool
151
- // category (Shell, Read, Write, Edit, Delete, List, Search, MCP, Task);
152
- // fine-grained shell commands and MCP tools arrive on the dedicated
153
- // `beforeShellExecution` / `beforeMCPExecution` hooks (logged, not gated,
154
- // to avoid double-gating). Bootstrap seeds the categories the agent gate
155
- // actually checks. Best-effort — verify against your Cursor version.
156
- cursor: [
157
- "Read",
158
- "Write",
159
- "Edit",
160
- "Delete",
161
- "Shell",
162
- "List",
163
- "Search",
164
- "MCP",
165
- "Task",
166
- ],
321
+ // Cursor's documented `preToolUse` matcher categories. MCP calls arrive as
322
+ // dynamic `MCP:<tool_name>` values and are intentionally omitted here.
323
+ cursor: ["Read", "Write", "Grep", "Delete", "Shell", "Task"],
167
324
  };
168
325
  exports.KNOWN_HARNESSES = Object.keys(exports.HARNESS_TOOL_CATALOG);
169
326
  /**
@@ -197,20 +354,20 @@ exports.ALL_TOOLS = Array.from(new Set(Object.values(exports.HARNESS_TOOL_CATALO
197
354
  * applied to every harness).
198
355
  */
199
356
  exports.INTERACTIVE_TOOL_CATALOG = {
200
- "claude-code": ["AskUserQuestion", "ExitPlanMode", "TodoWrite"],
357
+ "claude-code": ["AskUserQuestion", "ExitPlanMode"],
201
358
  // Same runtime as Claude Code — the SDK delivers the same
202
359
  // user-interaction primitives through PreToolUse.
203
- "claude-agent-sdk": ["AskUserQuestion", "ExitPlanMode", "TodoWrite"],
360
+ "claude-agent-sdk": ["AskUserQuestion", "ExitPlanMode"],
204
361
  codex: [],
205
- "gemini-cli": [],
206
- openclaw: [],
207
- opencode: [],
208
- continue: [],
362
+ "gemini-cli": ["ask_user", "exit_plan_mode"],
363
+ openclaw: ["ask_user"],
364
+ opencode: ["question", "plan_exit"],
365
+ continue: ["AskQuestion"],
209
366
  goose: [],
210
- cline: [],
367
+ cline: ["ask_question", "submit_and_exit"],
211
368
  amp: [],
212
369
  pi: [],
213
- antigravity: [],
370
+ antigravity: ["ask_question"],
214
371
  cursor: [],
215
372
  };
216
373
  function parseEnvInteractiveTools() {
@@ -255,17 +412,16 @@ exports.SHELL_TOOL_CATALOG = {
255
412
  "claude-code": ["Bash", "Monitor", "PowerShell"],
256
413
  "claude-agent-sdk": ["Bash", "Monitor", "PowerShell"],
257
414
  codex: ["Bash"],
258
- // Gemini CLI's hook payload has been observed with both the short `shell`
259
- // name and the fuller `run_shell_command` id across versions; accept both so
260
- // decomposition fires regardless. `ORY_SHELL_TOOLS` remains the escape hatch.
261
- "gemini-cli": ["shell", "run_shell_command"],
415
+ // Current Gemini CLI releases emit the canonical `run_shell_command` id.
416
+ // `ORY_SHELL_TOOLS` remains the escape hatch for vendor renames.
417
+ "gemini-cli": ["run_shell_command", "shell"],
262
418
  openclaw: ["exec"],
263
419
  opencode: ["bash"],
264
420
  continue: ["Bash"],
265
421
  goose: ["shell"],
266
- cline: ["execute_command", "run_commands"],
422
+ cline: ["run_commands", "execute_command"],
267
423
  amp: ["Bash"],
268
- pi: ["bash", "powershell"],
424
+ pi: ["bash"],
269
425
  antigravity: ["run_command"],
270
426
  cursor: ["Shell"],
271
427
  };
@@ -95,7 +95,7 @@ async function ensureUserAuthenticated(client, options) {
95
95
  function attachUserPrincipal(client, decision) {
96
96
  if (decision.mode === "ok" || decision.mode === "refreshed") {
97
97
  // Tokens were just persisted (or are still valid); pull them so
98
- // downstream code (e.g. the agent gate's DCR flow) can use the
98
+ // downstream code (for example Talos enrollment) can use the
99
99
  // user's bearer as an initial access token.
100
100
  const tokens = (0, auth_store_js_1.loadTokens)();
101
101
  const subject = decision.subject ?? tokens?.subject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ory/argus",
3
- "version": "1.2.4",
3
+ "version": "1.3.0",
4
4
  "description": "Ory Argus: the core API for building authentication, authorization, and audit into AI agent harness plugins, extensions, and custom integrations",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://ory.com",