@runeya/runeya 2.0.152 → 2.0.154

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 (108) hide show
  1. package/{chat-Z7SFBEXS.js → chat-COP27XB3.js} +3 -3
  2. package/{chunk-EUTW2S4P.js → chunk-OLHL5NFP.js} +7 -4
  3. package/chunk-OLHL5NFP.js.map +1 -0
  4. package/{chunk-QJSIN26R.js → chunk-VKYSHTYT.js} +443 -78
  5. package/chunk-VKYSHTYT.js.map +1 -0
  6. package/{companion-ZDEGNZ2G.js → companion-3MW23ONE.js} +2 -2
  7. package/index.js +7 -7
  8. package/{install-gate-TSCXUCYE.js → install-gate-3UVXPA57.js} +2 -2
  9. package/package.json +1 -1
  10. package/{src-NWPED6TK.js → src-K4E6GUCZ.js} +37 -25
  11. package/src-K4E6GUCZ.js.map +1 -0
  12. package/web/assets/{AgentScalarChatInterface.vue-0pB6D9jL.js → AgentScalarChatInterface.vue-BtA-f77q.js} +3 -3
  13. package/web/assets/{AgentTerminalPage-D1c5A1Ol.js → AgentTerminalPage-2Ky-vEkw.js} +1 -1
  14. package/web/assets/AiChatModals-BV3vIIqN.js +4 -0
  15. package/web/assets/AiChatModals-DS5R3Oz1.css +1 -0
  16. package/web/assets/AppLayout-BgPr-urw.css +1 -0
  17. package/web/assets/AppLayout-DsczwAFI.js +1 -0
  18. package/web/assets/{AuditPage-B_Ee8f0S.js → AuditPage-DoKHFRJ7.js} +1 -1
  19. package/web/assets/{CloudAccountPage-D1L8Z_V3.js → CloudAccountPage-CDQNalgx.js} +1 -1
  20. package/web/assets/{CloudMessagingPage-CyZF0sdY.js → CloudMessagingPage-DduCz3KB.js} +1 -1
  21. package/web/assets/{DashboardPage-BeWd0GWF.js → DashboardPage-ClJR5DiP.js} +1 -1
  22. package/web/assets/{DirectoryPickerDialog-BGhbB66i.js → DirectoryPickerDialog-CVVg3SzI.js} +1 -1
  23. package/web/assets/{EditorIcon-CcU8Z46_.js → EditorIcon-DksI79ZN.js} +1 -1
  24. package/web/assets/{EnvironmentForm-B0FYydAK.js → EnvironmentForm-eMpLFv_-.js} +1 -1
  25. package/web/assets/{EnvironmentFormPage-BdTdOUBD.js → EnvironmentFormPage-DXH2lgk_.js} +1 -1
  26. package/web/assets/{EnvironmentListPage-Cy9Kg5pY.js → EnvironmentListPage-D-g_8lQw.js} +1 -1
  27. package/web/assets/{FlagChip-maG1f7pl.js → FlagChip-DjC14z4J.js} +1 -1
  28. package/web/assets/KanbanBoardPage-BeSkCN6I.js +4 -0
  29. package/web/assets/KanbanBoardPage-BrFqn87r.css +1 -0
  30. package/web/assets/{KanbanListPage-BigioApQ.css → KanbanListPage-DCK-N3nw.css} +1 -1
  31. package/web/assets/{KanbanListPage-BOxLKDpW.js → KanbanListPage-DnhCC5ET.js} +1 -1
  32. package/web/assets/{LaunchProjectPage-zlY3PK3t.js → LaunchProjectPage-DyNqhic1.js} +1 -1
  33. package/web/assets/{LaunchServicesPage-BsM0bP8N.js → LaunchServicesPage-bI7pVeU7.js} +1 -1
  34. package/web/assets/{LaunchShell-BznQ7GLD.js → LaunchShell-CokT4E5l.js} +1 -1
  35. package/web/assets/{LogViewer-9e3e9X-R.js → LogViewer-Cs3Y8vaZ.js} +1 -1
  36. package/web/assets/{OrgKeyPrompt-Ckq1sJ8-.js → OrgKeyPrompt-DtgelhnI.js} +1 -1
  37. package/web/assets/{ProcessControls-Br_aLfW7.js → ProcessControls-CxlDLGiO.js} +1 -1
  38. package/web/assets/{ProcessDetailPage-D3BNcm7N.js → ProcessDetailPage-D93cKCHb.js} +1 -1
  39. package/web/assets/{ProcessMetrics-D-rQkzqK.js → ProcessMetrics-C_7_boMv.js} +1 -1
  40. package/web/assets/{ProjectCreateDialog-BzJRqXun.js → ProjectCreateDialog-Bko_A5wp.js} +1 -1
  41. package/web/assets/{ProjectLocationGate-DjBwSAKc.js → ProjectLocationGate-jsy8WetY.js} +1 -1
  42. package/web/assets/{ProjectPublishDialog-yakoPg1D.js → ProjectPublishDialog-7kR1zZAo.js} +1 -1
  43. package/web/assets/{RandomJobTestPage-Dh0-shVq.js → RandomJobTestPage-Dp9prwa7.js} +1 -1
  44. package/web/assets/{ScenarioEditorPage-DEdlwmf3.js → ScenarioEditorPage-fv9yLH75.js} +1 -1
  45. package/web/assets/{SendToChatDialog-_ai4UP8l.js → SendToChatDialog-BVSbXcbf.js} +1 -1
  46. package/web/assets/{ServiceControlsBar-Bo-jHhJK.js → ServiceControlsBar-DFECGWL8.js} +1 -1
  47. package/web/assets/{ServiceDetailPage-CWB3XIMA.js → ServiceDetailPage-BQA74240.js} +1 -1
  48. package/web/assets/{ServiceFormPage-BzARwyAF.js → ServiceFormPage-ChsRsoLt.js} +1 -1
  49. package/web/assets/SettingsPage-BXKsN9Py.js +2086 -0
  50. package/web/assets/{SettingsPage-NpFX7FAy.css → SettingsPage-Dsuzjo8r.css} +1 -1
  51. package/web/assets/{UnlockPage-C08Itng5.js → UnlockPage-DhEN16uX.js} +1 -1
  52. package/web/assets/{VaultMigrationPage-BLZc5pXH.js → VaultMigrationPage-BgRNUuTP.js} +1 -1
  53. package/web/assets/{VersionBadge-lBKbqt98.js → VersionBadge-CXJ-2h5V.js} +1 -1
  54. package/web/assets/{WikiPage-RCU0T1IS.js → WikiPage-BT5a9d5Q.js} +1 -1
  55. package/web/assets/{WikiView-BV8MZ8qm.js → WikiView-BNReLsq5.js} +1 -1
  56. package/web/assets/{add-scalar-classes-CvUuKrM6.js → add-scalar-classes-C_lKfiMa.js} +2 -2
  57. package/web/assets/{agent.store-yrwtq9oP.js → agent.store-B6OM7edC.js} +1 -1
  58. package/web/assets/{auth-LbzJj0JF.js → auth-5bsz5kSC.js} +2 -2
  59. package/web/assets/{cloud-chat.store-y_9urSQZ.js → cloud-chat.store-Di38xQRJ.js} +1 -1
  60. package/web/assets/{cloud-client-DhjJyZHU.js → cloud-client-CEVx-bg6.js} +2 -2
  61. package/web/assets/{cloud-session-BlihYcy2.js → cloud-session-w6eNQX1X.js} +2 -2
  62. package/web/assets/composables-CCbqJqnd.js +1 -0
  63. package/web/assets/i18n-DbgjJIf8.js +1 -0
  64. package/web/assets/index-DB3-fmza.css +1 -0
  65. package/web/assets/{index-Ci2pSJuu.js → index-mvpLwxNT.js} +74 -74
  66. package/web/assets/modal-Bslt0NZi.js +5 -0
  67. package/web/assets/{notification.store-Bp37Xsss.js → notification.store-CAG1kWYq.js} +1 -1
  68. package/web/assets/{project-launch.store-AB257LRF.js → project-launch.store-Im5SMon9.js} +1 -1
  69. package/web/assets/{project.store-qBZ_R1td.js → project.store-CITAykC3.js} +1 -1
  70. package/web/assets/{scenario.store-B5ybSSzx.js → scenario.store-C9sSoRzb.js} +2 -2
  71. package/web/assets/{service.store-BrKRjCtb.js → service.store-CZJuuJiv.js} +1 -1
  72. package/web/assets/{settings-scope-BSdUKgjx.js → settings-scope-vcJEMNnD.js} +1 -1
  73. package/web/assets/{settings.store-C8guF9Fl.js → settings.store-CydW_2jh.js} +1 -1
  74. package/web/assets/src-CIOvFTGI.js +1960 -0
  75. package/web/assets/{src-Br-M9ln7.js → src-COZZWm-m.js} +1 -1
  76. package/web/assets/{src-DOcCcTQv.js → src-Ck_MutzB.js} +1 -1
  77. package/web/assets/src-DOziuDw8.css +1 -0
  78. package/web/assets/src-DrVR8mhy.css +1 -0
  79. package/web/assets/{trpc-CAKhySL_.js → trpc-BQ0mLnfI.js} +3 -3
  80. package/web/assets/{useCloudOrg-B_JPalTv.js → useCloudOrg-CQvEbrZv.js} +1 -1
  81. package/web/assets/{useEnvVarAutocomplete-DCZCMfLC.js → useEnvVarAutocomplete-hy3rO3SN.js} +1 -1
  82. package/web/assets/{useProjectCatalog-CCJAkQi_.js → useProjectCatalog-CWHpf3Yj.js} +1 -1
  83. package/web/assets/{useProjectCloudOrg-CG4CriU2.js → useProjectCloudOrg-B3rNPes5.js} +1 -1
  84. package/web/assets/{useServiceUrlHost-C1gL6Mjg.js → useServiceUrlHost-BFfie_6h.js} +1 -1
  85. package/web/index.html +19 -19
  86. package/chunk-EUTW2S4P.js.map +0 -1
  87. package/chunk-QJSIN26R.js.map +0 -1
  88. package/mcp-server/external.d.ts +0 -44
  89. package/mcp-server/index.d.ts +0 -1
  90. package/mcp-server/launch.d.ts +0 -89
  91. package/src-NWPED6TK.js.map +0 -1
  92. package/web/assets/AiChatModals-B_Cn5wNS.js +0 -4
  93. package/web/assets/AiChatModals-BmWxg-Sr.css +0 -1
  94. package/web/assets/AppLayout-BsFZ6nG3.js +0 -1
  95. package/web/assets/AppLayout-Djk3-XbN.css +0 -1
  96. package/web/assets/KanbanBoardPage-BOEK_sKt.js +0 -4
  97. package/web/assets/KanbanBoardPage-Bb_8xU-I.css +0 -1
  98. package/web/assets/SettingsPage-CsIXEQrW.js +0 -2086
  99. package/web/assets/composables-DguCUR3O.js +0 -1
  100. package/web/assets/i18n-DxVwqoxL.js +0 -1
  101. package/web/assets/index-Ck_3m_I9.css +0 -1
  102. package/web/assets/modal-KpWdqKSY.js +0 -5
  103. package/web/assets/src-Dbg3CMY2.css +0 -1
  104. package/web/assets/src-dQGrnDw0.css +0 -1
  105. package/web/assets/src-recq0B6o.js +0 -1960
  106. /package/{chat-Z7SFBEXS.js.map → chat-COP27XB3.js.map} +0 -0
  107. /package/{companion-ZDEGNZ2G.js.map → companion-3MW23ONE.js.map} +0 -0
  108. /package/{install-gate-TSCXUCYE.js.map → install-gate-3UVXPA57.js.map} +0 -0
