@rynfar/meridian 1.62.7 → 1.64.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 (61) hide show
  1. package/README.md +3 -2
  2. package/bin/meridian-launchd.sh +128 -0
  3. package/dist/{cli-21w6xm0d.js → cli-4ghkaajs.js} +27332 -12903
  4. package/dist/{cli-xmweegb1.js → cli-8yp89fan.js} +52 -0
  5. package/dist/cli-pbvm9kc2.js +760 -0
  6. package/dist/cli.js +71 -12
  7. package/dist/meridian-v2.js +139 -0
  8. package/dist/{pluginPage-03q5j753.js → pluginPage-n3gdtbmj.js} +1 -1
  9. package/dist/{profileCli-39vshwdn.js → profileCli-ap7eg985.js} +2 -2
  10. package/dist/{profilePage-gtazq15d.js → profilePage-vfj2dbhn.js} +1 -1
  11. package/dist/proxy/adapter.d.ts +13 -0
  12. package/dist/proxy/adapter.d.ts.map +1 -1
  13. package/dist/proxy/adapters/opencode.d.ts +7 -0
  14. package/dist/proxy/adapters/opencode.d.ts.map +1 -1
  15. package/dist/proxy/buildInfo.d.ts +94 -0
  16. package/dist/proxy/buildInfo.d.ts.map +1 -0
  17. package/dist/proxy/cwd.d.ts.map +1 -1
  18. package/dist/proxy/errors.d.ts.map +1 -1
  19. package/dist/proxy/passthroughDenial.d.ts +17 -0
  20. package/dist/proxy/passthroughDenial.d.ts.map +1 -0
  21. package/dist/proxy/passthroughEarlyStop.d.ts +52 -7
  22. package/dist/proxy/passthroughEarlyStop.d.ts.map +1 -1
  23. package/dist/proxy/passthroughTools.d.ts.map +1 -1
  24. package/dist/proxy/query.d.ts +8 -0
  25. package/dist/proxy/query.d.ts.map +1 -1
  26. package/dist/proxy/server.d.ts.map +1 -1
  27. package/dist/proxy/session/cache.d.ts +11 -2
  28. package/dist/proxy/session/cache.d.ts.map +1 -1
  29. package/dist/proxy/session/crossProcessTurnCoordinator.d.ts +40 -0
  30. package/dist/proxy/session/crossProcessTurnCoordinator.d.ts.map +1 -0
  31. package/dist/proxy/session/durableFileSystem.d.ts +21 -0
  32. package/dist/proxy/session/durableFileSystem.d.ts.map +1 -0
  33. package/dist/proxy/session/lineage.d.ts +20 -0
  34. package/dist/proxy/session/lineage.d.ts.map +1 -1
  35. package/dist/proxy/session/processIncarnation.d.ts +46 -0
  36. package/dist/proxy/session/processIncarnation.d.ts.map +1 -0
  37. package/dist/proxy/session/recoveryClaim.d.ts +19 -0
  38. package/dist/proxy/session/recoveryClaim.d.ts.map +1 -0
  39. package/dist/proxy/session/sdkProcessGate.d.ts +19 -0
  40. package/dist/proxy/session/sdkProcessGate.d.ts.map +1 -0
  41. package/dist/proxy/sessionLifecycle.d.ts +105 -0
  42. package/dist/proxy/sessionLifecycle.d.ts.map +1 -0
  43. package/dist/proxy/sessionStore.d.ts +53 -7
  44. package/dist/proxy/sessionStore.d.ts.map +1 -1
  45. package/dist/proxy/setup.d.ts +35 -10
  46. package/dist/proxy/setup.d.ts.map +1 -1
  47. package/dist/proxy/types.d.ts +4 -0
  48. package/dist/proxy/types.d.ts.map +1 -1
  49. package/dist/proxy/updateCheck.d.ts +31 -0
  50. package/dist/proxy/updateCheck.d.ts.map +1 -0
  51. package/dist/server.js +5 -5
  52. package/dist/setup-4v3zg3c0.js +33 -0
  53. package/dist/telemetry/profileBar.d.ts +3 -3
  54. package/dist/telemetry/profileBar.d.ts.map +1 -1
  55. package/dist/telemetry/settingsPage.d.ts +1 -1
  56. package/dist/telemetry/settingsPage.d.ts.map +1 -1
  57. package/package.json +10 -5
  58. package/plugin/meridian-v2.ts +190 -0
  59. package/dist/cli-pc0mtjjv.js +0 -167
  60. package/dist/setup-0x573t61.js +0 -19
  61. package/dist/{cli-xfbhn15a.js → cli-0ed6j0vk.js} +3 -3
