instar 1.3.234 → 1.3.236

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 (69) hide show
  1. package/dashboard/index.html +140 -0
  2. package/dist/commands/reflect.d.ts.map +1 -1
  3. package/dist/commands/reflect.js +5 -0
  4. package/dist/commands/reflect.js.map +1 -1
  5. package/dist/commands/server.d.ts.map +1 -1
  6. package/dist/commands/server.js +41 -0
  7. package/dist/commands/server.js.map +1 -1
  8. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  9. package/dist/config/ConfigDefaults.js +14 -4
  10. package/dist/config/ConfigDefaults.js.map +1 -1
  11. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +1 -1
  12. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
  13. package/dist/core/CircuitBreakingIntelligenceProvider.js +5 -2
  14. package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
  15. package/dist/core/IntelligenceRouter.d.ts +82 -0
  16. package/dist/core/IntelligenceRouter.d.ts.map +1 -0
  17. package/dist/core/IntelligenceRouter.js +108 -0
  18. package/dist/core/IntelligenceRouter.js.map +1 -0
  19. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  20. package/dist/core/PostUpdateMigrator.js +40 -2
  21. package/dist/core/PostUpdateMigrator.js.map +1 -1
  22. package/dist/core/SessionManager.d.ts +12 -0
  23. package/dist/core/SessionManager.d.ts.map +1 -1
  24. package/dist/core/SessionManager.js +30 -0
  25. package/dist/core/SessionManager.js.map +1 -1
  26. package/dist/core/componentCategories.d.ts +37 -0
  27. package/dist/core/componentCategories.d.ts.map +1 -0
  28. package/dist/core/componentCategories.js +84 -0
  29. package/dist/core/componentCategories.js.map +1 -0
  30. package/dist/core/intelligenceProviderFactory.d.ts +8 -0
  31. package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
  32. package/dist/core/intelligenceProviderFactory.js +3 -3
  33. package/dist/core/intelligenceProviderFactory.js.map +1 -1
  34. package/dist/core/types.d.ts +48 -0
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/core/types.js.map +1 -1
  37. package/dist/monitoring/ResourceLedger.d.ts +62 -0
  38. package/dist/monitoring/ResourceLedger.d.ts.map +1 -1
  39. package/dist/monitoring/ResourceLedger.js +152 -2
  40. package/dist/monitoring/ResourceLedger.js.map +1 -1
  41. package/dist/monitoring/ResourceSampler.d.ts +63 -0
  42. package/dist/monitoring/ResourceSampler.d.ts.map +1 -0
  43. package/dist/monitoring/ResourceSampler.js +277 -0
  44. package/dist/monitoring/ResourceSampler.js.map +1 -0
  45. package/dist/monitoring/SessionWatchdog.d.ts.map +1 -1
  46. package/dist/monitoring/SessionWatchdog.js +5 -0
  47. package/dist/monitoring/SessionWatchdog.js.map +1 -1
  48. package/dist/scaffold/templates.d.ts.map +1 -1
  49. package/dist/scaffold/templates.js +10 -4
  50. package/dist/scaffold/templates.js.map +1 -1
  51. package/dist/server/AgentServer.d.ts +1 -0
  52. package/dist/server/AgentServer.d.ts.map +1 -1
  53. package/dist/server/AgentServer.js +51 -5
  54. package/dist/server/AgentServer.js.map +1 -1
  55. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  56. package/dist/server/CapabilityIndex.js +5 -2
  57. package/dist/server/CapabilityIndex.js.map +1 -1
  58. package/dist/server/routes.d.ts +2 -0
  59. package/dist/server/routes.d.ts.map +1 -1
  60. package/dist/server/routes.js +70 -0
  61. package/dist/server/routes.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/data/builtin-manifest.json +65 -65
  64. package/src/scaffold/templates.ts +10 -4
  65. package/upgrades/1.3.235.md +110 -0
  66. package/upgrades/1.3.236.md +53 -0
  67. package/upgrades/side-effects/esm-require-fixes-gate-rearm.md +110 -0
  68. package/upgrades/side-effects/per-component-framework-routing.md +88 -0
  69. package/upgrades/side-effects/resource-ledger.md +110 -0
