@agentxm/extension-model 0.38.0 → 0.39.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 (65) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.d.ts +1820 -96
  2. package/dist/src/unstable/agent-capabilities/catalog.js +2 -1
  3. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts +1 -1
  4. package/dist/src/unstable/agent-capabilities/data/agents/augment.js +1 -1
  5. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts +21 -3
  6. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js +18 -3
  7. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts +1 -1
  8. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js +1 -1
  9. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +3 -2
  10. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +3 -2
  11. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts +186 -10
  12. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js +223 -10
  13. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts +1 -1
  14. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js +1 -1
  15. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts +1 -1
  16. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js +1 -1
  17. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +19 -1
  18. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +16 -1
  19. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts +1 -1
  20. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js +1 -1
  21. package/dist/src/unstable/agent-capabilities/data/agents/index.d.ts +1 -0
  22. package/dist/src/unstable/agent-capabilities/data/agents/index.js +1 -0
  23. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts +1 -1
  24. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js +1 -1
  25. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts +2 -1
  26. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js +2 -1
  27. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts +105 -6
  28. package/dist/src/unstable/agent-capabilities/data/agents/pi.js +77 -6
  29. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts +1 -1
  30. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js +1 -1
  31. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts +1 -1
  32. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js +1 -1
  33. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts +1 -1
  34. package/dist/src/unstable/agent-capabilities/data/agents/roo.js +1 -1
  35. package/dist/src/unstable/agent-capabilities/data/agents/vscode.d.ts +263 -0
  36. package/dist/src/unstable/agent-capabilities/data/agents/vscode.js +139 -0
  37. package/dist/src/unstable/agent-capabilities/derive.d.ts +14 -22
  38. package/dist/src/unstable/agent-capabilities/derive.js +40 -51
  39. package/dist/src/unstable/agent-capabilities/identity.d.ts +3 -3
  40. package/dist/src/unstable/agent-capabilities/identity.js +1 -0
  41. package/dist/src/unstable/agent-capabilities/schema.d.ts +50 -12
  42. package/dist/src/unstable/agent-capabilities/schema.js +10 -2
  43. package/dist/src/unstable/agents/types.d.ts +1 -1
  44. package/dist/src/unstable/extensions/common.d.ts +17 -3
  45. package/dist/src/unstable/extensions/common.js +8 -8
  46. package/dist/src/unstable/extensions/installable-types.d.ts +2 -2
  47. package/dist/src/unstable/extensions/refs/mcp-server.d.ts +16 -2
  48. package/dist/src/unstable/extensions/refs/mcp-server.js +12 -1
  49. package/dist/src/unstable/extensions/refs/ref-base.d.ts +17 -2
  50. package/dist/src/unstable/extensions/refs/ref-base.js +16 -1
  51. package/dist/src/unstable/extensions/refs/skill.d.ts +14 -2
  52. package/dist/src/unstable/extensions/refs/skill.js +0 -9
  53. package/dist/src/unstable/hooks/manifest-schema.d.ts +221 -105
  54. package/dist/src/unstable/hooks/manifest-schema.js +271 -87
  55. package/dist/src/unstable/hooks/resolution.d.ts +24 -0
  56. package/dist/src/unstable/hooks/resolution.js +99 -0
  57. package/dist/src/unstable/sources/http-artifact.d.ts +24 -0
  58. package/dist/src/unstable/sources/http-artifact.js +46 -0
  59. package/dist/src/unstable/sources/printer.js +14 -1
  60. package/dist/src/unstable/sources/source-host-provider.d.ts +3 -0
  61. package/dist/src/unstable/sources/types.d.ts +16 -6
  62. package/dist/src/unstable/sources/types.js +2 -0
  63. package/dist/src/unstable/subagents/manifest-schema.d.ts +48 -18
  64. package/dist/src/unstable/subagents/manifest-schema.js +85 -18
  65. package/package.json +10 -2
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  */
6
- import { adalAgent, fxAgent, museCodeAgent, mimoCodeAgent, coderAgentsAgent, aiderDeskAgent, ampAgent, antigravityCliAgent, antigravityAgent, augmentAgent, chatgptAgent, claudeAiAgent, claudeCodeAgent, clineAgent, codeartsAgentAgent, codebuddyAgent, codemakerAgent, codestudioAgent, codexAgent, commandCodeAgent, continueAgent, cortexAgent, coworkAgent, crushAgent, cursorAgent, deepagentsAgent, devinAgent, dextoAgent, droidAgent, firebenderAgent, forgecodeAgent, geminiCliAgent, geminiAppAgent, githubCopilotCliAgent, gooseAgent, grokCliAgent, hermesAgent, ibmBobAgent, iflowCliAgent, junieAgent, lingmaAgent, kiloAgent, kimiCliAgent, kiroCliAgent, kodeAgent, mcpjamAgent, minimaxCodeAgent, mistralVibeAgent, muxAgent, neovateAgent, openclawAgent, opencodeAgent, openhandsAgent, onaAgent, piAgent, pochiAgent, qoderAgent, qoderCnAgent, qwenCodeAgent, replitAgent, rooAgent, rovodevAgent, tabnineCliAgent, traeCnAgent, traeAgent, warpAgent, windsurfAgent, zencoderAgent, zedAgent, zenflowAgent, } from "./data/agents/index.js";
6
+ import { adalAgent, fxAgent, museCodeAgent, mimoCodeAgent, coderAgentsAgent, aiderDeskAgent, ampAgent, antigravityCliAgent, antigravityAgent, augmentAgent, chatgptAgent, claudeAiAgent, claudeCodeAgent, clineAgent, codeartsAgentAgent, codebuddyAgent, codemakerAgent, codestudioAgent, codexAgent, commandCodeAgent, continueAgent, cortexAgent, coworkAgent, crushAgent, cursorAgent, deepagentsAgent, devinAgent, dextoAgent, droidAgent, firebenderAgent, forgecodeAgent, geminiCliAgent, geminiAppAgent, githubCopilotCliAgent, gooseAgent, grokCliAgent, hermesAgent, ibmBobAgent, iflowCliAgent, junieAgent, lingmaAgent, kiloAgent, kimiCliAgent, kiroCliAgent, kodeAgent, mcpjamAgent, minimaxCodeAgent, mistralVibeAgent, muxAgent, neovateAgent, openclawAgent, opencodeAgent, openhandsAgent, onaAgent, piAgent, vscodeAgent, pochiAgent, qoderAgent, qoderCnAgent, qwenCodeAgent, replitAgent, rooAgent, rovodevAgent, tabnineCliAgent, traeCnAgent, traeAgent, warpAgent, windsurfAgent, zencoderAgent, zedAgent, zenflowAgent, } from "./data/agents/index.js";
7
7
  const defineCatalog = (entries) => entries;
