@wjarka/cezarion 0.13.6 → 0.14.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 (127) hide show
  1. package/README.md +27 -3
  2. package/dist/agent-config/catalog.d.ts +2 -0
  3. package/dist/agent-config/catalog.js +40 -2
  4. package/dist/agent-config/catalog.js.map +1 -1
  5. package/dist/agent-config/models.js +4 -0
  6. package/dist/agent-config/models.js.map +1 -1
  7. package/dist/automations/types.d.ts +4 -0
  8. package/dist/config.d.ts +2 -0
  9. package/dist/config.js +1 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/contract/agent-config.d.ts +2 -0
  12. package/dist/contract/agent-profiles.d.ts +15 -0
  13. package/dist/contract/automations.d.ts +16 -0
  14. package/dist/contract/delegation.d.ts +6 -0
  15. package/dist/contract/health.d.ts +4 -0
  16. package/dist/contract/index.js +20 -11
  17. package/dist/contract/runs.d.ts +25 -3
  18. package/dist/contract/skills.d.ts +3 -0
  19. package/dist/contract/workflows.d.ts +6 -0
  20. package/dist/contract/workspace.d.ts +20 -2
  21. package/dist/core/agent-env.js +1 -0
  22. package/dist/core/agent-env.js.map +1 -1
  23. package/dist/core/agent-profiles.js +3 -0
  24. package/dist/core/agent-profiles.js.map +1 -1
  25. package/dist/core/agent-runner.d.ts +1 -1
  26. package/dist/core/agent-runner.js +1 -1
  27. package/dist/core/agent-runner.js.map +1 -1
  28. package/dist/core/backend-detect.d.ts +1 -1
  29. package/dist/core/backend-detect.js +14 -0
  30. package/dist/core/backend-detect.js.map +1 -1
  31. package/dist/core/cursor-acp-runner.d.ts +15 -0
  32. package/dist/core/cursor-acp-runner.js +466 -0
  33. package/dist/core/cursor-acp-runner.js.map +1 -0
  34. package/dist/core/cursor-config-options.d.ts +18 -0
  35. package/dist/core/cursor-config-options.js +31 -0
  36. package/dist/core/cursor-config-options.js.map +1 -0
  37. package/dist/core/cursor-model-catalog.d.ts +23 -0
  38. package/dist/core/cursor-model-catalog.js +271 -0
  39. package/dist/core/cursor-model-catalog.js.map +1 -0
  40. package/dist/core/cursor-ui-mapper.d.ts +29 -0
  41. package/dist/core/cursor-ui-mapper.js +272 -0
  42. package/dist/core/cursor-ui-mapper.js.map +1 -0
  43. package/dist/core/host-model-catalog.js +2 -0
  44. package/dist/core/host-model-catalog.js.map +1 -1
  45. package/dist/core/model-identity.js +3 -0
  46. package/dist/core/model-identity.js.map +1 -1
  47. package/dist/core/model-presets.js +4 -0
  48. package/dist/core/model-presets.js.map +1 -1
  49. package/dist/core/provider-auth.d.ts +1 -1
  50. package/dist/core/provider-auth.js +30 -1
  51. package/dist/core/provider-auth.js.map +1 -1
  52. package/dist/core/runner-factory.js +3 -0
  53. package/dist/core/runner-factory.js.map +1 -1
  54. package/dist/core/runner-model-catalog.js +1 -0
  55. package/dist/core/runner-model-catalog.js.map +1 -1
  56. package/dist/core/shell-env.d.ts +2 -0
  57. package/dist/core/shell-env.js +8 -0
  58. package/dist/core/shell-env.js.map +1 -1
  59. package/dist/core/ui-events.d.ts +1 -1
  60. package/dist/delegation/execution-identity.d.ts +3 -0
  61. package/dist/delegation/execution-identity.js +1 -1
  62. package/dist/delegation/execution-identity.js.map +1 -1
  63. package/dist/delegation/provision.js +1 -1
  64. package/dist/delegation/provision.js.map +1 -1
  65. package/dist/delegation/routes.d.ts +53 -53
  66. package/dist/delegation/transport.d.ts +7 -7
  67. package/dist/paths.js +3 -0
  68. package/dist/paths.js.map +1 -1
  69. package/dist/runs/store.d.ts +7 -3
  70. package/dist/server/open-in-app.js +1 -0
  71. package/dist/server/open-in-app.js.map +1 -1
  72. package/dist/server/provider-action-gate.js +1 -0
  73. package/dist/server/provider-action-gate.js.map +1 -1
  74. package/dist/server/server.d.ts +1441 -1401
  75. package/dist/server/server.js +23 -9
  76. package/dist/server/server.js.map +1 -1
  77. package/dist/workflows/types.d.ts +3 -0
  78. package/dist/workflows/types.js +1 -0
  79. package/dist/workflows/types.js.map +1 -1
  80. package/dist/workspace/agent-accounts.d.ts +5 -1
  81. package/dist/workspace/agent-accounts.js +1 -0
  82. package/dist/workspace/agent-accounts.js.map +1 -1
  83. package/dist/workspace/agent-profiles.js +1 -1
  84. package/dist/workspace/agent-profiles.js.map +1 -1
  85. package/dist/workspace/config.d.ts +3 -1
  86. package/dist/workspace/config.js +1 -0
  87. package/dist/workspace/config.js.map +1 -1
  88. package/package.json +3 -3
  89. package/scripts/mock-cursor-acp.mjs +77 -0
  90. package/web/dist/assets/{agent-accounts-CdHFiYTN.js → agent-accounts-MT-jtwOU.js} +1 -1
  91. package/web/dist/assets/alert-dialog-KUiPIBmb.js +43 -0
  92. package/web/dist/assets/{collapsible-CI78cX0k.js → collapsible-CkSaP6_n.js} +1 -1
  93. package/web/dist/assets/{commit-list-D3Cy_0hj.js → commit-list-B47VXJez.js} +1 -1
  94. package/web/dist/assets/{compare-variants-BkYiBaI1.js → compare-variants-DNqtPFUv.js} +1 -1
  95. package/web/dist/assets/{diff-DDUpEMjA2.js → diff-C4aSZfrQ2.js} +2 -2
  96. package/web/dist/assets/{diff-controls-C1THeHoP.js → diff-controls-D5b8ocJ0.js} +1 -1
  97. package/web/dist/assets/{diff-stat-Cq4juy0u.js → diff-stat-B7f-F8cC.js} +1 -1
  98. package/web/dist/assets/{diff-view-Coyp_Kst.js → diff-view-BPKHTL85.js} +1 -1
  99. package/web/dist/assets/{dropdown-menu-BP8LYsNU.js → dropdown-menu-xYcDecNM.js} +1 -1
  100. package/web/dist/assets/{git-toolbar-BP8_wDyk.js → git-toolbar-C4zVVSpl.js} +1 -1
  101. package/web/dist/assets/{github-CVranJaK.js → github-D97-DHsF.js} +1 -1
  102. package/web/dist/assets/{image-preview-DXIixdjJ.js → image-preview-BhuwWeyP.js} +1 -1
  103. package/web/dist/assets/index-ujHRHX5o.js +7 -0
  104. package/web/dist/assets/{markdown-uwx4ouIE.js → markdown-CIi0LXvU.js} +1 -1
  105. package/web/dist/assets/pill-DDhByAhe.js +1 -0
  106. package/web/dist/assets/{project-router-D9DfwL9L.js → project-router-BOglfKgF.js} +1 -1
  107. package/web/dist/assets/{prompt-templates-DgR9lv5k.js → prompt-templates-DTSPmJP-.js} +1 -1
  108. package/web/dist/assets/{repo-git-BLjI-1pn.js → repo-git-DvxUSPot.js} +1 -1
  109. package/web/dist/assets/{run-diff-DRPGyUPP.js → run-diff-DEVs-zV1.js} +1 -1
  110. package/web/dist/assets/run-header-Dvb1P3Ge.js +1 -0
  111. package/web/dist/assets/{skills-DRowiHKX.js → skills-DJ06RZbi.js} +1 -1
  112. package/web/dist/assets/{tab-link-C5tpLlqv.js → tab-link-ChqeHA8K.js} +1 -1
  113. package/web/dist/assets/{task-changes-LBnRxH_G.js → task-changes-CIN0MkJE.js} +1 -1
  114. package/web/dist/assets/{task-commits-lpE22fPa.js → task-commits-BRZshVHV.js} +1 -1
  115. package/web/dist/assets/{task-files-Dh6SjTQF.js → task-files-BZTNbpcP.js} +1 -1
  116. package/web/dist/assets/{task-thread-B_74GvMl.js → task-thread-D_N6ELtr.js} +6 -6
  117. package/web/dist/assets/{textarea-D_Ce7vp0.js → textarea-DdKiIORK.js} +1 -1
  118. package/web/dist/assets/{thread-loading-CwnPHwar.js → thread-loading-BRM8kyKz.js} +1 -1
  119. package/web/dist/assets/{token-metrics-BC00XXU8.js → token-metrics-DDvhrHmK.js} +1 -1
  120. package/web/dist/assets/{utils-B8qbBJrk.js → utils-CG8vWc5K.js} +1 -1
  121. package/web/dist/assets/{workflows-B2Iq2bcd.js → workflows-CplF7YNk.js} +1 -1
  122. package/web/dist/assets/{zoomable-image-Idq840Ej.js → zoomable-image-BXioMWqb.js} +1 -1
  123. package/web/dist/index.html +13 -13
  124. package/web/dist/assets/alert-dialog-7OZcjFyp.js +0 -43
  125. package/web/dist/assets/index-CokupxlP.js +0 -7
  126. package/web/dist/assets/pill-jITycc8f.js +0 -1
  127. package/web/dist/assets/run-header-DO-yE5Gj.js +0 -1
