instar 1.2.74 → 1.2.76

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 (45) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +43 -1
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +6 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/Usher.d.ts +57 -0
  8. package/dist/core/Usher.d.ts.map +1 -0
  9. package/dist/core/Usher.js +179 -0
  10. package/dist/core/Usher.js.map +1 -0
  11. package/dist/core/UsherSignalStore.d.ts +58 -0
  12. package/dist/core/UsherSignalStore.d.ts.map +1 -0
  13. package/dist/core/UsherSignalStore.js +113 -0
  14. package/dist/core/UsherSignalStore.js.map +1 -0
  15. package/dist/core/types.d.ts +8 -0
  16. package/dist/core/types.d.ts.map +1 -1
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/server/AgentServer.d.ts +2 -0
  19. package/dist/server/AgentServer.d.ts.map +1 -1
  20. package/dist/server/AgentServer.js +5 -0
  21. package/dist/server/AgentServer.js.map +1 -1
  22. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  23. package/dist/server/CapabilityIndex.js +1 -0
  24. package/dist/server/CapabilityIndex.js.map +1 -1
  25. package/dist/server/usherRoutes.d.ts +16 -0
  26. package/dist/server/usherRoutes.d.ts.map +1 -0
  27. package/dist/server/usherRoutes.js +40 -0
  28. package/dist/server/usherRoutes.js.map +1 -0
  29. package/dist/threadline/ConversationStore.d.ts +53 -25
  30. package/dist/threadline/ConversationStore.d.ts.map +1 -1
  31. package/dist/threadline/ConversationStore.js +149 -68
  32. package/dist/threadline/ConversationStore.js.map +1 -1
  33. package/dist/threadline/ThreadResumeMap.d.ts +49 -116
  34. package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
  35. package/dist/threadline/ThreadResumeMap.js +194 -252
  36. package/dist/threadline/ThreadResumeMap.js.map +1 -1
  37. package/dist/threadline/ThreadlineObservability.d.ts +6 -1
  38. package/dist/threadline/ThreadlineObservability.d.ts.map +1 -1
  39. package/dist/threadline/ThreadlineObservability.js +17 -8
  40. package/dist/threadline/ThreadlineObservability.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/data/builtin-manifest.json +3 -3
  43. package/upgrades/1.2.75.md +69 -0
  44. package/upgrades/1.2.76.md +64 -0
  45. package/upgrades/side-effects/cwa-usher.md +82 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyQH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiqDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAs+LtE;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;AAyQH,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiqDD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAohMtE;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"}
@@ -2158,6 +2158,12 @@ export async function startServer(options) {
2158
2158
  // values ignored). No-op when unset → built-in defaults. Tracked refinement
2159
2159
  // cwa-decay-profile-config of the rung-1 task-context spec.
2160
2160
  configureDecayProfiles(config.topicIntent?.capture?.decayProfiles);
2161
+ // Usher (rung 4) — signal store for mid-task re-surface signals. Constructed
2162
+ // unless explicitly disabled; the read-only routes 503 when it's null.
2163
+ const { UsherSignalStore } = await import('../core/UsherSignalStore.js');
2164
+ const usherSignalStore = (config.usher?.enabled !== false)
2165
+ ? new UsherSignalStore(config.stateDir)
2166
+ : null;
2161
2167
  // Shared intelligence provider — lightweight LLM for internal classification tasks.
2162
2168
  // Subscription path only: routes through the Claude CLI (`claude -p`), which bills against
2163
2169
  // the Agent SDK credit pot and falls back to the Max subscription. Components that need
@@ -5458,6 +5464,42 @@ export async function startServer(options) {
5458
5464
  // Anti-"shipped-but-asleep" marker for the wiring-integrity test.
5459
5465
  globalThis.__instarTopicIntentCaptureWired = true;
5460
5466
  console.log(pc.green(' Topic-intent capture loop wired (per-turn extraction → store)'));
5467
+ // ── Usher (rung 4) ──────────────────────────────────────────────
5468
+ // Signal-only mid-task watcher: chained AFTER capture so it sees the
5469
+ // freshly-filed turn, queries the faded tail, and emits re-surface
5470
+ // signals to the pull surface. Never injects. Fire-and-forget,
5471
+ // degrade-safe. Spec: docs/specs/cwa-usher.md.
5472
+ if (usherSignalStore) {
5473
+ const { createUsherLoop, createUsherCheckFn } = await import('../core/Usher.js');
5474
+ const usherQueued = createQueuedIntelligence(sharedIntelligence, (lane, fn, costCents) => sharedLlmQueue.enqueue(lane, fn, costCents));
5475
+ const usherCheckFn = createUsherCheckFn(usherQueued, (reason) => {
5476
+ console.warn(`[Usher] degraded: ${reason}`);
5477
+ });
5478
+ const usherLoop = createUsherLoop({
5479
+ store: topicIntentStore,
5480
+ signalStore: usherSignalStore,
5481
+ checkFn: usherCheckFn,
5482
+ shouldShed: () => {
5483
+ const r = quotaTracker?.getRecommendation();
5484
+ return r === 'critical' || r === 'stop';
5485
+ },
5486
+ rateCeiling: { maxPerWindow: 20, windowMs: 60_000 },
5487
+ });
5488
+ const beforeUsherCb = telegram.onMessageLogged;
5489
+ telegram.onMessageLogged = (entry) => {
5490
+ if (beforeUsherCb)
5491
+ beforeUsherCb(entry);
5492
+ void usherLoop({
5493
+ messageId: entry.messageId,
5494
+ topicId: entry.topicId ?? undefined,
5495
+ text: entry.text,
5496
+ fromUser: entry.fromUser,
5497
+ timestamp: entry.timestamp,
5498
+ });
5499
+ };
5500
+ globalThis.__instarUsherWired = true;
5501
+ console.log(pc.green(' Usher wired (signal-only mid-task re-surface watcher)'));
5502
+ }
5461
5503
  }
5462
5504
  catch (err) {
5463
5505
  console.warn('[TopicIntentCapture] init failed:', err.message);
@@ -7107,7 +7149,7 @@ export async function startServer(options) {
7107
7149
  },
7108
7150
  });
