@looprun-ai/mastra 0.1.2 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
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
- this.modelParams = normalizeModelParams(config.modelParams ?? {});
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
@@ -13,7 +13,7 @@ export interface GuardHooks {
13
13
  input: unknown;
14
14
  output?: unknown;
15
15
  error?: unknown;
16
- }): void;
16
+ }): Promise<void> | void;
17
17
  }
18
18
  export declare function makeGuardHooks(spec: AgentSpec, getSession: SessionAccessor): GuardHooks;
19
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,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,IAAI,CAAC;CACnG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAkBvF;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"}
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
- recordToolResult(session.ledger, toolName, (input ?? {}), output);
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;AAUlG,MAAM,UAAU,cAAc,CAAC,IAAe,EAAE,UAA2B;IACzE,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YACtC,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxF,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;YACvC,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAA4B,EAAE,MAAM,CAAC,CAAC;QAC/F,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAO;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC7F,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CACjC,IAAe,EACf,UAA2B;IAG3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO;QACL;YACE,EAAE,EAAE,iBAAiB;YACrB,8DAA8D;YAC9D,KAAK,CAAC,YAAY,CAAC,CAAM;gBACvB,MAAM,OAAO,GAAmB,UAAU,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1E,IAAI,MAAM;oBAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,CAAC,CAAC,QAAQ,CAAC;YACpB,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUlI,MAAM,UAAU,cAAc,CAAC,IAAe,EAAE,UAA2B;IACzE,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YACtC,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxF,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACjC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;YACtD,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,gGAAgG;YAChG,iGAAiG;YACjG,iGAAiG;YACjG,kGAAkG;YAClG,8FAA8F;YAC9F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM;gBAAE,OAAO;YAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,OAAO;YAC/B,MAAM,IAAI,GAAa;gBACrB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;gBACnF,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM;aACxD,CAAC;YACF,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5E,IAAI,WAAW,CAAC,MAAM;gBAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YACpE,IAAI,UAAU,CAAC,MAAM;gBAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAO;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC7F,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CACjC,IAAe,EACf,UAA2B;IAG3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO;QACL;YACE,EAAE,EAAE,iBAAiB;YACrB,8DAA8D;YAC9D,KAAK,CAAC,YAAY,CAAC,CAAM;gBACvB,MAAM,OAAO,GAAmB,UAAU,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1E,IAAI,MAAM;oBAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,CAAC,CAAC,QAAQ,CAAC;YACpB,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
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
@@ -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;AAG5E,cAAc,kBAAkB,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"}