@@ -2633,6 +2633,7 @@
2633
2633
  <button class="tab" data-tab="initiatives" onclick="switchTab('initiatives')">Initiatives <span class="tab-count" id="tabInitiativeCount">0</span></button>
2634
2634
  <button class="tab" data-tab="commitments" onclick="switchTab('commitments')">Commitments <span class="tab-count" id="tabCommitmentCount">0</span></button>
2635
2635
  <button class="tab" data-tab="tokens" onclick="switchTab('tokens')">Tokens</button>
2636
+ <button class="tab" data-tab="resources" onclick="switchTab('resources')">Resource Usage</button>
2636
2637
  <button class="tab" data-tab="threadline" onclick="switchTab('threadline')">Threadline</button>
2637
2638
  <button class="tab" data-tab="evidence" onclick="switchTab('evidence')">Evidence</button>
2638
2639
  <button class="tab" data-tab="process-health" onclick="switchTab('process-health')">Process Health</button>
@@ -3119,6 +3120,42 @@
3119
3120
  </div>
3120
3121
  </div>
3121
3122
 
3123
+ <!-- Resource Usage tab — per-agent CPU + memory (ResourceLedger Phase B).
3124
+ Read-only observability; mirrors the Tokens tab. -->
3125
+ <div id="resourcesPanel" style="display:none;flex-direction:column;padding:20px;gap:16px;overflow-y:auto">
3126
+ <div style="display:flex;justify-content:space-between;align-items:center">
3127
+ <h2 style="margin:0">Resource Usage</h2>
3128
+ <button onclick="loadResources()" style="padding:6px 12px">Refresh</button>
3129
+ </div>
3130
+ <div style="font-size:12px;color:var(--text-dim);line-height:1.4">
3131
+ How much CPU and memory this agent is using right now — the server process and each running session — sampled continuously. Last hour unless noted.
3132
+ </div>
3133
+
3134
+ <!-- Right-now headline (aggregate) -->
3135
+ <div id="resourcesHeadlineCard" style="border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px">
3136
+ <div style="font-weight:600">Right now (all processes)</div>
3137
+ <div id="resourcesHeadlineBody" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;font-size:13px">
3138
+ <div style="color:var(--text-dim)">Loading...</div>
3139
+ </div>
3140
+ </div>
3141
+
3142
+ <!-- Per-source breakdown (server vs each session) -->
3143
+ <div style="border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px">
3144
+ <div style="font-weight:600">By process</div>
3145
+ <div id="resourcesSourcesBody" style="font-size:13px">
3146
+ <div style="color:var(--text-dim)">Loading...</div>
3147
+ </div>
3148
+ </div>
3149
+
3150
+ <!-- Recent trend (last samples of the aggregate) -->
3151
+ <div style="border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px">
3152
+ <div style="font-weight:600">Recent trend</div>
3153
+ <div id="resourcesTrendBody" style="font-size:13px">
3154
+ <div style="color:var(--text-dim)">Loading...</div>
3155
+ </div>
3156
+ </div>
3157
+ </div>
3158
+
3122
3159
  <!-- Evidence Tab (WikiClaim Phase 4) — per-entity evidence + reverse "what cites this?" view.
3123
3160
  Spec: docs/specs/OPENCLAW-IMPORT-WIKICLAIM-EVIDENCE-SPEC.md § Phase 4 (line 343). -->
3124
3161
  <!-- process-health tab -->
@@ -4402,6 +4439,12 @@
4402
4439
  display: ['flex'],
4403
4440
  onActivate: () => { if (typeof loadTokens === 'function') loadTokens(); },
4404
4441
  },
4442
+ {
4443
+ id: 'resources',
4444
+ panels: ['resourcesPanel'],
4445
+ display: ['flex'],
4446
+ onActivate: () => { if (typeof loadResources === 'function') loadResources(); },
4447
+ },
4405
4448
  {
4406
4449
  id: 'threadline',
4407
4450
  panels: ['threadlineTab'],
@@ -4928,6 +4971,103 @@
4928
4971
  }