7109
7151
  }
7110
- const server = new AgentServer({ config, sessionManager, state, scheduler, telegram, relationships, feedback, feedbackAnomalyDetector, dispatches, updateChecker, autoUpdater, autoDispatcher, quotaTracker, quotaManager, publisher, viewer, tunnel, evolution, watchdog, topicMemory, triageNurse, projectMapper, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, whatsapp: whatsappAdapter, slack: slackAdapter, imessage: imessageAdapter, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, warrantsReplyGate, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, proxyCoordinator, topicIntentStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, workingMemory, taskFlowRegistry, threadlineFlowBridge });
7152
+ const server = new AgentServer({ config, sessionManager, state, scheduler, telegram, relationships, feedback, feedbackAnomalyDetector, dispatches, updateChecker, autoUpdater, autoDispatcher, quotaTracker, quotaManager, publisher, viewer, tunnel, evolution, watchdog, topicMemory, triageNurse, projectMapper, coherenceGate: scopeVerifier, contextHierarchy, canonicalState, operationGate, sentinel, adaptiveTrust, memoryMonitor, orphanReaper, coherenceMonitor, commitmentTracker, semanticMemory, activitySentinel, rateLimitSentinel, messageRouter, summarySentinel, spawnManager, systemReviewer, capabilityMapper, selfKnowledgeTree, coverageAuditor, topicResumeMap: _topicResumeMap ?? undefined, sessionRefresh: _sessionRefresh ?? undefined, autonomyManager, trustElevationTracker, autonomousEvolution, coordinator: coordinator.enabled ? coordinator : undefined, localSigningKeyPem, whatsapp: whatsappAdapter, slack: slackAdapter, imessage: imessageAdapter, whatsappBusinessBackend, messageBridge, hookEventReceiver, worktreeMonitor, subagentTracker, instructionsVerifier, handshakeManager: threadlineHandshake, threadlineRouter, conversationStore, warrantsReplyGate, threadResumeMap, topicLinkageHandler: topicLinkageHandler ?? undefined, threadlineRelayClient, threadlineReplyWaiters, listenerManager: listenerManager ?? undefined, responseReviewGate, messagingToneGate, outboundDedupGate, telemetryHeartbeat, pasteManager, featureRegistry, discoveryEvaluator, completionEvaluator, unifiedTrust, liveConfig, sharedStateLedger, ledgerSessionRegistry, worktreeManager, oidcEnrolledRepos: parallelDevConfig?.oidcEnrolledRepos, initiativeTracker, projectRoundRunner, projectDriftChecker, machineHeartbeat, proxyCoordinator, topicIntentStore, usherSignalStore, intelligence: sharedIntelligence ?? undefined, telegramBridgeConfig, telegramBridge: telegramBridge ?? undefined, threadlineObservability, workingMemory, taskFlowRegistry, threadlineFlowBridge });
7111
7153
  // Boot-recovery (tunnel-failure-resilience spec Part 6): if the agent
7112
7154
  // died mid-relay-episode, the persisted tunnel.json carries
7113
7155
  // rotationPending=true. Rotate the dashboard PIN + authToken BEFORE