@framers/agentos 0.13.7 → 0.13.8

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.
Files changed (44) hide show
  1. package/dist/api/agent.d.ts +8 -4
  2. package/dist/api/agent.d.ts.map +1 -1
  3. package/dist/api/agent.js +6 -0
  4. package/dist/api/agent.js.map +1 -1
  5. package/dist/api/generateText.d.ts +9 -0
  6. package/dist/api/generateText.d.ts.map +1 -1
  7. package/dist/api/generateText.js +8 -3
  8. package/dist/api/generateText.js.map +1 -1
  9. package/dist/api/gmi.d.ts.map +1 -1
  10. package/dist/api/gmi.js +82 -38
  11. package/dist/api/gmi.js.map +1 -1
  12. package/dist/api/runtime/completionGateway.d.ts +7 -1
  13. package/dist/api/runtime/completionGateway.d.ts.map +1 -1
  14. package/dist/api/runtime/completionGateway.js +91 -6
  15. package/dist/api/runtime/completionGateway.js.map +1 -1
  16. package/dist/api/runtime/gmiPersona.d.ts +1 -1
  17. package/dist/api/runtime/gmiPersona.d.ts.map +1 -1
  18. package/dist/api/runtime/gmiPersona.js +7 -11
  19. package/dist/api/runtime/gmiPersona.js.map +1 -1
  20. package/dist/api/runtime/gmiSession.d.ts +13 -1
  21. package/dist/api/runtime/gmiSession.d.ts.map +1 -1
  22. package/dist/api/runtime/gmiSession.js +29 -7
  23. package/dist/api/runtime/gmiSession.js.map +1 -1
  24. package/dist/api/runtime/responseFormatForProvider.d.ts +8 -0
  25. package/dist/api/runtime/responseFormatForProvider.d.ts.map +1 -1
  26. package/dist/api/runtime/responseFormatForProvider.js +14 -0
  27. package/dist/api/runtime/responseFormatForProvider.js.map +1 -1
  28. package/dist/cognition/substrate/GMI.d.ts.map +1 -1
  29. package/dist/cognition/substrate/GMI.js +3 -1
  30. package/dist/cognition/substrate/GMI.js.map +1 -1
  31. package/dist/safety/evaluation/Evaluator.d.ts.map +1 -1
  32. package/dist/safety/evaluation/Evaluator.js +7 -0
  33. package/dist/safety/evaluation/Evaluator.js.map +1 -1
  34. package/dist/safety/evaluation/IEvaluator.d.ts +1 -1
  35. package/dist/safety/evaluation/IEvaluator.d.ts.map +1 -1
  36. package/dist/safety/evaluation/index.d.ts +1 -0
  37. package/dist/safety/evaluation/index.d.ts.map +1 -1
  38. package/dist/safety/evaluation/index.js +1 -0
  39. package/dist/safety/evaluation/index.js.map +1 -1
  40. package/dist/safety/evaluation/wordErrorRate.d.ts +24 -0
  41. package/dist/safety/evaluation/wordErrorRate.d.ts.map +1 -0
  42. package/dist/safety/evaluation/wordErrorRate.js +61 -0
  43. package/dist/safety/evaluation/wordErrorRate.js.map +1 -0
  44. package/package.json +1 -1
package/dist/api/gmi.js CHANGED
@@ -13,6 +13,7 @@
13
13
  * next call builds again.
14
14
  */
15
15
  import { randomUUID } from 'node:crypto';
16
+ import { resolveChainOfThought } from './generateText.js';
16
17
  import { GMI } from '../cognition/substrate/GMI.js';
17
18
  import { InMemoryWorkingMemory } from '../cognition/substrate/memory/InMemoryWorkingMemory.js';
18
19
  import { StatisticalUtilityAI } from '../cognition/nlp/ai_utilities/StatisticalUtilityAI.js';
