@moxxy/sdk 0.14.2 → 0.14.3

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":"mode-helpers.js","sourceRoot":"","sources":["../src/mode-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mode-helpers.js","sourceRoot":"","sources":["../src/mode-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAGxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moxxy/sdk",
3
- "version": "0.14.2",
3
+ "version": "0.14.3",
4
4
  "description": "Typed public surface for the moxxy framework: event types, define* factories, lifecycle hook signatures.",
5
5
  "keywords": [
6
6
  "moxxy",
@@ -0,0 +1,247 @@
1
+ import type { ProviderEvent, ProviderMessage, TokenUsage } from '../provider.js';
2
+ import type { ModeContext } from '../mode.js';
3
+ import type { StopReason } from '../provider-utils.js';
4
+ import { applyLazyTools } from '../tool-gating.js';
5
+
6
+ /**
7
+ * Shared bits used by every loop strategy: a typed tool-use struct and a
8
+ * common stream-collection helper that runs `onBeforeProviderCall` hooks
9
+ * and reduces a provider stream down to `{text, toolUses, stopReason}`.
10
+ *
11
+ * Lives in core (not in each loop package) so a new loop strategy stays
12
+ * consistent — and so behavioral fixes here propagate. Previously
13
+ * loop-plan-execute had its own copy that skipped the hook (audit bug).
14
+ */
15
+
16
+ export interface CollectedToolUse {
17
+ readonly id: string;
18
+ readonly name: string;
19
+ readonly input: unknown;
20
+ }
21
+
22
+ export interface StreamResult {
23
+ readonly text: string;
24
+ readonly toolUses: ReadonlyArray<CollectedToolUse>;
25
+ readonly stopReason: StopReason;
26
+ readonly error: { readonly message: string; readonly retryable: boolean } | null;
27
+ /** Token usage reported by the provider on `message_end`, including cache hits/writes. */
28
+ readonly usage?: TokenUsage;
29
+ /**
30
+ * Reasoning/thinking summary for this provider call, when the model emitted
31
+ * any. The mode emits it as a `reasoning_message` event (so it persists and
32
+ * round-trips). `signature`/`encrypted` carry Anthropic's signed thinking
33
+ * block / redacted blob; `redacted` marks display-suppressed reasoning.
34
+ */
35
+ readonly reasoning?: {
36
+ readonly text: string;
37
+ readonly signature?: string;
38
+ readonly redacted?: boolean;
39
+ readonly encrypted?: string;
40
+ };
41
+ }
42
+
43
+ /**
44
+ * Pulls a provider stream, emits `assistant_chunk` events for text deltas,
45
+ * collects tool_use blocks, and returns the final `{text, toolUses, stopReason}`.
46
+ * Runs `onBeforeProviderCall` lifecycle hooks before the call.
47
+ */
48
+ export async function collectProviderStream(
49
+ ctx: ModeContext,
50
+ messages: ReadonlyArray<ProviderMessage>,
51
+ opts: {
52
+ iteration?: number;
53
+ includeTools?: boolean;
54
+ maxTokens?: number;
55
+ /**
56
+ * Index (into `messages`) of the last stable-prefix message, from
57
+ * {@link projectMessages}. Passed to the active cache strategy as
58
+ * `stablePrefixMessageIndex` so it can place a long-lived cross-turn
59
+ * breakpoint at the elision boundary. Omit (or -1) when unknown — the
60
+ * strategy then falls back to its tools/system/tail breakpoints only.
61
+ */
62
+ stablePrefixIndex?: number;
63
+ /**
64
+ * Number of trailing messages in `messages` that are volatile — injected
65
+ * for this call only (e.g. goal mode's `trailingUserText` nudge) and
66
+ * absent from the append-only log, so they won't recur at the same
67
+ * position next call. Forwarded to the cache strategy as
68
+ * `volatileTailMessageCount` so it keeps its rolling tail breakpoint
69
+ * before them instead of paying a guaranteed-wasted cache write.
70
+ */
71
+ volatileTailCount?: number;
72
+ } = {},
73
+ ): Promise<StreamResult> {
74
+ // Lazy tool gating (opt-in): send only always-on + loaded tool schemas, and
75
+ // index the rest in the system prompt. Runs BEFORE cache planning since it
76
+ // rewrites the system message and the tool list.
77
+ let effectiveMessages = messages;
78
+ let toolList: ReadonlyArray<import('../tool.js').ToolDef> | undefined =
79
+ opts.includeTools === false ? undefined : ctx.tools.list();
80
+ if (ctx.lazyTools && toolList) {
81
+ const gated = applyLazyTools(messages, toolList, ctx.log);
82
+ effectiveMessages = gated.messages;
83
+ toolList = gated.tools;
84
+ }
85
+
86
+ // Ask the active cache strategy where to place prompt-cache breakpoints.
87
+ // The strategy is provider-neutral (returns CacheHints); the provider
88
+ // translates them (Anthropic → cache_control). Falls back to no hints when
89
+ // no strategy is registered. The onBeforeProviderCall hook can still adjust.
90
+ const descriptor = ctx.provider.models.find((m) => m.id === ctx.model);
91
+ const cacheHints = ctx.cacheStrategy
92
+ ? ctx.cacheStrategy.plan(effectiveMessages, {
93
+ model: ctx.model,
94
+ contextWindow: descriptor?.contextWindow ?? 0,
95
+ log: ctx.log,
96
+ ...(opts.stablePrefixIndex != null && opts.stablePrefixIndex >= 0
97
+ ? { stablePrefixMessageIndex: opts.stablePrefixIndex }
98
+ : {}),
99
+ ...(opts.volatileTailCount != null && opts.volatileTailCount > 0
100
+ ? { volatileTailMessageCount: opts.volatileTailCount }
101
+ : {}),
102
+ })
103
+ : undefined;
104
+
105
+ // NOTE: `system` is deliberately NOT prefilled with ctx.systemPrompt — the
106
+ // composed system prompt already rides as the leading system-role message
107
+ // (see projectMessages), and providers deliver `req.system` IN ADDITION to
108
+ // message-derived system text. Prefilling it would duplicate the prompt.
109
+ // It stays as the side channel `onBeforeProviderCall` hooks use to inject
110
+ // per-request system text (e.g. the memory consolidation nudge).
111
+ // Forward the per-provider reasoning preference, but only when THIS model
112
+ // advertises `supportsReasoning` — providers ignore the knob otherwise, but
113
+ // gating here keeps requests clean and avoids unsupported-param errors.
114
+ const reqReasoning = descriptor?.supportsReasoning ? ctx.reasoning : undefined;
115
+ const req = {
116
+ model: ctx.model,
117
+ messages: effectiveMessages,
118
+ ...(toolList ? { tools: toolList } : {}),
119
+ ...(cacheHints && cacheHints.length > 0 ? { cacheHints } : {}),
120
+ ...(opts.maxTokens !== undefined ? { maxTokens: opts.maxTokens } : {}),
121
+ ...(reqReasoning ? { reasoning: reqReasoning } : {}),
122
+ signal: ctx.signal,
123
+ };
124
+ const transformed = await ctx.hooks.dispatchBeforeProviderCall(req, {
125
+ sessionId: ctx.sessionId,
126
+ cwd: '',
127
+ log: ctx.log,
128
+ env: {},
129
+ turnId: ctx.turnId,
130
+ iteration: opts.iteration ?? 0,
131
+ });
132
+
133
+ let text = '';
134
+ const toolUses = new Map<string, { name?: string; input?: unknown }>();
135
+ let stopReason: StopReason = 'end_turn';
136
+ let error: StreamResult['error'] = null;
137
+ let usage: TokenUsage | undefined;
138
+ // Reasoning/thinking accumulation for this single provider call. Emitted as a
139
+ // finalized `reasoning_message` by the mode (turn-iterator / goal-loop) so it
140
+ // persists and round-trips; `signature`/`encrypted` carry Anthropic's signed
141
+ // thinking block / redacted blob for replay.
142
+ let reasoningText = '';
143
+ let reasoningSignature: string | undefined;
144
+ let reasoningRedacted = false;
145
+ let reasoningEncrypted: string | undefined;
146
+
147
+ let stream: AsyncIterable<ProviderEvent>;
148
+ try {
149
+ stream = ctx.provider.stream(transformed);
150
+ } catch (err) {
151
+ return {
152
+ text: '',
153
+ toolUses: [],
154
+ stopReason: 'error',
155
+ error: { message: err instanceof Error ? err.message : String(err), retryable: false },
156
+ };
157
+ }
158
+
159
+ try {
160
+ for await (const event of stream) {
161
+ switch (event.type) {
162
+ case 'text_delta': {
163
+ text += event.delta;
164
+ await ctx.emit({
165
+ type: 'assistant_chunk',
166
+ sessionId: ctx.sessionId,
167
+ turnId: ctx.turnId,
168
+ source: 'model',
169
+ delta: event.delta,
170
+ });
171
+ break;
172
+ }
173
+ case 'tool_use_start': {
174
+ toolUses.set(event.id, { name: event.name });
175
+ break;
176
+ }
177
+ case 'tool_use_end': {
178
+ const existing = toolUses.get(event.id) ?? {};
179
+ toolUses.set(event.id, { ...existing, input: event.input });
180
+ break;
181
+ }
182
+ case 'message_end': {
183
+ stopReason = event.stopReason;
184
+ if (event.usage) usage = event.usage;
185
+ break;
186
+ }
187
+ case 'error': {
188
+ error = { message: event.message, retryable: event.retryable };
189
+ break;
190
+ }
191
+ case 'reasoning_delta': {
192
+ reasoningText += event.delta;
193
+ // Live preview only — parallels `assistant_chunk`; renderers
194
+ // accumulate ephemerally and clear on the finalized reasoning_message.
195
+ await ctx.emit({
196
+ type: 'reasoning_chunk',
197
+ sessionId: ctx.sessionId,
198
+ turnId: ctx.turnId,
199
+ source: 'model',
200
+ delta: event.delta,
201
+ });
202
+ break;
203
+ }
204
+ case 'reasoning_signature': {
205
+ if (event.signature) reasoningSignature = event.signature;
206
+ if (event.encrypted) reasoningEncrypted = event.encrypted;
207
+ if (event.redacted) reasoningRedacted = true;
208
+ break;
209
+ }
210
+ case 'message_start':
211
+ case 'tool_use_delta':
212
+ default:
213
+ break;
214
+ }
215
+ }
216
+ } catch (err) {
217
+ error = {
218
+ message: err instanceof Error ? err.message : String(err),
219
+ retryable: false,
220
+ };
221
+ }
222
+
223
+ const finalToolUses: CollectedToolUse[] = [];
224
+ for (const [id, partial] of toolUses) {
225
+ if (!partial.name) continue;
226
+ finalToolUses.push({ id, name: partial.name, input: partial.input ?? {} });
227
+ }
228
+ // Surface reasoning when there's visible text OR an opaque blob to replay
229
+ // (a redacted_thinking block has no text but must still round-trip).
230
+ const reasoning =
231
+ reasoningText.trim().length > 0 || reasoningEncrypted
232
+ ? {
233
+ text: reasoningText,
234
+ ...(reasoningSignature ? { signature: reasoningSignature } : {}),
235
+ ...(reasoningRedacted ? { redacted: true } : {}),
236
+ ...(reasoningEncrypted ? { encrypted: reasoningEncrypted } : {}),
237
+ }
238
+ : undefined;
239
+ return {
240
+ text,
241
+ toolUses: finalToolUses,
242
+ stopReason,
243
+ error,
244
+ ...(usage ? { usage } : {}),
245
+ ...(reasoning ? { reasoning } : {}),
246
+ };
247
+ }
@@ -0,0 +1,121 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { projectUserPrompt, resolvedCallIdSet } from './project-messages.js';
3
+ import { computeElisionState } from '../elision-state.js';
4
+ import { asEventId, asSessionId, asTurnId } from '../ids.js';
5
+ import type { MoxxyEvent, UserPromptEvent } from '../events.js';
6
+
7
+ const sid = asSessionId('s1');
8
+ const t1 = asTurnId('t1');
9
+
10
+ // No-elision state — computeElisionState returns the empty/inactive state when
11
+ // the log has no elision events, which is the only state these pure sub-steps
12
+ // branch on for a fresh (non-stubbed) prompt.
13
+ const noElision = computeElisionState([]);
14
+
15
+ function userPrompt(seq: number, partial: Partial<UserPromptEvent>): UserPromptEvent {
16
+ return {
17
+ id: asEventId(`e${seq}`),
18
+ seq,
19
+ ts: seq,
20
+ sessionId: sid,
21
+ turnId: t1,
22
+ source: 'user',
23
+ type: 'user_prompt',
24
+ text: 'hi',
25
+ ...partial,
26
+ } as UserPromptEvent;
27
+ }
28
+
29
+ function event(seq: number, partial: Omit<MoxxyEvent, 'id' | 'seq' | 'ts' | 'sessionId'>): MoxxyEvent {
30
+ return {
31
+ id: asEventId(`e${seq}`),
32
+ seq,
33
+ ts: seq,
34
+ sessionId: sid,
35
+ ...partial,
36
+ } as MoxxyEvent;
37
+ }
38
+
39
+ describe('projectUserPrompt', () => {
40
+ it('projects a plain prompt to a single text block', () => {
41
+ const blocks = projectUserPrompt(userPrompt(0, { text: 'hello world' }), noElision);
42
+ expect(blocks).toEqual([{ type: 'text', text: 'hello world' }]);
43
+ });
44
+
45
+ it('expands an image attachment to an image block (default mediaType)', () => {
46
+ const blocks = projectUserPrompt(
47
+ userPrompt(0, {
48
+ text: 'look',
49
+ attachments: [{ kind: 'image', content: 'BASE64' }],
50
+ }),
51
+ noElision,
52
+ );
53
+ expect(blocks).toEqual([
54
+ { type: 'text', text: 'look' },
55
+ { type: 'image', mediaType: 'image/png', data: 'BASE64' },
56
+ ]);
57
+ });
58
+
59
+ it('expands a document attachment, carrying name + mediaType', () => {
60
+ const blocks = projectUserPrompt(
61
+ userPrompt(0, {
62
+ text: 'read',
63
+ attachments: [{ kind: 'document', content: 'PDF64', name: 'spec.pdf', mediaType: 'application/pdf' }],
64
+ }),
65
+ noElision,
66
+ );
67
+ expect(blocks).toEqual([
68
+ { type: 'text', text: 'read' },
69
+ { type: 'document', mediaType: 'application/pdf', data: 'PDF64', name: 'spec.pdf' },
70
+ ]);
71
+ });
72
+
73
+ it('renders a text/file attachment inline with a labeled header', () => {
74
+ const blocks = projectUserPrompt(
75
+ userPrompt(0, {
76
+ text: 'see file',
77
+ attachments: [{ kind: 'file', content: 'console.log(1)', name: 'a.ts' }],
78
+ }),
79
+ noElision,
80
+ );
81
+ expect(blocks).toEqual([
82
+ { type: 'text', text: 'see file' },
83
+ { type: 'text', text: '[file a.ts]\nconsole.log(1)' },
84
+ ]);
85
+ });
86
+ });
87
+
88
+ describe('resolvedCallIdSet', () => {
89
+ it('collects callIds from tool_result and tool_call_denied events only', () => {
90
+ const events = [
91
+ event(0, { type: 'user_prompt', turnId: t1, source: 'user', text: 'go' }),
92
+ event(1, {
93
+ type: 'tool_call_requested',
94
+ turnId: t1,
95
+ source: 'model',
96
+ callId: 'orphan',
97
+ name: 'x',
98
+ input: {},
99
+ }),
100
+ event(2, { type: 'tool_result', turnId: t1, source: 'tool', callId: 'resolved', ok: true, output: 'ok' }),
101
+ event(3, {
102
+ type: 'tool_call_denied',
103
+ turnId: t1,
104
+ source: 'system',
105
+ callId: 'denied',
106
+ decidedBy: 'policy',
107
+ reason: 'nope',
108
+ }),
109
+ ];
110
+ const set = resolvedCallIdSet(events);
111
+ expect([...set].sort()).toEqual(['denied', 'resolved']);
112
+ expect(set.has('orphan')).toBe(false);
113
+ });
114
+
115
+ it('returns a fresh mutable set (callers augment it for orphan synthesis)', () => {
116
+ const set = resolvedCallIdSet([]);
117
+ expect(set.size).toBe(0);
118
+ set.add('later');
119
+ expect(set.has('later')).toBe(true);
120
+ });
121
+ });