4929
4972
  }
4930
4973
 
4974
+ // ── Resource Usage Tab (ResourceLedger Phase B: CPU + memory) ────
4975
+ function fmtBytes(n) {
4976
+ if (n == null || !isFinite(n) || n <= 0) return '0 B';
4977
+ if (n >= 1073741824) return (n / 1073741824).toFixed(2) + ' GB';
4978
+ if (n >= 1048576) return (n / 1048576).toFixed(1) + ' MB';
4979
+ if (n >= 1024) return (n / 1024).toFixed(1) + ' KB';
4980
+ return Math.round(n) + ' B';
4981
+ }
4982
+ function fmtCpu(n) {
4983
+ if (n == null || !isFinite(n)) return '0%';
4984
+ return n.toFixed(1) + '%';
4985
+ }
4986
+ // Friendly label for a sample source string ('agent-server' | 'aggregate' |
4987
+ // 'session:<id>'). All values are escaped before insertion.
4988
+ function resourceSourceLabel(src) {
4989
+ if (src === 'agent-server') return 'Agent server';
4990
+ if (src === 'aggregate') return 'Everything (total)';
4991
+ if (typeof src === 'string' && src.indexOf('session:') === 0) {
4992
+ return 'Session ' + src.slice('session:'.length, 'session:'.length + 8);
4993
+ }
4994
+ return String(src || '—');
4995
+ }
4996
+ async function loadResources() {
4997
+ const headlineEl = document.getElementById('resourcesHeadlineBody');
4998
+ const sourcesEl = document.getElementById('resourcesSourcesBody');
4999
+ const trendEl = document.getElementById('resourcesTrendBody');
5000
+ try {
5001
+ const [summaryResp, samplesResp] = await Promise.all([
5002
+ apiFetch('/resources/summary?sinceHours=1'),
5003
+ apiFetch('/resources/samples?sinceHours=1&source=aggregate&limit=20'),
5004
+ ]);
5005
+ const sources = summaryResp.sources || [];
5006
+ const agg = sources.find(s => s.source === 'aggregate');
5007
+ if (agg) {
5008
+ headlineEl.innerHTML =
5009
+ '<div><div style="color:var(--text-dim)">CPU now</div><div style="font-size:18px;font-weight:600">' + escapeHtml(fmtCpu(agg.currentCpuPercent)) + '</div></div>' +
5010
+ '<div><div style="color:var(--text-dim)">Memory now (RSS)</div><div style="font-size:18px;font-weight:600">' + escapeHtml(fmtBytes(agg.currentRssBytes)) + '</div></div>' +
5011
+ '<div><div style="color:var(--text-dim)">Avg CPU (1h)</div><div>' + escapeHtml(fmtCpu(agg.avgCpuPercent)) + '</div></div>' +
5012
+ '<div><div style="color:var(--text-dim)">Peak CPU (1h)</div><div>' + escapeHtml(fmtCpu(agg.peakCpuPercent)) + '</div></div>' +
5013
+ '<div><div style="color:var(--text-dim)">Peak memory (1h)</div><div>' + escapeHtml(fmtBytes(agg.peakRssBytes)) + '</div></div>' +
5014
+ '<div><div style="color:var(--text-dim)">Samples</div><div>' + escapeHtml(String(summaryResp.sampleCount || 0)) + '</div></div>';
5015
+ } else {
5016
+ headlineEl.innerHTML = '<div style="color:var(--text-dim)">No samples collected yet — give it a minute.</div>';
5017
+ }
5018
+
5019
+ // Per-source breakdown (server + each session), aggregate listed last.
5020
+ const breakdown = sources.filter(s => s.source !== 'aggregate');
5021
+ if (breakdown.length === 0) {
5022
+ sourcesEl.innerHTML = '<div style="color:var(--text-dim)">No process samples in the last hour.</div>';
5023
+ } else {
5024
+ sourcesEl.innerHTML =
5025
+ '<table style="width:100%;border-collapse:collapse;font-size:13px">' +
5026
+ '<thead><tr style="text-align:left;color:var(--text-dim)">' +
5027
+ '<th style="padding:6px 8px">Process</th>' +
5028
+ '<th style="padding:6px 8px;text-align:right">CPU now</th>' +
5029
+ '<th style="padding:6px 8px;text-align:right">Avg CPU</th>' +
5030
+ '<th style="padding:6px 8px;text-align:right">Memory (RSS)</th>' +
5031
+ '<th style="padding:6px 8px;text-align:right">Peak CPU</th>' +
5032
+ '</tr></thead><tbody>' +
5033
+ breakdown.map(s =>
5034
+ '<tr style="border-top:1px solid var(--border)">' +
5035
+ '<td style="padding:6px 8px">' + escapeHtml(resourceSourceLabel(s.source)) + '</td>' +
5036
+ '<td style="padding:6px 8px;text-align:right">' + escapeHtml(fmtCpu(s.currentCpuPercent)) + '</td>' +
5037
+ '<td style="padding:6px 8px;text-align:right">' + escapeHtml(fmtCpu(s.avgCpuPercent)) + '</td>' +
5038
+ '<td style="padding:6px 8px;text-align:right">' + escapeHtml(fmtBytes(s.currentRssBytes)) + '</td>' +
5039
+ '<td style="padding:6px 8px;text-align:right">' + escapeHtml(fmtCpu(s.peakCpuPercent)) + '</td>' +
5040
+ '</tr>'
5041
+ ).join('') +
5042
+ '</tbody></table>';
5043
+ }
5044
+
5045
+ // Recent trend: the last aggregate samples (newest first).
5046
+ const samples = samplesResp.samples || [];
5047
+ if (samples.length === 0) {
5048
+ trendEl.innerHTML = '<div style="color:var(--text-dim)">No trend yet.</div>';
5049
+ } else {
5050
+ trendEl.innerHTML = samples.map(s =>
5051
+ '<div style="padding:5px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:12px">' +
5052
+ '<span style="color:var(--text-dim)">' + escapeHtml(fmtRelTime(s.ts)) + '</span>' +
5053
+ '<span>' + escapeHtml(fmtCpu(s.cpuPercent)) + ' CPU</span>' +
5054
+ '<span>' + escapeHtml(fmtBytes(s.rssBytes)) + ' RSS</span>' +
5055
+ '</div>'
5056
+ ).join('');
5057
+ }
5058
+ } catch (err) {
5059
+ const m = err && err.message ? String(err.message) : String(err);
5060
+ // 503 / "unavailable" → the sampler isn't turned on for this agent.
5061
+ if (/503|unavailable|disabled|not initialized/i.test(m)) {
5062
+ headlineEl.innerHTML = '<div style="color:var(--text-dim)">Resource tracking isn\'t turned on for this agent yet.</div>';
5063
+ } else {
5064
+ headlineEl.innerHTML = '<div style="color:var(--red)">Error: ' + escapeHtml(m) + '</div>';
5065
+ }
5066
+ sourcesEl.innerHTML = '';
5067
+ trendEl.innerHTML = '';
5068
+ }
5069
+ }
5070
+
4931
5071
  // ── Threadline → Telegram bridge settings ──────────────────