@@ -62,7 +63,7 @@ function isSet(value) {
62
63
  /**
63
64
  * A memoised async build that is not kept when it fails: the next call after a
64
65
  * rejection builds again, so one transient failure does not fail every later
65
- * call. `reset()` drops a kept result.
66
+ * call.
66
67
  */
67
68
  function retryingOnce(build) {
68
69
  let pending;
@@ -79,11 +80,24 @@ function retryingOnce(build) {
79
80
  return pending;
80
81
  },
81
82
  peek: () => pending,
82
- reset() {
83
- pending = undefined;
84
- },
85
83
  };
86
84
  }
85
+ /**
86
+ * `messages` with `text` first in the system prompt: before the first system
87
+ * message's content, joined by a blank line, or as a system message of its
88
+ * own when the prompt has none.
89
+ */
90
+ function withLeadingSystemText(messages, text) {
91
+ const first = messages[0];
92
+ if (first?.role !== 'system')
93
+ return [{ role: 'system', content: text }, ...messages];
94
+ const content = first.content;
95
+ if (typeof content === 'string')
96
+ return [{ ...first, content: content ? `${text}\n\n${content}` : text }, ...messages.slice(1)];
97
+ if (Array.isArray(content))
98
+ return [{ ...first, content: [{ type: 'text', text }, ...content] }, ...messages.slice(1)];
99
+ return [{ ...first, content: text }, ...messages.slice(1)];
100
+ }
87
101
  /** `target` with some members replaced; every other method runs on `target` itself. */
