specrails-desktop 2.49.0 → 2.49.2

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 (28) hide show
  1. package/client/dist/assets/{ActivityFeedPage-FdZBSmTU.js → ActivityFeedPage-CyOxof-U.js} +1 -1
  2. package/client/dist/assets/{AgentBrowserCapture-Dr8kZotA.js → AgentBrowserCapture-DBGaKW4u.js} +1 -1
  3. package/client/dist/assets/{AgentModeAnalyticsPane-DXQSjYe-.js → AgentModeAnalyticsPane-WZpPaNMa.js} +2 -2
  4. package/client/dist/assets/{AgentModeCodePane-DcVV6EBy.js → AgentModeCodePane-nHYnJUdP.js} +2 -2
  5. package/client/dist/assets/{AgentModeJobsPane-a9f-g56c.js → AgentModeJobsPane-DkhcBtoZ.js} +1 -1
  6. package/client/dist/assets/{AgentsPage-CTv4UVdp.js → AgentsPage-CX90q-nY.js} +1 -1
  7. package/client/dist/assets/{AnalyticsPage-BbXPcz3a.js → AnalyticsPage-DisrtBr7.js} +1 -1
  8. package/client/dist/assets/{CodePage-CIigb_O0.js → CodePage-ixqxftCT.js} +1 -1
  9. package/client/dist/assets/{DesktopAnalyticsPage-DZhN5jVh.js → DesktopAnalyticsPage-BFB-Pn-D.js} +1 -1
  10. package/client/dist/assets/{DocsDialog-DzrqPxuj.js → DocsDialog-BwiFrwEJ.js} +1 -1
  11. package/client/dist/assets/{DocsPage-B1AUuk0U.js → DocsPage-ByS0ZCco.js} +1 -1
  12. package/client/dist/assets/{InteractiveJobComposer-jg3xE_GX.js → InteractiveJobComposer-BEok7ntM.js} +1 -1
  13. package/client/dist/assets/{JobDetailModal-BS-htwqZ.js → JobDetailModal-BnO_V8KR.js} +1 -1
  14. package/client/dist/assets/{JobDetailPage-CKYtQV5a.js → JobDetailPage-BnS8aHKD.js} +1 -1
  15. package/client/dist/assets/{JobsPage-DFJm0bw0.js → JobsPage-BC0mq-MF.js} +1 -1
  16. package/client/dist/assets/{LoopBuilderPage-ujkA2U0T.js → LoopBuilderPage-WmqNpDw2.js} +1 -1
  17. package/client/dist/assets/{LoopPreviewModal-BYOrnmcp.js → LoopPreviewModal-BY5dDezY.js} +1 -1
  18. package/client/dist/assets/{LoopsPage-DRcT1ikP.js → LoopsPage-BcegqJyY.js} +1 -1
  19. package/client/dist/assets/{PluginsPage-BR9ZTqxR.js → PluginsPage-BhG3qPda.js} +1 -1
  20. package/client/dist/assets/{ProjectSettingsDialog-SAfCqXzC.js → ProjectSettingsDialog-JQdLwCy2.js} +1 -1
  21. package/client/dist/assets/{ReviewPacketPage-BoqahYNC.js → ReviewPacketPage-DSSi3x16.js} +1 -1
  22. package/client/dist/assets/{TemplatePreviewModal-CK5OoImj.js → TemplatePreviewModal-1AVv-hu4.js} +1 -1
  23. package/client/dist/assets/{index-CjAPu3wb.js → index-DEqG4WdV.js} +7 -7
  24. package/client/dist/index.html +1 -1
  25. package/docs/local-providers.md +6 -0
  26. package/package.json +1 -1
  27. package/server/dist/local-engine-detection.js +4 -1
  28. package/server/dist/providers/local-adapter.js +17 -0
@@ -204,7 +204,7 @@
204
204
  .specrails-splash__mark .pill { opacity: 1; }
205
205
  }
206
206
  </style>
207
- <script type="module" crossorigin src="/assets/index-CjAPu3wb.js"></script>
207
+ <script type="module" crossorigin src="/assets/index-DEqG4WdV.js"></script>
208
208
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
209
209
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-zu2_FqZY.js">
210
210
  <link rel="modulepreload" crossorigin href="/assets/react-dom-DiWzBDP9.js">
@@ -195,6 +195,12 @@ hides the test / models UI of the connection card.
195
195
 
196
196
  ## Troubleshooting
197
197
 
198
+ **"Node error" the moment a local-engine turn starts (installed app).** Fixed in
199
+ 2.49.2: the packaged app could not locate its bundled runner script, so every
200
+ turn spawned Node against a missing file while the engine still appeared in the
201
+ selectors. Update the app; nothing to configure.
202
+
203
+
198
204
  - **Engine missing from selectors** — the last probe failed. Test the
199
205
  connection; probes run every 60 s and are bounded at 3 s.
200
206
  - **`401` / "not authorized" pill** — the key env var is unset in the app
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specrails-desktop",
3
- "version": "2.49.0",
3
+ "version": "2.49.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,10 @@ exports.getCachedProbe = getCachedProbe;
20
20
  exports.getCachedModels = getCachedModels;
21
21
  exports.clearCachedProbe = clearCachedProbe;
22
22
  exports._resetForTests = _resetForTests;
23
- exports.LOCAL_PROBE_TIMEOUT_MS = 3000;
23
+ // 3 s was too tight for an endpoint on the LAN (or a server that loads a model
24
+ // before answering /models): a timed-out probe drops the engine from the usable
25
+ // set for that cycle, which flickers it out of provider selectors.
26
+ exports.LOCAL_PROBE_TIMEOUT_MS = 8000;
24
27
  function modelsUrl(baseUrl) {
25
28
  return `${baseUrl.replace(/\/+$/, '')}/models`;
26
29
  }
@@ -64,6 +64,23 @@ function resolveLocalRunnerScript() {
64
64
  if (fileExists(cleaned))
65
65
  return cleaned;
66
66
  }
67
+ // Packaged layouts FIRST relative to the running sidecar: in a built app
68
+ // `__dirname` is the bundler's virtual path, so the repo-relative climb below
69
+ // only ever resolves in dev — which is exactly how a packaged Windows build
70
+ // ended up spawning node against a non-existent runner script (the mission
71
+ // offered the local engine, the turn then died with a Node error). Mirrors
72
+ // locateBundledShim()'s execDir candidates.
73
+ const execDir = path_1.default.dirname(process.execPath);
74
+ const packaged = [
75
+ path_1.default.resolve(execDir, 'binaries', 'specrails-local-runner.js'),
76
+ path_1.default.resolve(execDir, '..', 'Resources', 'binaries', 'specrails-local-runner.js'),
77
+ path_1.default.resolve(execDir, 'resources', 'binaries', 'specrails-local-runner.js'),
78
+ path_1.default.resolve(execDir, 'specrails-local-runner.js'),
79
+ ];
80
+ for (const candidate of packaged) {
81
+ if (fileExists(candidate))
82
+ return candidate;
83
+ }
67
84
  const roots = [
68
85
  path_1.default.resolve(__dirname, '..', '..'),
69
86
  path_1.default.resolve(__dirname, '..', '..', '..'),