@runeya/runeya 2.0.140 → 2.0.141

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 (120) hide show
  1. package/agent/index.js.map +1 -1
  2. package/agent-manager-M4NA5YFD.js +11 -0
  3. package/{chat-L7RRHXX5.js → chat-UQIVCG33.js} +9 -7
  4. package/{chunk-G4TOLDZB.js → chunk-36CC5CZK.js} +123 -57
  5. package/chunk-36CC5CZK.js.map +1 -0
  6. package/{chunk-GOMF7NWS.js → chunk-7L6AQUBR.js} +2 -2
  7. package/{chunk-O2KOX4LU.js → chunk-C2BGNVBT.js} +35 -9
  8. package/chunk-C2BGNVBT.js.map +1 -0
  9. package/{chunk-SYCUQDA4.js → chunk-GXE5TLLJ.js} +10 -4
  10. package/chunk-GXE5TLLJ.js.map +1 -0
  11. package/{chunk-QWX6R6AW.js → chunk-H2MAALKN.js} +46 -8
  12. package/chunk-H2MAALKN.js.map +1 -0
  13. package/{chunk-EV3TBM7E.js → chunk-IXO5KIO5.js} +9 -2
  14. package/{chunk-EV3TBM7E.js.map → chunk-IXO5KIO5.js.map} +1 -1
  15. package/{chunk-6HSZPK2W.js → chunk-UR3HL373.js} +3 -3
  16. package/{companion-LQVLEHU7.js → companion-EVCS2HNC.js} +5 -5
  17. package/{desktop-installer-page-OKE4WY5Q.js → desktop-installer-page-6JDSXK2E.js} +226 -33
  18. package/desktop-installer-page-6JDSXK2E.js.map +1 -0
  19. package/{free-port-565NMFIZ.js → free-port-5UNHDWGE.js} +2 -2
  20. package/index.js +70 -22
  21. package/index.js.map +1 -1
  22. package/install-gate-SFHNMBWT.js +60 -0
  23. package/install-gate-SFHNMBWT.js.map +1 -0
  24. package/mcp-server/index.js +84 -10
  25. package/mcp-server/index.js.map +1 -1
  26. package/mcp-server/launch.d.ts +5 -4
  27. package/mcp-server/launch.js.map +1 -1
  28. package/package.json +1 -1
  29. package/settings-manager-32SVMAFN.js +10 -0
  30. package/{src-NVQHFMTQ.js → src-ZSQISY6W.js} +936 -807
  31. package/src-ZSQISY6W.js.map +1 -0
  32. package/{vault-resolver-B5P2OUI5.js → vault-resolver-VK6W5J6W.js} +2 -2
  33. package/web/assets/{AgentScalarChatInterface.vue-Dgobg9wk.js → AgentScalarChatInterface.vue-Df0_SDmK.js} +1 -1
  34. package/web/assets/{AgentTerminalPage-B43nSPSz.js → AgentTerminalPage-BGA_7YUb.js} +1 -1
  35. package/web/assets/{AiChatModals-CVZ5ilmt.js → AiChatModals-CaGj0i1I.js} +1 -1
  36. package/web/assets/{AppLayout-B5yKLUj9.js → AppLayout-CDOSGDLm.js} +1 -1
  37. package/web/assets/{AuditPage-KR5ydSRG.js → AuditPage-BMYSSho1.js} +1 -1
  38. package/web/assets/{CloudAccountPage-RNosmi99.js → CloudAccountPage-DJNbXhOH.js} +1 -1
  39. package/web/assets/{CloudMessagingPage-Dp-FDdoH.js → CloudMessagingPage-JXnnH4aT.js} +1 -1
  40. package/web/assets/{DashboardPage-Bjj11oP_.js → DashboardPage-BjeN6ZQ3.js} +1 -1
  41. package/web/assets/{DirectoryPickerDialog-C28UH35_.js → DirectoryPickerDialog-CNIrtkmh.js} +1 -1
  42. package/web/assets/{EnvironmentForm-Dj2T2DuS.js → EnvironmentForm-DTJsmGg_.js} +1 -1
  43. package/web/assets/{EnvironmentFormPage-B4Bt1bXS.js → EnvironmentFormPage-HNIgKqaJ.js} +1 -1
  44. package/web/assets/{EnvironmentListPage-B_V9mEhR.js → EnvironmentListPage-DRI3aFZw.js} +1 -1
  45. package/web/assets/{KanbanBoardPage-CQLiin5v.js → KanbanBoardPage-DocxhfeF.js} +3 -3
  46. package/web/assets/{KanbanListPage-ChD0Zj0Y.js → KanbanListPage-DR_DYt46.js} +1 -1
  47. package/web/assets/{LaunchProjectPage-ByIfq7ka.js → LaunchProjectPage-Dgtz9dX8.js} +1 -1
  48. package/web/assets/{LaunchServicesPage-BweD0CWu.js → LaunchServicesPage-iM8a_UHk.js} +1 -1
  49. package/web/assets/{LaunchShell-C9jV0DDh.js → LaunchShell-DccCGeLx.js} +1 -1
  50. package/web/assets/{LogViewer-Cv024Meq.js → LogViewer-DOcy8D-m.js} +2 -2
  51. package/web/assets/{OrgKeyPrompt-D95Zm3Tl.js → OrgKeyPrompt-Dx95YhKV.js} +1 -1
  52. package/web/assets/{ProcessControls-84xtt8ud.js → ProcessControls-BUMbz3Cc.js} +1 -1
  53. package/web/assets/{ProcessDetailPage-CqMk8XQv.js → ProcessDetailPage-DKVRY4sj.js} +1 -1
  54. package/web/assets/{ProjectCreateDialog-C4rLTHw0.js → ProjectCreateDialog-CdYIXATf.js} +1 -1
  55. package/web/assets/{ProjectLocationGate-BtI0T-GU.js → ProjectLocationGate-BpKnR1WI.js} +1 -1
  56. package/web/assets/{ProjectPublishDialog-v5xz8t4N.js → ProjectPublishDialog-BTZXEmZh.js} +1 -1
  57. package/web/assets/{RandomJobTestPage-CzT3LSMu.js → RandomJobTestPage-BLR9jVah.js} +1 -1
  58. package/web/assets/ScenarioEditorPage-ebK_glPw.js +14 -0
  59. package/web/assets/{SendToChatDialog-BtsCq9hv.js → SendToChatDialog-VwH8FOP7.js} +1 -1
  60. package/web/assets/{ServiceControlsBar-BFemdioZ.js → ServiceControlsBar-3dlgA6Sg.js} +1 -1
  61. package/web/assets/{ServiceDetailPage-DsGHPdUc.js → ServiceDetailPage-C9MWIf-1.js} +1 -1
  62. package/web/assets/{ServiceFormPage-x3jtyV1A.js → ServiceFormPage-DIJMr_Ij.js} +1 -1
  63. package/web/assets/{SettingsPage-3tVWDaUN.js → SettingsPage-4bd7gsHf.js} +6 -6
  64. package/web/assets/{UnlockPage-CPcll-ov.js → UnlockPage-F37odjgM.js} +1 -1
  65. package/web/assets/{VaultMigrationPage-BMS4BcsA.js → VaultMigrationPage-CT6EFAXK.js} +1 -1
  66. package/web/assets/VersionBadge-4MjBn5ih.js +1 -0
  67. package/web/assets/VersionBadge-CtFji3sv.css +1 -0
  68. package/web/assets/{WikiPage-CM1-hJvF.js → WikiPage-Dhil7fWU.js} +1 -1
  69. package/web/assets/{WikiView-MQLuO7ey.js → WikiView-Ca2kGbvZ.js} +1 -1
  70. package/web/assets/{add-scalar-classes-BDJ0Zhvc.js → add-scalar-classes-ny-bwITc.js} +2 -2
  71. package/web/assets/{agent.store-CEmOZ8XE.js → agent.store-BBUsxY3E.js} +1 -1
  72. package/web/assets/auth-DgcowXmP.js +2 -0
  73. package/web/assets/{cloud-chat.store-DhCEhagv.js → cloud-chat.store-BT0ikifC.js} +1 -1
  74. package/web/assets/{cloud-client-CmrptmtM.js → cloud-client-7eaj_DyS.js} +2 -2
  75. package/web/assets/cloud-session-BI06sY79.js +2 -0
  76. package/web/assets/{editor.store-Be5P5Eur.js → editor.store-uLBvEAgM.js} +1 -1
  77. package/web/assets/index-CZJJuyAp.css +1 -0
  78. package/web/assets/{index-CXnyET_X.js → index-c8l1Vzb5.js} +101 -101
  79. package/web/assets/{modal-9BC14oRF.js → modal-CNk5Pd2V.js} +1 -1
  80. package/web/assets/{project-launch.store-cO8Wr508.js → project-launch.store-C0TgNDYm.js} +1 -1
  81. package/web/assets/{project.store-CpUEwUgF.js → project.store-Dx530iqh.js} +1 -1
  82. package/web/assets/{scenario.store-B5uv1DSO.js → scenario.store-DWezewHe.js} +1 -1
  83. package/web/assets/{service.store-ve_P4_2O.js → service.store-CgzQ1QCL.js} +1 -1
  84. package/web/assets/{settings-scope-CcYu-GYo.js → settings-scope-54SF-1Hf.js} +1 -1
  85. package/web/assets/{settings.store-CdCOUAsL.js → settings.store-Cz6g0qH2.js} +1 -1
  86. package/web/assets/{src-RO7PD0gR.js → src-BbRuct-7.js} +1 -1
  87. package/web/assets/{src-T5uKA02c.js → src-gyxHZ5yB.js} +1 -1
  88. package/web/assets/{theme-CPaZfI9r.js → theme-BZCAxfJD.js} +1 -1
  89. package/web/assets/trpc-PGQoddea.js +3 -0
  90. package/web/assets/{useCloudOrg-DaFUgt9j.js → useCloudOrg-DePshxqA.js} +1 -1
  91. package/web/assets/{useEnvVarAutocomplete-CXlyG01r.js → useEnvVarAutocomplete-lyIwYncA.js} +1 -1
  92. package/web/assets/{useProjectCatalog-1vLcCQlh.js → useProjectCatalog-BFmo-l75.js} +1 -1
  93. package/web/assets/{useProjectCloudOrg-MAfohLuM.js → useProjectCloudOrg-DN7UK1So.js} +1 -1
  94. package/web/assets/{useServiceUrlHost-D9k9s21s.js → useServiceUrlHost-D31YSsBc.js} +1 -1
  95. package/web/assets/{vue-draggable-plus-SmOauPHy.js → vue-draggable-plus-DE0HToYu.js} +1 -1
  96. package/web/favicon.svg +1 -5
  97. package/web/index.html +17 -17
  98. package/agent-manager-RZI65MSV.js +0 -11
  99. package/chunk-G4TOLDZB.js.map +0 -1
  100. package/chunk-O2KOX4LU.js.map +0 -1
  101. package/chunk-QWX6R6AW.js.map +0 -1
  102. package/chunk-SYCUQDA4.js.map +0 -1
  103. package/desktop-installer-page-OKE4WY5Q.js.map +0 -1
  104. package/settings-manager-5JHSSKQ2.js +0 -10
  105. package/src-NVQHFMTQ.js.map +0 -1
  106. package/web/assets/ScenarioEditorPage-DrWcVOHg.js +0 -14
  107. package/web/assets/VersionBadge-54viPqlY.css +0 -1
  108. package/web/assets/VersionBadge-prnLNUGg.js +0 -1
  109. package/web/assets/auth-BpxI0N26.js +0 -2
  110. package/web/assets/cloud-session-ByODsQrA.js +0 -2
  111. package/web/assets/index-Dsh11_J0.css +0 -1
  112. package/web/assets/trpc-BFA-mSM8.js +0 -3
  113. /package/{agent-manager-RZI65MSV.js.map → agent-manager-M4NA5YFD.js.map} +0 -0
  114. /package/{chat-L7RRHXX5.js.map → chat-UQIVCG33.js.map} +0 -0
  115. /package/{chunk-GOMF7NWS.js.map → chunk-7L6AQUBR.js.map} +0 -0
  116. /package/{chunk-6HSZPK2W.js.map → chunk-UR3HL373.js.map} +0 -0
  117. /package/{companion-LQVLEHU7.js.map → companion-EVCS2HNC.js.map} +0 -0
  118. /package/{free-port-565NMFIZ.js.map → free-port-5UNHDWGE.js.map} +0 -0
  119. /package/{settings-manager-5JHSSKQ2.js.map → settings-manager-32SVMAFN.js.map} +0 -0
  120. /package/{vault-resolver-B5P2OUI5.js.map → vault-resolver-VK6W5J6W.js.map} +0 -0