@@ -107,7 +107,7 @@ var workerCreationReceiptSchema = z3.object({
107
107
  requestHash: requestHashSchema,
108
108
  deletion: z3.object({ phase: z3.enum(["pending", "complete"]), revision: z3.number().int().nonnegative(), resourceId: z3.uuid(), generation: z3.uuid() }).strict().optional()
109
109
  }).strict();
110
- var workerBackendSchema = z3.enum(["claude", "codex", "opencode", "pi"]);
110
+ var workerBackendSchema = z3.enum(["claude", "codex", "opencode", "pi", "cursor"]);
111
111
  var relativeInputPath = z3.string().min(1).max(4096).refine((path) => !/[\\\u0000-\u001f\u007f:]/.test(path) && !path.startsWith("/") && path.split("/").every((part) => part !== "" && part !== "." && part !== ".."));
112
112
  var workerContextReferenceSchema = z3.discriminatedUnion("kind", [
113
113
  z3.object({ kind: z3.literal("baseline-file"), path: relativeInputPath }).strict(),
@@ -403,14 +403,14 @@ function pendingHumanAsk(events) {
403
403
 
404
404
  // ../contract/src/health.ts
405
405
  import { z as z6 } from "zod";
406
- var runnerSchema = z6.enum(["claude", "codex", "opencode", "pi"]);
406
+ var runnerSchema = z6.enum(["claude", "codex", "opencode", "pi", "cursor"]);
407
407
  var repoInfoSchema = z6.object({
408
408
  root: z6.string(),
409
409
  branch: z6.string(),
410
410
  remote: z6.string().optional()
411
411
  });
412
412
  var backendCheckSchema = z6.object({
413
- name: z6.enum(["claude", "codex", "opencode", "pi", "gh", "git"]),
413
+ name: z6.enum(["claude", "codex", "opencode", "pi", "cursor", "gh", "git"]),
414
414
  available: z6.boolean(),
415
415
  version: z6.string().optional(),
416
416
  hint: z6.string().optional()
@@ -1035,6 +1035,8 @@ var runRecordSchema = z9.object({
1035
1035
  workflowDef: workflowDefSchema.optional()
1036
1036
  });
1037
1037
  var apiRunSchema = runRecordSchema.extend({
1038
+ /** Server-resolved Cursor CLI command, including the configured executable. Never persisted. */
1039
+ cliResumeCommand: z9.string().optional(),
1038
1040
  usage: processUsageSchema.optional()
1039
1041
  });
1040
1042
  var runIndexEntrySchema = z9.object({
@@ -1545,7 +1547,8 @@ var workspaceConfigResponseSchema = z12.object({
1545
1547
  claude: z12.string().optional(),
1546
1548
  codex: z12.string().optional(),
1547
1549
  opencode: z12.string().optional(),
1548
- pi: z12.string().optional()
1550
+ pi: z12.string().optional(),
1551
+ cursor: z12.string().optional()
1549
1552
  }).optional()
1550
1553
  })
1551
1554
  });
@@ -1565,7 +1568,8 @@ var setWorkspaceConfigInputSchema = z12.object({
1565
1568
  claude: z12.string().trim().min(1).max(200).nullable().optional(),
1566
1569
  codex: z12.string().trim().min(1).max(200).nullable().optional(),
1567
1570
  opencode: z12.string().trim().min(1).max(200).nullable().optional(),
1568
- pi: z12.string().trim().min(1).max(200).nullable().optional()
1571
+ pi: z12.string().trim().min(1).max(200).nullable().optional(),
1572
+ cursor: z12.string().trim().min(1).max(200).nullable().optional()
1569
1573
  }).optional()
1570
1574
  }).optional(),
1571
1575
  resources: z12.object({
@@ -1643,7 +1647,8 @@ var workspaceUiStateSchema = z12.looseObject({
1643
1647
  claude: z12.string().optional(),
1644
1648
  codex: z12.string().optional(),
1645
1649
  opencode: z12.string().optional(),
1646
- pi: z12.string().optional()
1650
+ pi: z12.string().optional(),
1651
+ cursor: z12.string().optional()
1647
1652
  }).optional(),
1648
1653
  /** Settings → Appearance, GLOBAL since step 3.5: accent + density describe the person at the
1649
1654
  * keyboard, not a repo. */
@@ -1676,7 +1681,8 @@ var setWorkspaceUiStateInputSchema = z12.looseObject({
1676
1681
  claude: z12.string().min(1).max(128).optional(),
1677
1682
  codex: z12.string().min(1).max(128).optional(),
1678
1683
  opencode: z12.string().min(1).max(128).optional(),
1679
- pi: z12.string().min(1).max(128).optional()
1684
+ pi: z12.string().min(1).max(128).optional(),
1685
+ cursor: z12.string().min(1).max(128).optional()
1680
1686
  }).optional(),
1681
1687
  importedSkills: z12.array(z12.string().min(1).max(200)).max(WORKSPACE_UI_STATE_MAX_KEYS).optional(),
1682
1688
  taskTable: taskTableUiStateSchema.extend({
@@ -1696,7 +1702,8 @@ var runnerModelsSchema = z12.object({
1696
1702
  claude: z12.string().optional(),
1697
1703
  codex: z12.string().optional(),
1698
1704
  opencode: z12.string().optional(),
1699
- pi: z12.string().optional()
1705
+ pi: z12.string().optional(),
1706
+ cursor: z12.string().optional()
1700
1707
  });
1701
1708
  var configResponseSchema = z12.object({
1702
1709
  baseBranch: z12.string().nullable(),
@@ -1727,7 +1734,8 @@ var setConfigInputSchema = z12.object({
1727
1734
  claude: z12.string().trim().max(200).nullable().optional(),
1728
1735
  codex: z12.string().trim().max(200).nullable().optional(),
1729
1736
  opencode: z12.string().trim().max(200).nullable().optional(),
1730
- pi: z12.string().trim().max(200).nullable().optional()
1737
+ pi: z12.string().trim().max(200).nullable().optional(),
1738
+ cursor: z12.string().trim().max(200).nullable().optional()
1731
1739
  }).optional(),
1732
1740
  maxParallel: z12.number().int().min(1).max(16).optional(),
1733
1741
  /** null or 0 clears the ceiling back to "no limit". */
@@ -1793,7 +1801,7 @@ var providerConnectResponseSchema = z12.discriminatedUnion("opened", [
1793
1801
  z12.object({ opened: z12.literal(true), command: z12.string() }),
1794
1802
  z12.object({ opened: z12.literal(false), connected: z12.literal(true), command: z12.string() })
1795
1803
  ]);
1796
- var modelDiscoveryRunnerSchema = z12.enum(["claude", "codex", "opencode", "pi"]);
1804
+ var modelDiscoveryRunnerSchema = z12.enum(["claude", "codex", "opencode", "pi", "cursor"]);
1797
1805
  var MODEL_DISCOVERY_RUNNERS = modelDiscoveryRunnerSchema.options;
1798
1806
  function runnerDiscoversModels(runner) {
1799
1807
  return MODEL_DISCOVERY_RUNNERS.includes(runner);
@@ -1986,7 +1994,8 @@ var agentAccountSelectionSchema = z15.object({
1986
1994
  claude: z15.string().optional(),
1987
1995
  codex: z15.string().optional(),
1988
1996
  opencode: z15.string().optional(),
1989
- pi: z15.string().optional()
1997
+ pi: z15.string().optional(),
1998
+ cursor: z15.string().optional()
1990
1999
  });
1991
2000
  var agentProfilesResponseSchema = z15.object({
1992
2001
  editable: z15.boolean(),
@@ -82,6 +82,7 @@ export declare const stepStateSchema: z.ZodObject<{
82
82
  backend: z.ZodOptional<z.ZodEnum<{
83
83
  claude: "claude";
84
84
  codex: "codex";
85
+ cursor: "cursor";
85
86
  opencode: "opencode";
86
87
  pi: "pi";
87
88
  }>>;
@@ -554,6 +555,7 @@ export declare const runRecordSchema: z.ZodObject<{
554
555
  runner: z.ZodOptional<z.ZodEnum<{
555
556
  claude: "claude";
556
557
  codex: "codex";
558
+ cursor: "cursor";
557
559
  opencode: "opencode";
558
560
  pi: "pi";
559
561
  }>>;
@@ -659,6 +661,7 @@ export declare const runRecordSchema: z.ZodObject<{
659
661
  backend: z.ZodOptional<z.ZodEnum<{
660
662
  claude: "claude";
661
663
  codex: "codex";
664
+ cursor: "cursor";
662
665
  opencode: "opencode";
663
666
  pi: "pi";
664
667
  }>>;
@@ -678,6 +681,7 @@ export declare const runRecordSchema: z.ZodObject<{
678
681
  runner: z.ZodOptional<z.ZodEnum<{
679
682
  claude: "claude";
680
683
  codex: "codex";
684
+ cursor: "cursor";
681
685
  opencode: "opencode";
682
686
  pi: "pi";
683
687
  }>>;
@@ -698,9 +702,10 @@ export declare const runRecordSchema: z.ZodObject<{
698
702
  }, z.core.$strip>;
699
703
  export type RunRecord = z.infer<typeof runRecordSchema>;
700
704
  /**
701
- * What `GET /runs` and `GET /runs/:id` answer: the stored record plus the live `usage` sample the
702
- * server attaches on the way out (`withUsage`). Absent for finished runs and wherever `ps` yields
703
- * nothing — never persisted, and never attached by the mutation routes.
705
+ * What `GET /runs` and `GET /runs/:id` answer: the stored record plus host-derived fields.
706
+ * The live `usage` sample is absent for finished runs and wherever `ps` yields nothing.
707
+ * Cursor resume commands use the server executable override. Neither field is persisted
708
+ * or attached by mutation routes.
704
709
  */
705
710
  export declare const apiRunSchema: z.ZodObject<{
706
711
  id: z.ZodString;
@@ -1125,6 +1130,7 @@ export declare const apiRunSchema: z.ZodObject<{
1125
1130
  runner: z.ZodOptional<z.ZodEnum<{
1126
1131
  claude: "claude";
1127
1132
  codex: "codex";
1133
+ cursor: "cursor";
1128
1134
  opencode: "opencode";
1129
1135
  pi: "pi";
1130
1136
  }>>;
@@ -1230,6 +1236,7 @@ export declare const apiRunSchema: z.ZodObject<{
1230
1236
  backend: z.ZodOptional<z.ZodEnum<{
1231
1237
  claude: "claude";
1232
1238
  codex: "codex";
1239
+ cursor: "cursor";
1233
1240
  opencode: "opencode";
1234
1241
  pi: "pi";
1235
1242
  }>>;
@@ -1249,6 +1256,7 @@ export declare const apiRunSchema: z.ZodObject<{
1249
1256
  runner: z.ZodOptional<z.ZodEnum<{
1250
1257
  claude: "claude";
1251
1258
  codex: "codex";
1259
+ cursor: "cursor";
1252
1260
  opencode: "opencode";
1253
1261
  pi: "pi";
1254
1262
  }>>;
@@ -1266,6 +1274,7 @@ export declare const apiRunSchema: z.ZodObject<{
1266
1274
  }>;
1267
1275
  path: z.ZodOptional<z.ZodString>;
1268
1276
  }, z.core.$strip>>;
1277
+ cliResumeCommand: z.ZodOptional<z.ZodString>;
1269
1278
  usage: z.ZodOptional<z.ZodObject<{
1270
1279
  cpuPct: z.ZodNumber;
1271
1280
  rssBytes: z.ZodNumber;
@@ -1924,6 +1933,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
1924
1933
  runner: z.ZodOptional<z.ZodEnum<{
1925
1934
  claude: "claude";
1926
1935
  codex: "codex";
1936
+ cursor: "cursor";
1927
1937
  opencode: "opencode";
1928
1938
  pi: "pi";
1929
1939
  }>>;
@@ -2029,6 +2039,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
2029
2039
  backend: z.ZodOptional<z.ZodEnum<{
2030
2040
  claude: "claude";
2031
2041
  codex: "codex";
2042
+ cursor: "cursor";
2032
2043
  opencode: "opencode";
2033
2044
  pi: "pi";
2034
2045
  }>>;
@@ -2048,6 +2059,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
2048
2059
  runner: z.ZodOptional<z.ZodEnum<{
2049
2060
  claude: "claude";
2050
2061
  codex: "codex";
2062
+ cursor: "cursor";
2051
2063
  opencode: "opencode";
2052
2064
  pi: "pi";
2053
2065
  }>>;
@@ -2489,6 +2501,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
2489
2501
  runner: z.ZodOptional<z.ZodEnum<{
2490
2502
  claude: "claude";
2491
2503
  codex: "codex";
2504
+ cursor: "cursor";
2492
2505
  opencode: "opencode";
2493
2506
  pi: "pi";
2494
2507
  }>>;
@@ -2594,6 +2607,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
2594
2607
  backend: z.ZodOptional<z.ZodEnum<{
2595
2608
  claude: "claude";
2596
2609
  codex: "codex";
2610
+ cursor: "cursor";
2597
2611
  opencode: "opencode";
2598
2612
  pi: "pi";
2599
2613
  }>>;
@@ -2613,6 +2627,7 @@ export declare const createRunResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
2613
2627
  runner: z.ZodOptional<z.ZodEnum<{
2614
2628
  claude: "claude";
2615
2629
  codex: "codex";
2630
+ cursor: "cursor";
2616
2631
  opencode: "opencode";
2617
2632
  pi: "pi";
2618
2633
  }>>;
@@ -3261,6 +3276,7 @@ export declare const pickVariantResponseSchema: z.ZodObject<{
3261
3276
  runner: z.ZodOptional<z.ZodEnum<{
3262
3277
  claude: "claude";
3263
3278
  codex: "codex";
3279
+ cursor: "cursor";
3264
3280
  opencode: "opencode";
3265
3281
  pi: "pi";
3266
3282
  }>>;
@@ -3366,6 +3382,7 @@ export declare const pickVariantResponseSchema: z.ZodObject<{
3366
3382
  backend: z.ZodOptional<z.ZodEnum<{
3367
3383
  claude: "claude";
3368
3384
  codex: "codex";
3385
+ cursor: "cursor";
3369
3386
  opencode: "opencode";
3370
3387
  pi: "pi";
3371
3388
  }>>;
@@ -3385,6 +3402,7 @@ export declare const pickVariantResponseSchema: z.ZodObject<{
3385
3402
  runner: z.ZodOptional<z.ZodEnum<{
3386
3403
  claude: "claude";
3387
3404
  codex: "codex";
3405
+ cursor: "cursor";
3388
3406
  opencode: "opencode";
3389
3407
  pi: "pi";
3390
3408
  }>>;
@@ -3479,6 +3497,7 @@ export declare const createRunInputBaseSchema: z.ZodObject<{
3479
3497
  runner: z.ZodOptional<z.ZodEnum<{
3480
3498
  claude: "claude";
3481
3499
  codex: "codex";
3500
+ cursor: "cursor";
3482
3501
  opencode: "opencode";
3483
3502
  pi: "pi";
3484
3503
  }>>;
@@ -3496,6 +3515,7 @@ export declare const createRunInputBaseSchema: z.ZodObject<{
3496
3515
  runner: z.ZodOptional<z.ZodEnum<{
3497
3516
  claude: "claude";
3498
3517
  codex: "codex";
3518
+ cursor: "cursor";
3499
3519
  opencode: "opencode";
3500
3520
  pi: "pi";
3501
3521
  }>>;
@@ -3528,6 +3548,7 @@ export declare const createRunInputSchema: z.ZodObject<{
3528
3548
  runner: z.ZodOptional<z.ZodEnum<{
3529
3549
  claude: "claude";
3530
3550
  codex: "codex";
3551
+ cursor: "cursor";
3531
3552
  opencode: "opencode";
3532
3553
  pi: "pi";
3533
3554
  }>>;
@@ -3545,6 +3566,7 @@ export declare const createRunInputSchema: z.ZodObject<{
3545
3566
  runner: z.ZodOptional<z.ZodEnum<{
3546
3567
  claude: "claude";
3547
3568
  codex: "codex";
3569
+ cursor: "cursor";
3548
3570
  opencode: "opencode";
3549
3571
  pi: "pi";
3550
3572
  }>>;
@@ -490,6 +490,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
490
490
  runner: z.ZodOptional<z.ZodEnum<{
491
491
  claude: "claude";
492
492
  codex: "codex";
493
+ cursor: "cursor";
493
494
  opencode: "opencode";
494
495
  pi: "pi";
495
496
  }>>;
@@ -595,6 +596,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
595
596
  backend: z.ZodOptional<z.ZodEnum<{
596
597
  claude: "claude";
597
598
  codex: "codex";
599
+ cursor: "cursor";
598
600
  opencode: "opencode";
599
601
  pi: "pi";
600
602
  }>>;
@@ -614,6 +616,7 @@ export declare const startTodoResponseSchema: z.ZodObject<{
614
616
  runner: z.ZodOptional<z.ZodEnum<{
615
617
  claude: "claude";
616
618
  codex: "codex";
619
+ cursor: "cursor";
617
620
  opencode: "opencode";
618
621
  pi: "pi";
619
622
  }>>;
@@ -24,6 +24,7 @@ export declare const workflowStepDefSchema: z.ZodObject<{
24
24
  runner: z.ZodOptional<z.ZodEnum<{
25
25
  claude: "claude";
26
26
  codex: "codex";
27
+ cursor: "cursor";
27
28
  opencode: "opencode";
28
29
  pi: "pi";
29
30
  }>>;
@@ -49,6 +50,7 @@ export declare const workflowDefSchema: z.ZodObject<{
49
50
  runner: z.ZodOptional<z.ZodEnum<{
50
51
  claude: "claude";
51
52
  codex: "codex";
53
+ cursor: "cursor";
52
54
  opencode: "opencode";
53
55
  pi: "pi";
54
56
  }>>;
@@ -89,6 +91,7 @@ export declare const workflowsResponseSchema: z.ZodObject<{
89
91
  runner: z.ZodOptional<z.ZodEnum<{
90
92
  claude: "claude";
91
93
  codex: "codex";
94
+ cursor: "cursor";
92
95
  opencode: "opencode";
93
96
  pi: "pi";
94
97
  }>>;
@@ -130,6 +133,7 @@ export declare const saveWorkflowInputSchema: z.ZodObject<{
130
133
  runner: z.ZodOptional<z.ZodEnum<{
131
134
  claude: "claude";
132
135
  codex: "codex";
136
+ cursor: "cursor";
133
137
  opencode: "opencode";
134
138
  pi: "pi";
135
139
  }>>;
@@ -164,6 +168,7 @@ export declare const parsedWorkflowSchema: z.ZodObject<{
164
168
  runner: z.ZodOptional<z.ZodEnum<{
165
169
  claude: "claude";
166
170
  codex: "codex";
171
+ cursor: "cursor";
167
172
  opencode: "opencode";
168
173
  pi: "pi";
169
174
  }>>;
@@ -204,6 +209,7 @@ export declare const planResponseSchema: z.ZodObject<{
204
209
  runner: z.ZodOptional<z.ZodEnum<{
205
210
  claude: "claude";
206
211
  codex: "codex";
212
+ cursor: "cursor";
207
213
  opencode: "opencode";
208
214
  pi: "pi";
209
215
  }>>;
@@ -44,6 +44,7 @@ export declare const workspaceConfigResponseSchema: z.ZodObject<{
44
44
  runner: z.ZodOptional<z.ZodEnum<{
45
45
  claude: "claude";
46
46
  codex: "codex";
47
+ cursor: "cursor";
47
48
  opencode: "opencode";
48
49
  pi: "pi";
49
50
  }>>;
@@ -52,6 +53,7 @@ export declare const workspaceConfigResponseSchema: z.ZodObject<{
52
53
  codex: z.ZodOptional<z.ZodString>;
53
54
  opencode: z.ZodOptional<z.ZodString>;
54
55
  pi: z.ZodOptional<z.ZodString>;
56
+ cursor: z.ZodOptional<z.ZodString>;
55
57
  }, z.core.$strip>>;
56
58
  }, z.core.$strip>;
57
59
  }, z.core.$strip>;
@@ -75,6 +77,7 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
75
77
  runner: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
76
78
  claude: "claude";
77
79
  codex: "codex";
80
+ cursor: "cursor";
78
81
  opencode: "opencode";
79
82
  pi: "pi";
80
83
  }>>>;
@@ -83,6 +86,7 @@ export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
83
86
  codex: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
87
  opencode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
88
  pi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
90
  }, z.core.$strip>>;
87
91
  }, z.core.$strip>>;
88
92
  resources: z.ZodOptional<z.ZodObject<{
@@ -185,6 +189,7 @@ export declare const workspaceUiStateSchema: z.ZodObject<{
185
189
  codex: z.ZodOptional<z.ZodString>;
186
190
  opencode: z.ZodOptional<z.ZodString>;
187
191
  pi: z.ZodOptional<z.ZodString>;
192
+ cursor: z.ZodOptional<z.ZodString>;
188
193
  }, z.core.$strip>>;
189
194
  appearance: z.ZodOptional<z.ZodObject<{
190
195
  accent: z.ZodOptional<z.ZodEnum<{
@@ -256,6 +261,7 @@ export declare const setWorkspaceUiStateInputSchema: z.ZodObject<{
256
261
  codex: z.ZodOptional<z.ZodString>;
257
262
  opencode: z.ZodOptional<z.ZodString>;
258
263
  pi: z.ZodOptional<z.ZodString>;
264
+ cursor: z.ZodOptional<z.ZodString>;
259
265
  }, z.core.$strict>>;
260
266
  importedSkills: z.ZodOptional<z.ZodArray<z.ZodString>>;
261
267
  taskTable: z.ZodOptional<z.ZodObject<{
@@ -272,6 +278,7 @@ export declare const runnerModelsSchema: z.ZodObject<{
272
278
  codex: z.ZodOptional<z.ZodString>;
273
279
  opencode: z.ZodOptional<z.ZodString>;
274
280
  pi: z.ZodOptional<z.ZodString>;
281
+ cursor: z.ZodOptional<z.ZodString>;
275
282
  }, z.core.$strip>;
276
283
  export type RunnerModels = z.infer<typeof runnerModelsSchema>;
277
284
  /** `GET /api/v1/config` — every Settings → Agents knob in one read. */
@@ -280,6 +287,7 @@ export declare const configResponseSchema: z.ZodObject<{
280
287
  defaultRunner: z.ZodEnum<{
281
288
  claude: "claude";
282
289
  codex: "codex";
290
+ cursor: "cursor";
283
291
  opencode: "opencode";
284
292
  pi: "pi";
285
293
  }>;
@@ -289,6 +297,7 @@ export declare const configResponseSchema: z.ZodObject<{
289
297
  codex: z.ZodOptional<z.ZodString>;
290
298
  opencode: z.ZodOptional<z.ZodString>;
291
299
  pi: z.ZodOptional<z.ZodString>;
300
+ cursor: z.ZodOptional<z.ZodString>;
292
301
  }, z.core.$strip>;
293
302
  modelsLocked: z.ZodBoolean;
294
303
  maxParallel: z.ZodNumber;
@@ -304,6 +313,7 @@ export declare const setConfigResponseSchema: z.ZodObject<{
304
313
  defaultRunner: z.ZodEnum<{
305
314
  claude: "claude";
306
315
  codex: "codex";
316
+ cursor: "cursor";
307
317
  opencode: "opencode";
308
318
  pi: "pi";
309
319
  }>;
@@ -313,6 +323,7 @@ export declare const setConfigResponseSchema: z.ZodObject<{
313
323
  codex: z.ZodOptional<z.ZodString>;
314
324
  opencode: z.ZodOptional<z.ZodString>;
315
325
  pi: z.ZodOptional<z.ZodString>;
326
+ cursor: z.ZodOptional<z.ZodString>;
316
327
  }, z.core.$strip>;
317
328
  modelsLocked: z.ZodBoolean;
318
329
  maxParallel: z.ZodNumber;
@@ -334,6 +345,7 @@ export declare const setConfigInputSchema: z.ZodObject<{
334
345
  defaultRunner: z.ZodOptional<z.ZodEnum<{
335
346
  claude: "claude";
336
347
  codex: "codex";
348
+ cursor: "cursor";
337
349
  opencode: "opencode";
338
350
  pi: "pi";
339
351
  }>>;
@@ -343,6 +355,7 @@ export declare const setConfigInputSchema: z.ZodObject<{
343
355
  codex: z.ZodOptional<z.ZodNullable<z.ZodString>>;
344
356
  opencode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
345
357
  pi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
+ cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
359
  }, z.core.$strip>>;
347
360
  maxParallel: z.ZodOptional<z.ZodNumber>;
348
361
  memoryLimitMb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -427,6 +440,7 @@ export type SkillsUpdateState = z.infer<typeof skillsUpdateStateSchema>;
427
440
  export declare const providerIdSchema: z.ZodEnum<{
428
441
  claude: "claude";
429
442
  codex: "codex";
443
+ cursor: "cursor";
430
444
  opencode: "opencode";
431
445
  pi: "pi";
432
446
  }>;
@@ -451,6 +465,7 @@ export declare const providerStatusSchema: z.ZodObject<{
451
465
  provider: z.ZodEnum<{
452
466
  claude: "claude";
453
467
  codex: "codex";
468
+ cursor: "cursor";
454
469
  opencode: "opencode";
455
470
  pi: "pi";
456
471
  }>;
@@ -472,6 +487,7 @@ export declare const providerStatusResponseSchema: z.ZodObject<{
472
487
  provider: z.ZodEnum<{
473
488
  claude: "claude";
474
489
  codex: "codex";
490
+ cursor: "cursor";
475
491
  opencode: "opencode";
476
492
  pi: "pi";
477
493
  }>;
@@ -503,12 +519,13 @@ export type ProviderConnectResponse = z.infer<typeof providerConnectResponseSche
503
519
  /**
504
520
  * The runners whose model list is discovered from the host rather than hard-coded: Codex
505
521
  * through its app-server protocol, OpenCode through its own `models` listing (#794), Pi
506
- * through `pi --list-models`, and Claude through stream-json `list_models`. One definition, used by the route's
507
- * query validator and by the cockpit's picker.
522
+ * through `pi --list-models`, Cursor through `agent --list-models`, and Claude through
523
+ * stream-json `list_models`. One definition, used by the route's query validator and the picker.
508
524
  */
509
525
  export declare const modelDiscoveryRunnerSchema: z.ZodEnum<{
510
526
  claude: "claude";
511
527
  codex: "codex";
528
+ cursor: "cursor";
512
529
  opencode: "opencode";
513
530
  pi: "pi";
514
531
  }>;
@@ -536,6 +553,7 @@ export declare const runnerModelCatalogResponseSchema: z.ZodObject<{
536
553
  runner: z.ZodEnum<{
537
554
  claude: "claude";
538
555
  codex: "codex";
556
+ cursor: "cursor";
539
557
  opencode: "opencode";
540
558
  pi: "pi";
541
559
  }>;
@@ -215,6 +215,7 @@ const BACKEND_ALLOW_PREFIXES = {
215
215
  'claude-cli': ['ANTHROPIC_', 'CLAUDE_'],
216
216
  codex: ['OPENAI_', 'CODEX_', 'AZURE_OPENAI_'],
217
217
  opencode: MULTI_PROVIDER_PREFIXES,
218
+ cursor: ['CURSOR_'],
218
219
  // pi selects models as `provider/model` (#387), so it needs both its own config and any
219
220
  // provider a configured model id can name — the same set OpenCode gets, for the same reason.
220
221
  // Deliberately NOT `CLAUDE_`: pi is not Claude Code and reads none of its variables, and the
@@ -1 +1 @@
1
- {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,8 @@ export const PROFILE_ENV_VAR = {
39
39
  codex: 'CODEX_HOME',
40
40
  opencode: null,
41
41
  pi: null,
42
+ // CURSOR_CONFIG_DIR relocates configuration, not a verified whole account home.
43
+ cursor: null,
42
44
  };
43
45
  /** Providers that can carry more than one account — what the UI offers "Add account" for. */
44
46
  export const PROFILE_CAPABLE_PROVIDERS = Object.keys(PROFILE_ENV_VAR).filter((provider) => PROFILE_ENV_VAR[provider] !== null);
@@ -86,5 +88,6 @@ const PROFILE_DIR_MARKERS = {
86
88
  // pi cannot carry profiles (`PROFILE_ENV_VAR.pi === null`), so nothing ever probes a pi
87
89
  // profile dir; the entry exists to keep this table exhaustive over `ProviderId`.
88
90
  pi: [],
91
+ cursor: [],
89
92
  };
90
93
  //# sourceMappingURL=agent-profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-profiles.js","sourceRoot":"","sources":["../../src/core/agent-profiles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;CACT,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,yBAAyB,GACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAC5B,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoB,EAAE,SAAoC;IACnF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAoB,EAAE,OAA0B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,mBAAmB,GAA0C;IACjE,8FAA8F;IAC9F,yCAAyC;IACzC,MAAM,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;IACnC,QAAQ,EAAE,EAAE;IACZ,wFAAwF;IACxF,iFAAiF;IACjF,EAAE,EAAE,EAAE;CACP,CAAC"}
1
+ {"version":3,"file":"agent-profiles.js","sourceRoot":"","sources":["../../src/core/agent-profiles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,IAAI;IACd,EAAE,EAAE,IAAI;IACR,gFAAgF;IAChF,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,yBAAyB,GACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAC5B,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoB,EAAE,SAAoC;IACnF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAoB,EAAE,OAA0B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,MAAM,mBAAmB,GAA0C;IACjE,8FAA8F;IAC9F,yCAAyC;IACzC,MAAM,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;IACjE,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;IACnC,QAAQ,EAAE,EAAE;IACZ,wFAAwF;IACxF,iFAAiF;IACjF,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,EAAE;CACX,CAAC"}
@@ -19,7 +19,7 @@ import type { UiEvent } from './ui-events.ts';
19
19
  * server-install "at least one agent CLI" gate, the CLI-handoff registry) rather than repeating
20
20
  * the literals, so adding runner #5 is a one-line change here and typecheck finds the rest.
21
21
  */
22
- export declare const RUNNER_IDS: readonly ['claude', 'codex', 'opencode', 'pi'];
22
+ export declare const RUNNER_IDS: readonly ['claude', 'codex', 'opencode', 'pi', 'cursor'];
23
23
  /** The user-selectable runners (what config/GUI expose). */
24
24
  export type RunnerId = (typeof RUNNER_IDS)[number];
25
25
  /** `claude-cli` is the legacy id kept so old run records still parse. */
@@ -18,7 +18,7 @@
18
18
  * server-install "at least one agent CLI" gate, the CLI-handoff registry) rather than repeating
19
19
  * the literals, so adding runner #5 is a one-line change here and typecheck finds the rest.
20
20
  */
21
- export const RUNNER_IDS = ['claude', 'codex', 'opencode', 'pi'];
21
+ export const RUNNER_IDS = ['claude', 'codex', 'opencode', 'pi', 'cursor'];
22
22
  /** Narrow an arbitrary string (a config value, a check name) to a runner id. */
23
23
  export function isRunnerId(value) {
24
24
  return RUNNER_IDS.includes(value);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAU,CAAC;AAQzE,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AA+CD;;;;GAIG;AACH,MAAM,wBAAwB,GAA+C;IAC3E,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,IAAI;IACT,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,IAAI;IAC3B,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAiC,CAAC;AAsB3G;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAgC,EAAE,UAAkB;IACtF,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC7D,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AAClE,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAQnF,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AA+CD;;;;GAIG;AACH,MAAM,wBAAwB,GAA+C;IAC3E,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,IAAI;IACT,YAAY,EAAE,IAAI;IAClB,wBAAwB,EAAE,IAAI;IAC9B,aAAa,EAAE,IAAI;IACnB,qBAAqB,EAAE,IAAI;IAC3B,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAiC,CAAC;AAsB3G;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAgC,EAAE,UAAkB;IACtF,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC7D,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AAClE,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC;AACtB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export interface BackendCheck {
2
- name: 'claude' | 'codex' | 'opencode' | 'pi' | 'gh' | 'git';
2
+ name: 'claude' | 'codex' | 'opencode' | 'pi' | 'cursor' | 'gh' | 'git';
3
3
  available: boolean;
4
4
  version?: string;
5
5
  hint?: string;
@@ -14,6 +14,7 @@ export async function detectEnvironment() {
14
14
  probeCodex(),
15
15
  probeOpencode(),
16
16
  probePi(),
17
+ probeCursor(),
17
18
  probeGh(),
18
19
  probeGit(),
19
20
  ]);
@@ -117,6 +118,19 @@ async function probePi() {
117
118
  };
118
119
  }
119
120
  }
121
+ async function probeCursor() {
122
+ if (process.env.CEZ_DRY_RUN === '1') {
123
+ return { name: 'cursor', available: true, version: 'mock (CEZ_DRY_RUN=1)' };
124
+ }
125
+ const bin = process.env.CEZ_CURSOR_BIN ?? 'agent';
126
+ try {
127
+ const { stdout } = await exec(bin, ['--version'], { timeout: 10_000 });
128
+ return { name: 'cursor', available: true, version: stdout.trim(), hint: 'Run `agent login` to connect Cursor.' };
129
+ }
130
+ catch {
131
+ return { name: 'cursor', available: false, hint: 'Optional: install Cursor CLI (https://cursor.com/docs/cli/installation), then run `agent login`.' };
132
+ }
133
+ }
120
134
  async function probeGh() {
121
135
  try {
122
136
  const { stdout } = await exec('gh', ['auth', 'token'], { timeout: 10_000 });