instar 1.3.489 → 1.3.490
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 +979 -28
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +23 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/CodexResumeMap.d.ts +95 -0
- package/dist/core/CodexResumeMap.d.ts.map +1 -0
- package/dist/core/CodexResumeMap.js +283 -0
- package/dist/core/CodexResumeMap.js.map +1 -0
- package/dist/core/MeshRpc.d.ts +3 -0
- package/dist/core/MeshRpc.d.ts.map +1 -1
- package/dist/core/MeshRpc.js +5 -0
- package/dist/core/MeshRpc.js.map +1 -1
- package/dist/core/ModelSwapService.d.ts +26 -11
- package/dist/core/ModelSwapService.d.ts.map +1 -1
- package/dist/core/ModelSwapService.js +59 -21
- package/dist/core/ModelSwapService.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +16 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +62 -2
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +4 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +3 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/SessionRefresh.d.ts +36 -7
- package/dist/core/SessionRefresh.d.ts.map +1 -1
- package/dist/core/SessionRefresh.js +90 -29
- package/dist/core/SessionRefresh.js.map +1 -1
- package/dist/core/TopicProfileOrchestrator.d.ts +480 -0
- package/dist/core/TopicProfileOrchestrator.d.ts.map +1 -0
- package/dist/core/TopicProfileOrchestrator.js +1404 -0
- package/dist/core/TopicProfileOrchestrator.js.map +1 -0
- package/dist/core/TopicProfileResolver.d.ts +104 -0
- package/dist/core/TopicProfileResolver.d.ts.map +1 -0
- package/dist/core/TopicProfileResolver.js +231 -0
- package/dist/core/TopicProfileResolver.js.map +1 -0
- package/dist/core/TopicProfileStore.d.ts +308 -0
- package/dist/core/TopicProfileStore.d.ts.map +1 -0
- package/dist/core/TopicProfileStore.js +781 -0
- package/dist/core/TopicProfileStore.js.map +1 -0
- package/dist/core/TopicProfileTransferCarrier.d.ts +227 -0
- package/dist/core/TopicProfileTransferCarrier.d.ts.map +1 -0
- package/dist/core/TopicProfileTransferCarrier.js +533 -0
- package/dist/core/TopicProfileTransferCarrier.js.map +1 -0
- package/dist/core/TopicResumeMap.d.ts +67 -1
- package/dist/core/TopicResumeMap.d.ts.map +1 -1
- package/dist/core/TopicResumeMap.js +114 -1
- package/dist/core/TopicResumeMap.js.map +1 -1
- package/dist/core/classifyProfileChange.d.ts +83 -0
- package/dist/core/classifyProfileChange.d.ts.map +1 -0
- package/dist/core/classifyProfileChange.js +274 -0
- package/dist/core/classifyProfileChange.js.map +1 -0
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/frameworkSessionLaunch.d.ts +26 -0
- package/dist/core/frameworkSessionLaunch.d.ts.map +1 -1
- package/dist/core/frameworkSessionLaunch.js +58 -0
- package/dist/core/frameworkSessionLaunch.js.map +1 -1
- package/dist/core/slackRefreshBinding.d.ts +83 -0
- package/dist/core/slackRefreshBinding.d.ts.map +1 -0
- package/dist/core/slackRefreshBinding.js +54 -0
- package/dist/core/slackRefreshBinding.js.map +1 -0
- package/dist/core/topicProfileIngress.d.ts +128 -0
- package/dist/core/topicProfileIngress.d.ts.map +1 -0
- package/dist/core/topicProfileIngress.js +249 -0
- package/dist/core/topicProfileIngress.js.map +1 -0
- package/dist/core/topicProfileValidation.d.ts +109 -0
- package/dist/core/topicProfileValidation.d.ts.map +1 -0
- package/dist/core/topicProfileValidation.js +247 -0
- package/dist/core/topicProfileValidation.js.map +1 -0
- package/dist/core/topicProfileWriteSurface.d.ts +222 -0
- package/dist/core/topicProfileWriteSurface.d.ts.map +1 -0
- package/dist/core/topicProfileWriteSurface.js +631 -0
- package/dist/core/topicProfileWriteSurface.js.map +1 -0
- package/dist/core/types.d.ts +37 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +6 -0
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/messaging/TelegramAdapter.d.ts +10 -1
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +41 -1
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +9 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +32 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +52 -3
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +17 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +271 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +66 -66
- package/src/scaffold/templates.ts +9 -0
- package/upgrades/1.3.490.md +34 -0
- package/upgrades/side-effects/topic-profile.md +142 -0
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* forces a compile error if a case is missed.
|
|
14
14
|
*/
|
|
15
15
|
import type { IntelligenceFramework } from './intelligenceProviderFactory.js';
|
|
16
|
+
import type { ThinkingMode } from './topicProfileValidation.js';
|
|
16
17
|
/**
|
|
17
18
|
* Cross-framework generic model tiers. Higher-level code (UpgradeNotify,
|
|
18
19
|
* StallTriage, etc.) should think in tiers, not in framework-specific
|
|
@@ -99,6 +100,17 @@ export interface InteractiveLaunchOptions {
|
|
|
99
100
|
* non-claude frameworks. NEVER a token — just the login location.
|
|
100
101
|
*/
|
|
101
102
|
configHome?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Topic Profile §6 — per-topic thinking mode. Mapped per framework:
|
|
105
|
+
* - claude-code: `--effort <low|medium|high|max>` (the live CLI's verified
|
|
106
|
+
* launch flag); `off` → MAX_THINKING_TOKENS=0 via envOverrides (the flag
|
|
107
|
+
* has no off level).
|
|
108
|
+
* - codex-cli: `-c model_reasoning_effort=<low|medium|high|xhigh>`;
|
|
109
|
+
* `max` → xhigh; `off` → low (Codex reasoning models have no off — the
|
|
110
|
+
* caller discloses the remap once, §4).
|
|
111
|
+
* - gemini-cli / pi-cli: strict no-op (no reasoning knob shipped).
|
|
112
|
+
*/
|
|
113
|
+
thinkingMode?: ThinkingMode;
|
|
102
114
|
}
|
|
103
115
|
export interface InteractiveLaunchSpec {
|
|
104
116
|
/** Args to append after the tmux env-var block, starting with the binary path. */
|
|
@@ -231,6 +243,20 @@ export declare function buildHeadlessLaunch(framework: IntelligenceFramework, op
|
|
|
231
243
|
* Returns `[]` for non-claude frameworks or when neither option is requested, so
|
|
232
244
|
* the caller can splice unconditionally. Pure + order-stable for testing.
|
|
233
245
|
*/
|
|
246
|
+
/**
|
|
247
|
+
* Topic Profile §6 — map the generic thinking-mode enum to the Claude CLI's
|
|
248
|
+
* `--effort` levels. `off` returns null (it rides the MAX_THINKING_TOKENS=0
|
|
249
|
+
* env channel instead — the flag has no off level). Exported for the L5
|
|
250
|
+
* canary + unit tests.
|
|
251
|
+
*/
|
|
252
|
+
export declare function claudeEffortForThinkingMode(mode: ThinkingMode | undefined): 'low' | 'medium' | 'high' | 'max' | null;
|
|
253
|
+
/**
|
|
254
|
+
* Topic Profile §6 — map the generic thinking-mode enum to codex
|
|
255
|
+
* `model_reasoning_effort` levels. `max` → xhigh; `off` → low (codex has no
|
|
256
|
+
* off — the §4 write path discloses the remap once). Exported for the L5
|
|
257
|
+
* canary + unit tests.
|
|
258
|
+
*/
|
|
259
|
+
export declare function codexReasoningEffortForThinkingMode(mode: ThinkingMode | undefined): 'low' | 'medium' | 'high' | 'xhigh' | null;
|
|
234
260
|
export declare function claudeHeadlessExtraFlags(opts: {
|
|
235
261
|
framework: IntelligenceFramework | string;
|
|
236
262
|
allowedTools?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameworkSessionLaunch.d.ts","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"frameworkSessionLaunch.d.ts","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,6 +135,16 @@ const claudeCodeBuilder = (options) => {
|
|
|
135
135
|
// Prevent nested Claude Code detection when Echo runs inside Claude.
|
|
136
136
|
CLAUDECODE: '',
|
|
137
137
|
};
|
|
138
|
+
// Topic Profile §6 — thinking mode. The live CLI's `--effort` flag carries
|
|
139
|
+
// low/medium/high/max; `off` has no flag level, so it rides the
|
|
140
|
+
// MAX_THINKING_TOKENS=0 env channel (thinking disabled).
|
|
141
|
+
const claudeEffort = claudeEffortForThinkingMode(options.thinkingMode);
|
|
142
|
+
if (claudeEffort) {
|
|
143
|
+
argv.push('--effort', claudeEffort);
|
|
144
|
+
}
|
|
145
|
+
else if (options.thinkingMode === 'off') {
|
|
146
|
+
envOverrides.MAX_THINKING_TOKENS = '0';
|
|
147
|
+
}
|
|
138
148
|
// Subscription & Auth Standard P1.3: when a per-account config home is given,
|
|
139
149
|
// launch this Claude session under THAT account's login (the swap mechanism).
|
|
140
150
|
// The login location only — never a token.
|
|
@@ -218,6 +228,13 @@ const codexCliBuilder = (options) => {
|
|
|
218
228
|
argv.push('--dangerously-bypass-hook-trust');
|
|
219
229
|
}
|
|
220
230
|
argv.push(...codexThreadlineMcpFlags(options.codexThreadlineMcp));
|
|
231
|
+
// Topic Profile §6 — thinking mode → codex reasoning effort. `max` → xhigh;
|
|
232
|
+
// `off` → low (codex reasoning models have no off level; the profile write
|
|
233
|
+
// path disclosed the remap once, §4).
|
|
234
|
+
const codexEffort = codexReasoningEffortForThinkingMode(options.thinkingMode);
|
|
235
|
+
if (codexEffort) {
|
|
236
|
+
argv.push('-c', `model_reasoning_effort=${JSON.stringify(codexEffort)}`);
|
|
237
|
+
}
|
|
221
238
|
return {
|
|
222
239
|
argv,
|
|
223
240
|
envOverrides: {
|
|
@@ -501,6 +518,47 @@ export function buildHeadlessLaunch(framework, options) {
|
|
|
501
518
|
* Returns `[]` for non-claude frameworks or when neither option is requested, so
|
|
502
519
|
* the caller can splice unconditionally. Pure + order-stable for testing.
|
|
503
520
|
*/
|
|
521
|
+
/**
|
|
522
|
+
* Topic Profile §6 — map the generic thinking-mode enum to the Claude CLI's
|
|
523
|
+
* `--effort` levels. `off` returns null (it rides the MAX_THINKING_TOKENS=0
|
|
524
|
+
* env channel instead — the flag has no off level). Exported for the L5
|
|
525
|
+
* canary + unit tests.
|
|
526
|
+
*/
|
|
527
|
+
export function claudeEffortForThinkingMode(mode) {
|
|
528
|
+
switch (mode) {
|
|
529
|
+
case 'low':
|
|
530
|
+
return 'low';
|
|
531
|
+
case 'medium':
|
|
532
|
+
return 'medium';
|
|
533
|
+
case 'high':
|
|
534
|
+
return 'high';
|
|
535
|
+
case 'max':
|
|
536
|
+
return 'max';
|
|
537
|
+
default:
|
|
538
|
+
return null; // off / unset — no flag emitted
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Topic Profile §6 — map the generic thinking-mode enum to codex
|
|
543
|
+
* `model_reasoning_effort` levels. `max` → xhigh; `off` → low (codex has no
|
|
544
|
+
* off — the §4 write path discloses the remap once). Exported for the L5
|
|
545
|
+
* canary + unit tests.
|
|
546
|
+
*/
|
|
547
|
+
export function codexReasoningEffortForThinkingMode(mode) {
|
|
548
|
+
switch (mode) {
|
|
549
|
+
case 'off':
|
|
550
|
+
case 'low':
|
|
551
|
+
return 'low';
|
|
552
|
+
case 'medium':
|
|
553
|
+
return 'medium';
|
|
554
|
+
case 'high':
|
|
555
|
+
return 'high';
|
|
556
|
+
case 'max':
|
|
557
|
+
return 'xhigh';
|
|
558
|
+
default:
|
|
559
|
+
return null; // unset — codex uses its configured default
|
|
560
|
+
}
|
|
561
|
+
}
|
|
504
562
|
export function claudeHeadlessExtraFlags(opts) {
|
|
505
563
|
if (opts.framework !== 'claude-code')
|
|
506
564
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameworkSessionLaunch.js","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frameworkSessionLaunch.js","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* slackRefreshBinding — the §10.5 (TOPIC-PROFILE-SPEC) Slack arm of
|
|
3
|
+
* SessionRefresh: binding-resolution surface + conversation-key scheme.
|
|
4
|
+
*
|
|
5
|
+
* SessionRefresh was Telegram-only by construction (its binding lookup
|
|
6
|
+
* returned `not_telegram_bound` for everything else). The kill-time half of
|
|
7
|
+
* Slack continuity already exists in server bootstrap (`beforeSessionKill` →
|
|
8
|
+
* `slackAdapter.saveChannelResume(routingKey, uuid, sessionName)`), so the
|
|
9
|
+
* narrow gap is (a) resolving WHICH Slack conversation a session is bound to
|
|
10
|
+
* and (b) a Slack-capable respawner callback. This module defines the
|
|
11
|
+
* structural interfaces + key helpers; SessionRefresh consumes them.
|
|
12
|
+
*
|
|
13
|
+
* Conversation-key scheme (spec §10.5): the platform-agnostic key space is
|
|
14
|
+
* bare numeric → Telegram topic id (back-compat)
|
|
15
|
+
* slack:<channel>[:<thread>] → Slack conversation
|
|
16
|
+
* SlackAdapter's own routing key is `<channelId>` or `<channelId>:<thread_ts>`
|
|
17
|
+
* — the slack:* conversation key is exactly that routing key behind the
|
|
18
|
+
* `slack:` prefix.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* The minimal structural surface SessionRefresh needs from a Slack adapter.
|
|
22
|
+
* `SlackAdapter` satisfies this as-is (registerChannelSession keys the
|
|
23
|
+
* registry on the ROUTING KEY — `<channelId>` or `<channelId>:<thread_ts>` —
|
|
24
|
+
* and the channel-resume map is keyed the same way, including the entry the
|
|
25
|
+
* beforeSessionKill listener writes during the kill).
|
|
26
|
+
*
|
|
27
|
+
* Defined locally (not imported from SlackAdapter) so SessionRefresh stays
|
|
28
|
+
* decoupled from the messaging layer the same way it is for the respawner
|
|
29
|
+
* callback — and so tests can supply a plain object.
|
|
30
|
+
*/
|
|
31
|
+
export interface SlackRefreshBinding {
|
|
32
|
+
/** Routing key (`<channelId>` or `<channelId>:<thread_ts>`) bound to this
|
|
33
|
+
* tmux session, or null when the session is not Slack-bound. */
|
|
34
|
+
getChannelForSession(sessionName: string): string | null;
|
|
35
|
+
/** Optional disk-backed fallback, mirroring TelegramAdapter's
|
|
36
|
+
* resolveTopicForSessionFromDisk — a binding registered after this
|
|
37
|
+
* process loaded the registry is still recoverable. Adapters without it
|
|
38
|
+
* simply skip the fallback. */
|
|
39
|
+
resolveChannelForSessionFromDisk?(sessionName: string): string | null;
|
|
40
|
+
/** Remove the channel-resume entry for a routing key. Used by `fresh`
|
|
41
|
+
* respawns: beforeSessionKill just saved the UUID; clearing it makes the
|
|
42
|
+
* respawner spawn a brand-new conversation instead of `--resume`-ing a
|
|
43
|
+
* poisoned transcript. */
|
|
44
|
+
removeChannelResume(routingKey: string): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Slack respawner callback — the Slack analogue of SessionRefreshDeps.respawner.
|
|
48
|
+
* Wired by server bootstrap to mirror the Slack message-handler spawn path:
|
|
49
|
+
* read getChannelResume(routingKey) → removeChannelResume →
|
|
50
|
+
* spawnInteractiveSession(prompt, undefined, { resumeSessionId,
|
|
51
|
+
* slackChannelId, slackThreadTs }) → registerChannelSession(routingKey, name).
|
|
52
|
+
*
|
|
53
|
+
* Same contract as the Telegram respawner: it does NOT kill the old tmux
|
|
54
|
+
* session (SessionRefresh already did, which fired beforeSessionKill and
|
|
55
|
+
* persisted the resume UUID into the channel-resume map). Resolves to the new
|
|
56
|
+
* tmux session name.
|
|
57
|
+
*/
|
|
58
|
+
export type SlackRespawner = (sessionName: string, routingKey: string, followUpPrompt: string | undefined, accountSwap?: {
|
|
59
|
+
configHome?: string;
|
|
60
|
+
accountId?: string;
|
|
61
|
+
}) => Promise<string>;
|
|
62
|
+
export declare const SLACK_CONVERSATION_KEY_PREFIX = "slack:";
|
|
63
|
+
/** `<channelId>[:<thread_ts>]` routing key → `slack:<channel>[:<thread>]` (§10.5). */
|
|
64
|
+
export declare function slackConversationKey(routingKey: string): string;
|
|
65
|
+
/** `slack:<channel>[:<thread>]` → routing key, or null when not a Slack key. */
|
|
66
|
+
export declare function parseSlackConversationKey(key: string): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Stable negative synthetic topic id for a Slack routing key.
|
|
69
|
+
*
|
|
70
|
+
* IDENTICAL hash to `server.ts:slackChannelToSyntheticId` and the inline copy
|
|
71
|
+
* in `routes.ts` (build-event heartbeat) — sum-shift char hash, negated so it
|
|
72
|
+
* can never collide with a (positive) Telegram topic id. RefreshResult keeps
|
|
73
|
+
* a numeric `topicId` for back-compat consumers (e.g. the restart-all log
|
|
74
|
+
* line reads result.topicId); Slack results carry this synthetic id so those
|
|
75
|
+
* consumers stay type- and meaning-compatible with the rest of the system's
|
|
76
|
+
* Slack↔numeric bridging (PresenceProxy, resume heartbeat).
|
|
77
|
+
*
|
|
78
|
+
* NOTE for the integrating session: this is now the THIRD copy of the hash —
|
|
79
|
+
* consolidating server.ts + routes.ts onto this export is a wiring follow-up
|
|
80
|
+
* (both files are owned by other builders in this round).
|
|
81
|
+
*/
|
|
82
|
+
export declare function slackRoutingKeySyntheticId(routingKey: string): number;
|
|
83
|
+
//# sourceMappingURL=slackRefreshBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slackRefreshBinding.d.ts","sourceRoot":"","sources":["../../src/core/slackRefreshBinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC;qEACiE;IACjE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzD;;;oCAGgC;IAChC,gCAAgC,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtE;;;+BAG2B;IAC3B,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,WAAW,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KACtD,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,6BAA6B,WAAW,CAAC;AAEtD,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAMrE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* slackRefreshBinding — the §10.5 (TOPIC-PROFILE-SPEC) Slack arm of
|
|
3
|
+
* SessionRefresh: binding-resolution surface + conversation-key scheme.
|
|
4
|
+
*
|
|
5
|
+
* SessionRefresh was Telegram-only by construction (its binding lookup
|
|
6
|
+
* returned `not_telegram_bound` for everything else). The kill-time half of
|
|
7
|
+
* Slack continuity already exists in server bootstrap (`beforeSessionKill` →
|
|
8
|
+
* `slackAdapter.saveChannelResume(routingKey, uuid, sessionName)`), so the
|
|
9
|
+
* narrow gap is (a) resolving WHICH Slack conversation a session is bound to
|
|
10
|
+
* and (b) a Slack-capable respawner callback. This module defines the
|
|
11
|
+
* structural interfaces + key helpers; SessionRefresh consumes them.
|
|
12
|
+
*
|
|
13
|
+
* Conversation-key scheme (spec §10.5): the platform-agnostic key space is
|
|
14
|
+
* bare numeric → Telegram topic id (back-compat)
|
|
15
|
+
* slack:<channel>[:<thread>] → Slack conversation
|
|
16
|
+
* SlackAdapter's own routing key is `<channelId>` or `<channelId>:<thread_ts>`
|
|
17
|
+
* — the slack:* conversation key is exactly that routing key behind the
|
|
18
|
+
* `slack:` prefix.
|
|
19
|
+
*/
|
|
20
|
+
export const SLACK_CONVERSATION_KEY_PREFIX = 'slack:';
|
|
21
|
+
/** `<channelId>[:<thread_ts>]` routing key → `slack:<channel>[:<thread>]` (§10.5). */
|
|
22
|
+
export function slackConversationKey(routingKey) {
|
|
23
|
+
return `${SLACK_CONVERSATION_KEY_PREFIX}${routingKey}`;
|
|
24
|
+
}
|
|
25
|
+
/** `slack:<channel>[:<thread>]` → routing key, or null when not a Slack key. */
|
|
26
|
+
export function parseSlackConversationKey(key) {
|
|
27
|
+
if (!key.startsWith(SLACK_CONVERSATION_KEY_PREFIX))
|
|
28
|
+
return null;
|
|
29
|
+
const routingKey = key.slice(SLACK_CONVERSATION_KEY_PREFIX.length);
|
|
30
|
+
return routingKey.length > 0 ? routingKey : null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Stable negative synthetic topic id for a Slack routing key.
|
|
34
|
+
*
|
|
35
|
+
* IDENTICAL hash to `server.ts:slackChannelToSyntheticId` and the inline copy
|
|
36
|
+
* in `routes.ts` (build-event heartbeat) — sum-shift char hash, negated so it
|
|
37
|
+
* can never collide with a (positive) Telegram topic id. RefreshResult keeps
|
|
38
|
+
* a numeric `topicId` for back-compat consumers (e.g. the restart-all log
|
|
39
|
+
* line reads result.topicId); Slack results carry this synthetic id so those
|
|
40
|
+
* consumers stay type- and meaning-compatible with the rest of the system's
|
|
41
|
+
* Slack↔numeric bridging (PresenceProxy, resume heartbeat).
|
|
42
|
+
*
|
|
43
|
+
* NOTE for the integrating session: this is now the THIRD copy of the hash —
|
|
44
|
+
* consolidating server.ts + routes.ts onto this export is a wiring follow-up
|
|
45
|
+
* (both files are owned by other builders in this round).
|
|
46
|
+
*/
|
|
47
|
+
export function slackRoutingKeySyntheticId(routingKey) {
|
|
48
|
+
let hash = 0;
|
|
49
|
+
for (let i = 0; i < routingKey.length; i++) {
|
|
50
|
+
hash = ((hash << 5) - hash + routingKey.charCodeAt(i)) | 0;
|
|
51
|
+
}
|
|
52
|
+
return -(Math.abs(hash) + 1); // always negative, never 0
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=slackRefreshBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slackRefreshBinding.js","sourceRoot":"","sources":["../../src/core/slackRefreshBinding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgDH,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAQ,CAAC;AAEtD,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO,GAAG,6BAA6B,GAAG,UAAU,EAAE,CAAC;AACzD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,6BAA6B,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;AAC3D,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* topicProfileIngress — the §10.1 SERVER-SIDE conversational ingress for
|
|
3
|
+
* Topic Profile writes (TOPIC-PROFILE-SPEC §10.1, §8 'switch now', §10.4
|
|
4
|
+
* cooldown confirm).
|
|
5
|
+
*
|
|
6
|
+
* Two pieces, both pure logic (no I/O — the write surface owns side effects):
|
|
7
|
+
*
|
|
8
|
+
* 1. The deterministic TRIGGER GRAMMAR (`parseProfileTrigger`). The parse
|
|
9
|
+
* runs in the message-ingress pipeline where the authenticated sender uid
|
|
10
|
+
* is first-party — the uid reaches the store through code, never through
|
|
11
|
+
* a body the agent composed. The grammar is a CLOSED set (Tier 0, §14):
|
|
12
|
+
* no fuzzy matcher ever holds write authority. Out-of-grammar phrasings
|
|
13
|
+
* ride the propose-then-confirm lane instead.
|
|
14
|
+
*
|
|
15
|
+
* 2. The ARMED-CONFIRM slot manager (`ProfileConfirmSlots`). ALL THREE
|
|
16
|
+
* confirm surfaces — §10.1 propose-confirm, §8 switch-now, §10.4
|
|
17
|
+
* re-apply-cooldown — share ONE armed slot per topic (round-7: a bare
|
|
18
|
+
* "yes" must never be ambiguous about which confirm it fires). The slot
|
|
19
|
+
* enforces:
|
|
20
|
+
* - TTL (`switchNowConfirmTtlMs`),
|
|
21
|
+
* - event-based ordering on PLATFORM MESSAGE IDS (the confirm's id must
|
|
22
|
+
* be > the latest echo's platform-returned id; ties refused toward
|
|
23
|
+
* re-echo — never a cross-clock timestamp compare, round-7),
|
|
24
|
+
* - supersession (a re-proposal invalidates any in-flight confirm; the
|
|
25
|
+
* confirm must answer the LATEST echo),
|
|
26
|
+
* - a re-proposal rate bound per topic (churn is a suspicion signal —
|
|
27
|
+
* past the bound the slot refuses re-proposals for a cooldown and
|
|
28
|
+
* tears down, round-7),
|
|
29
|
+
* - forwarded-content rejection (a message carrying platform forward
|
|
30
|
+
* metadata never matches ANY ingress recognition, round-5).
|
|
31
|
+
*/
|
|
32
|
+
import type { ProfilePatchInput } from './topicProfileValidation.js';
|
|
33
|
+
export type ProfileTrigger = {
|
|
34
|
+
kind: 'write';
|
|
35
|
+
patch: ProfilePatchInput;
|
|
36
|
+
} | {
|
|
37
|
+
kind: 'readout';
|
|
38
|
+
} | {
|
|
39
|
+
kind: 'undo';
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'clear';
|
|
42
|
+
} | {
|
|
43
|
+
kind: 'reapply';
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'switch-now';
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'confirm';
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Parse a first-party operator turn against the closed trigger set.
|
|
51
|
+
* Returns null for anything outside the grammar — the message then routes
|
|
52
|
+
* to the session normally (the agent may propose via the §10.1
|
|
53
|
+
* propose-confirm lane). Deterministic and anchored: a trigger is the WHOLE
|
|
54
|
+
* message (trailing punctuation tolerated), never a substring match inside
|
|
55
|
+
* prose — quoting someone else's "use codex here" mid-paragraph must not
|
|
56
|
+
* fire a write.
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseProfileTrigger(text: string): ProfileTrigger | null;
|
|
59
|
+
export type ArmedConfirmKind = 'propose-confirm' | 'switch-now' | 'reapply-cooldown';
|
|
60
|
+
export interface ArmedConfirm {
|
|
61
|
+
kind: ArmedConfirmKind;
|
|
62
|
+
topicKey: string;
|
|
63
|
+
/** The registered structured delta (what a confirm will actually write). */
|
|
64
|
+
patch: ProfilePatchInput;
|
|
65
|
+
/** The SERVER-rendered echo (what the operator saw — §10.1(b)). */
|
|
66
|
+
echoText: string;
|
|
67
|
+
/** Platform-returned message id of the latest echo (ordering anchor). */
|
|
68
|
+
echoPlatformMessageId: number | null;
|
|
69
|
+
armedAt: number;
|
|
70
|
+
/** Audit provenance: agent-composed (propose lane) vs ingress-derived. */
|
|
71
|
+
origin: 'agent-composed' | 'ingress';
|
|
72
|
+
}
|
|
73
|
+
export type ConfirmMatch = {
|
|
74
|
+
ok: true;
|
|
75
|
+
armed: ArmedConfirm;
|
|
76
|
+
} | {
|
|
77
|
+
ok: false;
|
|
78
|
+
reason: 'none-armed' | 'expired' | 'stale-order' | 'no-echo-id' | 'forwarded';
|
|
79
|
+
};
|
|
80
|
+
export interface ProfileConfirmSlotsOptions {
|
|
81
|
+
/** §12.5 switchNowConfirmTtlMs (default 300000). */
|
|
82
|
+
ttlMs?: () => number;
|
|
83
|
+
/** Re-proposal rate bound per topic (hardcoded v1 default: 5 per 10min). */
|
|
84
|
+
maxProposalsPerWindow?: number;
|
|
85
|
+
proposalWindowMs?: number;
|
|
86
|
+
now?: () => number;
|
|
87
|
+
audit?: (event: Record<string, unknown>) => void;
|
|
88
|
+
}
|
|
89
|
+
export declare class ProfileConfirmSlots {
|
|
90
|
+
private slots;
|
|
91
|
+
/** Re-proposal timestamps per topic (rate bound, round-7). */
|
|
92
|
+
private proposalTimes;
|
|
93
|
+
/** Topics cooling down after a proposal-churn trip. */
|
|
94
|
+
private churnCooldownUntil;
|
|
95
|
+
private readonly opts;
|
|
96
|
+
private readonly now;
|
|
97
|
+
constructor(opts?: ProfileConfirmSlotsOptions);
|
|
98
|
+
private ttl;
|
|
99
|
+
/**
|
|
100
|
+
* Arm (or supersede) the topic's ONE confirm slot. Returns ok:false when
|
|
101
|
+
* the topic is rate-bounded on re-proposals (the armed proposal is torn
|
|
102
|
+
* down and the operator re-states fresh — round-7).
|
|
103
|
+
*/
|
|
104
|
+
arm(topicKey: string, kind: ArmedConfirmKind, patch: ProfilePatchInput, echoText: string, origin: ArmedConfirm['origin']): {
|
|
105
|
+
ok: true;
|
|
106
|
+
superseded: boolean;
|
|
107
|
+
} | {
|
|
108
|
+
ok: false;
|
|
109
|
+
reason: 'proposal-churn-cooldown';
|
|
110
|
+
};
|
|
111
|
+
/** Record the platform-returned id of the echo we just sent (ordering anchor). */
|
|
112
|
+
recordEchoMessageId(topicKey: string, platformMessageId: number): void;
|
|
113
|
+
/** The armed slot, if any (readout / switch-now no-op reply). */
|
|
114
|
+
peek(topicKey: string): ArmedConfirm | null;
|
|
115
|
+
disarm(topicKey: string): void;
|
|
116
|
+
/**
|
|
117
|
+
* Match an inbound affirmative against the armed slot. On ok:true the slot
|
|
118
|
+
* is CONSUMED (one confirm per echo). Refusals leave the slot armed except
|
|
119
|
+
* 'expired' (torn down).
|
|
120
|
+
*/
|
|
121
|
+
matchConfirm(topicKey: string, ctx: {
|
|
122
|
+
platformMessageId: number | null;
|
|
123
|
+
forwarded: boolean;
|
|
124
|
+
}): ConfirmMatch;
|
|
125
|
+
}
|
|
126
|
+
/** Parse the numeric platform message id from a Message.id like `tg-12345`. */
|
|
127
|
+
export declare function platformMessageIdFrom(messageId: string | undefined): number | null;
|
|
128
|
+
//# sourceMappingURL=topicProfileIngress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicProfileIngress.d.ts","sourceRoot":"","sources":["../../src/core/topicProfileIngress.ts"],"names":[],"mappings":"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"}
|