@alexnetrebskii/hive-agent 2.30.0 → 2.32.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/README.md CHANGED
@@ -148,6 +148,7 @@ console.log(result.response)
148
148
  - [Logger](https://github.com/anetrebskii/tuplet/blob/main/docs/logger.md)
149
149
  - [Tracing](https://github.com/anetrebskii/tuplet/blob/main/docs/tracing.md)
150
150
  - [Run Recording](https://github.com/anetrebskii/tuplet/blob/main/docs/run-recording.md)
151
+ - [Prompt Sections & History Injections](https://github.com/anetrebskii/tuplet/blob/main/docs/prompt-sections.md)
151
152
 
152
153
  ## License
153
154
 
package/dist/agent.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Main agent class that orchestrates tool execution, sub-agents, and workspace management.
5
5
  */
6
- import type { TupletConfig, RunOptions, AgentResult } from "./types.js";
6
+ import type { TupletConfig, RunOptions, AgentResult, SectionContext, TurnContext } from "./types.js";
7
7
  import { TraceBuilder } from "./trace.js";
8
8
  /** Path where the plan is stored in workspace (relative) */
9
9
  export declare const PLAN_PATH = ".tuplet/plan.md";
@@ -41,6 +41,30 @@ export declare class Tuplet {
41
41
  * In plan mode, only a restricted set of tools is returned (no deferral).
42
42
  */
43
43
  private getRunTools;
44
+ /**
45
+ * Evaluate registered PromptSections against a context and return the ones
46
+ * that fire, in registration order. For host-side testing of triggers.
47
+ */
48
+ resolveSections(ctx: SectionContext): Promise<{
49
+ name: string;
50
+ content: string;
51
+ }[]>;
52
+ /**
53
+ * Evaluate registered HistoryInjections against a turn context. `firedNames`
54
+ * is used to skip once-fired injections (default: none). For host-side
55
+ * testing of triggers.
56
+ */
57
+ evaluateInjections(ctx: TurnContext, firedNames?: string[]): Promise<{
58
+ name: string;
59
+ content: string;
60
+ once: boolean;
61
+ }[]>;
62
+ /**
63
+ * Invalidate a cached PromptSection for a conversation. On the next run, the
64
+ * section will be re-evaluated. If `name` is omitted, the entire section
65
+ * cache for the conversation is cleared.
66
+ */
67
+ invalidateSection(conversationId: string, name?: string): Promise<void>;
44
68
  /**
45
69
  * Run the agent with a user message
46
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EAGZ,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,4DAA4D;AAC5D,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAgGzD;;GAEG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,mCAAmC;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,oEAAoE;IACpE,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,yEAAyE;IACzE,OAAO,CAAC,mBAAmB,CAAC,CAAe;gBAE/B,MAAM,EAAE,YAAY;IAwDhC;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,sBAAsB,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA8FnB;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAiR3E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EAGZ,UAAU,EACV,WAAW,EAEX,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8B1C,4DAA4D;AAC5D,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAgGzD;;GAEG;AACH,qBAAa,MAAM;IACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAS;IACtB,mCAAmC;IACnC,OAAO,CAAC,YAAY,CAAS;IAC7B,oEAAoE;IACpE,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,yEAAyE;IACzE,OAAO,CAAC,mBAAmB,CAAC,CAAe;gBAE/B,MAAM,EAAE,YAAY;IAwDhC;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,sBAAsB,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA8FnB;;;OAGG;IACG,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAMxF;;;;OAIG;IACG,kBAAkB,CACtB,GAAG,EAAE,WAAW,EAChB,UAAU,GAAE,MAAM,EAAO,GACxB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAK9D;;;;OAIG;IACG,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7E;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA8W3E"}
package/dist/agent.js CHANGED
@@ -11,6 +11,7 @@ import { createAskUserTool, createTaskTool as createSubAgentTool, createSkillToo
11
11
  import { getBuiltInAgents } from "./built-in-agents/index.js";
12
12
  import { MainAgentBuilder } from "./prompt/main-agent-builder.js";
13
13
  import { TASK_SCOPE_INSTRUCTIONS } from "./constants.js";
14
+ import { loadTupletState, saveTupletState, resolveSections, formatSectionsForPrompt, evaluateInjections, renderInjectionsPayload, countUserTurns, extractLastUserText, } from "./prompt-sections.js";
14
15
  /** Path where the plan is stored in workspace (relative) */
15
16
  export const PLAN_PATH = ".tuplet/plan.md";
16
17
  // Re-export for public API
@@ -273,6 +274,49 @@ export class Tuplet {
273
274
  }
274
275
  return { coreTools, deferredTools };
275
276
  }
277
+ /**
278
+ * Evaluate registered PromptSections against a context and return the ones
279
+ * that fire, in registration order. For host-side testing of triggers.
280
+ */
281
+ async resolveSections(ctx) {
282
+ if (!this.config.sections || this.config.sections.length === 0)
283
+ return [];
284
+ const { fired } = await resolveSections(this.config.sections, ctx, undefined);
285
+ return fired;
286
+ }
287
+ /**
288
+ * Evaluate registered HistoryInjections against a turn context. `firedNames`
289
+ * is used to skip once-fired injections (default: none). For host-side
290
+ * testing of triggers.
291
+ */
292
+ async evaluateInjections(ctx, firedNames = []) {
293
+ if (!this.config.historyInjections || this.config.historyInjections.length === 0)
294
+ return [];
295
+ return evaluateInjections(this.config.historyInjections, ctx, firedNames);
296
+ }
297
+ /**
298
+ * Invalidate a cached PromptSection for a conversation. On the next run, the
299
+ * section will be re-evaluated. If `name` is omitted, the entire section
300
+ * cache for the conversation is cleared.
301
+ */
302
+ async invalidateSection(conversationId, name) {
303
+ const repo = this.config.repository;
304
+ if (!repo?.getState || !repo?.saveState)
305
+ return;
306
+ const state = (await repo.getState(conversationId)) || {};
307
+ const tuplet = (state['__tuplet'] || {});
308
+ if (!tuplet.sections)
309
+ return;
310
+ if (name) {
311
+ const next = { ...tuplet.sections };
312
+ delete next[name];
313
+ tuplet.sections = next;
314
+ }
315
+ else {
316
+ tuplet.sections = {};
317
+ }
318
+ await repo.saveState(conversationId, { ...state, __tuplet: tuplet });
319
+ }
276
320
  /**
277
321
  * Run the agent with a user message
278
322
  */
@@ -430,6 +474,63 @@ export class Tuplet {
430
474
  ### Asking the User
431
475
  When you need information the user hasn't provided and you cannot find it via other tools, call __ask_user__ with 1-4 questions. Each question should include relevant options. Do NOT ask for information already in the conversation or in workspace data.`;
432
476
  }
477
+ // Prompt sections & history injections (issue #15).
478
+ // Skip for sub-agents (they pass _systemPrompt and have their own config).
479
+ let sessionState = {};
480
+ const hasSections = !this.config._systemPrompt &&
481
+ this.config.sections !== undefined &&
482
+ this.config.sections.length > 0;
483
+ const hasInjections = !this.config._systemPrompt &&
484
+ this.config.historyInjections !== undefined &&
485
+ this.config.historyInjections.length > 0;
486
+ const hasSectionsOrInjections = hasSections || hasInjections;
487
+ let firedSectionNames = hasSections ? [] : undefined;
488
+ let firedInjectionNames = hasInjections ? [] : undefined;
489
+ if (hasSectionsOrInjections) {
490
+ sessionState = await loadTupletState(this.config.repository, conversationId);
491
+ const sectionCtx = {
492
+ context: options.context,
493
+ conversationId: conversationId ?? '',
494
+ };
495
+ if (hasSections) {
496
+ const { fired, updatedCache } = await resolveSections(this.config.sections, sectionCtx, sessionState.sections);
497
+ sessionState = { ...sessionState, sections: updatedCache };
498
+ firedSectionNames = fired.map(f => f.name);
499
+ const rendered = formatSectionsForPrompt(fired);
500
+ if (rendered) {
501
+ systemPrompt += `\n\n${rendered}`;
502
+ }
503
+ }
504
+ if (!isResuming && hasInjections) {
505
+ const turnCtx = {
506
+ ...sectionCtx,
507
+ turnIndex: countUserTurns(messages),
508
+ lastUserMessage: extractLastUserText(messages),
509
+ };
510
+ const firedNames = sessionState.firedInjections ?? [];
511
+ const newFired = await evaluateInjections(this.config.historyInjections, turnCtx, firedNames);
512
+ firedInjectionNames = newFired.map(i => i.name);
513
+ if (newFired.length > 0) {
514
+ const payload = renderInjectionsPayload(newFired);
515
+ const insertIdx = messages.length - 1;
516
+ const prev = insertIdx > 0 ? messages[insertIdx - 1] : null;
517
+ const toInsert = [];
518
+ if (prev && prev.role === 'user') {
519
+ toInsert.push({ role: 'assistant', content: 'Noted.' });
520
+ }
521
+ toInsert.push({ role: 'user', content: payload });
522
+ toInsert.push({ role: 'assistant', content: 'Noted.' });
523
+ messages.splice(insertIdx < 0 ? 0 : insertIdx, 0, ...toInsert);
524
+ const updatedFired = [...firedNames];
525
+ for (const inj of newFired) {
526
+ if (inj.once && !updatedFired.includes(inj.name)) {
527
+ updatedFired.push(inj.name);
528
+ }
529
+ }
530
+ sessionState = { ...sessionState, firedInjections: updatedFired };
531
+ }
532
+ }
533
+ }
433
534
  // Build tools list — split into core (always in API) and deferred (loaded on demand)
434
535
  const { coreTools, deferredTools } = this.getRunTools(taskManager, ws, this.config.agentName, mode);
435
536
  // All tools listed in system prompt (compact format) for models without native tool support
@@ -481,6 +582,23 @@ When you need information the user hasn't provided and you cannot find it via ot
481
582
  this.config.logger?.warn("Failed to save history", saveError);
482
583
  }
483
584
  }
585
+ // Persist section/injection state so they don't re-fire on the next run.
586
+ if (hasSectionsOrInjections && conversationId) {
587
+ try {
588
+ await saveTupletState(this.config.repository, conversationId, sessionState);
589
+ }
590
+ catch (saveError) {
591
+ this.config.logger?.warn("Failed to save tuplet state", saveError);
592
+ }
593
+ }
594
+ }
595
+ // Surface fired sections/injections so callers can run side effects without
596
+ // duplicating the trigger detection logic.
597
+ if (firedSectionNames !== undefined) {
598
+ result.firedPromptSections = firedSectionNames;
599
+ }
600
+ if (firedInjectionNames !== undefined) {
601
+ result.firedHistoryInjections = firedInjectionNames;
484
602
  }
485
603
  // End trace and attach to result (only for root agent, not sub-agents)
486
604
  if (traceBuilder && !options._traceBuilder) {
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/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Minimal TypeScript agent framework inspired by Claude Code architecture.
5
5
  */
6
6
  export { Tuplet, Tuplet as Hive, PLAN_PATH } from './agent.js';
7
- export type { Message, MessageRole, ContentBlock, TextBlock, ThinkingBlock, ToolUseBlock, ToolResultBlock, Tool, ToolSchema, ToolResult, ToolContext, ToolCallLog, JSONSchema, TupletConfig, TupletConfig as HiveConfig, SubAgentConfig, SkillConfig, RunOptions, AgentResult, AgentStatus, PendingQuestion, QuestionOption, EnhancedQuestion, TaskItem, TaskStatus, TaskComment, TaskProgress, TaskUpdateNotification, TodoItem, TodoStatus, TodoProgress, TodoUpdate, LLMProvider, LLMResponse, LLMOptions, StopReason, LogProvider, RepositoryProvider, EnvironmentProvider, ProgressUpdate, CacheUsage, ContextStrategy, SystemPromptConfig, EnvironmentInfo } from './types.js';
7
+ export type { Message, MessageRole, ContentBlock, TextBlock, ThinkingBlock, ToolUseBlock, ToolResultBlock, Tool, ToolSchema, ToolResult, ToolContext, ToolCallLog, JSONSchema, TupletConfig, TupletConfig as HiveConfig, SubAgentConfig, SkillConfig, RunOptions, AgentResult, AgentStatus, PendingQuestion, QuestionOption, EnhancedQuestion, TaskItem, TaskStatus, TaskComment, TaskProgress, TaskUpdateNotification, TodoItem, TodoStatus, TodoProgress, TodoUpdate, LLMProvider, LLMResponse, LLMOptions, StopReason, LogProvider, RepositoryProvider, EnvironmentProvider, ProgressUpdate, CacheUsage, ContextStrategy, SystemPromptConfig, EnvironmentInfo, PromptSection, HistoryInjection, SectionContext, TurnContext, SectionTrigger, SectionContent, InjectionTrigger, InjectionContent } from './types.js';
8
8
  export { describeActivity, extractShellActivity, extractPipelineActivity, classifyTool, classifyShellCommand, type Activity, type ShellHttpRequestActivity, type ShellBrowseActivity, type ShellFileReadActivity, type ShellFileWriteActivity, type ShellFileSearchActivity, type ShellFileManageActivity, type ShellFileInfoActivity, type ShellDataTransformActivity, type ShellSystemActivity, type ShellOtherActivity, type ToolReadFileActivity, type ToolEditFileActivity, type ToolWriteFileActivity, type ToolSearchFilesActivity, type ToolSearchContentActivity, type ToolWebFetchActivity, type ToolWebSearchActivity, type ToolSubAgentActivity, type ToolTaskManageActivity, type ToolOtherActivity, type AgentThinkingActivity, type AgentRespondingActivity, type AgentInterruptedActivity } from './activity.js';
9
9
  export { ClaudeProvider, type ClaudeProviderConfig } from './providers/llm/claude.js';
10
10
  export { OpenAIProvider, type OpenAIProviderConfig } from './providers/llm/openai.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAiE9D,8CAA8C;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EAyBrB,MAAM,eAAe,CAAA;AAEtB,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,wBAAwB;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAazB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,SAAS,EAUV,MAAM,gBAAgB,CAAA;AAEvB,sBAAsB;AACtB,OAAO,EAIL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,QAAQ;AACR,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EAUV,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA2E9D,8CAA8C;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EAyBrB,MAAM,eAAe,CAAA;AAEtB,YAAY;AACZ,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,aAAa,EAGd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAEzC,wBAAwB;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,YAAY;AACZ,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB;AACrB,kBAAkB;AAClB,eAAe;AACf,kDAAkD;AAClD,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAUd,MAAM,aAAa,CAAA;AAEpB,kDAAkD;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB;AAElB,sCAAsC;AACtC,WAAW,EACX,cAAc,EACd,cAAc,EAEf,MAAM,kBAAkB,CAAA;AAEzB,UAAU;AACV,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EAazB,MAAM,YAAY,CAAA;AAEnB,YAAY;AACZ,OAAO,EACL,SAAS,EAUV,MAAM,gBAAgB,CAAA;AAEvB,sBAAsB;AACtB,OAAO,EAIL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAEvC,QAAQ;AACR,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAA;AAEzB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,4CAA4C;AAC5C,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EAUV,MAAM,8BAA8B,CAAA"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Prompt Sections & History Injections (issue #15)
3
+ *
4
+ * Two primitives with a shared `{ name, when, content }` shape:
5
+ * - PromptSection: evaluated once at turn 1, appended to the system prompt
6
+ * - HistoryInjection: evaluated each turn until fired, wrapped and inserted
7
+ * into the message history before the current user turn
8
+ *
9
+ * Session state (which sections/injections have fired) lives in the repository
10
+ * alongside the conversation, under the `__tuplet` key.
11
+ */
12
+ import type { Message, PromptSection, HistoryInjection, SectionContext, TurnContext, RepositoryProvider } from './types.js';
13
+ export interface SectionCacheEntry {
14
+ fired: boolean;
15
+ content?: string;
16
+ }
17
+ export interface TupletSessionState {
18
+ sections?: Record<string, SectionCacheEntry>;
19
+ firedInjections?: string[];
20
+ }
21
+ export interface FiredInjection {
22
+ name: string;
23
+ content: string;
24
+ once: boolean;
25
+ }
26
+ export declare function loadTupletState(repo: RepositoryProvider | undefined, conversationId: string | undefined): Promise<TupletSessionState>;
27
+ export declare function saveTupletState(repo: RepositoryProvider | undefined, conversationId: string | undefined, tupletState: TupletSessionState): Promise<void>;
28
+ /**
29
+ * Resolve sections against cache, evaluating only those not yet cached.
30
+ * Sections are evaluated in registration order; fired ones are returned in the
31
+ * same order for stable prompt rendering.
32
+ */
33
+ export declare function resolveSections(sections: PromptSection[], ctx: SectionContext, cache: Record<string, SectionCacheEntry> | undefined): Promise<{
34
+ fired: {
35
+ name: string;
36
+ content: string;
37
+ }[];
38
+ updatedCache: Record<string, SectionCacheEntry>;
39
+ }>;
40
+ /**
41
+ * Format fired sections for appending to the system prompt.
42
+ * Each section is wrapped in a `<tuplet-note kind="prompt-section">` tag so the
43
+ * model can consistently recognize the boundary.
44
+ */
45
+ export declare function formatSectionsForPrompt(fired: {
46
+ name: string;
47
+ content: string;
48
+ }[]): string;
49
+ /**
50
+ * Evaluate injections against the current turn, skipping any that already fired
51
+ * (for `once: true`, which is the default).
52
+ */
53
+ export declare function evaluateInjections(injections: HistoryInjection[], ctx: TurnContext, firedNames: string[]): Promise<FiredInjection[]>;
54
+ export declare function wrapInjection(name: string, content: string): string;
55
+ /**
56
+ * Merge all fired injections into a single user message's worth of content so
57
+ * we don't emit multiple consecutive user messages.
58
+ */
59
+ export declare function renderInjectionsPayload(fired: FiredInjection[]): string;
60
+ /**
61
+ * Count user-originating turns in a message list.
62
+ * A "user turn" is a user message whose content is a string or contains at
63
+ * least one text block (i.e. not a message that only carries tool_results).
64
+ */
65
+ export declare function countUserTurns(messages: Message[]): number;
66
+ /**
67
+ * Extract the text of the latest user-originating message for TurnContext.
68
+ */
69
+ export declare function extractLastUserText(messages: Message[]): string;
70
+ //# sourceMappingURL=prompt-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-sections.d.ts","sourceRoot":"","sources":["../src/prompt-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC5C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,kBAAkB,GAAG,SAAS,EACpC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,kBAAkB,GAAG,SAAS,EACpC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC;IACT,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;CAChD,CAAC,CA0BD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GACzC,MAAM,CAQR;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC,CAc3B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAW1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAW/D"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Prompt Sections & History Injections (issue #15)
3
+ *
4
+ * Two primitives with a shared `{ name, when, content }` shape:
5
+ * - PromptSection: evaluated once at turn 1, appended to the system prompt
6
+ * - HistoryInjection: evaluated each turn until fired, wrapped and inserted
7
+ * into the message history before the current user turn
8
+ *
9
+ * Session state (which sections/injections have fired) lives in the repository
10
+ * alongside the conversation, under the `__tuplet` key.
11
+ */
12
+ const STATE_KEY = '__tuplet';
13
+ export async function loadTupletState(repo, conversationId) {
14
+ if (!repo?.getState || !conversationId)
15
+ return {};
16
+ const state = await repo.getState(conversationId);
17
+ if (!state)
18
+ return {};
19
+ const tuplet = state[STATE_KEY];
20
+ if (!tuplet || typeof tuplet !== 'object')
21
+ return {};
22
+ return tuplet;
23
+ }
24
+ export async function saveTupletState(repo, conversationId, tupletState) {
25
+ if (!repo?.saveState || !conversationId)
26
+ return;
27
+ const existing = (repo.getState ? await repo.getState(conversationId) : null) || {};
28
+ await repo.saveState(conversationId, { ...existing, [STATE_KEY]: tupletState });
29
+ }
30
+ /**
31
+ * Resolve sections against cache, evaluating only those not yet cached.
32
+ * Sections are evaluated in registration order; fired ones are returned in the
33
+ * same order for stable prompt rendering.
34
+ */
35
+ export async function resolveSections(sections, ctx, cache) {
36
+ const updatedCache = { ...(cache || {}) };
37
+ const fired = [];
38
+ for (const section of sections) {
39
+ const existing = updatedCache[section.name];
40
+ if (existing) {
41
+ if (existing.fired && typeof existing.content === 'string') {
42
+ fired.push({ name: section.name, content: existing.content });
43
+ }
44
+ continue;
45
+ }
46
+ const matched = await Promise.resolve(section.when(ctx));
47
+ if (!matched) {
48
+ updatedCache[section.name] = { fired: false };
49
+ continue;
50
+ }
51
+ const rendered = typeof section.content === 'function'
52
+ ? await Promise.resolve(section.content(ctx))
53
+ : section.content;
54
+ updatedCache[section.name] = { fired: true, content: rendered };
55
+ fired.push({ name: section.name, content: rendered });
56
+ }
57
+ return { fired, updatedCache };
58
+ }
59
+ /**
60
+ * Format fired sections for appending to the system prompt.
61
+ * Each section is wrapped in a `<tuplet-note kind="prompt-section">` tag so the
62
+ * model can consistently recognize the boundary.
63
+ */
64
+ export function formatSectionsForPrompt(fired) {
65
+ if (fired.length === 0)
66
+ return '';
67
+ return fired
68
+ .map(f => `<tuplet-note kind="prompt-section" name="${f.name}">\n${f.content}\n</tuplet-note>`)
69
+ .join('\n\n');
70
+ }
71
+ /**
72
+ * Evaluate injections against the current turn, skipping any that already fired
73
+ * (for `once: true`, which is the default).
74
+ */
75
+ export async function evaluateInjections(injections, ctx, firedNames) {
76
+ const fired = [];
77
+ for (const inj of injections) {
78
+ const once = inj.once !== false;
79
+ if (once && firedNames.includes(inj.name))
80
+ continue;
81
+ const matched = await Promise.resolve(inj.when(ctx));
82
+ if (!matched)
83
+ continue;
84
+ const rendered = typeof inj.content === 'function'
85
+ ? await Promise.resolve(inj.content(ctx))
86
+ : inj.content;
87
+ fired.push({ name: inj.name, content: rendered, once });
88
+ }
89
+ return fired;
90
+ }
91
+ export function wrapInjection(name, content) {
92
+ return `<tuplet-note kind="history-injection" name="${name}">\n${content}\n</tuplet-note>`;
93
+ }
94
+ /**
95
+ * Merge all fired injections into a single user message's worth of content so
96
+ * we don't emit multiple consecutive user messages.
97
+ */
98
+ export function renderInjectionsPayload(fired) {
99
+ return fired.map(f => wrapInjection(f.name, f.content)).join('\n\n');
100
+ }
101
+ /**
102
+ * Count user-originating turns in a message list.
103
+ * A "user turn" is a user message whose content is a string or contains at
104
+ * least one text block (i.e. not a message that only carries tool_results).
105
+ */
106
+ export function countUserTurns(messages) {
107
+ let count = 0;
108
+ for (const m of messages) {
109
+ if (m.role !== 'user')
110
+ continue;
111
+ if (typeof m.content === 'string') {
112
+ count++;
113
+ continue;
114
+ }
115
+ if (m.content.some(b => b.type === 'text'))
116
+ count++;
117
+ }
118
+ return count;
119
+ }
120
+ /**
121
+ * Extract the text of the latest user-originating message for TurnContext.
122
+ */
123
+ export function extractLastUserText(messages) {
124
+ for (let i = messages.length - 1; i >= 0; i--) {
125
+ const m = messages[i];
126
+ if (m.role !== 'user')
127
+ continue;
128
+ if (typeof m.content === 'string')
129
+ return m.content;
130
+ const texts = m.content
131
+ .filter((b) => b.type === 'text')
132
+ .map(b => b.text);
133
+ if (texts.length > 0)
134
+ return texts.join('\n');
135
+ }
136
+ return '';
137
+ }
138
+ //# sourceMappingURL=prompt-sections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-sections.js","sourceRoot":"","sources":["../src/prompt-sections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompt-sections.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-sections.test.d.ts","sourceRoot":"","sources":["../src/prompt-sections.test.ts"],"names":[],"mappings":""}