@alexnetrebskii/hive-agent 2.29.0 → 2.31.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 +1 -0
- package/dist/agent.d.ts +25 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +104 -0
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prompt-sections.d.ts +70 -0
- package/dist/prompt-sections.d.ts.map +1 -0
- package/dist/prompt-sections.js +138 -0
- package/dist/prompt-sections.js.map +1 -0
- package/dist/prompt-sections.test.d.ts +2 -0
- package/dist/prompt-sections.test.d.ts.map +1 -0
- package/dist/prompt-sections.test.js +455 -0
- package/dist/prompt-sections.test.js.map +1 -0
- package/dist/providers/llm/openrouter.d.ts +14 -0
- package/dist/providers/llm/openrouter.d.ts.map +1 -1
- package/dist/providers/llm/openrouter.js +64 -1
- package/dist/providers/llm/openrouter.js.map +1 -1
- package/dist/providers/llm/openrouter.test.d.ts +2 -0
- package/dist/providers/llm/openrouter.test.d.ts.map +1 -0
- package/dist/providers/llm/openrouter.test.js +146 -0
- package/dist/providers/llm/openrouter.test.js.map +1 -0
- package/dist/types.d.ts +52 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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
|
*/
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -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,
|
|
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;CA8V3E"}
|
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,57 @@ 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 hasSectionsOrInjections = !this.config._systemPrompt &&
|
|
481
|
+
((this.config.sections && this.config.sections.length > 0) ||
|
|
482
|
+
(this.config.historyInjections && this.config.historyInjections.length > 0));
|
|
483
|
+
if (hasSectionsOrInjections) {
|
|
484
|
+
sessionState = await loadTupletState(this.config.repository, conversationId);
|
|
485
|
+
const sectionCtx = {
|
|
486
|
+
context: options.context,
|
|
487
|
+
conversationId: conversationId ?? '',
|
|
488
|
+
};
|
|
489
|
+
if (this.config.sections && this.config.sections.length > 0) {
|
|
490
|
+
const { fired, updatedCache } = await resolveSections(this.config.sections, sectionCtx, sessionState.sections);
|
|
491
|
+
sessionState = { ...sessionState, sections: updatedCache };
|
|
492
|
+
const rendered = formatSectionsForPrompt(fired);
|
|
493
|
+
if (rendered) {
|
|
494
|
+
systemPrompt += `\n\n${rendered}`;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
if (!isResuming &&
|
|
498
|
+
this.config.historyInjections &&
|
|
499
|
+
this.config.historyInjections.length > 0) {
|
|
500
|
+
const turnCtx = {
|
|
501
|
+
...sectionCtx,
|
|
502
|
+
turnIndex: countUserTurns(messages),
|
|
503
|
+
lastUserMessage: extractLastUserText(messages),
|
|
504
|
+
};
|
|
505
|
+
const firedNames = sessionState.firedInjections ?? [];
|
|
506
|
+
const newFired = await evaluateInjections(this.config.historyInjections, turnCtx, firedNames);
|
|
507
|
+
if (newFired.length > 0) {
|
|
508
|
+
const payload = renderInjectionsPayload(newFired);
|
|
509
|
+
const insertIdx = messages.length - 1;
|
|
510
|
+
const prev = insertIdx > 0 ? messages[insertIdx - 1] : null;
|
|
511
|
+
const toInsert = [];
|
|
512
|
+
if (prev && prev.role === 'user') {
|
|
513
|
+
toInsert.push({ role: 'assistant', content: 'Noted.' });
|
|
514
|
+
}
|
|
515
|
+
toInsert.push({ role: 'user', content: payload });
|
|
516
|
+
toInsert.push({ role: 'assistant', content: 'Noted.' });
|
|
517
|
+
messages.splice(insertIdx < 0 ? 0 : insertIdx, 0, ...toInsert);
|
|
518
|
+
const updatedFired = [...firedNames];
|
|
519
|
+
for (const inj of newFired) {
|
|
520
|
+
if (inj.once && !updatedFired.includes(inj.name)) {
|
|
521
|
+
updatedFired.push(inj.name);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
sessionState = { ...sessionState, firedInjections: updatedFired };
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
433
528
|
// Build tools list — split into core (always in API) and deferred (loaded on demand)
|
|
434
529
|
const { coreTools, deferredTools } = this.getRunTools(taskManager, ws, this.config.agentName, mode);
|
|
435
530
|
// All tools listed in system prompt (compact format) for models without native tool support
|
|
@@ -481,6 +576,15 @@ When you need information the user hasn't provided and you cannot find it via ot
|
|
|
481
576
|
this.config.logger?.warn("Failed to save history", saveError);
|
|
482
577
|
}
|
|
483
578
|
}
|
|
579
|
+
// Persist section/injection state so they don't re-fire on the next run.
|
|
580
|
+
if (hasSectionsOrInjections && conversationId) {
|
|
581
|
+
try {
|
|
582
|
+
await saveTupletState(this.config.repository, conversationId, sessionState);
|
|
583
|
+
}
|
|
584
|
+
catch (saveError) {
|
|
585
|
+
this.config.logger?.warn("Failed to save tuplet state", saveError);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
484
588
|
}
|
|
485
589
|
// End trace and attach to result (only for root agent, not sub-agents)
|
|
486
590
|
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":"AAAA;;;;GAIG;AAYH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAE9B,4DAA4D;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAE3C,2BAA2B;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,2CAA2C;AAC3C,MAAM,qCAAqC,GAAG;;;;;;;;;;;;;0FAa4C,SAAS;;;;;;;;;mBAShF,SAAS;;;;;;;CAO3B,CAAC;AAEF,MAAM,mCAAmC,GAAG;;;;;;;;;;;;;;;;;;;;CAoB3C,CAAC;AAEF,wEAAwE;AACxE;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,KAAa;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;IAE7G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,0EAA0E;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAuH,CAAC;QAC5I,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;QAClC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAW,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,OAAO;;;EAGP,WAAW;QACL,CAAA;AACR,CAAC;AAGD;;GAEG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAe;IACtB,cAAc,CAAiB;IAC/B,KAAK,CAAS;IACtB,mCAAmC;IAC3B,YAAY,CAAS;IAC7B,oEAAoE;IAC5D,mBAAmB,CAAgB;IAC3C,yEAAyE;IACjE,mBAAmB,CAAgB;IAE3C,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,WAAW;YAC5B,GAAG,MAAM;SACV,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC;QAEF,iEAAiE;QACjE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/B,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,qEAAqE;QACrE,mFAAmF;QACnF,2EAA2E;QAC3E,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,iEAAiE;QACjE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,kBAAkB,CAChB;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE;aAC5D,EACD,IAAI,CAAC,MAAM,CAAC,MAAO,EACnB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CACrC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;QAChF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,gBAAgB,EAAE;aACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACtB,iBAAiB,EAAE;aACnB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE;YAC7B,mBAAmB,EAAE,OAAO,CAAC,wBAAwB,EAAE;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAAiC;QACtD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACK,WAAW,CACjB,WAAwB,EACxB,SAAgC,EAChC,SAAkB,EAClB,IAAyB;QAEzB,MAAM,eAAe,GAAG;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,SAAS;YACT,SAAS;SACV,CAAC;QAEF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,iCAAiC;YACjC,MAAM,SAAS,GAAW,EAAE,CAAC;YAE7B,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YAED,yDAAyD;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAClC,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,4DAA4D;gBAC5D,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,YAAY;oBACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;wBACjC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAe,CAAC;wBAC1C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;4BACtD,OAAO;gCACL,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,sEAAsE,UAAU,GAAG;6BAC3F,CAAC;wBACJ,CAAC;wBACD,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,wDAAwD;YACxD,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YACjE,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;YAEhE,yCAAyC;YACzC,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACrD,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAW;YACvB,GAAG,IAAI,CAAC,KAAK;YACb,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACvF,CAAC;QAEF,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,yCAAyC;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,4EAA4E;QAC5E,MAAM,SAAS,GAAW,EAAE,CAAA;QAC5B,MAAM,aAAa,GAAW,EAAE,CAAA;QAChC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,GAAmB;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACtB,GAAgB,EAChB,aAAuB,EAAE;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5F,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,cAAsB,EAAE,IAAa;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,OAAO;QAChD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAuB,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAsC,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAE;QACjD,MAAM,EACJ,cAAc,EACd,MAAM,EACN,OAAO,EAAE,eAAe,EACxB,MAAM,EACN,cAAc,EACd,SAAS,EACT,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,+CAA+C;QAC/C,IAAI,OAAO,GAAc,EAAE,CAAC;QAE5B,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,GAAG,eAAe,CAAC;QAC5B,CAAC;aAAM,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACpE,CAAC;QAED,4EAA4E;QAC5E,MAAM,QAAQ,GAAc,CAAC,GAAG,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElD,mFAAmF;QACnF,gFAAgF;QAChF,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,4EAA4E;QAC5E,IACE,WAAW,EAAE,IAAI,KAAK,WAAW;YACjC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAClC,CAAC;YACD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAC9C,CAAC,KAAK,EAA8C,EAAE,CACpD,KAAK,CAAC,IAAI,KAAK,UAAU,CAC5B,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC;gBAElB,oCAAoC;gBACpC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CACzC,CAAC;gBAEF,6CAA6C;gBAC7C,MAAM,WAAW,GACf,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACpC,+CAA+C;wBAC/C,OAAO;4BACL,IAAI,EAAE,aAAsB;4BAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;4BACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gCACtB,OAAO,EAAE,IAAI;gCACb,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;6BAC1B,CAAC;yBACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,mDAAmD;wBACnD,OAAO;4BACL,IAAI,EAAE,aAAsB;4BAC5B,WAAW,EAAE,OAAO,CAAC,EAAE;4BACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gCACtB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,iDAAiD;6BACzD,CAAC;4BACF,QAAQ,EAAE,IAAI;yBACf,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEL,yEAAyE;gBACzE,2EAA2E;gBAC3E,IAAI,cAAc,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,gDAAgD;oBAChD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qBACpE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,oEAAoE;QACpE,MAAM,EAAE,GAAG,SAAS,CAAC;QACrB,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,sEAAsE;QACtE,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAS,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC;QAE3E,uDAAuD;QACvD,8DAA8D;QAC9D,IAAI,eAAe,IAAI,EAAE,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,uCAAuC;QACvC,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACtB,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,qDAAqD;QACrD,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,oCAAoC;QACpC,gFAAgF;QAChF,mEAAmE;QACnE,kFAAkF;QAClF,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,EAAE,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAgB;YAC/B,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;YACzD,cAAc;YACd,MAAM;YACN,SAAS,EAAE,EAAE;SACd,CAAC;QAEF,uCAAuC;QACvC,yDAAyD;QACzD,6DAA6D;QAC7D,MAAM,YAAY,GAChB,OAAO,CAAC,aAAa;YACrB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;gBAChB,CAAC,CAAC,IAAI,YAAY,CACd,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,OAAO,EAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,OAAO,CAAC,8BAA8B;iBACvC;gBACH,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,uDAAuD;QACvD,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAE1C,oCAAoC;QACpC,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,mCAAmC,CAAC,GAAG,YAAY,CAAC;QACnH,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,KAAK,SAAS,IAAI,eAAe,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,YAAsB,CAAC,EAAE,CAAC,CAAC;YACxF,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,gEAAgE;QAChE,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,IAAI,OAAO,SAAS,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,YAAY,IAAI,OAAO,uBAAuB,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChC,YAAY,IAAI;;;6PAGuO,CAAC;QAC1P,CAAC;QAED,oDAAoD;QACpD,2EAA2E;QAC3E,IAAI,YAAY,GAAuB,EAAE,CAAC;QAC1C,MAAM,uBAAuB,GAC3B,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;YAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxD,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,YAAY,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAE7E,MAAM,UAAU,GAAmB;gBACjC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,cAAc,IAAI,EAAE;aACrC,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,UAAU,EACV,YAAY,CAAC,QAAQ,CACtB,CAAC;gBACF,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACb,YAAY,IAAI,OAAO,QAAQ,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IACE,CAAC,UAAU;gBACX,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EACxC,CAAC;gBACD,MAAM,OAAO,GAAgB;oBAC3B,GAAG,UAAU;oBACb,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACnC,eAAe,EAAE,mBAAmB,CAAC,QAAQ,CAAC;iBAC/C,CAAC;gBACF,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CACvC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,OAAO,EACP,UAAU,CACX,CAAC;gBAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5D,MAAM,QAAQ,GAAc,EAAE,CAAC;oBAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1D,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;oBAE/D,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;oBACrC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACjD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBACD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpG,4FAA4F;QAC5F,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACrF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,YAAY,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;QAED,gFAAgF;QAChF,qEAAqE;QACrE,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,WAAW,CACxB;gBACE,YAAY;gBACZ,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAc;gBACzC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,WAAW;gBACX,UAAU,EAAE,EAAE;gBACd,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;gBAC1D,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBACnE,MAAM;gBACN,cAAc;gBACd,YAAY;aACb,EACD,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,GAAG;gBACP,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,+DAA+D;YAC/D,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAO,EAAE,OAAO,IAAI,QAAQ,CAAC;oBACnD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,uBAAuB,IAAI,cAAc,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC9E,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,OAAO;gBACvB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;oBACjC,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC/B,OAAO,EACP,OAAO,EACP,IAAI,CAAC,MAAM,EACX,MAAM,CACP,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG9D,YAAY,EAEV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EAGf,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EAGV,YAAY,EACZ,YAAY,IAAI,UAAU,EAC1B,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,cAAc,EACd,gBAAgB,EAGhB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,EACZ,sBAAsB,EAGtB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EAGV,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EAGd,UAAU,EAGV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC9B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,gBAAgB,EACjB,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAGrE,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,EAErB,eAAe,EAEf,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,aAAa,EAEb,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,eAAe,EAEpB,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAGtF,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAA"}
|
|
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;
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-sections.test.d.ts","sourceRoot":"","sources":["../src/prompt-sections.test.ts"],"names":[],"mappings":""}
|