@@ -33,7 +33,7 @@ import {
33
33
  runCompanionNow,
34
34
  stopCompanion,
35
35
  takeRelaunchSlot
36
- } from "./chunk-EUTW2S4P.js";
36
+ } from "./chunk-OLHL5NFP.js";
37
37
  import "./chunk-2DIW5EUT.js";
38
38
  import "./chunk-R4SKU6AO.js";
39
39
  import "./chunk-DTRZ5ZN7.js";
@@ -79,4 +79,4 @@ export {
79
79
  stopCompanion,
80
80
  takeRelaunchSlot
81
81
  };
82
- //# sourceMappingURL=companion-ZDEGNZ2G.js.map
82
+ //# sourceMappingURL=companion-3MW23ONE.js.map
package/index.js CHANGED
@@ -89,7 +89,7 @@ async function runDesktopInstaller(required) {
89
89
  const { installDesktopLauncher, listDesktopLaunchers, uninstallDesktopLauncher, deriveIdentity } = await import("./desktop-launcher-WBYP3KTF.js");
90
90
  const { printInstallReport } = await import("./desktop-wizard-XIDDAG7L.js");
91
91
  const { runInstallerPage } = await import("./desktop-installer-page-TBKSXVFD.js");
92
- const { createGlobalInstaller } = await import("./install-gate-TSCXUCYE.js");
92
+ const { createGlobalInstaller } = await import("./install-gate-3UVXPA57.js");
93
93
  const current = { nodePath: process.execPath, cliEntry: fileURLToPath(import.meta.url) };
94
94
  const outcome = await runInstallerPage({
95
95
  openUrl: (url) => open(url),
@@ -145,7 +145,7 @@ if (subCommand === "install-desktop" || subCommand === "uninstall-desktop") {
145
145
  }
146
146
  const { name, id } = deriveIdentity(displayName, workingDir);
147
147
  if (subCommand === "install-desktop") {
148
- const { createGlobalInstaller, SKIP_INSTALL_CHECK_ENV } = await import("./install-gate-TSCXUCYE.js");
148
+ const { createGlobalInstaller, SKIP_INSTALL_CHECK_ENV } = await import("./install-gate-3UVXPA57.js");
149
149
  if (process.env[SKIP_INSTALL_CHECK_ENV] !== "1") {
150
150
  const target = { cliEntry: launcherBase.cliEntry };
151
151
  const global = await (await createGlobalInstaller(target, version)).state();
@@ -180,7 +180,7 @@ if (subCommand === "install-desktop" || subCommand === "uninstall-desktop") {
180
180
  }
181
181
  }
182
182
  if (subCommand === "instances") {
183
- const { listInstances, killInstance, restartInstance } = await import("./src-NWPED6TK.js");
183
+ const { listInstances, killInstance, restartInstance } = await import("./src-K4E6GUCZ.js");
184
184
  const { runInstancesCommand } = await import("./instances-command-KZ5UGXOR.js");
185
185
  process.exit(await runInstancesCommand(args.slice(1), {
186
186
  listInstances,
@@ -195,7 +195,7 @@ if (subCommand === "instances") {
195
195
  }));
196
196
  }
197
197
  if (subCommand === "mcp") {
198
- const { listInstances } = await import("./src-NWPED6TK.js");
198
+ const { listInstances } = await import("./src-K4E6GUCZ.js");
199
199
  const { runExternalMcp } = await import("./external-UJ46WKBL.js");
200
200
  await runExternalMcp({ listInstances });
201
201
  await new Promise(() => {
@@ -354,7 +354,7 @@ function listenWithRetry(server, port, host, wss, maxRetries = 20, delay = 500)
354
354
  });
355
355
  }
356
356
  async function main() {
357
- const { mustOpenInstaller, hasDesktop, SKIP_INSTALL_CHECK_ENV } = await import("./install-gate-TSCXUCYE.js");
357
+ const { mustOpenInstaller, hasDesktop, SKIP_INSTALL_CHECK_ENV } = await import("./install-gate-3UVXPA57.js");
358
358
  if (mustOpenInstaller({
359
359
  isFromDesktop,
360
360
  isRestartHandoff: process.env.RUNEYA_RESTART_HANDOFF === "1",
@@ -386,7 +386,7 @@ async function main() {
386
386
  console.warn(`[cli] Journal sur disque indisponible : ${err.message}`);
387
387
  }
388
388
  }
389
- const { createLocalServer, pullEnv, PullEnvError, registerInstance, registerCliLocation } = await import("./src-NWPED6TK.js");
389
+ const { createLocalServer, pullEnv, PullEnvError, registerInstance, registerCliLocation } = await import("./src-K4E6GUCZ.js");
390
390
  registerCliLocation({ execPath: process.execPath, cliEntry: fileURLToPath(import.meta.url) });
391
391
  if (isPullEnv) {
392
392
  if (!serviceArg) {
@@ -495,7 +495,7 @@ async function main() {
495
495
  networkInfo,
496
496
  setLanMode,
497
497
  resolveTrayIcon
498
- } = await import("./src-NWPED6TK.js");
498
+ } = await import("./src-K4E6GUCZ.js");
499
499
  tray = await startInstanceTray({
500
500
  info: { cwd: process.cwd(), port, version, url: appUrl },
501
501
  assetsDir: join(__dirname, "assets"),
@@ -19,7 +19,7 @@ function samePath(a, b, platform = process.platform) {
19
19
  }
20
20
  }
21
21
  async function createGlobalInstaller(current, runningVersion) {
22
- const { resolveNpm, probeVersion, installRuneyaGlobally, installedRuneya, compareSemver, installPrefix, userPrefix } = await import("./src-NWPED6TK.js");
22
+ const { resolveNpm, probeVersion, installRuneyaGlobally, installedRuneya, compareSemver, installPrefix, userPrefix } = await import("./src-K4E6GUCZ.js");
23
23
  const npm = resolveNpm();
24
24
  async function prefixes() {
25
25
  const global = await probeVersion(npm, ["prefix", "-g"]);
@@ -57,4 +57,4 @@ export {
57
57
  hasDesktop,
58
58
  mustOpenInstaller
59
59
  };
60
- //# sourceMappingURL=install-gate-TSCXUCYE.js.map
60
+ //# sourceMappingURL=install-gate-3UVXPA57.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runeya/runeya",
3
- "version": "2.0.152",
3
+ "version": "2.0.154",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "runeya": "./index.js"
@@ -7,6 +7,7 @@ import {
7
7
  DEFAULT_MODELS,
8
8
  DescriptionSchema,
9
9
  Id128Schema,
10
+ KanbanUnavailableError,
10
11
  MAX_IMAGE_SIZE_BYTES,
11
12
  NameSchema,
12
13
  OPENAI_COMPAT_BASE_URLS,
@@ -64,7 +65,7 @@ import {
64
65
  soleAccountScope,
65
66
  startCliSession,
66
67
  vaultOfProject
67
- } from "./chunk-QJSIN26R.js";
68
+ } from "./chunk-VKYSHTYT.js";
68
69
  import "./chunk-QD2OVLK4.js";
69
70
  import {
70
71
  environmentOverridesStore,
@@ -94,7 +95,7 @@ import {
94
95
  stopClaudeTranscriptWatcher,
95
96
  stopCodexTranscriptWatcher,
96
97
  verifyJwt
97
- } from "./chunk-EUTW2S4P.js";
98
+ } from "./chunk-OLHL5NFP.js";
98
99
  import {
99
100
  LocalProjectRefusedError,
100
101
  ensureDataGitignore,
@@ -7630,6 +7631,17 @@ import { tmpdir } from "os";
7630
7631
  import { join as join8 } from "path";
7631
7632
  import { z as z23 } from "zod";
7632
7633
  import { TRPCError as TRPCError19 } from "@trpc/server";
7634
+ var protectedProcedure2 = protectedProcedure.use(async ({ next }) => {
7635
+ const result = await next();
7636
+ if (!result.ok && result.error.cause instanceof KanbanUnavailableError) {
7637
+ throw new TRPCError19({
7638
+ code: "PRECONDITION_FAILED",
7639
+ message: result.error.message,
7640
+ cause: result.error.cause
7641
+ });
7642
+ }
7643
+ return result;
7644
+ });
7633
7645
  function summarizeCard(card, boardId, columnTitle) {
7634
7646
  return {
7635
7647
  boardId,
@@ -7721,7 +7733,7 @@ var kanbanRouter = router({
7721
7733
  * card graph, so listing them in full would be megabytes to answer "which
7722
7734
  * boards exist?". Use `getBoard` for the cards of one.
7723
7735
  */
7724
- listBoards: protectedProcedure.input(z23.object({
7736
+ listBoards: protectedProcedure2.input(z23.object({
7725
7737
  includeArchived: z23.boolean().optional(),
7726
7738
  organizationId: z23.string().max(128).optional()
7727
7739
  }).optional()).query(async ({ input }) => {
@@ -7749,7 +7761,7 @@ var kanbanRouter = router({
7749
7761
  };
7750
7762
  }),
7751
7763
  /** One board: its columns, and the cards in each. */
7752
- getBoard: protectedProcedure.input(z23.object({ boardId: z23.string().max(128) })).query(async ({ input }) => {
7764
+ getBoard: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128) })).query(async ({ input }) => {
7753
7765
  const board = await kanbanStore.get(input.boardId);
7754
7766
  if (!board) return { board: null };
7755
7767
  const { links } = await kanbanStore.cardLinks(input.boardId);
@@ -7788,7 +7800,7 @@ var kanbanRouter = router({
7788
7800
  * organization — or one board when `boardId` is given. Archived boards are
7789
7801
  * left out: they are what the team decided to stop looking at.
7790
7802
  */
7791
- searchCards: protectedProcedure.input(z23.object({
7803
+ searchCards: protectedProcedure2.input(z23.object({
7792
7804
  query: z23.string().max(256).optional(),
7793
7805
  createdBy: z23.string().min(1).max(200).optional(),
7794
7806
  boardId: z23.string().max(128).optional(),
@@ -7801,7 +7813,7 @@ var kanbanRouter = router({
7801
7813
  * Les conversations de support liées à une carte, avec leur fil — ce que
7802
7814
  * le client a écrit à l'équipe, séparé des commentaires de la carte.
7803
7815
  */
7804
- getCardConversations: protectedProcedure.input(z23.object({
7816
+ getCardConversations: protectedProcedure2.input(z23.object({
7805
7817
  boardId: z23.string().max(128),
7806
7818
  cardId: z23.string().max(128),
7807
7819
  limit: z23.number().int().min(1).max(500).optional()
@@ -7817,9 +7829,9 @@ var kanbanRouter = router({
7817
7829
  };
7818
7830
  }),
7819
7831
  /** Chercher une conversation chez les fournisseurs de l'organisation (lecture seule côté fournisseur). */
7820
- searchConversations: protectedProcedure.input(z23.object({ boardId: z23.string().max(128), query: z23.string().trim().min(1).max(500) })).query(async ({ input }) => ({ results: await kanbanStore.searchConversations(input.boardId, input.query) })),
7832
+ searchConversations: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128), query: z23.string().trim().min(1).max(500) })).query(async ({ input }) => ({ results: await kanbanStore.searchConversations(input.boardId, input.query) })),
7821
7833
  /** Lier une conversation trouvée à une carte. N'écrit rien chez le fournisseur. */
7822
- linkConversation: protectedProcedure.input(z23.object({
7834
+ linkConversation: protectedProcedure2.input(z23.object({
7823
7835
  boardId: z23.string().max(128),
7824
7836
  cardId: z23.string().max(128),
7825
7837
  connectionId: z23.string().max(128),
@@ -7834,7 +7846,7 @@ var kanbanRouter = router({
7834
7846
  * qu'un `commentCount`, et rien n'en donnait le texte. Cette route est la
7835
7847
  * relecture, pour une seule carte : c'est le journal qui pèse, pas le reste.
7836
7848
  */
7837
- getCardComments: protectedProcedure.input(z23.object({
7849
+ getCardComments: protectedProcedure2.input(z23.object({
7838
7850
  boardId: z23.string().max(128),
7839
7851
  cardId: z23.string().max(128),
7840
7852
  limit: z23.number().int().min(1).max(200).optional()
@@ -7866,14 +7878,14 @@ var kanbanRouter = router({
7866
7878
  * `getBoard` en donne déjà l'essentiel carte par carte ; cette route sert
7867
7879
  * quand c'est l'arbre lui-même qu'on veut, dates et auteurs compris.
7868
7880
  */
7869
- getCardLinks: protectedProcedure.input(z23.object({ boardId: z23.string().max(128) })).query(async ({ input }) => kanbanStore.cardLinks(input.boardId)),
7881
+ getCardLinks: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128) })).query(async ({ input }) => kanbanStore.cardLinks(input.boardId)),
7870
7882
  /**
7871
7883
  * Rattacher une carte à une carte parente, ou l'en détacher.
7872
7884
  *
7873
7885
  * Sans `parentCardId`, le lien est retiré. Le parent peut vivre sur un autre
7874
7886
  * tableau : `parentBoardId` le désigne alors, sinon c'est celui de la carte.
7875
7887
  */
7876
- setCardParent: protectedProcedure.input(z23.object({
7888
+ setCardParent: protectedProcedure2.input(z23.object({
7877
7889
  boardId: z23.string().max(128),
7878
7890
  cardId: z23.string().max(128),
7879
7891
  parentCardId: z23.string().max(128).optional(),
@@ -7894,8 +7906,8 @@ var kanbanRouter = router({
7894
7906
  * `boardId` est le tableau où on la pose (ou d'où on la retire) ; la carte
7895
7907
  * reste sur son tableau d'origine.
7896
7908
  */
7897
- getCardPlacements: protectedProcedure.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).query(async ({ input }) => ({ placements: await kanbanStore.cardPlacements(input.boardId, input.cardId) })),
7898
- placeCard: protectedProcedure.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128), column: z23.string().min(1).max(200) })).mutation(async ({ input }) => {
7909
+ getCardPlacements: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).query(async ({ input }) => ({ placements: await kanbanStore.cardPlacements(input.boardId, input.cardId) })),
7910
+ placeCard: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128), column: z23.string().min(1).max(200) })).mutation(async ({ input }) => {
7899
7911
  const res = await kanbanStore.placeCard(input.boardId, input.cardId, input.column);
7900
7912
  if (!res.ok) {
7901
7913
  throw new TRPCError19({
@@ -7905,13 +7917,13 @@ var kanbanRouter = router({
7905
7917
  }
7906
7918
  return { ok: true };
7907
7919
  }),
7908
- unplaceCard: protectedProcedure.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).mutation(async ({ input }) => {
7920
+ unplaceCard: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).mutation(async ({ input }) => {
7909
7921
  if (!await kanbanStore.unplaceCard(input.boardId, input.cardId)) {
7910
7922
  throw new TRPCError19({ code: "NOT_FOUND", message: "This card is not placed on this board." });
7911
7923
  }
7912
7924
  return { ok: true };
7913
7925
  }),
7914
- moveCard: protectedProcedure.input(z23.object({
7926
+ moveCard: protectedProcedure2.input(z23.object({
7915
7927
  boardId: z23.string().max(128),
7916
7928
  cardId: z23.string().max(128),
7917
7929
  targetColumn: z23.string().max(256)
@@ -7921,7 +7933,7 @@ var kanbanRouter = router({
7921
7933
  ]);
7922
7934
  return { ok: true };
7923
7935
  }),
7924
- addComment: protectedProcedure.input(z23.object({
7936
+ addComment: protectedProcedure2.input(z23.object({
7925
7937
  boardId: z23.string().max(128),
7926
7938
  cardId: z23.string().max(128),
7927
7939
  comment: z23.string().max(1e5)
@@ -7931,7 +7943,7 @@ var kanbanRouter = router({
7931
7943
  ]);
7932
7944
  return { ok: true };
7933
7945
  }),
7934
- addCard: protectedProcedure.input(z23.object({
7946
+ addCard: protectedProcedure2.input(z23.object({
7935
7947
  boardId: z23.string().max(128),
7936
7948
  column: z23.string().max(256),
7937
7949
  title: z23.string().max(512),
@@ -7948,7 +7960,7 @@ var kanbanRouter = router({
7948
7960
  * `getBoard` rapatrie le tableau entier pour n'en regarder qu'une ; et il ne
7949
7961
  * porte pas les cartes rangées. Une carte s'adresse par son identifiant.
7950
7962
  */
7951
- getCard: protectedProcedure.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).query(async ({ input }) => {
7963
+ getCard: protectedProcedure2.input(z23.object({ boardId: z23.string().max(128), cardId: z23.string().max(128) })).query(async ({ input }) => {
7952
7964
  const found = await kanbanStore.card(input.boardId, input.cardId);
7953
7965
  if (!found) throw new Error(`Carte ${input.cardId} introuvable sur le tableau ${input.boardId}.`);
7954
7966
  return { ...summarizeCard(found.card, input.boardId, ""), columnId: found.columnId };
@@ -7959,7 +7971,7 @@ var kanbanRouter = router({
7959
7971
  * endroit (`buildKanbanCardPrompt`). L'outil le reçoit comme un message, pas
7960
7972
  * comme une consigne système : il guide le travail sans en avoir la force.
7961
7973
  */
7962
- cardContext: protectedProcedure.input(z23.object({
7974
+ cardContext: protectedProcedure2.input(z23.object({
7963
7975
  boardId: z23.string().max(128),
7964
7976
  cardId: z23.string().max(128),
7965
7977
  projectId: z23.string().max(128).optional(),
@@ -7985,7 +7997,7 @@ var kanbanRouter = router({
7985
7997
  * Un champ absent n'est pas touché ; `null` l'efface. La distinction compte —
7986
7998
  * changer un titre ne doit pas vider une couleur.
7987
7999
  */
7988
- updateCard: protectedProcedure.input(z23.object({
8000
+ updateCard: protectedProcedure2.input(z23.object({
7989
8001
  boardId: z23.string().max(128),
7990
8002
  cardId: z23.string().max(128),
7991
8003
  title: z23.string().min(1).max(512).optional(),
@@ -8005,7 +8017,7 @@ var kanbanRouter = router({
8005
8017
  return summarizeCard(card, boardId, "");
8006
8018
  }),
8007
8019
  /** Ranger une carte, ou la reprendre. */
8008
- setCardArchived: protectedProcedure.input(z23.object({
8020
+ setCardArchived: protectedProcedure2.input(z23.object({
8009
8021
  boardId: z23.string().max(128),
8010
8022
  cardId: z23.string().max(128),
8011
8023
  archived: z23.boolean()
@@ -8020,13 +8032,13 @@ var kanbanRouter = router({
8020
8032
  * Sans cette liste, assigner revient à deviner un identifiant — et l'agent
8021
8033
  * n'a aucun moyen de le trouver.
8022
8034
  */
8023
- listMembers: protectedProcedure.input(z23.object({ organizationId: z23.string().max(128).optional() })).query(async ({ input }) => ({ members: await kanbanStore.members(input.organizationId) })),
8035
+ listMembers: protectedProcedure2.input(z23.object({ organizationId: z23.string().max(128).optional() })).query(async ({ input }) => ({ members: await kanbanStore.members(input.organizationId) })),
8024
8036
  /**
8025
8037
  * Fetch one card attachment from the cloud and drop it on this machine, so an
8026
8038
  * agent can open it with its own file tools. The bytes never go through the
8027
8039
  * prompt: the card context lists the attachments, this returns a path.
8028
8040
  */
8029
- downloadAttachment: protectedProcedure.input(z23.object({
8041
+ downloadAttachment: protectedProcedure2.input(z23.object({
8030
8042
  attachmentId: z23.string().max(128),
8031
8043
  // La pièce jointe appartient à une organisation : la nommer dit sous quel
8032
8044
  // compte la demander.
@@ -12679,7 +12691,7 @@ async function createLocalServer() {
12679
12691
  ]);
12680
12692
  console.log("[server] Shutdown complete");
12681
12693
  };
12682
- const { initCompanion } = await import("./companion-ZDEGNZ2G.js");
12694
+ const { initCompanion } = await import("./companion-3MW23ONE.js");
12683
12695
  initCompanion();
12684
12696
  return { app, server, wss, shutdown };
12685
12697
  }
@@ -13134,4 +13146,4 @@ export {
13134
13146
  stopProcess,
13135
13147
  userPrefix
13136
13148
  };
13137
- //# sourceMappingURL=src-NWPED6TK.js.map
13149
+ //# sourceMappingURL=src-K4E6GUCZ.js.map