@triplef/agent 0.1.13 → 0.1.14

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.
@@ -104,6 +104,9 @@ declare function buildMemoryProfilePrompt(params: {
104
104
  text: string;
105
105
  path?: string;
106
106
  }>;
107
+ convictions?: Array<{
108
+ text: string;
109
+ }>;
107
110
  priorFacts?: Array<{
108
111
  text: string;
109
112
  }>;
@@ -684,6 +684,13 @@ var memoryCognitionProfileSchema = z.object({
684
684
  dislikes: nullishTopics,
685
685
  /** Topics the user keeps returning to. */
686
686
  interests: nullishTopics,
687
+ /**
688
+ * Durable CONVICTIONS the AI synthesized about the user's world — the
689
+ * routing-map topics of its conviction records (depth lives in the
690
+ * conviction points at paths `convictions.<slug>`). Convictions are the
691
+ * AI's own derived conclusions, never statements the user made.
692
+ */
693
+ convictions: nullishTopics,
687
694
  /** The AI's own identity as the user has shaped it (name, role, voice). */
688
695
  persona: z.object({
689
696
  /** The name the user gave the AI. */
@@ -3088,7 +3095,7 @@ var MEMORY_PROFILE_INSTRUCTIONS = buildStructuredPrompt(memoryProfileResponseSch
3088
3095
  before: `COGNITION JOB \u2014 maintain YOUR evolving understanding of THIS user.
3089
3096
 
3090
3097
  You hold three kinds of cognition, all derived (never the fact store):
3091
- 1. PROFILE \u2014 a single structured JSON document: who the user is (stable identity and durable LEAN topics) PLUS your own persona (the name, role, and voice the user has given YOU) and your learned corrections (behavioral rules the user taught you after you got something wrong). You output a PATCH, never the whole document \u2014 your fields are MERGED into the stored profile in code: fields you OMIT are kept as stored, fields you set REPLACE the stored value, and a field set to null REMOVES it from the profile ("likes": null deletes the whole list). Never repeat unchanged fields, and never null a field you merely do not know \u2014 null deletes. The user-side profile is a ROUTING MAP: its values are short topic strings ("cars", "Linux", "TypeScript") that double as probe triggers into your deeper insight memory \u2014 keep each value to a phrase, never a sentence; depth does not belong here. The persona and corrections are about YOU, not the user \u2014 never confuse the two.
3098
+ 1. PROFILE \u2014 a single structured JSON document: who the user is (stable identity and durable LEAN topics) PLUS your own persona (the name, role, and voice the user has given YOU) and your learned corrections (behavioral rules the user taught you after you got something wrong) and your CONVICTIONS (short topics of durable conclusions you synthesized about the user's world \u2014 the routing-map side of your conviction records, whose depth lives at paths "convictions.<slug>"). You output a PATCH, never the whole document \u2014 your fields are MERGED into the stored profile in code: fields you OMIT are kept as stored, fields you set REPLACE the stored value, and a field set to null REMOVES it from the profile ("likes": null deletes the whole list). Never repeat unchanged fields, and never null a field you merely do not know \u2014 null deletes. The user-side profile is a ROUTING MAP: its values are short topic strings ("cars", "Linux", "TypeScript") that double as probe triggers into your deeper insight memory \u2014 keep each value to a phrase, never a sentence; depth does not belong here. The persona and corrections are about YOU, not the user \u2014 never confuse the two. Convictions sit between: they are YOUR synthesized conclusions about the user's world, recorded as short topics.
3092
3099
  2. INSIGHTS \u2014 the DEPTH behind those topics: specific models they like, past statements, working nuances \u2014 recalled later by vector probe when that topic comes up. One self-contained sentence each, third person, lead with the topic. When an insight deepens a stored profile value, attach its "path" as "field.keyword" where the keyword names THAT value exactly \u2014 short, never a phrase (profile likes "anime" \u2192 "likes.anime"); genuinely general insights stay pathless.
3093
3100
  3. EPISODE \u2014 a single sentence recording what THIS turn was about (the interaction arc: what the user asked, what you did, what was decided or left open). Short-term conversation memory, recalled later by a recency-blended probe when a new turn touches the same topic or the user asks about recent activity. One sentence, past tense, lead with the action ("Helped the user debug the memory app's probe"). Omit when the turn was trivial (greetings, one-word answers, no substance) or when the turn is about memory itself: a recap request ("where did we leave off?", "do you remember what we did?", "what have we been working on?") and its answer only REPEAT earlier turns \u2014 they add no activity of their own, and echoing them as an episode would crowd out the real recent activity the next time the user asks. Exception: when the user CORRECTS your recap ("no, we were listening to music"), record the correction's substance \u2014 what the recent activity actually was \u2014 never the mistaken recap.
3094
3101
 
@@ -3097,6 +3104,7 @@ You receive:
3097
3104
  - ASSISTANT RESPONSE: what you answered (prose only).
3098
3105
  - CURRENT PROFILE: your document so far (may be empty).
3099
3106
  - DERIVED INSIGHTS: your deeper memory of this user, already stored (may be absent).
3107
+ - DERIVED CONVICTIONS: your synthesized conclusions, already stored (may be absent).
3100
3108
  - PRIOR FACTS: this user's OWN stored statements from past conversations, probed by this turn's topic (may be absent).
3101
3109
 
3102
3110
  Rules:
@@ -3108,6 +3116,7 @@ Rules:
3108
3116
  - Third person ("The user \u2026"), compact values, no markdown.
3109
3117
  - Never store secrets, credentials, or sensitive data the user did not explicitly ask to be remembered.
3110
3118
  - DERIVED INSIGHTS are your already-stored depth. When one holds a durable trait that belongs in the routing map (a language, a standing interest, a skill, a preference), promote it into the profile as a SHORT topic string \u2014 never copy insight sentences into the profile; depth stays in the insights.
3119
+ - DERIVED CONVICTIONS are your already-stored synthesized conclusions. When one names a durable conclusion the routing map should carry, promote it into the "convictions" list as a SHORT topic phrase \u2014 the conviction record keeps the full sentence and its evidence; never record a conviction as something the user stated.
3111
3120
  - Connect, never collapse: PRIOR FACTS may echo or complete what this turn reveals. When a new detail plausibly connects to a prior fact (the user disliked the dog food they bought AND you know they own a dog), you MAY record the CONNECTION as a derived insight \u2014 hedged, third person, plainly tentative ("\u2026 \u2014 possibly because the dog refuses it"). Never merge two facts into one claim the user never made, never store the connection as a stated fact, and never let a connection invent or replace a profile value.
3112
3121
  - The MERGED profile (the stored document with your patch applied) must stay under the stated character cap \u2014 when headroom shrinks, reclaim space by removing the least-durable fields (set them to null) instead of piling on.
3113
3122
  - Null means the user explicitly no longer holds that trait ("likes": null after they said they stopped liking X) \u2014 never null a field you merely do not know, and never answer with an all-nulls profile: deleting EVERYTHING you know is always a mistake on a normal turn.
@@ -3115,7 +3124,7 @@ Rules:
3115
3124
 
3116
3125
  Respond with EXACTLY one JSON object, nothing else:`,
3117
3126
  after: `- profile: ONLY the fields you are adding, refining, or removing (removal = a null value), or null when nothing durable changed.
3118
- - Arrays (expertise, goals, likes, dislikes, interests): when you change one, re-emit its COMPLETE new contents \u2014 a partial array REPLACES the stored list and drops whatever you omitted.
3127
+ - Arrays (expertise, goals, likes, dislikes, interests, convictions): when you change one, re-emit its COMPLETE new contents \u2014 a partial array REPLACES the stored list and drops whatever you omitted.
3119
3128
  - persona (and its nested voice) and corrections are deep-merged like communication/preferences: emit only the sub-fields/keys you are changing; omitted ones survive. To remove a correction, set its key to null.
3120
3129
  - insights: only NEW durable depth (omit when none); "path" is optional and only when the insight deepens a profile value.
3121
3130
  - episode: one sentence on what this turn was about (omit when trivial or when the turn only recaps past activity).`
@@ -3133,6 +3142,13 @@ function buildMemoryProfilePrompt(params) {
3133
3142
  ${limitText(insights, params.maxPayloadChars)}`
3134
3143
  );
3135
3144
  }
3145
+ const convictions = params.convictions?.map((conviction) => `- ${conviction.text}`).join("\n");
3146
+ if (convictions) {
3147
+ parts.push(
3148
+ `DERIVED CONVICTIONS (your synthesized conclusions \u2014 promote durable topics from here into the profile convictions facet):
3149
+ ${limitText(convictions, params.maxPayloadChars)}`
3150
+ );
3151
+ }
3136
3152
  const priorFacts = params.priorFacts?.map((fact) => `- ${fact.text}`).join("\n");
3137
3153
  if (priorFacts) {
3138
3154
  parts.push(
@@ -212,6 +212,7 @@ declare const memoryCognitionProfileSchema: z.ZodObject<{
212
212
  likes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
213
213
  dislikes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
214
214
  interests: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
215
+ convictions: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
215
216
  persona: z.ZodOptional<z.ZodNullable<z.ZodObject<{
216
217
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
218
  role: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -254,6 +255,7 @@ declare const memoryProfileResponseSchema: z.ZodPreprocess<z.ZodObject<{
254
255
  likes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
255
256
  dislikes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
256
257
  interests: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
258
+ convictions: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
257
259
  persona: z.ZodOptional<z.ZodNullable<z.ZodObject<{
258
260
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
259
261
  role: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -275,10 +277,12 @@ declare const memoryProfileResponseSchema: z.ZodPreprocess<z.ZodObject<{
275
277
  type MemoryProfileResponse = z.infer<typeof memoryProfileResponseSchema>;
276
278
  declare const INSIGHT_TAGS: string[];
277
279
  declare const EPISODE_TAGS: string[];
280
+ declare const CONVICTION_TAGS: string[];
278
281
  declare const COGNITION_LIMIT_DEFAULT = 5000;
279
282
  declare const COGNITION_LIMIT_MIN = 500;
280
283
  declare const COGNITION_LIMIT_MAX = 32000;
281
284
  declare const INSIGHT_TEXT_LIMIT = 500;
285
+ declare const CONVICTION_TEXT_LIMIT = 500;
282
286
  declare const EPISODE_TEXT_LIMIT = 500;
283
287
  declare const INSIGHTS_MAX_PER_TURN = 8;
284
288
  declare const COGNITION_PURGE_BATCH = 500;
@@ -909,4 +913,4 @@ declare const videolistSchema: z.ZodObject<{
909
913
  }, z.core.$strip>>>;
910
914
  }, z.core.$strip>;
911
915
 
912
- export { BLOCKED_IMAGE_HOSTS, BLOCKED_URL_HOSTS, BROWSER_TOOL_NAMES, COGNITION_LIMIT_DEFAULT, COGNITION_LIMIT_MAX, COGNITION_LIMIT_MIN, COGNITION_PURGE_BATCH, type ConsolidationVerdict, ConsolidationVerdictSchema, EPISODE_PROBE_LIMIT_DEFAULT, EPISODE_PROBE_LIMIT_MIN, EPISODE_RECENCY_MIDPOINT_DEFAULT, EPISODE_RECENCY_MIDPOINT_MAX, EPISODE_RECENCY_MIDPOINT_MIN, EPISODE_RECENCY_SCALE_SECONDS_DEFAULT, EPISODE_RECENCY_SCALE_SECONDS_MAX, EPISODE_RECENCY_SCALE_SECONDS_MIN, EPISODE_RECENCY_WEIGHT_DEFAULT, EPISODE_RECENCY_WEIGHT_MAX, EPISODE_RECENCY_WEIGHT_MIN, EPISODE_SCORE_THRESHOLD_DEFAULT, EPISODE_SCORE_THRESHOLD_MAX, EPISODE_SCORE_THRESHOLD_MIN, EPISODE_TAGS, EPISODE_TEXT_LIMIT, type EncyclopediaSearchResult, type EncyclopediaSelectInput, type EncyclopediaSelectResult, type EncyclopediaSelectedChunk, type EncyclopediaSourceDocument, ExtractionSchema, HERO_VIDEO_TITLE_ISSUE, INSIGHTS_MAX_PER_TURN, INSIGHT_TAGS, INSIGHT_TEXT_LIMIT, MEMORY_TOOL_NAMES, type MemoryCognitionProfile, type MemoryEnrichment, MemoryEnrichmentSchema, type MemoryExtraction, type MemoryProfileInsight, type MemoryProfileResponse, NON_PAGE_EXTENSIONS, type ProviderConfig, TOOL_DESCRIPTIONS, TOOL_NAMES, type ToolName, VARIANT_NAMES, type VariantName, cardSchema, categorizeTools, clampCognitionLimit, clampEpisodeProbeLimit, clampEpisodeRecencyMidpoint, clampEpisodeRecencyScaleSeconds, clampEpisodeRecencyWeight, clampEpisodeScoreThreshold, compareSchema, createTextItemSchema, deriveSchemaKeys, describeSchema, discardedReferenceSchema, formatZodIssues, galleryItemSchema, hasBlockedImageHost, heroVideoHasTitle, imagelistSchema, internationalCoverageSchema, isAllFieldsNullWipe, isPrivateOrLocalhost, isTrustedImageUrl, isTrustedUrl, markerSchema, memoryProfileResponseSchema, mergeCognitionProfiles, normalizeInsightPath, ocrSchema, parseStoredProfile, productSchema, referenceGalleryItemSchema, referenceLineSchema, relatedStorySchema, safeMediaUrl, safeMediaUrlOrEmpty, safeUrl, safeVideoUrl, safeVideoUrlOrEmpty, shoplistSchema, sourceSchema, stockmarketItemSchema, stockmarketListSchema, summarySchema, videoGalleryItemSchema, videolistSchema };
916
+ export { BLOCKED_IMAGE_HOSTS, BLOCKED_URL_HOSTS, BROWSER_TOOL_NAMES, COGNITION_LIMIT_DEFAULT, COGNITION_LIMIT_MAX, COGNITION_LIMIT_MIN, COGNITION_PURGE_BATCH, CONVICTION_TAGS, CONVICTION_TEXT_LIMIT, type ConsolidationVerdict, ConsolidationVerdictSchema, EPISODE_PROBE_LIMIT_DEFAULT, EPISODE_PROBE_LIMIT_MIN, EPISODE_RECENCY_MIDPOINT_DEFAULT, EPISODE_RECENCY_MIDPOINT_MAX, EPISODE_RECENCY_MIDPOINT_MIN, EPISODE_RECENCY_SCALE_SECONDS_DEFAULT, EPISODE_RECENCY_SCALE_SECONDS_MAX, EPISODE_RECENCY_SCALE_SECONDS_MIN, EPISODE_RECENCY_WEIGHT_DEFAULT, EPISODE_RECENCY_WEIGHT_MAX, EPISODE_RECENCY_WEIGHT_MIN, EPISODE_SCORE_THRESHOLD_DEFAULT, EPISODE_SCORE_THRESHOLD_MAX, EPISODE_SCORE_THRESHOLD_MIN, EPISODE_TAGS, EPISODE_TEXT_LIMIT, type EncyclopediaSearchResult, type EncyclopediaSelectInput, type EncyclopediaSelectResult, type EncyclopediaSelectedChunk, type EncyclopediaSourceDocument, ExtractionSchema, HERO_VIDEO_TITLE_ISSUE, INSIGHTS_MAX_PER_TURN, INSIGHT_TAGS, INSIGHT_TEXT_LIMIT, MEMORY_TOOL_NAMES, type MemoryCognitionProfile, type MemoryEnrichment, MemoryEnrichmentSchema, type MemoryExtraction, type MemoryProfileInsight, type MemoryProfileResponse, NON_PAGE_EXTENSIONS, type ProviderConfig, TOOL_DESCRIPTIONS, TOOL_NAMES, type ToolName, VARIANT_NAMES, type VariantName, cardSchema, categorizeTools, clampCognitionLimit, clampEpisodeProbeLimit, clampEpisodeRecencyMidpoint, clampEpisodeRecencyScaleSeconds, clampEpisodeRecencyWeight, clampEpisodeScoreThreshold, compareSchema, createTextItemSchema, deriveSchemaKeys, describeSchema, discardedReferenceSchema, formatZodIssues, galleryItemSchema, hasBlockedImageHost, heroVideoHasTitle, imagelistSchema, internationalCoverageSchema, isAllFieldsNullWipe, isPrivateOrLocalhost, isTrustedImageUrl, isTrustedUrl, markerSchema, memoryProfileResponseSchema, mergeCognitionProfiles, normalizeInsightPath, ocrSchema, parseStoredProfile, productSchema, referenceGalleryItemSchema, referenceLineSchema, relatedStorySchema, safeMediaUrl, safeMediaUrlOrEmpty, safeUrl, safeVideoUrl, safeVideoUrlOrEmpty, shoplistSchema, sourceSchema, stockmarketItemSchema, stockmarketListSchema, summarySchema, videoGalleryItemSchema, videolistSchema };
@@ -530,6 +530,13 @@ var memoryCognitionProfileSchema = z.object({
530
530
  dislikes: nullishTopics,
531
531
  /** Topics the user keeps returning to. */
532
532
  interests: nullishTopics,
533
+ /**
534
+ * Durable CONVICTIONS the AI synthesized about the user's world — the
535
+ * routing-map topics of its conviction records (depth lives in the
536
+ * conviction points at paths `convictions.<slug>`). Convictions are the
537
+ * AI's own derived conclusions, never statements the user made.
538
+ */
539
+ convictions: nullishTopics,
533
540
  /** The AI's own identity as the user has shaped it (name, role, voice). */
534
541
  persona: z.object({
535
542
  /** The name the user gave the AI. */
@@ -651,10 +658,12 @@ var memoryProfileResponseSchema = z.preprocess(
651
658
  );
652
659
  var INSIGHT_TAGS = ["cognition", "insight"];
653
660
  var EPISODE_TAGS = ["cognition", "episode"];
661
+ var CONVICTION_TAGS = ["cognition", "conviction"];
654
662
  var COGNITION_LIMIT_DEFAULT = 5e3;
655
663
  var COGNITION_LIMIT_MIN = 500;
656
664
  var COGNITION_LIMIT_MAX = 32e3;
657
665
  var INSIGHT_TEXT_LIMIT = 500;
666
+ var CONVICTION_TEXT_LIMIT = 500;
658
667
  var EPISODE_TEXT_LIMIT = 500;
659
668
  var INSIGHTS_MAX_PER_TURN = 8;
660
669
  var COGNITION_PURGE_BATCH = 500;
@@ -1076,4 +1085,4 @@ var videolistSchema = z.object({
1076
1085
  internationalCoverage: internationalCoverageSchema.optional()
1077
1086
  });
1078
1087
 
1079
- export { BLOCKED_IMAGE_HOSTS, BLOCKED_URL_HOSTS, BROWSER_TOOL_NAMES, COGNITION_LIMIT_DEFAULT, COGNITION_LIMIT_MAX, COGNITION_LIMIT_MIN, COGNITION_PURGE_BATCH, ConsolidationVerdictSchema, DEFAULT_VARIANT_ID, EPISODE_PROBE_LIMIT_DEFAULT, EPISODE_PROBE_LIMIT_MIN, EPISODE_RECENCY_MIDPOINT_DEFAULT, EPISODE_RECENCY_MIDPOINT_MAX, EPISODE_RECENCY_MIDPOINT_MIN, EPISODE_RECENCY_SCALE_SECONDS_DEFAULT, EPISODE_RECENCY_SCALE_SECONDS_MAX, EPISODE_RECENCY_SCALE_SECONDS_MIN, EPISODE_RECENCY_WEIGHT_DEFAULT, EPISODE_RECENCY_WEIGHT_MAX, EPISODE_RECENCY_WEIGHT_MIN, EPISODE_SCORE_THRESHOLD_DEFAULT, EPISODE_SCORE_THRESHOLD_MAX, EPISODE_SCORE_THRESHOLD_MIN, EPISODE_TAGS, EPISODE_TEXT_LIMIT, ExtractionSchema, HERO_VIDEO_TITLE_ISSUE, INSIGHTS_MAX_PER_TURN, INSIGHT_TAGS, INSIGHT_TEXT_LIMIT, IntentSchema, MEMORY_TOOL_NAMES, MemoryEnrichmentSchema, NON_PAGE_EXTENSIONS, TOOL_DESCRIPTIONS, TOOL_NAMES, VARIANT_NAMES, cardSchema, categorizeTools, clampCognitionLimit, clampEpisodeProbeLimit, clampEpisodeRecencyMidpoint, clampEpisodeRecencyScaleSeconds, clampEpisodeRecencyWeight, clampEpisodeScoreThreshold, compareSchema, createTextItemSchema, deriveSchemaKeys, describeSchema, discardedReferenceSchema, formatZodIssues, formatZodShape, galleryItemSchema, hasBlockedImageHost, heroVideoHasTitle, imagelistSchema, internationalCoverageSchema, isAllFieldsNullWipe, isPrivateOrLocalhost, isTrustedImageUrl, isTrustedUrl, markerSchema, memoryProfileResponseSchema, mergeCognitionProfiles, normalizeInsightPath, ocrSchema, parseStoredProfile, productSchema, referenceGalleryItemSchema, referenceLineSchema, relatedStorySchema, safeMediaUrl, safeMediaUrlOrEmpty, safeUrl, safeVideoUrl, safeVideoUrlOrEmpty, shoplistSchema, sourceSchema, stockmarketItemSchema, stockmarketListSchema, summarySchema, videoGalleryItemSchema, videolistSchema };
1088
+ export { BLOCKED_IMAGE_HOSTS, BLOCKED_URL_HOSTS, BROWSER_TOOL_NAMES, COGNITION_LIMIT_DEFAULT, COGNITION_LIMIT_MAX, COGNITION_LIMIT_MIN, COGNITION_PURGE_BATCH, CONVICTION_TAGS, CONVICTION_TEXT_LIMIT, ConsolidationVerdictSchema, DEFAULT_VARIANT_ID, EPISODE_PROBE_LIMIT_DEFAULT, EPISODE_PROBE_LIMIT_MIN, EPISODE_RECENCY_MIDPOINT_DEFAULT, EPISODE_RECENCY_MIDPOINT_MAX, EPISODE_RECENCY_MIDPOINT_MIN, EPISODE_RECENCY_SCALE_SECONDS_DEFAULT, EPISODE_RECENCY_SCALE_SECONDS_MAX, EPISODE_RECENCY_SCALE_SECONDS_MIN, EPISODE_RECENCY_WEIGHT_DEFAULT, EPISODE_RECENCY_WEIGHT_MAX, EPISODE_RECENCY_WEIGHT_MIN, EPISODE_SCORE_THRESHOLD_DEFAULT, EPISODE_SCORE_THRESHOLD_MAX, EPISODE_SCORE_THRESHOLD_MIN, EPISODE_TAGS, EPISODE_TEXT_LIMIT, ExtractionSchema, HERO_VIDEO_TITLE_ISSUE, INSIGHTS_MAX_PER_TURN, INSIGHT_TAGS, INSIGHT_TEXT_LIMIT, IntentSchema, MEMORY_TOOL_NAMES, MemoryEnrichmentSchema, NON_PAGE_EXTENSIONS, TOOL_DESCRIPTIONS, TOOL_NAMES, VARIANT_NAMES, cardSchema, categorizeTools, clampCognitionLimit, clampEpisodeProbeLimit, clampEpisodeRecencyMidpoint, clampEpisodeRecencyScaleSeconds, clampEpisodeRecencyWeight, clampEpisodeScoreThreshold, compareSchema, createTextItemSchema, deriveSchemaKeys, describeSchema, discardedReferenceSchema, formatZodIssues, formatZodShape, galleryItemSchema, hasBlockedImageHost, heroVideoHasTitle, imagelistSchema, internationalCoverageSchema, isAllFieldsNullWipe, isPrivateOrLocalhost, isTrustedImageUrl, isTrustedUrl, markerSchema, memoryProfileResponseSchema, mergeCognitionProfiles, normalizeInsightPath, ocrSchema, parseStoredProfile, productSchema, referenceGalleryItemSchema, referenceLineSchema, relatedStorySchema, safeMediaUrl, safeMediaUrlOrEmpty, safeUrl, safeVideoUrl, safeVideoUrlOrEmpty, shoplistSchema, sourceSchema, stockmarketItemSchema, stockmarketListSchema, summarySchema, videoGalleryItemSchema, videolistSchema };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@triplef/agent",
3
3
  "description": "tripleF (3F) agent domain — structured-output schemas, prompt builders, and model tools shared across the apps.",
4
- "version": "0.1.13",
4
+ "version": "0.1.14",
5
5
  "packageManager": "pnpm@11.25.0",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -60,7 +60,7 @@
60
60
  "turndown": "^7.2.4"
61
61
  },
62
62
  "peerDependencies": {
63
- "ai": "^7.0.88",
63
+ "ai": "^7.0.89",
64
64
  "zod": "^4.5.4"
65
65
  },
66
66
  "peerDependenciesMeta": {