4932
5072
  let tlBridgeSettings = null;
4933
5073
  let tlBridgeWiring = false;
@@ -1 +1 @@
1
- {"version":3,"file":"reflect.d.ts","sourceRoot":"","sources":["../../src/commands/reflect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CvE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBnG;AA2ED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF;AAED,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAyBD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDpG"}
1
+ {"version":3,"file":"reflect.d.ts","sourceRoot":"","sources":["../../src/commands/reflect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CvE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBnG;AA2ED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEnF;AAED,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAyBD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDpG"}
@@ -17,6 +17,11 @@ import { PatternAnalyzer } from '../core/PatternAnalyzer.js';
17
17
  import { ReflectionConsolidator } from '../core/ReflectionConsolidator.js';
18
18
  import { ClaudeCliIntelligenceProvider } from '../core/ClaudeCliIntelligenceProvider.js';
19
19
  import { wrapIntelligenceWithCircuitBreaker } from '../core/CircuitBreakingIntelligenceProvider.js';
20
+ import { createRequire } from 'node:module';
21
+ // ESM module (package "type":"module" / tsconfig Node16): a bare CJS `require`
22
+ // is undefined and throws at runtime. Bind a real require via createRequire so
23
+ // the lazy load below is genuinely ESM-legal (mirrors NativeModuleHealer.ts).
24
+ const require = createRequire(import.meta.url);
20
25
  export async function reflectJob(slug, opts) {
21
26
  const config = await loadConfig(opts.dir);
22
27
  const journal = new ExecutionJournal(config.stateDir);
@@ -1 +1 @@
1
- {"version":3,"file":"reflect.js","sourceRoot":"","sources":["../../src/commands/reflect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflect.js","sourceRoot":"","sources":["../../src/commands/reflect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0SH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+wDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6kQtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0SH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+wDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqnQtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -2707,6 +2707,47 @@ export async function startServer(options) {
2707
2707
  }
2708
2708
  }
2709
2709
  catch { /* CLI not available */ }
2710
+ // Per-component framework routing (docs/specs/per-component-framework-routing.md).
2711
+ // Wrap the shared provider in an IntelligenceRouter so internal components
2712
+ // (sentinels, gates, …) can be routed to different frameworks via
2713
+ // sessions.componentFrameworks. Unconfigured ⇒ the router delegates straight to
2714
+ // the shared provider, so behavior is byte-identical to before. Own try/catch so
2715
+ // a router-build failure can never 503 the boot (it just leaves the raw provider).
2716
+ if (sharedIntelligence) {
2717
+ try {
2718
+ const { IntelligenceRouter } = await import('../core/IntelligenceRouter.js');
2719
+ const { buildIntelligenceProvider: buildIP } = await import('../core/intelligenceProviderFactory.js');
2720
+ const { LlmCircuitBreaker } = await import('../core/LlmCircuitBreaker.js');
2721
+ const defaultFw = resolvedFramework;
2722
+ const rawDefault = sharedIntelligence;
2723
+ sharedIntelligence = new IntelligenceRouter({
2724
+ defaultProvider: rawDefault,
2725
+ defaultFramework: defaultFw,
2726
+ // Live read: each call sees the current config object's componentFrameworks
2727
+ // (a config edit that mutates the in-memory object is hot; a file reload is
2728
+ // out of B1 scope — same semantics as the rest of instar's config).
2729
+ resolveConfig: () => config.sessions?.componentFrameworks,
2730
+ // Each non-default framework gets its OWN breaker → a Claude trip can't
2731
+ // pause Codex (the whole point). Default framework keeps the shared one.
2732
+ buildProvider: (fw) => buildIP({ framework: fw, breaker: new LlmCircuitBreaker() }),
2733
+ onDegrade: (info) => {
2734
+ try {
2735
+ DegradationReporter.getInstance().report({
2736
+ feature: 'IntelligenceRouter',
2737
+ primary: `component '${info.component}' (${info.category}) on framework ${info.from}`,
2738
+ fallback: `routed to ${info.to}`,
2739
+ reason: info.reason,
2740
+ impact: `LLM calls for '${info.component}' run on ${info.to} instead of the configured ${info.from} until that framework is available.`,
2741
+ });
2742
+ }
2743
+ catch { /* never break the LLM path on a degradation report */ }
2744
+ },
2745
+ });
2746
+ }
2747
+ catch (err) {
2748
+ console.warn(`[server] IntelligenceRouter failed to initialize, using unrouted provider: ${err}`);
2749
+ }
2750
+ }
2710
2751
  _sharedIntelligence = sharedIntelligence ?? null;
2711
2752
  if (sharedIntelligence) {
2712
2753
  console.log(pc.gray(` Intelligence: ${intelligenceSource}`));