instar 1.3.556 → 1.3.558
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/server.d.ts.map +1 -1
- package/dist/commands/server.js +33 -6
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +50 -27
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +22 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +75 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +27 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +75 -2
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +48 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +7 -4
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/upgrades/1.3.557.md +61 -0
- package/upgrades/1.3.558.md +75 -0
- package/upgrades/side-effects/age-kill-transcript-aware-resume.md +115 -0
- package/upgrades/side-effects/mm-pool-seamlessness-devgate.md +149 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAy3CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgCH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiH7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAy3CD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA8eN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA01btE;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"}
|
package/dist/commands/server.js
CHANGED
|
@@ -5038,7 +5038,12 @@ export async function startServer(options) {
|
|
|
5038
5038
|
// best-effort (the refusal itself is the load-bearing safety).
|
|
5039
5039
|
const telegramForRoleGuard = telegram; // const-narrow for the closure
|
|
5040
5040
|
scheduler.setRoleGuard(() => ({
|
|
5041
|
-
|
|
5041
|
+
// DEV-AGENT DARK GATE (operator directive 2026-06-13, topic 13481):
|
|
5042
|
+
// read ws43RoleGuard through resolveDevAgentGate so it resolves LIVE on
|
|
5043
|
+
// a dev agent / DARK on the fleet. The guard can only ever REFUSE a
|
|
5044
|
+
// spawn (never wrongly spawn — the safe direction); single-machine
|
|
5045
|
+
// agents always hold the lease, so it never fires there even live.
|
|
5046
|
+
enabled: resolveDevAgentGate(config.multiMachine?.seamlessness?.ws43RoleGuard, config),
|
|
5042
5047
|
holdsLease: coordinator.holdsLease(),
|
|
5043
5048
|
}), (slug, machineId) => {
|
|
5044
5049
|
void telegramForRoleGuard.createAttentionItem({
|
|
@@ -9070,7 +9075,12 @@ export async function startServer(options) {
|
|
|
9070
9075
|
const { SpeakerElection } = await import('../monitoring/SpeakerElection.js');
|
|
9071
9076
|
const ws3Cfg = () => (config.multiMachine?.seamlessness ?? {});
|
|
9072
9077
|
const speakerElection = new SpeakerElection({
|
|
9073
|
-
|
|
9078
|
+
// DEV-AGENT DARK GATE (operator directive 2026-06-13, topic 13481): read
|
|
9079
|
+
// ws3OneVoice through resolveDevAgentGate so it resolves LIVE on a dev agent
|
|
9080
|
+
// (config OMITS it → undefined → !!developmentAgent) and DARK on the fleet.
|
|
9081
|
+
// An explicit config value still wins. Single-machine is a no-op regardless
|
|
9082
|
+
// (the election never engages below 2 online machines).
|
|
9083
|
+
enabled: () => resolveDevAgentGate(ws3Cfg().ws3OneVoice, config),
|
|
9074
9084
|
currentMachineId: (() => {
|
|
9075
9085
|
// @silent-fallback-ok — no machine identity = the election's legacy-no-machine-id
|
|
9076
9086
|
// verdict (always speak): the designed single-machine degradation, not a loss.
|
|
@@ -13025,8 +13035,18 @@ export async function startServer(options) {
|
|
|
13025
13035
|
});
|
|
13026
13036
|
const registryForCutover = machinePoolRegistry;
|
|
13027
13037
|
scheduler.setJournalLeaseCutover(leaseStore, () => ({
|
|
13028
|
-
|
|
13029
|
-
|
|
13038
|
+
// DEV-AGENT DARK GATE (operator directive 2026-06-13, topic 13481):
|
|
13039
|
+
// read ws43JournalLease through resolveDevAgentGate → LIVE on a dev
|
|
13040
|
+
// agent / DARK on the fleet (config OMITS both flags). ws43JournalLease
|
|
13041
|
+
// DryRun resolves COHERENTLY: on a dev agent the cutover goes genuinely
|
|
13042
|
+
// live (dryRun → false) so the journal-lease path is actually exercised,
|
|
13043
|
+
// not just logged; on the fleet it resolves to the safe dry-run default
|
|
13044
|
+
// (true). An explicit config value still wins on either flag. A genuine
|
|
13045
|
+
// live cutover only engages when the flag resolves live AND the pool is
|
|
13046
|
+
// flag-coherent (≥2 machines all advertising not-dry-run), so a
|
|
13047
|
+
// single-machine dev agent never half-migrates.
|
|
13048
|
+
enabled: resolveDevAgentGate(config.multiMachine?.seamlessness?.ws43JournalLease, config),
|
|
13049
|
+
dryRun: config.multiMachine?.seamlessness?.ws43JournalLeaseDryRun ?? !resolveDevAgentGate(undefined, config),
|
|
13030
13050
|
epoch: coordinator.getLeaseEpoch(),
|
|
13031
13051
|
peers: registryForCutover
|
|
13032
13052
|
.getCapacities()
|
|
@@ -13126,7 +13146,7 @@ export async function startServer(options) {
|
|
|
13126
13146
|
// WS1.1 capability advertisement (spec invariant 5): a bounded
|
|
13127
13147
|
// fixed-size summary, never an inventory. Reported live each
|
|
13128
13148
|
// heartbeat so a queue going dark withdraws the capability.
|
|
13129
|
-
seamlessnessFlags: { ws11DeliverReceive: !!_inboundQueue, ws12DrainReceive: !!_drainRunner, ws44PoolLinks: !!_poolLink, ws44PoolCache: !!_poolPollCache, ws43JournalLease: config.multiMachine?.seamlessness?.ws43JournalLease
|
|
13149
|
+
seamlessnessFlags: { ws11DeliverReceive: !!_inboundQueue, ws12DrainReceive: !!_drainRunner, ws44PoolLinks: !!_poolLink, ws44PoolCache: !!_poolPollCache, ws43JournalLease: resolveDevAgentGate(config.multiMachine?.seamlessness?.ws43JournalLease, config) && (config.multiMachine?.seamlessness?.ws43JournalLeaseDryRun ?? !resolveDevAgentGate(undefined, config)) !== true, stateSyncReceive: selfStateSyncReceive() },
|
|
13130
13150
|
// Durable Inbound Message Queue §5.1: depth + oldest + tenure +
|
|
13131
13151
|
// bounded top-K — the survivor's loss-SUSPECTED item, capped
|
|
13132
13152
|
// re-placement arm, and supersede-dedupe key all read these.
|
|
@@ -13427,7 +13447,14 @@ export async function startServer(options) {
|
|
|
13427
13447
|
const ws13Cfg = () => (config.multiMachine?.seamlessness ?? {});
|
|
13428
13448
|
const { OwnershipReconciler } = await import('../core/OwnershipReconciler.js');
|
|
13429
13449
|
const reconciler = new OwnershipReconciler({
|
|
13430
|
-
|
|
13450
|
+
// DEV-AGENT DARK GATE (operator directive 2026-06-13, topic 13481):
|
|
13451
|
+
// read ws13Reconcile through resolveDevAgentGate so the reconcile loop
|
|
13452
|
+
// resolves LIVE on a dev agent / DARK on the fleet. ws13DryRun STAYS a
|
|
13453
|
+
// plain config read (the in-component "log intended CAS without
|
|
13454
|
+
// performing it" rung — NOT the dev-gate); so on a dev agent the loop
|
|
13455
|
+
// runs live but in dry-run (no destructive CAS), exactly as the rollout
|
|
13456
|
+
// ladder intends. Strict single-machine no-op inside the module.
|
|
13457
|
+
enabled: () => resolveDevAgentGate(ws13Cfg().ws13Reconcile, config),
|
|
13431
13458
|
dryRun: () => ws13Cfg().ws13DryRun !== false,
|
|
13432
13459
|
selfMachineId: _meshSelfId,
|
|
13433
13460
|
pinStore: _topicPinStore,
|