@@ -96,6 +96,29 @@ var themeCss = `
96
96
  .meridian-header .mh-profile .mh-profile-type {
97
97
  color: var(--muted, #8b949e); font-size: 10px;
98
98
  }
99
+ /* Build chip — two mutually exclusive states, and the colour is not a
100
+ style choice: "update available" is a link to the releases page, so it
101
+ is blue (interactive); "local/dev build" is a meta annotation with no
102
+ href, so it is violet. Swapping them would break the DESIGN.md rule. */
103
+ .meridian-header .mh-build {
104
+ display: none; align-items: center; gap: 6px;
105
+ font-size: 11px; font-weight: 500; white-space: nowrap;
106
+ padding: 3px 10px; border-radius: 20px; text-decoration: none;
107
+ transition: background 0.15s;
108
+ }
109
+ .meridian-header .mh-build.visible { display: inline-flex; }
110
+ .meridian-header .mh-build.update {
111
+ color: var(--accent, #58a6ff);
112
+ background: rgba(88,166,255,0.12);
113
+ border: 1px solid rgba(88,166,255,0.35);
114
+ }
115
+ .meridian-header .mh-build.update:hover { background: rgba(88,166,255,0.18); }
116
+ .meridian-header .mh-build.provenance {
117
+ color: var(--accent2, #bc8cff);
118
+ background: rgba(188,140,255,0.12);
119
+ border: 1px solid rgba(188,140,255,0.35);
120
+ cursor: default;
121
+ }
99
122
  .meridian-header .mh-status {
100
123
  display: inline-flex; align-items: center; gap: 6px;
101
124
  font-size: 11px; color: var(--muted, #8b949e); white-space: nowrap;
@@ -115,6 +138,7 @@ var themeCss = `
115
138
  `, profileBarHtml, profileBarJs = `
116
139
  (function() {
117
140
  var profileChip = document.getElementById('mhProfile');
141
+ var buildChip = document.getElementById('mhBuild');
118
142
  var statusDot = document.getElementById('mhDot');
119
143
  var statusText = document.getElementById('mhStatusText');
120
144
 
@@ -129,11 +153,38 @@ var themeCss = `
129
153
 
130
154
  function esc(s) { var d = document.createElement('div'); d.textContent = s; return d.innerHTML; }
131
155
 
156
+ // Build provenance chip. Hidden entirely for a current npm install, which
157
+ // is the case that needs no comment.
158
+ function renderBuild(build) {
159
+ if (!buildChip) return;
160
+ if (!build) { buildChip.className = 'mh-build'; return; }
161
+ if (build.source !== 'npm') {
162
+ buildChip.textContent = (build.source === 'dev' ? 'dev build' : 'local build') + (build.dirty ? ' *' : '');
163
+ buildChip.removeAttribute('href');
164
+ buildChip.title = 'Not an npm release — the reported version ' + build.version +
165
+ ' is the tree\\'s last release, not proof of what is running' +
166
+ (build.branch ? '\\nbranch: ' + build.branch : '') +
167
+ (build.sha ? '\\ncommit: ' + build.sha.slice(0, 8) : '') +
168
+ (build.dirty ? '\\nuncommitted changes present' : '');
169
+ buildChip.className = 'mh-build provenance visible';
170
+ return;
171
+ }
172
+ if (build.updateAvailable) {
173
+ buildChip.textContent = build.latest + ' available';
174
+ buildChip.href = 'https://github.com/rynfar/meridian/releases';
175
+ buildChip.title = 'Running ' + build.version + ' — update with:\\nnpm install -g @rynfar/meridian@latest';
176
+ buildChip.className = 'mh-build update visible';
177
+ return;
178
+ }
179
+ buildChip.className = 'mh-build';
180
+ }
181
+
132
182
  function loadHeader() {
133
183
  fetch('/health').then(function(r) { return r.json(); }).then(function(h) {
134
184
  var st = h.status === 'healthy' ? 'healthy' : h.status === 'degraded' ? 'degraded' : 'unhealthy';
135
185
  statusDot.className = 'mh-dot ' + st;
136
186
  statusText.textContent = st === 'healthy' ? 'Operational' : st === 'degraded' ? 'Degraded' : 'Offline';
187
+ renderBuild(h.build);
137
188
  }).catch(function() {
138
189
  statusDot.className = 'mh-dot unhealthy';
139
190
  statusText.textContent = 'Offline';
@@ -169,6 +220,7 @@ var init_profileBar = __esm(() => {
169
220
  <a href="/plugins" id="nav-plugins">Plugins</a>
170
221
  </nav>
171
222
  <div class="mh-right">
223
+ <a class="mh-build" id="mhBuild" target="_blank" rel="noopener"></a>
172
224
  <a class="mh-profile" id="mhProfile" href="/" title="Active profile — switch from the home page"></a>
173
225
  <span class="mh-status" id="mhStatus"><span class="mh-dot" id="mhDot"></span><span class="mh-status-text" id="mhStatusText"></span></span>
174
226
  </div>