@looprun-ai/mastra 0.1.2 → 0.3.0
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/agent.d.ts.map +1 -1
- package/dist/agent.js +33 -2
- package/dist/agent.js.map +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +24 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/microloop.d.ts +107 -0
- package/dist/microloop.d.ts.map +1 -0
- package/dist/microloop.js +692 -0
- package/dist/microloop.js.map +1 -0
- package/dist/run-conversation.d.ts.map +1 -1
- package/dist/run-conversation.js +33 -2
- package/dist/run-conversation.js.map +1 -1
- package/package.json +2 -2
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
26
26
|
import { stepCountIs } from 'ai';
|
|
27
27
|
import { Agent } from '@mastra/core/agent';
|
|
28
|
-
import { beginTurn, finalizeReply, forcedTerminalPrompt, isTerminal, normalizeModelParams, vetoStormHit, renderScopedSpecTrunk, terminalProtocol, validateSpec, } from '@looprun-ai/core';
|
|
28
|
+
import { beginTurn, finalizeReply, forcedTerminalPrompt, isTerminal, normalizeModelParams, resolveModelSettings, runChainCompletionPass, vetoStormHit, renderScopedSpecTrunk, terminalProtocol, validateSpec, } from '@looprun-ai/core';
|
|
29
29
|
import { SessionStore } from './session.js';
|
|
30
30
|
import { buildWorldTools, buildTerminalTools } from './tools.js';
|
|
31
31
|
import { makeGuardHooks, makeInputProcessors, repeatedToolCallStop } from './hooks.js';
|
|
@@ -132,7 +132,8 @@ export class LoopRunAgent extends Agent {
|
|
|
132
132
|
// Normalize once at the seam: flat AI-SDK call settings (temperature, maxOutputTokens, …) are
|
|
133
133
|
// folded into `modelSettings` — Mastra silently drops them when spread top-level (measured
|
|
134
134
|
// 2026-07-11: a flat spread ran local models with the GGUF sampler — temp 1.0, no token cap).
|
|
135
|
-
|
|
135
|
+
// Then the spec's per-agent sampling merged OVER them (agent wins) — constant for this agent.
|
|
136
|
+
this.modelParams = resolveModelSettings(normalizeModelParams(config.modelParams ?? {}), spec.controls.sampling);
|
|
136
137
|
this.stopOnRepeatedToolCall = config.stopOnRepeatedToolCall ?? false;
|
|
137
138
|
this.maxStepsResolved = spec.controls.maxSteps ?? config.maxSteps ?? DEFAULT_MAX_STEPS;
|
|
138
139
|
this.redrivesResolved = spec.controls.redrives ?? config.redrives ?? DEFAULT_REDRIVES;
|
|
@@ -267,6 +268,36 @@ export class LoopRunAgent extends Agent {
|
|
|
267
268
|
session.messages.push(...fb.response.messages);
|
|
268
269
|
ledger.turnCorrections.push('forced-terminal');
|
|
269
270
|
}
|
|
271
|
+
// flowChain completion — AFTER main + forced-terminal, BEFORE the onReply checks. ZERO-DIFF: gated
|
|
272
|
+
// on `spec.controls.chains?.length`, so a chain-free turn builds nothing.
|
|
273
|
+
if (spec.controls.chains?.length) {
|
|
274
|
+
const chainPass = await runChainCompletionPass(spec.controls.chains, {
|
|
275
|
+
world,
|
|
276
|
+
observed: ledger.observed,
|
|
277
|
+
turnIndex: session.turnIndex,
|
|
278
|
+
terminalReplyPresent: ledger.terminalReply.trim().length > 0,
|
|
279
|
+
beforeToolCall: this.guardHooks.beforeToolCall,
|
|
280
|
+
afterToolCall: this.guardHooks.afterToolCall,
|
|
281
|
+
forceLlmCall: async (call) => {
|
|
282
|
+
const ccMsgs = useMemory || userText === null
|
|
283
|
+
? `Complete the required follow-up now: call ${call} with the correct arguments for what the user asked. Do not reply in text.`
|
|
284
|
+
: [...session.messages, { role: 'user', content: `Complete the required follow-up now: call ${call} with the correct arguments for what the user asked. Do not reply in text.` }];
|
|
285
|
+
// FORCING: single active tool + toolChoice:'required' — llama-server ignores the named
|
|
286
|
+
// `{ type:'tool', toolName }` form and degrades to free text; this is the portable form.
|
|
287
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
288
|
+
const cc = await Agent.prototype.generate.call(this, ccMsgs, {
|
|
289
|
+
instructions, activeTools: [call], toolChoice: 'required', stopWhen: [stepCountIs(2)],
|
|
290
|
+
hooks: this.guardHooks, ...this.modelParams, ...(useMemory ? { memory: passOpts.memory } : {}),
|
|
291
|
+
});
|
|
292
|
+
if (!useMemory && userText !== null && cc.response?.messages)
|
|
293
|
+
session.messages.push(...cc.response.messages);
|
|
294
|
+
},
|
|
295
|
+
});
|
|
296
|
+
if (chainPass.corrections.length)
|
|
297
|
+
ledger.turnCorrections.push(...chainPass.corrections);
|
|
298
|
+
if (chainPass.replyViolations.length)
|
|
299
|
+
ledger.postToolViolations.push(...chainPass.replyViolations);
|
|
300
|
+
}
|
|
270
301
|
// The terminal reply wins even with the protocol OFF — the terminal tools stay registered, and
|
|
271
302
|
// a model that used one produced a real answer that `full.text` won't carry.
|
|
272
303
|
const initialText = full?.tripwire
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
CHANGED
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/G,aAAa,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAmCvF;AAED;;;;;GAKG;AAEH,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,CAU5D;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,GAE1B,GAAG,EAAE,GAAG,SAAS,CAcnB"}
|
package/dist/hooks.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* fed by `hooks.afterToolCall`. Mastra applies hooks to ALL tool sources (assigned, toolsets,
|
|
7
7
|
* client, MCP), so guards also govern native/MCP tools with zero extra wiring.
|
|
8
8
|
*/
|
|
9
|
-
import { evaluatePreTool, evaluateOnInput, isTerminal, recordToolResult } from '@looprun-ai/core';
|
|
9
|
+
import { evaluatePreTool, evaluateOnInput, enforcePostTool, isTerminal, recordToolResult, resolveGuards } from '@looprun-ai/core';
|
|
10
10
|
export function makeGuardHooks(spec, getSession) {
|
|
11
11
|
return {
|
|
12
12
|
async beforeToolCall({ toolName, input }) {
|
|
@@ -20,11 +20,32 @@ export function makeGuardHooks(spec, getSession) {
|
|
|
20
20
|
}
|
|
21
21
|
return undefined;
|
|
22
22
|
},
|
|
23
|
-
afterToolCall({ toolName, input, output }) {
|
|
23
|
+
async afterToolCall({ toolName, input, output }) {
|
|
24
24
|
if (isTerminal(toolName))
|
|
25
25
|
return;
|
|
26
26
|
const session = getSession();
|
|
27
|
-
|
|
27
|
+
const { ledger, world } = session;
|
|
28
|
+
const args = (input ?? {});
|
|
29
|
+
recordToolResult(ledger, toolName, args, output);
|
|
30
|
+
// OUTPUT-dim (postTool) result invariants — enforce the previously-dead hook. ZERO-DIFF: a spec
|
|
31
|
+
// with no postTool guards short-circuits here (no ctx built, no ledger writes). The tool already
|
|
32
|
+
// executed — enforcement records an `output:…` correction + joins the reply-violation set so the
|
|
33
|
+
// bounded no-tools redrive relays it (a report/repair, never a veto). Mastra AWAITS afterToolCall
|
|
34
|
+
// but DISCARDS its return, so the guard cannot rewrite the model-visible result mid-generate.
|
|
35
|
+
if (!spec.guards.postTool?.length)
|
|
36
|
+
return;
|
|
37
|
+
const postGuards = resolveGuards(spec.guards.postTool, toolName);
|
|
38
|
+
if (!postGuards.length)
|
|
39
|
+
return;
|
|
40
|
+
const gctx = {
|
|
41
|
+
args, tool: toolName, world, observed: ledger.observed, turnIndex: ledger.turnIndex,
|
|
42
|
+
attachmentsThisTurn: ledger.attachments, result: output,
|
|
43
|
+
};
|
|
44
|
+
const { corrections, violations } = await enforcePostTool(postGuards, gctx);
|
|
45
|
+
if (corrections.length)
|
|
46
|
+
ledger.turnCorrections.push(...corrections);
|
|
47
|
+
if (violations.length)
|
|
48
|
+
ledger.postToolViolations.push(...violations);
|
|
28
49
|
},
|
|
29
50
|
};
|
|
30
51
|
}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,5 +19,6 @@ export { buildWorldTools, buildTerminalTools } from './tools.js';
|
|
|
19
19
|
export { makeGuardHooks, makeInputProcessors, repeatedToolCallStop } from './hooks.js';
|
|
20
20
|
export type { GuardHooks } from './hooks.js';
|
|
21
21
|
export { jsonSchemaToZodObject, jsonTypeToZod } from './json-schema-zod.js';
|
|
22
|
+
export { runSpecConversationMicroLoop, renderStructuredReply, stripThinkBlocks, recordTerminalReply, assembleAnswerText, scrubSteeringEcho, ingestStructuredObject, commitFinalReply, digestTurnToolResults, buildForceCloseMessages, STEERING_SENTINEL, } from './microloop.js';
|
|
22
23
|
export * from '@looprun-ai/core';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjG,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjG,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI5E,OAAO,EACL,4BAA4B,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAC1F,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAC/E,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,GAClE,MAAM,gBAAgB,CAAC;AAGxB,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,9 @@ export { worldFromTools } from './world-adapters.js';
|
|
|
13
13
|
export { buildWorldTools, buildTerminalTools } from './tools.js';
|
|
14
14
|
export { makeGuardHooks, makeInputProcessors, repeatedToolCallStop } from './hooks.js';
|
|
15
15
|
export { jsonSchemaToZodObject, jsonTypeToZod } from './json-schema-zod.js';
|
|
16
|
+
// EXPERIMENTAL — the micro-loop turn driver for tiny models (additive; NOT a default). The certified
|
|
17
|
+
// runSpecConversation / LoopRunAgent are unchanged.
|
|
18
|
+
export { runSpecConversationMicroLoop, renderStructuredReply, stripThinkBlocks, recordTerminalReply, assembleAnswerText, scrubSteeringEcho, ingestStructuredObject, commitFinalReply, digestTurnToolResults, buildForceCloseMessages, STEERING_SENTINEL, } from './microloop.js';
|
|
16
19
|
// Re-exports so `import { AgentSpecBase, precondition, … } from '@looprun-ai/mastra'` works too.
|
|
17
20
|
export * from '@looprun-ai/core';
|
|
18
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,iGAAiG;AACjG,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,qGAAqG;AACrG,oDAAoD;AACpD,OAAO,EACL,4BAA4B,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAC1F,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAC/E,qBAAqB,EAAE,uBAAuB,EAAE,iBAAiB,GAClE,MAAM,gBAAgB,CAAC;AAExB,iGAAiG;AACjG,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { AgentSpec, AgentWorld, TurnInput, RunResult } from '@looprun-ai/core';
|
|
2
|
+
import type { RuntimeDeps } from './run-conversation.js';
|
|
3
|
+
/**
|
|
4
|
+
* Strips model `<think>…</think>` leakage from a raw text field — PURE, domain-neutral. Two passes:
|
|
5
|
+
* (1) every CLOSED block anywhere (incl. an empty one) is removed whole; (2) a still-present LEADING
|
|
6
|
+
* `<think>` with no close (truncated by a token cap) has just the opening tag trimmed. Exported for test.
|
|
7
|
+
*/
|
|
8
|
+
export declare function stripThinkBlocks(text: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Per-turn "last terminal wins" recorder — PURE. A blank/whitespace-only `next` is a no-op (keeps
|
|
11
|
+
* `current`); any non-blank `next` REPLACES `current`. Never concatenates. Exported for test.
|
|
12
|
+
*/
|
|
13
|
+
export declare function recordTerminalReply(current: string, next: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Final per-turn answerText assembly — PURE, exported for tests. Exactly one of: the tripwire abort
|
|
16
|
+
* reason; the LAST terminal's rendered text; a defensive fallback to the last raw step text; or ''.
|
|
17
|
+
*/
|
|
18
|
+
export declare function assembleAnswerText(args: {
|
|
19
|
+
tripwire: boolean;
|
|
20
|
+
tripwireReason: string;
|
|
21
|
+
terminalReply: string;
|
|
22
|
+
lastText: string;
|
|
23
|
+
}): string;
|
|
24
|
+
/**
|
|
25
|
+
* The DETERMINISTIC structured-reply renderer — PURE and DOMAIN-NEUTRAL. Joins whatever fields the model
|
|
26
|
+
* supplied, in a stable order (intro, bullet items, question, caution), using only newlines and a "- "
|
|
27
|
+
* bullet prefix. Writes NO natural-language content itself. Every field is passed through
|
|
28
|
+
* {@link stripThinkBlocks} first. Exported for the unit test.
|
|
29
|
+
*/
|
|
30
|
+
export declare function renderStructuredReply(args: Record<string, unknown>): string;
|
|
31
|
+
/**
|
|
32
|
+
* A distinctive, domain-neutral marker embedded in EVERY steering/forcing prompt this driver injects. A
|
|
33
|
+
* weak local model sometimes PARROTS a steering prompt into its reply; because the marker rides along,
|
|
34
|
+
* {@link scrubSteeringEcho} can drop those echoed lines. Bracketed + ASCII so it never collides with a
|
|
35
|
+
* legitimate business reply and keeps the runtime language-neutral.
|
|
36
|
+
*/
|
|
37
|
+
export declare const STEERING_SENTINEL = "[[close-turn]]";
|
|
38
|
+
/**
|
|
39
|
+
* Scrub runtime STEERING ECHO out of a model-produced candidate reply — PURE and DOMAIN-NEUTRAL (injects
|
|
40
|
+
* no words; only drops what the model parroted from THIS driver's scaffolding). A LINE-based walk:
|
|
41
|
+
* (a) a fenced ```…``` block whose body carries a `"kind":` field is DROPPED (the model NARRATING the
|
|
42
|
+
* replyStructured schema as TEXT instead of calling the tool); a non-narration fenced block is kept;
|
|
43
|
+
* (b) any LINE containing the {@link STEERING_SENTINEL} is DROPPED (a parroted forcing prompt).
|
|
44
|
+
* Removed lines are elided; a leftover run of 3+ newlines collapses to one blank line, then trimmed.
|
|
45
|
+
* Returns '' when nothing survives. Exported for test.
|
|
46
|
+
*/
|
|
47
|
+
export declare function scrubSteeringEcho(text: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Ingest a grammar-guaranteed structured-reply OBJECT (from the {@link generateObject} close/redrive, whose
|
|
50
|
+
* `response_format: json_schema` the provider enforces) into a candidate reply string — PURE, and the EXACT
|
|
51
|
+
* same candidate path the replyStructured tool `execute` uses: render via {@link renderStructuredReply} (which
|
|
52
|
+
* strips `<think>` per field) then {@link scrubSteeringEcho}. Returns '' for an empty / echo-only object — an
|
|
53
|
+
* empty-after-scrub is a SOFT fail: the caller records the attempt but does NOT set the terminal reply, so the
|
|
54
|
+
* driver falls through to the next attempt / the deterministic exhaustion closure. Exported for the unit test.
|
|
55
|
+
*/
|
|
56
|
+
export declare function ingestStructuredObject(obj: unknown): string;
|
|
57
|
+
/**
|
|
58
|
+
* Commit the SINGLE winning reply to the world — micro-loop mode ONLY. Every terminal ATTEMPT runs DRY
|
|
59
|
+
* (records its candidate into the ledger, never touches the world). Once the driver has the FINAL text it
|
|
60
|
+
* calls this EXACTLY ONCE through the SAME `replyToUser` seam the certified terminals use, so the world
|
|
61
|
+
* logs one reply per turn. A blank finalText is a no-op. Exported for test.
|
|
62
|
+
*/
|
|
63
|
+
export declare function commitFinalReply(world: AgentWorld, finalText: string): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Compact digest of THIS TURN's successful tool-call RESULTS — PURE and DOMAIN-NEUTRAL. WHY (v7): feeding the
|
|
66
|
+
* grammar-forced close the WHOLE conversation made a tiny model fill the schema with meta-junk ("this turn is
|
|
67
|
+
* closed", generic bullets); the split-step probe proved the SAME model composes clean text at a SHORT context.
|
|
68
|
+
* So the forced close now sees only (user text + this turn's FRESH results + steering), and this function
|
|
69
|
+
* produces the middle section from the ONLY source the driver already holds: the response messages the
|
|
70
|
+
* micro-step loop pushed into `messages` (`gen.response.messages`, sliced from the turn start).
|
|
71
|
+
*
|
|
72
|
+
* It walks every message's `content` array for `type:'tool-result'` parts — AI-SDK v6 emits them inside
|
|
73
|
+
* role:'tool' messages (`ToolResultPart` = `{ type:'tool-result', toolName, output }`), but we scan all roles
|
|
74
|
+
* defensively — unwrapping each `output` (`{type:'json'|'text', value}` → value; else the raw output). Runtime
|
|
75
|
+
* terminals (replyStructured / replyToUser / askUser, i.e. their DRY-record echoes) are skipped, and only
|
|
76
|
+
* results passing {@link resultOk} survive (the "successful calls" the model should restate). Each is
|
|
77
|
+
* `JSON.stringify`'d + clipped to {@link MICRO_DIGEST_ITEM_CHARS}; the whole body is clipped to `maxChars`
|
|
78
|
+
* with a truncation marker. No non-terminal successful result ⇒ '' (the caller omits the digest section).
|
|
79
|
+
* Exported for the unit test.
|
|
80
|
+
*/
|
|
81
|
+
export declare function digestTurnToolResults(turnMessages: unknown[], maxChars?: number): string;
|
|
82
|
+
/**
|
|
83
|
+
* Build the MINIMAL message array for a grammar-forced structured close/redrive — PURE, exported for test.
|
|
84
|
+
* Replaces the whole-transcript context (on which a tiny model produced meta-junk) with ONE user message,
|
|
85
|
+
* composed in order: (a) the CURRENT turn's user content — the certified D8 tail EXACTLY as it rode the turn's
|
|
86
|
+
* user message (`## Account state` block + uploads + user text), so the state survives; (b) the compact
|
|
87
|
+
* this-turn tool-result digest ({@link digestTurnToolResults}); (c) the ephemeral steering line — the
|
|
88
|
+
* forced-close instruction OR the onReply redrive correction (either carrying {@link STEERING_SENTINEL}). The
|
|
89
|
+
* system prompt (the scoped trunk carrying the voice/language law) is passed SEPARATELY by the caller and
|
|
90
|
+
* deliberately NOT slimmed. Blank sections are omitted; present sections join with a blank line.
|
|
91
|
+
*/
|
|
92
|
+
export declare function buildForceCloseMessages(args: {
|
|
93
|
+
userContent: string;
|
|
94
|
+
turnMessages: unknown[];
|
|
95
|
+
steering: string;
|
|
96
|
+
maxDigestChars?: number;
|
|
97
|
+
}): Array<{
|
|
98
|
+
role: 'user';
|
|
99
|
+
content: string;
|
|
100
|
+
}>;
|
|
101
|
+
/**
|
|
102
|
+
* Run one case (all turns) for `spec` under the MICRO-LOOP driver. SAME signature + return shape as
|
|
103
|
+
* {@link runSpecConversation}, so a host can switch on a flag. Only the GENERATION strategy differs:
|
|
104
|
+
* forced single-tool micro-steps + a structured terminal.
|
|
105
|
+
*/
|
|
106
|
+
export declare function runSpecConversationMicroLoop(spec: AgentSpec, turns: TurnInput[], deps: RuntimeDeps): Promise<RunResult>;
|
|
107
|
+
//# sourceMappingURL=microloop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microloop.d.ts","sourceRoot":"","sources":["../src/microloop.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAA2D,SAAS,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzJ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmDzD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGvI;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAc3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BtD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAE,MAA2B,GAAG,MAAM,CA8B5G;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAO3C;AA2BD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAgX7H"}
|