instar 1.3.1601 → 1.3.1602
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.
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +38 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/BrowserCareProbes.d.ts +15 -0
- package/dist/core/BrowserCareProbes.d.ts.map +1 -0
- package/dist/core/BrowserCareProbes.js +78 -0
- package/dist/core/BrowserCareProbes.js.map +1 -0
- package/dist/core/MachineLockStateReader.d.ts +34 -0
- package/dist/core/MachineLockStateReader.d.ts.map +1 -0
- package/dist/core/MachineLockStateReader.js +114 -0
- package/dist/core/MachineLockStateReader.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts +6 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +25 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/monitoring/machineMaintenance/BrowserCare.d.ts +166 -0
- package/dist/monitoring/machineMaintenance/BrowserCare.d.ts.map +1 -0
- package/dist/monitoring/machineMaintenance/BrowserCare.js +334 -0
- package/dist/monitoring/machineMaintenance/BrowserCare.js.map +1 -0
- package/dist/monitoring/machineMaintenance/lockState.d.ts +34 -0
- package/dist/monitoring/machineMaintenance/lockState.d.ts.map +1 -0
- package/dist/monitoring/machineMaintenance/lockState.js +53 -0
- package/dist/monitoring/machineMaintenance/lockState.js.map +1 -0
- package/dist/monitoring/machineMaintenance/readings.d.ts +4 -0
- package/dist/monitoring/machineMaintenance/readings.d.ts.map +1 -1
- package/dist/monitoring/machineMaintenance/readings.js +2 -1
- package/dist/monitoring/machineMaintenance/readings.js.map +1 -1
- package/dist/native/instar-desktop-host +0 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +2 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/CapabilityIndex.js +2 -2
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +19 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/blocking-decision-surfaces-baseline.json +22 -2
- package/src/data/builtin-manifest.json +63 -63
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/src/data/state-coherence-registry.json +37 -0
- package/src/scaffold/templates.ts +2 -1
- package/src/templates/scripts/browser/chrome-close.sh +97 -0
- package/src/templates/scripts/browser/chrome-js.sh +2 -0
- package/src/templates/scripts/browser/chrome-launch.sh +16 -3
- package/src/templates/scripts/browser/chrome-ledger.sh +49 -0
- package/src/templates/scripts/browser/chrome-renew.sh +38 -0
- package/src/templates/scripts/browser/chrome-unsaved.sh +83 -0
- package/upgrades/1.3.1602.md +24 -0
- package/upgrades/side-effects/machine-self-maintenance-browser-care-lock-reading.md +98 -0
package/dist/commands/server.js
CHANGED
|
@@ -22870,6 +22870,44 @@ export async function startServer(options) {
|
|
|
22870
22870
|
});
|
|
22871
22871
|
setActiveDrainRehearsal(rehearsal);
|
|
22872
22872
|
rehearsal.start();
|
|
22873
|
+
// Honest lock reading (Part A): a read of the session, never the flag alone.
|
|
22874
|
+
const { MachineLockStateReader, setActiveMachineLockStateReader } = await import('../core/MachineLockStateReader.js');
|
|
22875
|
+
setActiveMachineLockStateReader(new MachineLockStateReader());
|
|
22876
|
+
// Browser care (Part B), watch-only: the sweep records what it WOULD close and has
|
|
22877
|
+
// no way to close anything. Only the macOS normal-Chrome helpers keep a ledger.
|
|
22878
|
+
if (process.platform === 'darwin') {
|
|
22879
|
+
const { BrowserCareSweep, normalizeBrowserCare, parseChromeProcesses, setActiveBrowserCare, DOWNLOAD_FRESH_MS } = await import('../monitoring/machineMaintenance/BrowserCare.js');
|
|
22880
|
+
const { makeTabChecker, makeDownloadCheck } = await import('../core/BrowserCareProbes.js');
|
|
22881
|
+
const { parseHidIdleMs } = await import('../monitoring/machineMaintenance/readings.js');
|
|
22882
|
+
const read = makeReadOnlyRunner(config.sessions.tmuxPath);
|
|
22883
|
+
const browserCare = new BrowserCareSweep({
|
|
22884
|
+
agentName: config.projectName,
|
|
22885
|
+
agentHome: projectDir,
|
|
22886
|
+
operatorChromeDir: path.join(os.homedir(), 'Library', 'Application Support', 'Google', 'Chrome'),
|
|
22887
|
+
ledgerDir: path.join(config.stateDir, 'state', 'browser-instances'),
|
|
22888
|
+
logPath: path.join(config.stateDir, '..', 'logs', 'browser-care.jsonl'),
|
|
22889
|
+
settings: () => normalizeBrowserCare(liveConfig.get('machineMaintenance.browserCare', undefined)),
|
|
22890
|
+
listChrome: async () => { const out = await read('chromeProcesses'); return out === null ? null : parseChromeProcesses(out); },
|
|
22891
|
+
tmuxSessions: async () => { const out = await read('tmuxSessions'); return out === null ? null : out.split('\n').map((l) => l.trim()).filter(Boolean); },
|
|
22892
|
+
inputIdleMs: async () => { const out = await read('inputIdle'); return out === null ? null : parseHidIdleMs(out); },
|
|
22893
|
+
signInRepairOpen: () => {
|
|
22894
|
+
const runtime = subscriptionReloginRuntime;
|
|
22895
|
+
if (!runtime)
|
|
22896
|
+
return false;
|
|
22897
|
+
try {
|
|
22898
|
+
return runtime.store.list({ limit: 500 }).some((e) => !['succeeded', 'refused', 'cancelled', 'failed'].includes(e.state));
|
|
22899
|
+
}
|
|
22900
|
+
catch {
|
|
22901
|
+
return null;
|
|
22902
|
+
} // @silent-fallback-ok — null reads as "repair state unknown", which keeps every browser
|
|
22903
|
+
},
|
|
22904
|
+
downloadActive: makeDownloadCheck(DOWNLOAD_FRESH_MS),
|
|
22905
|
+
checkTabs: makeTabChecker(projectDir),
|
|
22906
|
+
log: (line) => console.log(pc.yellow(` [browser-care] ${line}`)),
|
|
22907
|
+
});
|
|
22908
|
+
setActiveBrowserCare(browserCare);
|
|
22909
|
+
browserCare.start();
|
|
22910
|
+
}
|
|
22873
22911
|
}
|
|
22874
22912
|
}
|
|
22875
22913
|
catch (err) {
|