instar 1.3.1136 → 1.3.1138
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 +59 -6
- package/dist/commands/server.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/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- 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/upgrades/1.3.1137.md +28 -0
- package/upgrades/1.3.1138.md +31 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,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;AA+EH,OAAO,EAAE,cAAc,EAAkC,MAAM,2BAA2B,CAAC;AAU3F,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AA0BjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAgI7D,OAAO,KAAK,EAAW,oBAAoB,EAAe,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgFtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAuID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+rDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,oBAAoB,GAAG,IAAI,GACxC;IACD,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED,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,EAQrD,oBAAoB,CAAC,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,GACP,IAAI,CAwtBN;AAgmBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwjrBtE;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
|
@@ -13910,10 +13910,26 @@ export async function startServer(options) {
|
|
|
13910
13910
|
const { AutonomousProgressHeartbeat } = await import('../monitoring/AutonomousProgressHeartbeat.js');
|
|
13911
13911
|
const { AutonomousHeartbeatRunStateStore } = await import('../monitoring/AutonomousHeartbeatRunStateStore.js');
|
|
13912
13912
|
const { activeAutonomousJobs, autonomousRunRemainingForTopic, readAutonomousRunMarkers, } = await import('../core/AutonomousSessions.js');
|
|
13913
|
-
const { ParallelActivityIndex: AHParallelActivityIndex } = await import('../core/ParallelActivityIndex.js');
|
|
13913
|
+
const { ParallelActivityIndex: AHParallelActivityIndex, runningTopicIds: ahRunningTopicIds } = await import('../core/ParallelActivityIndex.js');
|
|
13914
13914
|
// Own ParallelActivityIndex (focus source) — fetched ONCE per tick
|
|
13915
13915
|
// and indexed by topic inside the deps closure.
|
|
13916
|
-
|
|
13916
|
+
// Wired even though this caller reads only topicId/focus today: an
|
|
13917
|
+
// omitted `isRunning` is indistinguishable from "nothing is running",
|
|
13918
|
+
// so a future consumer of `running` here would inherit a silent false.
|
|
13919
|
+
const ahActivityIndex = new AHParallelActivityIndex({
|
|
13920
|
+
stateDir: config.stateDir,
|
|
13921
|
+
isRunning: (topicId) => {
|
|
13922
|
+
try {
|
|
13923
|
+
return ahRunningTopicIds(sessionManager.listRunningSessions(), (name) => telegram?.getTopicForSession?.(name)).has(topicId);
|
|
13924
|
+
}
|
|
13925
|
+
catch {
|
|
13926
|
+
// @silent-fallback-ok: `false` is the pre-existing value for an
|
|
13927
|
+
// unresolvable topic — the same value the optional dependency
|
|
13928
|
+
// defaults to — and this index feeds a focus lookup, never a gate.
|
|
13929
|
+
return false;
|
|
13930
|
+
}
|
|
13931
|
+
},
|
|
13932
|
+
});
|
|
13917
13933
|
const ahRunStateStore = new AutonomousHeartbeatRunStateStore(path.join(config.stateDir, 'state', 'autonomous-heartbeat.json'));
|
|
13918
13934
|
const localTelegram2 = telegram;
|
|
13919
13935
|
const autonomousHeartbeat = new AutonomousProgressHeartbeat({
|
|
@@ -14615,8 +14631,24 @@ export async function startServer(options) {
|
|
|
14615
14631
|
const { OrchestratorActuator } = await import('../core/OrchestratorActuator.js');
|
|
14616
14632
|
const { OrchestratorPoller } = await import('../monitoring/OrchestratorPoller.js');
|
|
14617
14633
|
const { OscillationBreaker } = await import('../core/OscillationBreaker.js');
|
|
14618
|
-
const { ParallelActivityIndex: SOActivityIndex } = await import('../core/ParallelActivityIndex.js');
|
|
14619
|
-
|
|
14634
|
+
const { ParallelActivityIndex: SOActivityIndex, runningTopicIds: soRunningTopicIds } = await import('../core/ParallelActivityIndex.js');
|
|
14635
|
+
// MUST be wired: `reads.activeTopicsOnThisMachine` below maps `running:
|
|
14636
|
+
// a.running` into SeamlessOrchestratorEngine. Unwired, a read literally
|
|
14637
|
+
// named "activeTopicsOnThisMachine" could never see an active topic.
|
|
14638
|
+
const soActivityIndex = new SOActivityIndex({
|
|
14639
|
+
stateDir: config.stateDir,
|
|
14640
|
+
isRunning: (topicId) => {
|
|
14641
|
+
try {
|
|
14642
|
+
return soRunningTopicIds(sessionManager.listRunningSessions(), (name) => telegram?.getTopicForSession?.(name)).has(topicId);
|
|
14643
|
+
}
|
|
14644
|
+
catch {
|
|
14645
|
+
// @silent-fallback-ok: `false` is the pre-existing value for an
|
|
14646
|
+
// unresolvable topic, and the orchestrator is dryRun-first; a
|
|
14647
|
+
// placement hint must never break the poller that reads it.
|
|
14648
|
+
return false;
|
|
14649
|
+
}
|
|
14650
|
+
},
|
|
14651
|
+
});
|
|
14620
14652
|
const soBreaker = new OscillationBreaker({
|
|
14621
14653
|
oscillationWindowMs: soNum(soCfg.oscillationWindowMs, 3_600_000),
|
|
14622
14654
|
blacklistTtlMs: soNum(soCfg.blacklistTtlMs, 86_400_000),
|
|
@@ -23786,11 +23818,32 @@ export async function startServer(options) {
|
|
|
23786
23818
|
}
|
|
23787
23819
|
const { WorkQueueRegistry } = await import('../core/WorkQueue.js');
|
|
23788
23820
|
const { FeedbackProcessingService, resolveCanonicalStoreDir } = await import('../feedback-factory/processing/FeedbackProcessingService.js');
|
|
23789
|
-
const { ParallelActivityIndex } = await import('../core/ParallelActivityIndex.js');
|
|
23821
|
+
const { ParallelActivityIndex, runningTopicIds } = await import('../core/ParallelActivityIndex.js');
|
|
23790
23822
|
const ageDays = (value) => value ? Math.max(0, (Date.now() - Date.parse(value)) / 86_400_000) : 0;
|
|
23791
23823
|
const feedbackStoreDir = resolveCanonicalStoreDir(config);
|
|
23792
23824
|
const feedbackReader = feedbackStoreDir ? new FeedbackProcessingService({ dataDir: feedbackStoreDir }) : null;
|
|
23793
|
-
|
|
23825
|
+
// `isRunning` must be wired here too, not only on the AgentServer instance.
|
|
23826
|
+
// The work queue below scores a topic `a.running ? 70 : 40`, so an unwired
|
|
23827
|
+
// predicate silently pins EVERY topic at 40 — a topic with a live session
|
|
23828
|
+
// could never outrank a dormant one. Same resolution AgentServer uses: a
|
|
23829
|
+
// Session carries no topic field; the link lives in the messaging adapter's
|
|
23830
|
+
// registry, keyed on the tmux session name.
|
|
23831
|
+
const topicActivityIndex = new ParallelActivityIndex({
|
|
23832
|
+
stateDir: config.stateDir,
|
|
23833
|
+
isRunning: (topicId) => {
|
|
23834
|
+
try {
|
|
23835
|
+
return runningTopicIds(sessionManager.listRunningSessions(), (name) => telegram?.getTopicForSession?.(name)).has(topicId);
|
|
23836
|
+
}
|
|
23837
|
+
catch {
|
|
23838
|
+
// @silent-fallback-ok: this is a scoring HINT on an advisory queue, and
|
|
23839
|
+
// `false` is the pre-existing behaviour for an unresolvable topic — the
|
|
23840
|
+
// same value the optional dependency defaults to. Reporting a
|
|
23841
|
+
// degradation here would fire on every tick for a non-Telegram session,
|
|
23842
|
+
// and a ranking hint must never be able to break the queue it ranks.
|
|
23843
|
+
return false;
|
|
23844
|
+
}
|
|
23845
|
+
},
|
|
23846
|
+
});
|
|
23794
23847
|
const workQueue = new WorkQueueRegistry({
|
|
23795
23848
|
commitments: () => (commitmentTracker?.getActive() ?? []).map((c) => ({
|
|
23796
23849
|
id: c.id, source: 'commitment', sourceRef: c.id, title: c.userRequest,
|