@gaunt-sloth/core 2.0.0-beta.5 → 2.0.0-beta.6
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/dist/config/schema.d.ts +4 -0
- package/dist/config/schema.js +64 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tokenBudget.d.ts +88 -0
- package/dist/config/tokenBudget.js +155 -0
- package/dist/config/tokenBudget.js.map +1 -0
- package/dist/config/types.d.ts +33 -4
- package/dist/config/types.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +24 -0
- package/dist/core/GthAbstractAgent.js +37 -1
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthAgentRunner.d.ts +216 -1
- package/dist/core/GthAgentRunner.js +424 -3
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.d.ts +196 -0
- package/dist/core/GthLangChainAgent.js +392 -2
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/approvals/conversationGrants.d.ts +60 -0
- package/dist/core/approvals/conversationGrants.js +77 -0
- package/dist/core/approvals/conversationGrants.js.map +1 -0
- package/dist/core/approvals/grants.d.ts +16 -0
- package/dist/core/approvals/grants.js +20 -5
- package/dist/core/approvals/grants.js.map +1 -1
- package/dist/core/compaction.d.ts +181 -0
- package/dist/core/compaction.js +293 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/compactionThreshold.d.ts +158 -0
- package/dist/core/compactionThreshold.js +183 -0
- package/dist/core/compactionThreshold.js.map +1 -0
- package/dist/core/contextWindow.d.ts +146 -0
- package/dist/core/contextWindow.js +256 -0
- package/dist/core/contextWindow.js.map +1 -0
- package/dist/core/exitOutputChannel.d.ts +51 -0
- package/dist/core/exitOutputChannel.js +65 -0
- package/dist/core/exitOutputChannel.js.map +1 -0
- package/dist/core/refusal.d.ts +17 -2
- package/dist/core/refusal.js +80 -14
- package/dist/core/refusal.js.map +1 -1
- package/dist/core/runStats.d.ts +1 -1
- package/dist/core/terminationNotice.d.ts +8 -0
- package/dist/core/terminationNotice.js +10 -4
- package/dist/core/terminationNotice.js.map +1 -1
- package/dist/core/terminationReason.d.ts +28 -0
- package/dist/core/terminationReason.js +27 -0
- package/dist/core/terminationReason.js.map +1 -1
- package/dist/core/types.d.ts +35 -1
- package/dist/core/types.js.map +1 -1
- package/dist/history/checkpointRetention.d.ts +279 -0
- package/dist/history/checkpointRetention.js +567 -0
- package/dist/history/checkpointRetention.js.map +1 -0
- package/dist/history/checkpointSaver.d.ts +93 -0
- package/dist/history/checkpointSaver.js +464 -0
- package/dist/history/checkpointSaver.js.map +1 -0
- package/dist/history/historyEnabled.d.ts +27 -0
- package/dist/history/historyEnabled.js +23 -0
- package/dist/history/historyEnabled.js.map +1 -0
- package/dist/history/historyFormat.d.ts +27 -0
- package/dist/history/historyFormat.js +125 -2
- package/dist/history/historyFormat.js.map +1 -1
- package/dist/history/historyStore.d.ts +61 -0
- package/dist/history/historyStore.js +180 -7
- package/dist/history/historyStore.js.map +1 -1
- package/dist/history/recordSession.d.ts +84 -22
- package/dist/history/recordSession.js +187 -12
- package/dist/history/recordSession.js.map +1 -1
- package/dist/history/sessionCheckpointer.d.ts +48 -0
- package/dist/history/sessionCheckpointer.js +200 -0
- package/dist/history/sessionCheckpointer.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/modelCatalog.d.ts +14 -0
- package/dist/providers/modelCatalog.js +4 -0
- package/dist/providers/modelCatalog.js.map +1 -1
- package/dist/providers/modelDiscovery.d.ts +3 -1
- package/dist/providers/modelDiscovery.js +22 -8
- package/dist/providers/modelDiscovery.js.map +1 -1
- package/dist/providers/ollama.js +3 -19
- package/dist/providers/ollama.js.map +1 -1
- package/dist/runtime/conversation.js +7 -1
- package/dist/runtime/conversation.js.map +1 -1
- package/dist/runtime/singleShot.js +6 -1
- package/dist/runtime/singleShot.js.map +1 -1
- package/dist/utils/consoleUtils.d.ts +77 -0
- package/dist/utils/consoleUtils.js +81 -0
- package/dist/utils/consoleUtils.js.map +1 -1
- package/package.json +2 -2
- package/schema/gsloth-config.schema.json +33 -14
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { readConversationGrantsSafe, writeConversationGrantsSafe, } from '#src/history/recordSession.js';
|
|
2
|
+
import { readGrant } from '#src/core/approvals/grants.js';
|
|
3
|
+
/** A document with nothing in it, which is also what an absent or unreadable one reads as. */
|
|
4
|
+
export const NO_CONVERSATION_GRANTS = Object.freeze({
|
|
5
|
+
allow: [],
|
|
6
|
+
deny: [],
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* Serialise the grants for storage. `null` when there is nothing to store, so a conversation that
|
|
10
|
+
* never granted anything keeps a NULL column rather than an empty document.
|
|
11
|
+
*/
|
|
12
|
+
export function encodeConversationGrants(grants) {
|
|
13
|
+
if (grants.allow.length === 0 && grants.deny.length === 0)
|
|
14
|
+
return null;
|
|
15
|
+
const document = {
|
|
16
|
+
version: 1,
|
|
17
|
+
allow: grants.allow,
|
|
18
|
+
deny: grants.deny,
|
|
19
|
+
};
|
|
20
|
+
return JSON.stringify(document);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse a stored document. Anything that is not a readable v1 document — corrupt JSON, another
|
|
24
|
+
* shape, a future version — reads as no grants: a resume that cannot read them costs a re-prompt,
|
|
25
|
+
* never a grant the person did not make. A malformed entry inside a readable document is skipped
|
|
26
|
+
* on its own ({@link readGrant}), and every stored scope is forced back to `session`: that is the
|
|
27
|
+
* only scope this document holds, and a file that claimed otherwise would be describing the project
|
|
28
|
+
* store, which is not consulted here.
|
|
29
|
+
*/
|
|
30
|
+
export function decodeConversationGrants(json) {
|
|
31
|
+
if (json === null)
|
|
32
|
+
return { allow: [], deny: [] };
|
|
33
|
+
let parsed;
|
|
34
|
+
try {
|
|
35
|
+
parsed = JSON.parse(json);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return { allow: [], deny: [] };
|
|
39
|
+
}
|
|
40
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
41
|
+
return { allow: [], deny: [] };
|
|
42
|
+
const record = parsed;
|
|
43
|
+
if (record.version !== 1)
|
|
44
|
+
return { allow: [], deny: [] };
|
|
45
|
+
const fallbackTime = new Date().toISOString();
|
|
46
|
+
const readList = (value) => Array.isArray(value)
|
|
47
|
+
? value
|
|
48
|
+
.map((entry) => readGrant(entry, fallbackTime))
|
|
49
|
+
.filter((grant) => grant !== null)
|
|
50
|
+
.map((grant) => ({ ...grant, scope: 'session' }))
|
|
51
|
+
: [];
|
|
52
|
+
return { allow: readList(record.allow), deny: readList(record.deny) };
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Load the grants a conversation had, for a resume to restore. Empty when history is off, the
|
|
56
|
+
* store cannot be opened, the conversation has none, or the document cannot be read. Never throws.
|
|
57
|
+
*/
|
|
58
|
+
export function loadConversationGrantsSafe(config, conversationId) {
|
|
59
|
+
return decodeConversationGrants(readConversationGrantsSafe(config, conversationId));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Store the grants a conversation has now. Called by the session on every change to the runner's
|
|
63
|
+
* session-scoped grants, so the row is always the current set. A `conversationId` of `undefined`
|
|
64
|
+
* (history off, or the row could not be opened) is a no-op — there is nowhere to write, and that is
|
|
65
|
+
* the case where a grant correctly ends with the process. Never throws.
|
|
66
|
+
*/
|
|
67
|
+
export function saveConversationGrantsSafe(config, conversationId, grants) {
|
|
68
|
+
if (conversationId === undefined)
|
|
69
|
+
return;
|
|
70
|
+
try {
|
|
71
|
+
writeConversationGrantsSafe(config, conversationId, encodeConversationGrants(grants));
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
/* fail-soft: recording a grant must never be what breaks the turn that made it */
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=conversationGrants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversationGrants.js","sourceRoot":"","sources":["../../../src/core/approvals/conversationGrants.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,6 +114,22 @@ export declare function trustWithdrawalWeakens(hint: ToolAnnotationHint): boolea
|
|
|
114
114
|
* message uses.
|
|
115
115
|
*/
|
|
116
116
|
export declare function describeWeakenedGrant(entry: ApprovalEntry, weakened: readonly ToolAnnotationHint[], snapshot: EffectiveToolAnnotations, current: EffectiveToolAnnotations): string;
|
|
117
|
+
/**
|
|
118
|
+
* Read one persisted grant defensively. The **entry is validated by the config grammar's own
|
|
119
|
+
* schema** — one grammar, one validator — so a malformed entry is dropped here and can never reach
|
|
120
|
+
* the matcher. Timestamp and scope are coerced rather than validated: they decide nothing, and
|
|
121
|
+
* discarding a real grant over a missing timestamp would cost an approval the human already gave.
|
|
122
|
+
* The annotation snapshot is the exception ({@link readAnnotationSnapshot}), because it decides.
|
|
123
|
+
*/
|
|
124
|
+
/**
|
|
125
|
+
* Read one stored grant, or `null` when the value is not one: no readable entry, or an annotation
|
|
126
|
+
* snapshot that is present and malformed (see `readAnnotationSnapshot`).
|
|
127
|
+
*
|
|
128
|
+
* Exported because the conversation-grants document a resume restores
|
|
129
|
+
* (`core/approvals/conversationGrants.ts`) stores grants in this same shape, and one reader for
|
|
130
|
+
* both files is what keeps the two from accepting different things.
|
|
131
|
+
*/
|
|
132
|
+
export declare function readGrant(value: unknown, fallbackTime: string): ApprovalGrant | null;
|
|
117
133
|
/**
|
|
118
134
|
* A set of grants with entry-identity semantics. Pure data + membership: it holds what the human
|
|
119
135
|
* granted and answers *is this the same grant*, never *does this grant cover that command*.
|
|
@@ -344,7 +344,15 @@ function readAnnotationSnapshot(value) {
|
|
|
344
344
|
* discarding a real grant over a missing timestamp would cost an approval the human already gave.
|
|
345
345
|
* The annotation snapshot is the exception ({@link readAnnotationSnapshot}), because it decides.
|
|
346
346
|
*/
|
|
347
|
-
|
|
347
|
+
/**
|
|
348
|
+
* Read one stored grant, or `null` when the value is not one: no readable entry, or an annotation
|
|
349
|
+
* snapshot that is present and malformed (see `readAnnotationSnapshot`).
|
|
350
|
+
*
|
|
351
|
+
* Exported because the conversation-grants document a resume restores
|
|
352
|
+
* (`core/approvals/conversationGrants.ts`) stores grants in this same shape, and one reader for
|
|
353
|
+
* both files is what keeps the two from accepting different things.
|
|
354
|
+
*/
|
|
355
|
+
export function readGrant(value, fallbackTime) {
|
|
348
356
|
if (!value || typeof value !== 'object')
|
|
349
357
|
return null;
|
|
350
358
|
const record = value;
|
|
@@ -585,7 +593,10 @@ function refusedWriteNotice(filePath, holds, state) {
|
|
|
585
593
|
return {
|
|
586
594
|
level: StatusLevel.ERROR,
|
|
587
595
|
message: `This answer was NOT saved to ${filePath}, because that file could not be read when this ` +
|
|
588
|
-
|
|
596
|
+
// GS2-20 — an unsaved answer is held with the CONVERSATION (recorded in the history store and
|
|
597
|
+
// installed again on a resume), so the fallback lifetime is the conversation's.
|
|
598
|
+
`session started. ${recovery} For now the answer applies to this conversation only: ` +
|
|
599
|
+
'resuming it keeps the answer, and any other conversation will ask again.',
|
|
589
600
|
};
|
|
590
601
|
}
|
|
591
602
|
/**
|
|
@@ -617,8 +628,9 @@ function failedWriteNotice(filePath, holds, purpose, reason) {
|
|
|
617
628
|
return {
|
|
618
629
|
level: StatusLevel.ERROR,
|
|
619
630
|
message: `${filePath} could NOT be updated (${reason}), so this entry is still saved in it. It is ` +
|
|
620
|
-
|
|
621
|
-
'
|
|
631
|
+
// GS2-20 — the lift, like a grant, is held with the conversation.
|
|
632
|
+
'lifted for the rest of this conversation and it will be back in any other, until that ' +
|
|
633
|
+
'file can be written or you remove the entry from it by hand.',
|
|
622
634
|
};
|
|
623
635
|
}
|
|
624
636
|
if (purpose === 'migrate') {
|
|
@@ -633,7 +645,10 @@ function failedWriteNotice(filePath, holds, purpose, reason) {
|
|
|
633
645
|
level: StatusLevel.ERROR,
|
|
634
646
|
message: `This answer was NOT saved to ${filePath}, because that file could not be written ` +
|
|
635
647
|
`(${reason}). Nothing in it was lost — it was read normally and is left exactly as it is. ` +
|
|
636
|
-
|
|
648
|
+
// GS2-20 — the fallback lifetime is the conversation's: kept in the history store, back on
|
|
649
|
+
// a resume, absent from any other conversation.
|
|
650
|
+
'The answer applies to this conversation only; resuming it keeps the answer, and any other ' +
|
|
651
|
+
'conversation will not have it.',
|
|
637
652
|
};
|
|
638
653
|
}
|
|
639
654
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../../src/core/approvals/grants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../../src/core/approvals/grants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* GS2-23 — **the one conversation-compaction mechanism.** Folds the older part of a conversation
|
|
4
|
+
* into a single summary message and keeps a recent tail verbatim, so the model has room to go on.
|
|
5
|
+
*
|
|
6
|
+
* Every path that shortens a conversation goes through {@link compactMessages}: the manual
|
|
7
|
+
* `/compact` (this node), the reactive compact-and-retry on a context overflow (EXT-160) and the
|
|
8
|
+
* preventive threshold (EXT-161). Built separately they would disagree about what a context window
|
|
9
|
+
* is, so the invariants live here once, as tests rather than as comments:
|
|
10
|
+
*
|
|
11
|
+
* - **(a)** a `tool_call` is never separated from its `tool_result`: the cut moves so an `AIMessage`
|
|
12
|
+
* with `tool_calls` and every `ToolMessage` answering it fall on the same side, by widening the
|
|
13
|
+
* kept tail back to the pair's start;
|
|
14
|
+
* - **(b)** a system prompt survives untouched, and the summary is carried in a `HumanMessage` —
|
|
15
|
+
* never a mid-list `SystemMessage`, which `ChatAnthropic` rejects outright;
|
|
16
|
+
* - **(c)** the tail is never truncated at its end, so the last message of the input is the last
|
|
17
|
+
* message of the output: a history that ended on the pending user turn still does, and no
|
|
18
|
+
* compaction turns a completed exchange into a trailing assistant turn. The guarantee is
|
|
19
|
+
* relative to the input — the mechanism never CREATES a trailing assistant turn; a history a
|
|
20
|
+
* thrown turn left ending on its unanswered human turn still ends on it, and having the next
|
|
21
|
+
* human turn present before the model is invoked again is the caller's job;
|
|
22
|
+
* - **(d)** the operation converges: a previous summary is recognised by its marker and folded into
|
|
23
|
+
* the new one, so a compacted history compacted again holds exactly one summary message.
|
|
24
|
+
*
|
|
25
|
+
* The function is pure over its inputs and does no I/O of its own: the model call is injected as
|
|
26
|
+
* `summarize`, which is what lets the involuntary path bind a different model, a test bind a stub,
|
|
27
|
+
* and the manual command bind the session's own. Applying the result to the live graph is the
|
|
28
|
+
* runner's job (`GthAgentRunner.compactConversation`), through {@link replaceGraphMessages}.
|
|
29
|
+
*/
|
|
30
|
+
import { HumanMessage, type BaseMessage } from '@langchain/core/messages';
|
|
31
|
+
import type { RunnableConfig } from '@langchain/core/runnables';
|
|
32
|
+
/**
|
|
33
|
+
* How many trailing messages a compaction keeps verbatim when the caller names no number.
|
|
34
|
+
*
|
|
35
|
+
* Small on purpose: a compaction is asked for when the conversation has grown too long, and the
|
|
36
|
+
* summary is what carries the rest. Six is roughly the last exchange with a tool call in it, or the
|
|
37
|
+
* last three plain exchanges — enough that the model still sees, word for word, what it was just
|
|
38
|
+
* doing. The kept tail can be wider than this when the cut would have split a tool pair (see
|
|
39
|
+
* {@link compactionCutIndex}).
|
|
40
|
+
*/
|
|
41
|
+
export declare const DEFAULT_KEEP_RECENT = 6;
|
|
42
|
+
/**
|
|
43
|
+
* The marker a summary message carries in `additional_kwargs.lc_source`, so a later compaction can
|
|
44
|
+
* recognise it and fold it in rather than nest a summary inside a summary.
|
|
45
|
+
*
|
|
46
|
+
* It rides in the slot LangChain's own `summarizationMiddleware` uses (`lc_source: 'summarization'`),
|
|
47
|
+
* which is why {@link isCompactionSummary} accepts both values: a history that the opt-in
|
|
48
|
+
* middleware already summarised converges through here the same way one of ours does.
|
|
49
|
+
*/
|
|
50
|
+
export declare const COMPACTION_SUMMARY_SOURCE = "gth-compaction";
|
|
51
|
+
/** The line the summary message opens with, so the model reads what follows as a summary. */
|
|
52
|
+
export declare const COMPACTION_SUMMARY_PREFIX = "Here is a summary of the conversation to date:";
|
|
53
|
+
/** What a compaction hands back: the replacement list and what changed. */
|
|
54
|
+
export interface CompactMessagesResult {
|
|
55
|
+
/** The replacement message list — the input unchanged when `changed` is false. */
|
|
56
|
+
messages: BaseMessage[];
|
|
57
|
+
/** The summary the model produced, or `''` when nothing was folded. */
|
|
58
|
+
summaryText: string;
|
|
59
|
+
/** How many messages were folded into the summary (a previous summary counts as one of them). */
|
|
60
|
+
removedCount: number;
|
|
61
|
+
/** How many trailing messages were kept verbatim. */
|
|
62
|
+
keptCount: number;
|
|
63
|
+
/** Whether anything was folded. False leaves the conversation exactly as it was. */
|
|
64
|
+
changed: boolean;
|
|
65
|
+
}
|
|
66
|
+
/** The summariser a compaction calls once, over the span being folded. */
|
|
67
|
+
export type ConversationSummarizer = (spanToSummarize: BaseMessage[], focus?: string) => Promise<string>;
|
|
68
|
+
/** Input to {@link compactMessages}. */
|
|
69
|
+
export interface CompactMessagesInput {
|
|
70
|
+
/**
|
|
71
|
+
* The conversation as the graph holds it. A system prompt at the head is left where it is and
|
|
72
|
+
* excluded from the fold; the graphs this repo builds keep the system prompt outside
|
|
73
|
+
* `state.messages` altogether, so it is usually absent.
|
|
74
|
+
*/
|
|
75
|
+
messages: readonly BaseMessage[];
|
|
76
|
+
/** The one model call the compaction makes, injected so the function itself does no I/O. */
|
|
77
|
+
summarize: ConversationSummarizer;
|
|
78
|
+
/** Trailing messages to keep verbatim; {@link DEFAULT_KEEP_RECENT} when omitted. */
|
|
79
|
+
keepRecent?: number;
|
|
80
|
+
/** An optional instruction from the user about what the summary should concentrate on. */
|
|
81
|
+
focus?: string;
|
|
82
|
+
}
|
|
83
|
+
/** Whether a message is a summary produced by a previous compaction (ours or LangChain's). */
|
|
84
|
+
export declare function isCompactionSummary(message: BaseMessage): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* The summary as the graph will hold it: a `HumanMessage`, marked so {@link isCompactionSummary}
|
|
87
|
+
* finds it again. A `HumanMessage` and not a `SystemMessage` because a system message anywhere but
|
|
88
|
+
* first is rejected by the Anthropic converter, and because the summary is conversation content —
|
|
89
|
+
* what the two parties said — rather than an instruction about how to behave.
|
|
90
|
+
*/
|
|
91
|
+
export declare function createCompactionSummaryMessage(summaryText: string): HumanMessage;
|
|
92
|
+
/**
|
|
93
|
+
* **The cut rule.** Returns the index in `messages` where the kept tail begins, or `null` when
|
|
94
|
+
* there is nothing to fold.
|
|
95
|
+
*
|
|
96
|
+
* The tail is the last `keepRecent` messages, widened backwards so no `tool_call` is separated from
|
|
97
|
+
* its `tool_result` (`widenTailToPairStart`). A system prompt at the head is never part of
|
|
98
|
+
* either side. A previous summary sits at the head of the conversation and is always in the folded
|
|
99
|
+
* span, never in the tail — and when it would be the ONLY thing folded, nothing is folded: rewriting
|
|
100
|
+
* a summary with no new material behind it is the thrash invariant (d) forbids.
|
|
101
|
+
*/
|
|
102
|
+
export declare function compactionCutIndex(messages: readonly BaseMessage[], keepRecent?: number): number | null;
|
|
103
|
+
/**
|
|
104
|
+
* Fold the older part of `messages` into one summary message. See the module doc for the four
|
|
105
|
+
* invariants this holds and the tests that pin them.
|
|
106
|
+
*
|
|
107
|
+
* `summarize` is called exactly once, over the folded span (a previous summary included, so its
|
|
108
|
+
* content is carried forward rather than lost), and its failure propagates: a compaction that
|
|
109
|
+
* cannot get a summary leaves the conversation alone and says so, rather than replacing history
|
|
110
|
+
* with an error string.
|
|
111
|
+
*/
|
|
112
|
+
export declare function compactMessages(input: CompactMessagesInput): Promise<CompactMessagesResult>;
|
|
113
|
+
/**
|
|
114
|
+
* The prompt the summariser sends, in the shape of LangChain's `summarizationMiddleware` prompt
|
|
115
|
+
* (role, objective, instructions, then the rendered messages) so the two mechanisms ask the model
|
|
116
|
+
* for the same kind of artifact. The `focus` block is the one addition: the user's own steer on
|
|
117
|
+
* what the summary should keep, appended when `/compact` was given free text.
|
|
118
|
+
*/
|
|
119
|
+
export declare function buildCompactionPrompt(span: readonly BaseMessage[], focus?: string): string;
|
|
120
|
+
/** The narrowest thing a summariser needs from a chat model: `invoke(prompt)` returning a message. */
|
|
121
|
+
export interface SummarizingModel {
|
|
122
|
+
invoke(input: string): Promise<{
|
|
123
|
+
content: unknown;
|
|
124
|
+
}>;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A {@link ConversationSummarizer} bound to a chat model: renders the span with
|
|
128
|
+
* {@link buildCompactionPrompt} and returns the reply's text. The session model is what the runner
|
|
129
|
+
* binds; a caller with a cheaper model for summaries binds that instead.
|
|
130
|
+
*/
|
|
131
|
+
export declare function createModelSummarizer(model: SummarizingModel): ConversationSummarizer;
|
|
132
|
+
/** A message-count and character-based size of a conversation — an estimate, never tokens. */
|
|
133
|
+
export interface ConversationSize {
|
|
134
|
+
messages: number;
|
|
135
|
+
characters: number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The size of a conversation as a message count and a character estimate. Characters, not tokens,
|
|
139
|
+
* on purpose: precise token accounting belongs with the threshold that needs it (EXT-161), and a
|
|
140
|
+
* before/after comparison only has to agree with itself.
|
|
141
|
+
*/
|
|
142
|
+
export declare function conversationSize(messages: readonly BaseMessage[]): ConversationSize;
|
|
143
|
+
/** The structural surface of a compiled LangGraph graph that a replacement needs. */
|
|
144
|
+
export interface MessagesGraph {
|
|
145
|
+
updateState(config: RunnableConfig, values: {
|
|
146
|
+
messages: BaseMessage[];
|
|
147
|
+
}, asNode?: string): Promise<unknown>;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Replace a thread's whole message list with `messages`, through the graph's own `updateState`.
|
|
151
|
+
*
|
|
152
|
+
* The write is `RemoveMessage(REMOVE_ALL_MESSAGES)` followed by the replacement, which the
|
|
153
|
+
* `messagesStateReducer` behind `state.messages` turns into "discard everything, keep what
|
|
154
|
+
* follows". Going through `updateState` is what makes a compaction durable for free: the graph
|
|
155
|
+
* writes a new checkpoint, so the next turn and a later resume both load the compacted history.
|
|
156
|
+
*/
|
|
157
|
+
export declare function replaceGraphMessages(graph: MessagesGraph, runConfig: RunnableConfig, messages: readonly BaseMessage[]): Promise<void>;
|
|
158
|
+
/** What `GthAgentRunner.compactConversation` reports about the compaction it applied. */
|
|
159
|
+
export interface ConversationCompaction {
|
|
160
|
+
/** Whether anything was folded. When false, nothing was written and `after` equals `before`. */
|
|
161
|
+
changed: boolean;
|
|
162
|
+
/** Messages folded into the summary. */
|
|
163
|
+
removedCount: number;
|
|
164
|
+
/** Messages kept verbatim after the summary (the whole conversation when nothing changed). */
|
|
165
|
+
keptCount: number;
|
|
166
|
+
/** The tail length that was asked for; the kept count can be wider (a tool pair was protected). */
|
|
167
|
+
keepRecent: number;
|
|
168
|
+
/** The summary the model produced, or `''` when nothing changed. */
|
|
169
|
+
summaryText: string;
|
|
170
|
+
/** The conversation's size before the compaction. */
|
|
171
|
+
before: ConversationSize;
|
|
172
|
+
/** The conversation's size as the graph holds it afterwards, read back rather than computed. */
|
|
173
|
+
after: ConversationSize;
|
|
174
|
+
}
|
|
175
|
+
/** Options for `GthAgentRunner.compactConversation`. */
|
|
176
|
+
export interface CompactConversationOptions {
|
|
177
|
+
/** Free text after `/compact`: what the summary should concentrate on. */
|
|
178
|
+
focus?: string;
|
|
179
|
+
/** Trailing messages to keep verbatim; {@link DEFAULT_KEEP_RECENT} when omitted. */
|
|
180
|
+
keepRecent?: number;
|
|
181
|
+
}
|