@@ -17,14 +17,14 @@ import {
17
17
  serviceStore,
18
18
  setProjectServices,
19
19
  setProjectVault
20
- } from "./chunk-SYCUQDA4.js";
20
+ } from "./chunk-GXE5TLLJ.js";
21
21
  import {
22
22
  atomicWriteSecure,
23
23
  fingerprintFiles,
24
24
  hasChangedSinceRead,
25
25
  rememberFile,
26
26
  wasRead
27
- } from "./chunk-GOMF7NWS.js";
27
+ } from "./chunk-7L6AQUBR.js";
28
28
  import {
29
29
  findThreadDb,
30
30
  lastTurn,
@@ -40,6 +40,7 @@ import {
40
40
  import {
41
41
  allVaultRoots,
42
42
  collidesWithMachineRoot,
43
+ env,
43
44
  forgetLocalProjectRoot,
44
45
  keyedFilePath,
45
46
  legacyMachineFilePath,
@@ -56,7 +57,7 @@ import {
56
57
  unregisterLocalProjectDir,
57
58
  vaultFor,
58
59
  vaultIdOfRoot
59
- } from "./chunk-EV3TBM7E.js";
60
+ } from "./chunk-IXO5KIO5.js";
60
61
 
61
62
  // ../server/src/services/companion.ts
62
63
  import { EventEmitter as EventEmitter4 } from "events";
@@ -472,6 +473,8 @@ var ProjectStore = class {
472
473
  const before = this.projects.get(key)?.activeEnvironmentId;
473
474
  if (before && project.environmentIds.includes(before)) {
474
475
  project.activeEnvironmentId = before;
476
+ } else {
477
+ this.unsettled.add(key);
475
478
  }
476
479
  }
477
480
  this.projects = next.projects;
@@ -594,12 +597,46 @@ var ProjectStore = class {
594
597
  }
595
598
  async list() {
596
599
  await this.load();
600
+ await this.settleActiveEnvironments();
597
601
  return Array.from(this.projects.values());
598
602
  }
599
603
  async get(target) {
600
604
  await this.load();
605
+ await this.settleActiveEnvironments();
601
606
  return this.find(target)?.project ?? null;
602
607
  }
608
+ /**
609
+ * Projets dont l'environnement actif vient d'un repli et n'a pas été vérifié.
610
+ *
611
+ * Au chargement, les environnements ne sont pas encore lisibles : leur magasin
612
+ * attend justement la fin de ce chargement. `absorb` retient donc le premier
613
+ * id de `environmentIds`, qui peut désigner un environnement disparu. Le
614
+ * sélecteur affichait alors cet id brut, absent de sa liste.
615
+ */
616
+ unsettled = /* @__PURE__ */ new Set();
617
+ settling = false;
618
+ /** Retenir, pour chaque projet non vérifié, un environnement qui existe. */
619
+ async settleActiveEnvironments() {
620
+ if (this.settling || this.unsettled.size === 0) return;
621
+ this.settling = true;
622
+ try {
623
+ for (const key of this.unsettled) {
624
+ const project = this.projects.get(key);
625
+ if (!project) {
626
+ this.unsettled.delete(key);
627
+ continue;
628
+ }
629
+ const envs = (await environmentStore.getByProjectId(project.id, project.orgId ?? null).catch(() => [])).filter((e) => e.scope !== "service");
630
+ if (envs.length === 0) continue;
631
+ const current = envs.find((e) => e.id === project.activeEnvironmentId);
632
+ const chosen = envs.find((e) => e.default) ?? current ?? envs[0];
633
+ project.activeEnvironmentId = chosen.id;
634
+ this.unsettled.delete(key);
635
+ }
636
+ } finally {
637
+ this.settling = false;
638
+ }
639
+ }
603
640
  /**
604
641
  * Vérifier qu'un dossier peut accueillir un projet local, et rendre son coffre.
605
642
  *
@@ -927,6 +964,7 @@ var ProjectStore = class {
927
964
  activeEnvironmentId: environmentId
928
965
  };
929
966
  this.projects.set(key, updated);
967
+ this.unsettled.delete(key);
930
968
  return updated;
931
969
  }
932
970
  };
@@ -1911,7 +1949,7 @@ function getJwtSecret() {
1911
1949
  }
1912
1950
  async function signJwt() {
1913
1951
  const secret = getJwtSecret();
1914
- return new SignJWT({ sub: "app" }).setProtectedHeader({ alg: "HS256" }).setIssuedAt().setExpirationTime("8h").sign(secret);
1952
+ return new SignJWT({ sub: "app" }).setProtectedHeader({ alg: "HS256" }).setIssuedAt().setExpirationTime(env.JWT_TTL).sign(secret);
1915
1953
  }
1916
1954
  async function verifyJwt(token) {
1917
1955
  const secret = getJwtSecret();
@@ -2336,7 +2374,7 @@ async function runCompanionForTurn(conversationId) {
2336
2374
  if (!hasNew) {
2337
2375
  return skip(conversationId, "nothingNew", `rien de neuf \xE0 relire (${messageCount} messages)`);
2338
2376
  }
2339
- const { startCliSession } = await import("./chat-L7RRHXX5.js");
2377
+ const { startCliSession } = await import("./chat-UQIVCG33.js");
2340
2378
  const companionConv = await ensureCompanionConversation(conv);
2341
2379
  const isFirstTurn = (companionConv.messages?.length ?? 0) === 0;
2342
2380
  const exchange = formatExchange(conv.messages, from);
@@ -2457,7 +2495,7 @@ async function deliverToMainConversation(conv, message) {
2457
2495
  async function attemptDelivery(conv, message) {
2458
2496
  if (await writeToLivePty(conv.id, message)) return "pty";
2459
2497
  try {
2460
- const { startCliSession } = await import("./chat-L7RRHXX5.js");
2498
+ const { startCliSession } = await import("./chat-UQIVCG33.js");
2461
2499
  await startCliSession(conv.runner, conv.id, message, { jwt: await signJwt() });
2462
2500
  return "headless";
2463
2501
  } catch (err) {
@@ -2480,7 +2518,7 @@ async function writeToLivePty(conversationId, message) {
2480
2518
  }
2481
2519
  async function companionSettings() {
2482
2520
  try {
2483
- const { settingsManager } = await import("./settings-manager-5JHSSKQ2.js");
2521
+ const { settingsManager } = await import("./settings-manager-32SVMAFN.js");
2484
2522
  const settings = await settingsManager.getSettings();
2485
2523
  return settings.companion ?? { enabledByDefault: false };
2486
2524
  } catch {
@@ -2682,4 +2720,4 @@ export {
2682
2720
  headCommit,
2683
2721
  initCompanion
2684
2722
  };
2685
- //# sourceMappingURL=chunk-QWX6R6AW.js.map
2723
+ //# sourceMappingURL=chunk-H2MAALKN.js.map