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.
@@ -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,CA6/qBtE;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;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"}
@@ -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
- const ahActivityIndex = new AHParallelActivityIndex({ stateDir: config.stateDir });
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
- const soActivityIndex = new SOActivityIndex({ stateDir: config.stateDir });
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
- const topicActivityIndex = new ParallelActivityIndex({ stateDir: config.stateDir });
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,