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
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TopicProfileWriteSurface — the ONE platform-agnostic write engine behind all
|
|
3
|
+
* Topic Profile write surfaces (TOPIC-PROFILE-SPEC §5.2, §10.1–§10.4):
|
|
4
|
+
* conversational ingress, the /topic command, the rewired /route command, the
|
|
5
|
+
* token-trust HTTP route, the §10.1 propose-confirm lane, and the §5.2(b)
|
|
6
|
+
* recovery writes (undo / clear / re-apply).
|
|
7
|
+
*
|
|
8
|
+
* Regime law implemented here (the spec's hardest-won invariants):
|
|
9
|
+
*
|
|
10
|
+
* - §5.2(d): FRAMEWORK-arm writes via the pre-existing `/route` surface (and
|
|
11
|
+
* equivalent conversational switches) are EXEMPT from BOTH gating knobs —
|
|
12
|
+
* always a LIVE store write, never routed to the §14 dry-run shadow — and
|
|
13
|
+
* wherever the new §8 orchestration is not fully live (`enabled:false` OR
|
|
14
|
+
* `dryRun:true`), the switch is served end-to-end by the LEGACY path,
|
|
15
|
+
* byte-for-byte today's shipped behavior (immediate kill + CONTINUATION
|
|
16
|
+
* respawn with the resume-UUID drop).
|
|
17
|
+
* - The NEW axes (model / modelTier / thinkingMode / escalationOverride) are
|
|
18
|
+
* gated: refused while disabled; shadowed (`intendedProfile`) under
|
|
19
|
+
* dryRun; live only when `enabled && !dryRun`.
|
|
20
|
+
* - §5.2(b): the recovery writes — re-apply and CLEAR — are LIVE writes in
|
|
21
|
+
* EVERY regime (never refused as new pins, never shadowed), but their
|
|
22
|
+
* APPLICATION arm is regime-governed: outside the fully-live regime there
|
|
23
|
+
* is NO profile-triggered kill — the write applies at the next natural
|
|
24
|
+
* spawn / boot-sweep reconcile, and the confirmation says so out loud.
|
|
25
|
+
* - §10.1: `updatedBy` is stamped server-side from the VERIFIED principal —
|
|
26
|
+
* operator-attributed only on the platform-authenticated surfaces; HTTP is
|
|
27
|
+
* token-trust (`updatedBy:'api-token'`), never operator-attributed, and a
|
|
28
|
+
* body-supplied updatedBy is ignored by construction (it never reaches
|
|
29
|
+
* this module). Writes refuse when the sender is not the topic's bound
|
|
30
|
+
* operator (or, for token writes, when NO bound operator exists).
|
|
31
|
+
* - §8: EVERY accepted write discloses — one line, delta-carrying, carrying
|
|
32
|
+
* the audit sequence stamp so the relay's exact-duplicate window can never
|
|
33
|
+
* silently swallow a repeat notice. The undo snapshot (`previous`) shifts
|
|
34
|
+
* once per disclosed write (no §8 coalescing window exists until the
|
|
35
|
+
* orchestrator serves the fully-live regime, so every accepted write here
|
|
36
|
+
* is individually disclosed — the spec's outside-a-window cadence).
|
|
37
|
+
*
|
|
38
|
+
* §8 ORCHESTRATION SEAM (TODO-wire): `deps.orchestrator` is the call site for
|
|
39
|
+
* TopicProfileOrchestrator (built in parallel). When present AND the regime
|
|
40
|
+
* is fully-live, profile-triggered respawns hand off to it (debounce, idle
|
|
41
|
+
* re-confirm, classification, parking). Until it is wired:
|
|
42
|
+
* - framework switches are served by the legacy respawn in every regime
|
|
43
|
+
* (today's shipped behavior — the §5.2(d) contract, audited
|
|
44
|
+
* `orchestration-unavailable` when it happens in the fully-live regime);
|
|
45
|
+
* - new-axis live writes apply at the next natural spawn, told out loud.
|
|
46
|
+
*/
|
|
47
|
+
import type { TopicProfileStore } from './TopicProfileStore.js';
|
|
48
|
+
import type { TopicProfileResolver } from './TopicProfileResolver.js';
|
|
49
|
+
import { type ProfilePatchInput, type ProfileValidationError, type ValidatedProfilePatch } from './topicProfileValidation.js';
|
|
50
|
+
/** The two gating knobs, resolved live (§5.2/§14). */
|
|
51
|
+
export interface ProfileWriteRegime {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
dryRun: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** The VERIFIED principal a write runs as (§10.1 — stamped server-side). */
|
|
56
|
+
export type ProfileWritePrincipal = {
|
|
57
|
+
kind: 'operator';
|
|
58
|
+
platform: string;
|
|
59
|
+
uid: string;
|
|
60
|
+
} | {
|
|
61
|
+
kind: 'token';
|
|
62
|
+
};
|
|
63
|
+
export type ProfileWriteOrigin = 'conversational' | 'slash-topic' | 'slash-route' | 'http' | 'propose-confirm';
|
|
64
|
+
/**
|
|
65
|
+
* §8 interface seam for TopicProfileOrchestrator (built in parallel — see the
|
|
66
|
+
* module doc). Structural-only: the write surface calls this AFTER the live
|
|
67
|
+
* store write; the orchestrator owns the debounced, idle-gated respawn.
|
|
68
|
+
*/
|
|
69
|
+
export interface ProfileOrchestratorLike {
|
|
70
|
+
onProfileWrite(topicKey: string, info: {
|
|
71
|
+
frameworkChanged: boolean;
|
|
72
|
+
origin: ProfileWriteOrigin;
|
|
73
|
+
}): void | Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
export interface ProfileWriteResult {
|
|
76
|
+
ok: boolean;
|
|
77
|
+
/** Operator-facing reply text (refusal or confirmation+disclosure). */
|
|
78
|
+
reply: string;
|
|
79
|
+
/** Structured refusal when ok:false. */
|
|
80
|
+
refusal?: {
|
|
81
|
+
reason: string;
|
|
82
|
+
validation?: ProfileValidationError;
|
|
83
|
+
};
|
|
84
|
+
/** True when the accepted write changed nothing (no-op). */
|
|
85
|
+
noop?: boolean;
|
|
86
|
+
/** Fields that landed LIVE in the store. */
|
|
87
|
+
appliedLive?: string[];
|
|
88
|
+
/** Fields recorded to the §14 dry-run shadow. */
|
|
89
|
+
shadowed?: string[];
|
|
90
|
+
/** Fields refused by the disabled gate (mixed-delta split, §10.1). */
|
|
91
|
+
refusedFields?: string[];
|
|
92
|
+
/** A §10.4 parked pin was superseded by this write (named in the reply). */
|
|
93
|
+
supersededParked?: boolean;
|
|
94
|
+
/** The legacy immediate respawn fired (§5.2(d)). */
|
|
95
|
+
legacyRespawned?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface ReapplyResult extends ProfileWriteResult {
|
|
98
|
+
/** §10.4 cooldown: the re-apply needs an explicit confirm first. */
|
|
99
|
+
needsConfirm?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export interface TopicProfileWriteSurfaceDeps {
|
|
102
|
+
store: TopicProfileStore;
|
|
103
|
+
resolver: TopicProfileResolver;
|
|
104
|
+
/** Live gating knobs (enabled via resolveDevAgentGate; dryRun from config). */
|
|
105
|
+
regime: () => ProfileWriteRegime;
|
|
106
|
+
/** The topic's bound operator (§10.1) — null when none bound. */
|
|
107
|
+
boundOperator: (topicKey: string) => {
|
|
108
|
+
platform: string;
|
|
109
|
+
uid: string;
|
|
110
|
+
} | null;
|
|
111
|
+
/** Active `/local-model` binding (§5.2 — refuses cloud model pins). */
|
|
112
|
+
localModelBinding: (topicKey: string) => {
|
|
113
|
+
provider: string;
|
|
114
|
+
} | null;
|
|
115
|
+
/**
|
|
116
|
+
* §5.2(d) legacy respawn — today's exact `/route` behavior: drop the resume
|
|
117
|
+
* UUID, kill, CONTINUATION respawn. Only invoked for framework-arm changes.
|
|
118
|
+
* Returns respawned:false when the topic has no live session (write still
|
|
119
|
+
* lands; takes effect at next spawn).
|
|
120
|
+
*/
|
|
121
|
+
legacyFrameworkRespawn: (topicKey: string) => Promise<{
|
|
122
|
+
respawned: boolean;
|
|
123
|
+
error?: string;
|
|
124
|
+
}>;
|
|
125
|
+
/** §8 orchestrator seam (TODO-wire — null until the parallel build lands). */
|
|
126
|
+
orchestrator?: ProfileOrchestratorLike | null;
|
|
127
|
+
/**
|
|
128
|
+
* §5.3 transfer-carrier cancel marker (TopicProfileTransferCarrier.
|
|
129
|
+
* onLocalWriteDurable). Called immediately after a successful `await
|
|
130
|
+
* store.mutate(...)` — mutate resolves only after its flush durably landed,
|
|
131
|
+
* so a FlushRefusedError throw cancels nothing (the §5.3 round-8 rule).
|
|
132
|
+
* Operator and token-trust HTTP writes cancel a pending transfer pull;
|
|
133
|
+
* system writes never reach this surface.
|
|
134
|
+
*/
|
|
135
|
+
onLocalWriteDurable?: (topicKey: string, origin: 'operator' | 'http') => void;
|
|
136
|
+
/**
|
|
137
|
+
* Post the §8 disclosure line to the topic's owning platform conversation.
|
|
138
|
+
* Callers whose command REPLY is the disclosure-of-record (slash surfaces)
|
|
139
|
+
* suppress this via discloseInReply instead.
|
|
140
|
+
*/
|
|
141
|
+
disclose: (topicKey: string, text: string) => Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* §10.3 audit sink. Returns the audit sequence stamp included in rendered
|
|
144
|
+
* disclosures (or void — a timestamp is used instead).
|
|
145
|
+
*/
|
|
146
|
+
audit: (event: Record<string, unknown>) => string | void;
|
|
147
|
+
/** §10.4 re-apply cooldown (hardcoded v1 constant unless injected). */
|
|
148
|
+
reapplyCooldownMs?: number;
|
|
149
|
+
now?: () => number;
|
|
150
|
+
}
|
|
151
|
+
export declare class TopicProfileWriteSurface {
|
|
152
|
+
private readonly deps;
|
|
153
|
+
private readonly now;
|
|
154
|
+
constructor(deps: TopicProfileWriteSurfaceDeps);
|
|
155
|
+
applyWrite(req: {
|
|
156
|
+
topicKey: string | number;
|
|
157
|
+
patch: ProfilePatchInput;
|
|
158
|
+
principal: ProfileWritePrincipal;
|
|
159
|
+
origin: ProfileWriteOrigin;
|
|
160
|
+
/** The caller's reply carries the disclosure-of-record (slash surfaces). */
|
|
161
|
+
discloseInReply?: boolean;
|
|
162
|
+
/** §10.1 propose-confirm provenance flag for the audit. */
|
|
163
|
+
agentComposedPayload?: boolean;
|
|
164
|
+
}): Promise<ProfileWriteResult>;
|
|
165
|
+
undo(req: {
|
|
166
|
+
topicKey: string | number;
|
|
167
|
+
principal: ProfileWritePrincipal;
|
|
168
|
+
origin: ProfileWriteOrigin;
|
|
169
|
+
discloseInReply?: boolean;
|
|
170
|
+
}): Promise<ProfileWriteResult>;
|
|
171
|
+
/** CLEAR — a recovery write: LIVE in every regime, never shadowed. */
|
|
172
|
+
clear(req: {
|
|
173
|
+
topicKey: string | number;
|
|
174
|
+
principal: ProfileWritePrincipal;
|
|
175
|
+
origin: ProfileWriteOrigin;
|
|
176
|
+
discloseInReply?: boolean;
|
|
177
|
+
}): Promise<ProfileWriteResult>;
|
|
178
|
+
/**
|
|
179
|
+
* RE-APPLY the §10.4 parked (intended-but-unhealthy) pin — a recovery
|
|
180
|
+
* write: LIVE in every regime. Carries the §10.4 cooldown guard: re-applying
|
|
181
|
+
* the same profile that just tripped the breaker requires an explicit
|
|
182
|
+
* confirm (the caller arms the shared confirm slot with the returned echo).
|
|
183
|
+
*/
|
|
184
|
+
reapply(req: {
|
|
185
|
+
topicKey: string | number;
|
|
186
|
+
principal: ProfileWritePrincipal;
|
|
187
|
+
origin: ProfileWriteOrigin;
|
|
188
|
+
/** The operator already confirmed through the §10.4 cooldown echo. */
|
|
189
|
+
confirmed?: boolean;
|
|
190
|
+
discloseInReply?: boolean;
|
|
191
|
+
}): Promise<ReapplyResult>;
|
|
192
|
+
/**
|
|
193
|
+
* Validate + render the SERVER-side echo for an agent-composed proposal.
|
|
194
|
+
* The echo names each arm's fate under the live regime BEFORE the confirm
|
|
195
|
+
* (mixed-delta split, round-12) — what the operator confirms is mechanically
|
|
196
|
+
* what will be written. The caller arms the shared confirm slot with the
|
|
197
|
+
* returned patch+echo and sends the echo to the topic.
|
|
198
|
+
*/
|
|
199
|
+
renderProposalEcho(topicKey: string | number, patch: ProfilePatchInput): {
|
|
200
|
+
ok: true;
|
|
201
|
+
echo: string;
|
|
202
|
+
patch: ValidatedProfilePatch;
|
|
203
|
+
} | {
|
|
204
|
+
ok: false;
|
|
205
|
+
reply: string;
|
|
206
|
+
validation?: ProfileValidationError;
|
|
207
|
+
};
|
|
208
|
+
renderReadout(topicKey: string | number): string;
|
|
209
|
+
private authorize;
|
|
210
|
+
private principalStamp;
|
|
211
|
+
/**
|
|
212
|
+
* §5.3 — notify the transfer carrier a local write durably landed (cancels
|
|
213
|
+
* any pending transfer-pull REPLACE for the topic). Only ever called AFTER
|
|
214
|
+
* `await store.mutate(...)` resolved; a flush-refused mutate throws first
|
|
215
|
+
* and cancels nothing (the round-8 rule by construction).
|
|
216
|
+
*/
|
|
217
|
+
private notifyLocalWriteDurable;
|
|
218
|
+
private profileSnapshot;
|
|
219
|
+
private renderDelta;
|
|
220
|
+
private writeFailure;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=topicProfileWriteSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topicProfileWriteSurface.d.ts","sourceRoot":"","sources":["../../src/core/topicProfileWriteSurface.ts"],"names":[],"mappings":"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"}
|