8
8
  /** @experimental This API is unstable and may change without notice. */
9
9
  export const CONFIGURABLE_AGENTS_BY_ID = defineCatalog({
@@ -58,6 +58,7 @@ export const CONFIGURABLE_AGENTS_BY_ID = defineCatalog({
58
58
  openhands: openhandsAgent,
59
59
  ona: onaAgent,
60
60
  pi: piAgent,
61
+ vscode: vscodeAgent,
61
62
  pochi: pochiAgent,
62
63
  qoder: qoderAgent,
63
64
  "qoder-cn": qoderCnAgent,
@@ -434,7 +434,7 @@ export declare const augmentAgent: {
434
434
  readonly axm: {
435
435
  readonly status: "supported";
436
436
  readonly writer: {
437
- readonly locationIds: readonly ["project"];
437
+ readonly locationIds: readonly ["user", "project"];
438
438
  readonly eventMap: "native.events";
439
439
  };
440
440
  readonly lastVerified: "2026-08-05";
@@ -404,7 +404,7 @@ export const augmentAgent = {
404
404
  axm: {
405
405
  status: "supported",
406
406
  writer: {
407
- locationIds: ["project"],
407
+ locationIds: ["user", "project"],
408
408
  eventMap: "native.events",
409
409
  },
410
410
  lastVerified: "2026-08-05",
@@ -132,6 +132,24 @@ export declare const claudeCodeAgent: {
132
132
  readonly defaults: true;
133
133
  };
134
134
  readonly locations: readonly [{
135
+ readonly id: "user";
136
+ readonly scope: "user";
137
+ readonly root: "home";
138
+ readonly path: ".claude.json";
139
+ readonly configRootRelativePath: ".claude.json";
140
+ readonly shape: "file";
141
+ readonly role: "primary";
142
+ readonly status: "canonical";
143
+ readonly applicability: {
144
+ readonly kind: "always";
145
+ };
146
+ readonly provenance: {
147
+ readonly kind: "capability-sources";
148
+ };
149
+ readonly format: "json";
150
+ readonly keyPath: readonly ["mcpServers"];
151
+ readonly attribution: "agent";
152
+ }, {
135
153
  readonly id: "project";
136
154
  readonly scope: "project";
137
155
  readonly root: "project";
@@ -195,10 +213,10 @@ export declare const claudeCodeAgent: {
195
213
  };
196
214
  readonly axm: {
197
215
  readonly status: "supported";
198
- readonly lastVerified: "2026-08-05";
216
+ readonly lastVerified: null;
199
217
  readonly writer: {
200
218
  readonly config: {
201
- readonly locationIds: readonly ["project"];
219
+ readonly locationIds: readonly ["project", "user"];
202
220
  };
203
221
  };
204
222
  };
@@ -479,7 +497,7 @@ export declare const claudeCodeAgent: {
479
497
  readonly axm: {
480
498
  readonly status: "supported";
481
499
  readonly writer: {
482
- readonly locationIds: readonly ["project", "project-additional-1"];
500
+ readonly locationIds: readonly ["user", "project", "project-additional-1"];
483
501
  readonly eventMap: "native.events";
484
502
  };
485
503
  readonly lastVerified: "2026-08-05";
@@ -143,6 +143,21 @@ export const claudeCodeAgent = {
143
143
  defaults: true,
144
144
  },
145
145
  locations: [
146
+ {
147
+ id: "user",
148
+ scope: "user",
149
+ root: "home",
150
+ path: ".claude.json",
151
+ configRootRelativePath: ".claude.json",
152
+ shape: "file",
153
+ role: "primary",
154
+ status: "canonical",
155
+ applicability: { kind: "always" },
156
+ provenance: { kind: "capability-sources" },
157
+ format: "json",
158
+ keyPath: ["mcpServers"],
159
+ attribution: "agent",
160
+ },
146
161
  {
147
162
  id: "project",
148
163
  scope: "project",
@@ -213,10 +228,10 @@ export const claudeCodeAgent = {
213
228
  },
214
229
  axm: {
215
230
  status: "supported",
216
- lastVerified: "2026-08-05",
231
+ lastVerified: null,
217
232
  writer: {
218
233
  config: {
219
- locationIds: ["project"],
234
+ locationIds: ["project", "user"],
220
235
  },
221
236
  },
222
237
  },
@@ -546,7 +561,7 @@ export const claudeCodeAgent = {
546
561
  axm: {
547
562
  status: "supported",
548
563
  writer: {
549
- locationIds: ["project", "project-additional-1"],
564
+ locationIds: ["user", "project", "project-additional-1"],
550
565
  eventMap: "native.events",
551
566
  },
552
567
  lastVerified: "2026-08-05",
@@ -401,7 +401,7 @@ export declare const codebuddyAgent: {
401
401
  readonly axm: {
402
402
  readonly status: "supported";
403
403
  readonly writer: {
404
- readonly locationIds: readonly ["project"];
404
+ readonly locationIds: readonly ["user", "project"];
405
405
  readonly eventMap: "native.events";
406
406
  };
407
407
  readonly lastVerified: "2026-08-05";
@@ -366,7 +366,7 @@ export const codebuddyAgent = {
366
366
  axm: {
367
367
  status: "supported",
368
368
  writer: {
369
- locationIds: ["project"],
369
+ locationIds: ["user", "project"],
370
370
  eventMap: "native.events",
371
371
  },
372
372
  lastVerified: "2026-08-05",
@@ -192,6 +192,7 @@ export declare const codexAgent: {
192
192
  readonly command: "split";
193
193
  readonly envKey: "env";
194
194
  readonly envVarsKey: "env_vars";
195
+ readonly cwdKey: "cwd";
195
196
  };
196
197
  readonly remote: {
197
198
  readonly typeField: {
@@ -209,7 +210,7 @@ export declare const codexAgent: {
209
210
  };
210
211
  readonly axm: {
211
212
  readonly status: "supported";
212
- readonly lastVerified: "2026-09-12";
213
+ readonly lastVerified: null;
213
214
  readonly writer: {
214
215
  readonly config: {
215
216
  readonly locationIds: readonly ["project", "user"];
@@ -460,7 +461,7 @@ export declare const codexAgent: {
460
461
  readonly axm: {
461
462
  readonly status: "supported";
462
463
  readonly writer: {
463
- readonly locationIds: readonly ["project"];
464
+ readonly locationIds: readonly ["user", "project"];
464
465
  readonly eventMap: "native.events";
465
466
  };
466
467
  readonly lastVerified: "2026-08-05";
@@ -214,6 +214,7 @@ export const codexAgent = {
214
214
  command: "split",
215
215
  envKey: "env",
216
216
  envVarsKey: "env_vars",
217
+ cwdKey: "cwd",
217
218
  },
218
219
  remote: {
219
220
  typeField: {
@@ -231,7 +232,7 @@ export const codexAgent = {
231
232
  },
232
233
  axm: {
233
234
  status: "supported",
234
- lastVerified: "2026-09-12",
235
+ lastVerified: null,
235
236
  writer: {
236
237
  config: {
237
238
  locationIds: ["project", "user"],
@@ -518,7 +519,7 @@ export const codexAgent = {
518
519
  axm: {
519
520
  status: "supported",
520
521
  writer: {
521
- locationIds: ["project"],
522
+ locationIds: ["user", "project"],
522
523
  eventMap: "native.events",
523
524
  },
524
525
  lastVerified: "2026-08-05",
@@ -135,7 +135,7 @@ export declare const cursorAgent: {
135
135
  readonly convention: "universal";
136
136
  readonly transports: readonly ["stdio", "http", "sse"];
137
137
  readonly mcpEnvExpansion: {
138
- readonly variables: "braced";
138
+ readonly variables: "env-colon";
139
139
  readonly defaults: false;
140
140
  };
141
141
  readonly locations: readonly [{
@@ -208,7 +208,7 @@ export declare const cursorAgent: {
208
208
  };
209
209
  readonly axm: {
210
210
  readonly status: "supported";
211
- readonly lastVerified: "2026-08-05";
211
+ readonly lastVerified: null;
212
212
  readonly writer: {
213
213
  readonly config: {
214
214
  readonly locationIds: readonly ["project", "user"];
@@ -270,19 +270,195 @@ export declare const cursorAgent: {
270
270
  readonly vendorStatus: {
271
271
  readonly state: "active";
272
272
  };
273
- readonly notes: "Cursor hooks run custom scripts around agent-loop stages. The native hooks.json shape is a direct event-to-command array, not AXM's current grouped command-stdin serializer shape.";
273
+ readonly notes: "Command handlers use flat event arrays. User handlers run from the Cursor configuration directory; project handlers run from the project root. Runtime execution remains unverified.";
274
274
  readonly docs: readonly [];
275
- readonly sources: readonly ["https://cursor.com/docs/hooks.md"];
275
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
276
276
  readonly scopes: readonly ["user", "project"];
277
- readonly modeling: "native-unmodeled";
278
- readonly locations: readonly [];
279
- readonly entryDialect: null;
277
+ readonly mechanism: readonly ["command-stdin"];
278
+ readonly locations: readonly [{
279
+ readonly id: "user";
280
+ readonly scope: "user";
281
+ readonly root: "home";
282
+ readonly path: ".cursor/hooks.json";
283
+ readonly shape: "file";
284
+ readonly role: "primary";
285
+ readonly status: "canonical";
286
+ readonly applicability: {
287
+ readonly kind: "always";
288
+ };
289
+ readonly provenance: {
290
+ readonly kind: "capability-sources";
291
+ };
292
+ readonly format: "json";
293
+ readonly keyPath: readonly ["hooks"];
294
+ readonly gitignored: false;
295
+ readonly configRootRelativePath: "hooks.json";
296
+ }, {
297
+ readonly id: "project";
298
+ readonly scope: "project";
299
+ readonly root: "project";
300
+ readonly path: ".cursor/hooks.json";
301
+ readonly shape: "file";
302
+ readonly role: "primary";
303
+ readonly status: "canonical";
304
+ readonly applicability: {
305
+ readonly kind: "always";
306
+ };
307
+ readonly provenance: {
308
+ readonly kind: "capability-sources";
309
+ };
310
+ readonly format: "json";
311
+ readonly keyPath: readonly ["hooks"];
312
+ readonly gitignored: false;
313
+ }];
314
+ readonly events: readonly [{
315
+ readonly nativeName: "preToolUse";
316
+ readonly canonical: "tool.pre";
317
+ readonly matcher: {
318
+ readonly kind: "regex";
319
+ readonly example: null;
320
+ readonly notes: null;
321
+ };
322
+ readonly decision: readonly [{
323
+ readonly kind: "observe";
324
+ }, {
325
+ readonly kind: "block";
326
+ readonly outcomes: readonly ["allow", "deny"];
327
+ }, {
328
+ readonly kind: "modify";
329
+ readonly operations: readonly ["modify-input"];
330
+ }];
331
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
332
+ readonly lastVerified: "2026-10-02";
333
+ }, {
334
+ readonly nativeName: "postToolUse";
335
+ readonly canonical: "tool.post";
336
+ readonly matcher: {
337
+ readonly kind: "regex";
338
+ readonly example: null;
339
+ readonly notes: null;
340
+ };
341
+ readonly decision: readonly [{
342
+ readonly kind: "observe";
343
+ }, {
344
+ readonly kind: "modify";
345
+ readonly operations: readonly ["modify-output", "inject-context"];
346
+ }];
347
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
348
+ readonly lastVerified: "2026-10-02";
349
+ }, {
350
+ readonly nativeName: "beforeSubmitPrompt";
351
+ readonly canonical: "prompt.submit";
352
+ readonly matcher: {
353
+ readonly kind: "regex";
354
+ readonly example: null;
355
+ readonly notes: null;
356
+ };
357
+ readonly decision: readonly [{
358
+ readonly kind: "observe";
359
+ }, {
360
+ readonly kind: "block";
361
+ readonly outcomes: readonly ["allow", "deny"];
362
+ }];
363
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
364
+ readonly lastVerified: "2026-10-02";
365
+ }, {
366
+ readonly nativeName: "sessionStart";
367
+ readonly canonical: "session.start";
368
+ readonly matcher: {
369
+ readonly kind: "none-imperative";
370
+ readonly example: null;
371
+ readonly notes: null;
372
+ };
373
+ readonly decision: readonly [{
374
+ readonly kind: "observe";
375
+ }, {
376
+ readonly kind: "block";
377
+ readonly outcomes: readonly ["allow", "deny"];
378
+ }, {
379
+ readonly kind: "modify";
380
+ readonly operations: readonly ["inject-context"];
381
+ }];
382
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
383
+ readonly lastVerified: "2026-10-02";
384
+ }, {
385
+ readonly nativeName: "stop";
386
+ readonly canonical: "turn.end";
387
+ readonly matcher: {
388
+ readonly kind: "regex";
389
+ readonly example: null;
390
+ readonly notes: null;
391
+ };
392
+ readonly decision: readonly [{
393
+ readonly kind: "observe";
394
+ }];
395
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
396
+ readonly lastVerified: "2026-10-02";
397
+ }, {
398
+ readonly nativeName: "subagentStop";
399
+ readonly canonical: "subagent.stop";
400
+ readonly matcher: {
401
+ readonly kind: "regex";
402
+ readonly example: null;
403
+ readonly notes: null;
404
+ };
405
+ readonly decision: readonly [{
406
+ readonly kind: "observe";
407
+ }];
408
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
409
+ readonly lastVerified: "2026-10-02";
410
+ }, {
411
+ readonly nativeName: "preCompact";
412
+ readonly canonical: "compaction.pre";
413
+ readonly matcher: {
414
+ readonly kind: "none-imperative";
415
+ readonly example: null;
416
+ readonly notes: null;
417
+ };
418
+ readonly decision: readonly [{
419
+ readonly kind: "observe";
420
+ }];
421
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
422
+ readonly lastVerified: "2026-10-02";
423
+ }];
424
+ readonly tools: readonly [{
425
+ readonly nativeName: "Shell";
426
+ readonly canonical: "shell.exec";
427
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
428
+ readonly lastVerified: "2026-10-02";
429
+ }, {
430
+ readonly nativeName: "Read";
431
+ readonly canonical: "file.read";
432
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
433
+ readonly lastVerified: "2026-10-02";
434
+ }, {
435
+ readonly nativeName: "Write";
436
+ readonly canonical: "file.write";
437
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
438
+ readonly lastVerified: "2026-10-02";
439
+ }];
440
+ readonly entryDialect: {
441
+ readonly serializer: "flat-command-stdin";
442
+ readonly matcherKind: "regex";
443
+ readonly matcherSerialization: "bare";
444
+ readonly timeoutSerialization: "seconds";
445
+ readonly commandNameSerialization: "omit";
446
+ };
447
+ readonly review: {
448
+ readonly reviewedAt: "2026-10-02";
449
+ readonly sources: readonly ["https://cursor.com/docs/hooks"];
450
+ readonly claimScope: "Documented native command event grammar, native decisions, and project/user locations";
451
+ readonly conditions: readonly [];
452
+ readonly limitations: readonly ["AXM projects command handlers only. The preToolUse ask response is not enforced and is not advertised. Cloud profiles do not load user hooks or sessionStart. No native host execution was observed."];
453
+ };
280
454
  };
281
455
  readonly axm: {
282
- readonly status: "unsupported";
283
- readonly writer: null;
456
+ readonly status: "supported";
457
+ readonly writer: {
458
+ readonly locationIds: readonly ["project", "user"];
459
+ readonly eventMap: "native.events";
460
+ };
284
461
  readonly lastVerified: null;
285
- readonly reason: "Cursor's hooks.json maps each event to a flat command array; AXM's only hook serializer emits grouped command-stdin entries, so a writer needs a new serializer rather than catalog data.";
286
462
  };
287
463
  };
288
464
  };