88
102
  function withMembers(target, members) {
89
103
  return new Proxy(target, {
@@ -122,36 +136,34 @@ function toolExecutorWithoutBuiltIns() {
122
136
  }
123
137
  /**
124
138
  * The agent's `onBeforeToolExecution` around the shared orchestrator, for one
125
- * GMI: `null` skips the tool as `generateText` skips it, returned arguments
126
- * replace the call's, and a hook that throws is warned about and the tool runs.
139
+ * GMI, as `generateText` runs it: `null` skips the tool, returned arguments
140
+ * replace the call's, and a hook that throws, or resolves with no result to
141
+ * read arguments from, is warned about and the tool runs with the arguments
142
+ * the model sent.
127
143
  */
128
144
  function hookTools(base, hook, step) {
129
145
  if (!hook)
130
146
  return base;
131
147
  const processToolCall = async (details) => {
132
148
  const req = details.toolCallRequest;
133
- let info = {
134
- name: req.name,
135
- args: (req.arguments ?? {}),
136
- id: req.id,
137
- step: step.index,
138
- };
149
+ let args = (req.arguments ?? {});
139
150
  try {
140
- info = await hook(info);
151
+ const hookResult = await hook({ name: req.name, args, id: req.id, step: step.index });
152
+ if (hookResult === null) {
153
+ return {
154
+ toolCallId: req.id,
155
+ toolName: req.name,
156
+ output: { skipped: true },
157
+ isError: true,
158
+ errorDetails: { message: 'Skipped by onBeforeToolExecution hook' },
159
+ };
160
+ }
161
+ args = hookResult.args;
141
162
  }
142
163
  catch (hookError) {
143
164
  console.warn('[agentos] onBeforeToolExecution hook error:', hookError);
144
165
  }
145
- if (info === null) {
146
- return {
147
- toolCallId: req.id,
148
- toolName: req.name,
149
- output: { skipped: true },
150
- isError: true,
151
- errorDetails: { message: 'Skipped by onBeforeToolExecution hook' },
152
- };
153
- }
154
- return base.processToolCall({ ...details, toolCallRequest: { ...req, arguments: info.args } });
166
+ return base.processToolCall({ ...details, toolCallRequest: { ...req, arguments: args } });
155
167
  };
156
168
  return withMembers(base, { processToolCall });
157
169
  }
@@ -229,6 +241,8 @@ export function gmi(opts) {
229
241
  console.warn('[agentos] gmi(): cognitive memory supplies the memory context; memoryProvider.getContext is skipped (observe still runs).');
230
242
  }
231
243
  const tools = adaptTools(opts.tools);
244
+ // Put first in the system prompt of every call that offers tools, as generateText puts it.
245
+ const chainOfThought = tools.length > 0 ? resolveChainOfThought(opts.chainOfThought ?? true) : undefined;
232
246
  const ledger = mergeLedger(opts.observability?.usageLedger ?? opts.usageLedger);
233
247
  const maxSteps = opts.maxSteps ?? DEFAULT_MAX_STEPS;
234
248
  const gateway = gatewayFor(opts);
@@ -246,13 +260,33 @@ export function gmi(opts) {
246
260
  await orchestrator.initialize({ orchestratorId: `gmi-tools-${persona.id}`, defaultToolCallTimeoutMs: 30000, maxConcurrentToolCalls: 10, logToolCalls: false, globalDisabledTools: [] }, permissions, toolExecutorWithoutBuiltIns(), tools);
247
261
  return { persona, lightPersona, promptEngine, utilityAI, tools: orchestrator };
248
262
  });
249
- const memory = retryingOnce(async () => {
250
- if (!cognition.memory)
251
- return undefined;
252
- const { persona } = await shared.get();
253
- // Reads the environment for the embedding provider when memory.embedding names none.
254
- return createAgentCognitiveMemory({ persona, memory: cognition.memory, mechanisms: cognition.mechanisms });
255
- });
263
+ /**
264
+ * One cognitive memory for the sessions that use it, built on first use.
265
+ * `close()` hands back the build it kept, if any; a build asked for after
266
+ * that fails, so nothing builds a memory that no one will close.
267
+ */
268
+ const memoryForSessions = () => {
269
+ let closed = false;
270
+ const build = retryingOnce(async () => {
271
+ if (!cognition.memory)
272
+ return undefined;
273
+ if (closed)
274
+ throw new Error('gmi(): the agent was closed; agent.session() opens a new session.');
275
+ const { persona } = await shared.get();
276
+ // Reads the environment for the embedding provider when memory.embedding names none.
277
+ return createAgentCognitiveMemory({ persona, memory: cognition.memory, mechanisms: cognition.mechanisms });
278
+ });
279
+ return {
280
+ get: build.get,
281
+ close: () => {
282
+ closed = true;
283
+ return build.peek();
284
+ },
285
+ };
286
+ };
287
+ // The memory of the sessions open now. agent.close() closes it once they
288
+ // have finished, and the sessions opened after that share a new one.
289
+ let memory = memoryForSessions();
256
290
  async function buildGmi(id, persona, mem, steps) {
257
291
  const s = await shared.get();
258
292
  const step = { index: 0 };
@@ -294,6 +328,13 @@ export function gmi(opts) {
294
328
  });
295
329
  changed = true;
296
330
  }
331
+ // A structured send's calls go without tools, and agent() then sends
332
+ // no chain-of-thought instruction; every other call of an agent with
333
+ // tools gets it first in its system prompt.
334
+ if (chainOfThought && !turn.structured) {
335
+ messages = withLeadingSystemText(messages, chainOfThought);
336
+ changed = true;
337
+ }
297
338
  if (turn.memoryContext) {
298
339
  let insertAt = 0;
299
340
  while (insertAt < messages.length && messages[insertAt].role === 'system')
@@ -403,9 +444,11 @@ export function gmi(opts) {
403
444
  let closing;
404
445
  // Every turn of the session runs under this signal; close() aborts it.
405
446
  const stopTurns = new AbortController();
447
+ // The memory the agent's sessions shared when this one opened.
448
+ const sessionMemory = memory;
406
449
  const buildSessionGmi = async (gmiId) => {
407
450
  const { persona } = await shared.get();
408
- return buildGmi(gmiId, persona, await memory.get(), maxSteps);
451
+ return buildGmi(gmiId, persona, await sessionMemory.get(), maxSteps);
409
452
  };
410
453
  // The session's own GMI, when it keeps history; a GMI per turn otherwise.
411
454
  const own = retryingOnce(() => buildSessionGmi(`gmi-${sessionId}`));
@@ -513,16 +556,17 @@ export function gmi(opts) {
513
556
  },
514
557
  /**
515
558
  * Closes every session (each stops its running turn first, see
516
- * `session.close()`), then the cognitive memory; a session opened from now
517
- * on builds a new one. The tools stay as the caller passed them: the
518
- * orchestrator is not shut down, because shutting it down would shut down
519
- * the caller's tools.
559
+ * `session.close()`), then the cognitive memory they shared, including one
560
+ * that a turn still setting up built while the sessions closed; a session
561
+ * opened from now on builds a new one. The tools stay as the caller passed
562
+ * them: the orchestrator is not shut down, because shutting it down would
563
+ * shut down the caller's tools.
520
564
  */
521
565
  async close() {
522
- const pending = memory.peek();
523
- memory.reset();
566
+ const closingMemory = memory;
567
+ memory = memoryForSessions();
524
568
  await Promise.all([...sessions.values()].map(({ session }) => session.close()));
525
- const mem = await pending?.catch(() => undefined);
569
+ const mem = await closingMemory.close()?.catch(() => undefined);
526
570
  await mem?.close();
527
571
  },
528
572
  export(metadata, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"gmi.js","sourceRoot":"","sources":["../../src/api/gmi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmi.js","sourceRoot":"","sources":["../../src/api/gmi.ts"],"names":[],"mappings":"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"}
@@ -90,7 +90,13 @@ export interface CompletionAttempt extends AsyncIterable<ModelCompletionResponse
90
90
  }
91
91
  export interface CompletionGateway {
92
92
  resolve(route: CompletionRoute, after?: CompletionResolution): Promise<CompletionResolution | null>;
93
- stream(resolution: CompletionResolution, messages: ChatMessage[], options: ModelCompletionOptions, responseSchema?: ZodType, schemaName?: string): CompletionAttempt;
93
+ stream(resolution: CompletionResolution, messages: ChatMessage[], options: ModelCompletionOptions, responseSchema?: ZodType, schemaName?: string,
94
+ /**
95
+ * True when `messages` already carry the schema's instructions (a structured
96
+ * reply puts its own in the system prompt): a hop whose payload carries no
97
+ * schema then gets no second copy.
98
+ */
99
+ schemaInPrompt?: boolean): CompletionAttempt;
94
100
  }
95
101
  /** The tool format a provider expects; the same mapping as GMI.determineToolFormat. */
96
102
  export declare function toolFormatFor(providerId: string): CompletionResolution['toolFormat'];
@@ -1 +1 @@
1
- {"version":3,"file":"completionGateway.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completionGateway.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { lowerZodToJsonSchema } from '../../orchestration/compiler/SchemaLowerin
3
3
  import { resolveModelOption, resolveProvider, createProviderManager } from '../model.js';
4
4
  import { buildPolicyAwareFallbackChain, fallbackHopOverrides, isContentPolicyRefusal, isRetryableError, usageOfError, } from '../generateText.js';
5
5
  import { hostPolicyToRouteParams, mergeRequiredCapabilities } from './hostPolicy.js';
6
- import { buildResponseFormatForProvider } from './responseFormatForProvider.js';
6
+ import { buildResponseFormatForProvider, responseFormatCarriesSchema } from './responseFormatForProvider.js';
7
+ import { buildSchemaInstructionText } from './structuredReply.js';
7
8
  /** The tool format a provider expects; the same mapping as GMI.determineToolFormat. */
8
9
  export function toolFormatFor(providerId) {
9
10
  const pid = providerId.toLowerCase();
@@ -115,6 +116,69 @@ function terminalErrorChunk(resolution, error) {
115
116
  error: { message: error.message, type: error.type ?? 'provider_error', details: { terminal: true, providerId: resolution.providerId, hop: resolution.hop } },
116
117
  };
117
118
  }
119
+ /** The chunk that ends an attempt the caller's signal stopped, in the shape the providers give theirs. */
120
+ function abortChunk(resolution) {
121
+ return {
122
+ id: `gateway-abort-${resolution.providerId}-${resolution.hop}`,
123
+ object: 'chat.completion.chunk',
124
+ created: Math.floor(Date.now() / 1000),
125
+ modelId: resolution.modelId,
126
+ choices: [],
127
+ isFinal: true,
128
+ error: { message: 'Stream aborted by caller', type: 'abort' },
129
+ };
130
+ }
131
+ const ABORTED = Symbol('aborted');
132
+ /** The iterator's next result, or `ABORTED` once `signal` has aborted, whichever comes first. */
133
+ function nextUnlessAborted(iterator, signal) {
134
+ const next = iterator.next();
135
+ if (signal.aborted) {
136
+ // Settled or not, the result is not read; a rejection is not left unhandled.
137
+ void next.catch(() => undefined);
138
+ return Promise.resolve(ABORTED);
139
+ }
140
+ return new Promise((resolve, reject) => {
141
+ const onAbort = () => resolve(ABORTED);
142
+ signal.addEventListener('abort', onAbort, { once: true });
143
+ next.then((result) => {
144
+ signal.removeEventListener('abort', onAbort);
145
+ resolve(result);
146
+ }, (error) => {
147
+ signal.removeEventListener('abort', onAbort);
148
+ reject(error);
149
+ });
150
+ });
151
+ }
152
+ /**
153
+ * The provider's chunks until `signal` aborts, then the abort chunk at once.
154
+ * Anthropic, Gemini and Ollama read the signal only when a streamed event
155
+ * arrives, so a request stalled before its first byte, or between two events,
156
+ * would otherwise hold the turn (and a session's `close()`) until the
157
+ * provider's own timeout. The provider's stream is ended in the background.
158
+ */
159
+ async function* untilAborted(source, signal, resolution) {
160
+ const iterator = source[Symbol.asyncIterator]();
161
+ let leftRunning = false;
162
+ try {
163
+ for (;;) {
164
+ const next = await nextUnlessAborted(iterator, signal);
165
+ if (next === ABORTED) {
166
+ leftRunning = true;
167
+ void Promise.resolve(iterator.return?.()).catch(() => undefined);
168
+ yield abortChunk(resolution);
169
+ return;
170
+ }
171
+ if (next.done)
172
+ return;
173
+ yield next.value;
174
+ }
175
+ }
176
+ finally {
177
+ // As a for-await loop ends its source; not one still waiting on the network.
178
+ if (!leftRunning)
179
+ await iterator.return?.();
180
+ }
181
+ }
118
182
  /** Text, tool activity or a lifted schema answer: the first such chunk ends the buffering. */
119
183
  function carriesContent(chunk) {
120
184
  if (chunk.responseTextDelta)
@@ -152,17 +216,34 @@ function billedUsage(buffered, error, chunkUsage) {
152
216
  }
153
217
  return undefined;
154
218
  }
155
- /** The provider-native schema payload for this hop, built as session.send builds it. */
219
+ /**
220
+ * The provider-native schema payload for this hop, built as session.send builds
221
+ * it, and, when that payload carries no schema (no payload for the provider or
222
+ * model, or a JSON mode without one), the schema instructions for the hop's
223
+ * system prompt, in generateObject's words.
224
+ */
156
225
  function lowerForHop(resolution, schema, schemaName) {
226
+ const jsonSchema = lowerZodToJsonSchema(schema);
157
227
  const responseFormat = buildResponseFormatForProvider({
158
228
  providerId: resolution.providerId,
159
229
  modelId: resolution.modelId,
160
- jsonSchema: lowerZodToJsonSchema(schema),
230
+ jsonSchema,
161
231
  effectiveSchema: schema,
162
232
  schemaName,
163
233
  });
164
234
  const marker = responseFormat;
165
- return { responseFormat, toolName: marker?._agentosUseToolForStructuredOutput ? marker.tool?.name : undefined };
235
+ return {
236
+ responseFormat,
237
+ toolName: marker?._agentosUseToolForStructuredOutput ? marker.tool?.name : undefined,
238
+ ...(responseFormatCarriesSchema(responseFormat) ? {} : { schemaInstruction: buildSchemaInstructionText(jsonSchema, schemaName) }),
239
+ };
240
+ }
241
+ /** `messages` with a system message of `text` after the leading system messages. */
242
+ function withSystemMessage(messages, text) {
243
+ let at = 0;
244
+ while (at < messages.length && messages[at].role === 'system')
245
+ at += 1;
246
+ return [...messages.slice(0, at), { role: 'system', content: text }, ...messages.slice(at)];
166
247
  }
167
248
  /** A streamed forced schema tool call becomes `structuredOutput` on the chunk, never a tool call the GMI would dispatch. */
168
249
  function liftSchemaToolCall(chunk, toolName) {
@@ -253,7 +334,7 @@ export function createCompletionGateway(defaults = {}) {
253
334
  }
254
335
  return null;
255
336
  }
256
- function stream(resolution, messages, options, responseSchema, schemaName = 'response') {
337
+ function stream(resolution, messages, options, responseSchema, schemaName = 'response', schemaInPrompt = false) {
257
338
  let settle;
258
339
  const outcome = new Promise((resolveOutcome) => {
259
340
  settle = resolveOutcome;
@@ -267,6 +348,8 @@ export function createCompletionGateway(defaults = {}) {
267
348
  };
268
349
  const failed = (error, usage, retryable = isRetryableError(error) || isContentPolicyRefusal(error)) => ({ kind: 'hopFailed', error, retryable, ...(usage ? { usage } : {}) });
269
350
  const structured = responseSchema ? lowerForHop(resolution, responseSchema, schemaName) : undefined;
351
+ // A hop whose payload carries no schema gets it in its system prompt, unless the prompt carries it already.
352
+ const hopMessages = structured?.schemaInstruction && !schemaInPrompt ? withSystemMessage(messages, structured.schemaInstruction) : messages;
270
353
  const callOptions = {
271
354
  ...options,
272
355
  ...resolution.optionOverrides,
@@ -287,7 +370,9 @@ export function createCompletionGateway(defaults = {}) {
287
370
  finish(failed(error, undefined));
288
371
  return;
289
372
  }
290
- for await (const raw of provider.generateCompletionStream(resolution.modelId, messages, callOptions)) {
373
+ const chunks = provider.generateCompletionStream(resolution.modelId, hopMessages, callOptions);
374
+ const signal = callOptions.abortSignal;
375
+ for await (const raw of signal ? untilAborted(chunks, signal, resolution) : chunks) {
291
376
  const chunk = structured?.toolName ? liftSchemaToolCall(raw, structured.toolName) : raw;
292
377
  if (chunk.error) {
293
378
  // An abort is the caller's own stop: it is never walked to another
@@ -1 +1 @@
1
- {"version":3,"file":"completionGateway.js","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completionGateway.js","sourceRoot":"","sources":["../../../src/api/runtime/completionGateway.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare const GMI_SESSION_MAX_HISTORY_MESSAGES = 100000;
9
9
  *
10
10
  * @param opts - The agent's options.
11
11
  * @param cognition - The resolved profile ({@link resolveCognition}): sentiment tracking and metaprompts.
12
- * @param tools - The agent's tools, adapted: they decide the chain-of-thought text and the persona's capabilities.
12
+ * @param tools - The agent's tools, adapted: they decide the persona's capabilities.
13
13
  * @throws {Error} When no provider or model can be resolved, as `generateText` throws.
14
14
  */
15
15
  export declare function personaFromAgentOptions(opts: AgentOptions, cognition: ResolvedCognition, tools: ITool[]): IPersonaDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"gmiPersona.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/gmiPersona.ts"],"names":[],"mappings":"AAYA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAKnE,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,0DAA0D,CAAC;AAC5H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,uGAAuG;AACvG,eAAO,MAAM,gCAAgC,SAAU,CAAC;AAsCxD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAsB5H"}
1
+ {"version":3,"file":"gmiPersona.d.ts","sourceRoot":"","sources":["../../../src/api/runtime/gmiPersona.ts"],"names":[],"mappings":"AAaA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAInE,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,0DAA0D,CAAC;AAC5H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,uGAAuG;AACvG,eAAO,MAAM,gCAAgC,SAAU,CAAC;AAmCxD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAsB5H"}
@@ -3,15 +3,15 @@
3
3
  * The persona of a GMI built from agent options (`agent({ runtime: 'gmi' })`).
4
4
  *
5
5
  * The base system prompt is the text the legacy path sends: `buildSystemPrompt(opts)`
6
- * (or the joined `systemBlocks`), with the chain-of-thought instruction first when
7
- * the agent has tools, as `generateText` puts it. The completion options are the
6
+ * (or the joined `systemBlocks`). The chain-of-thought instruction is not part of
7
+ * it: `gmi()` puts it first in the system prompt of each model call that offers
8
+ * tools, as `generateText` does. The completion options are the
8
9
  * ones `agent()` forwards on every call. Sentiment presets are expanded into
9
10
  * metaprompts, as the persona loaders expand them, because the GMI runs only the
10
11
  * persona's `metaPrompts`.
11
12
  */
12
13
  import { createHash, randomUUID } from 'node:crypto';
13
14
  import { buildSystemPrompt } from '../agent.js';
14
- import { resolveChainOfThought } from '../generateText.js';
15
15
  import { resolveModelOption } from '../model.js';
16
16
  import { normalizeHexacoTraits } from '../../cognition/substrate/personas/hexaco.js';
17
17
  import { normalizePersonaDefinition } from '../../cognition/substrate/personas/personaNormalization.js';
@@ -48,21 +48,17 @@ function completionOptionsOf(opts) {
48
48
  out.cache = opts.cache;
49
49
  return out;
50
50
  }
51
- function basePrompt(opts, hasTools) {
52
- const system = opts.systemBlocks
51
+ function basePrompt(opts) {
52
+ return opts.systemBlocks
53
53
  ? opts.systemBlocks.map((block) => block.text).filter(Boolean).join('\n\n')
54
54
  : buildSystemPrompt(opts) ?? '';
55
- const cot = hasTools ? resolveChainOfThought(opts.chainOfThought ?? true) : undefined;
56
- if (!cot)
57
- return system;
58
- return system ? `${cot}\n\n${system}` : cot;
59
55
  }
60
56
  /**
61
57
  * Builds the persona of a GMI from agent options (spec D6).
62
58
  *
63
59
  * @param opts - The agent's options.
64
60
  * @param cognition - The resolved profile ({@link resolveCognition}): sentiment tracking and metaprompts.
65
- * @param tools - The agent's tools, adapted: they decide the chain-of-thought text and the persona's capabilities.
61
+ * @param tools - The agent's tools, adapted: they decide the persona's capabilities.
66
62
  * @throws {Error} When no provider or model can be resolved, as `generateText` throws.
67
63
  */
68
64
  export function personaFromAgentOptions(opts, cognition, tools) {
@@ -76,7 +72,7 @@ export function personaFromAgentOptions(opts, cognition, tools) {
76
72
  name,
77
73
  description: firstLine ?? name,
78
74
  version: '1.0.0',
79
- baseSystemPrompt: basePrompt(opts, tools.length > 0),
75
+ baseSystemPrompt: basePrompt(opts),
80
76
  ...(opts.personality ? { personalityTraits: normalizeHexacoTraits(opts.personality) } : {}),
81
77
  defaultProviderId: providerId,
82
78
  defaultModelId: modelId,