agentfootprint 9.0.0 → 9.2.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 +15 -0
- package/dist/core/Agent.js +344 -18
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/LLMCall.js +17 -0
- package/dist/core/LLMCall.js.map +1 -1
- package/dist/core/RunnerBase.js +22 -6
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +20 -0
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/conversation.js +139 -0
- package/dist/core/conversation.js.map +1 -0
- package/dist/core/runCheckpoint.js +60 -2
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/embedders/index.js +112 -0
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +218 -3
- package/dist/esm/core/Agent.js +345 -19
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/LLMCall.d.ts +9 -0
- package/dist/esm/core/LLMCall.js +17 -0
- package/dist/esm/core/LLMCall.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +22 -6
- package/dist/esm/core/RunnerBase.js +22 -6
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +5 -0
- package/dist/esm/core/agent/AgentBuilder.js +20 -0
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +45 -3
- package/dist/esm/core/conversation.d.ts +96 -0
- package/dist/esm/core/conversation.js +133 -0
- package/dist/esm/core/conversation.js.map +1 -0
- package/dist/esm/core/runCheckpoint.d.ts +85 -1
- package/dist/esm/core/runCheckpoint.js +57 -1
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/embedders/index.d.ts +31 -0
- package/dist/esm/embedders/index.js +112 -0
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/hosting/standingAgent.d.ts +6 -2
- package/dist/esm/hosting/standingAgent.js +36 -27
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/rag/indexDocuments.d.ts +18 -0
- package/dist/esm/lib/rag/indexDocuments.js +29 -0
- package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
- package/dist/esm/memory/embedding/inputCeiling.d.ts +98 -0
- package/dist/esm/memory/embedding/inputCeiling.js +53 -0
- package/dist/esm/memory/embedding/inputCeiling.js.map +1 -0
- package/dist/esm/memory/embedding/mockEmbedder.js +13 -0
- package/dist/esm/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/esm/memory/embedding/types.d.ts +32 -0
- package/dist/esm/rag/indexCorpus.d.ts +16 -2
- package/dist/esm/rag/indexCorpus.js +27 -3
- package/dist/esm/rag/indexCorpus.js.map +1 -1
- package/dist/esm/rag/splitters/index.d.ts +22 -0
- package/dist/esm/rag/splitters/index.js +22 -0
- package/dist/esm/rag/splitters/index.js.map +1 -1
- package/dist/esm/rag/types.d.ts +9 -0
- package/dist/hosting/standingAgent.js +36 -27
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/rag/indexDocuments.js +29 -0
- package/dist/lib/rag/indexDocuments.js.map +1 -1
- package/dist/memory/embedding/inputCeiling.js +58 -0
- package/dist/memory/embedding/inputCeiling.js.map +1 -0
- package/dist/memory/embedding/mockEmbedder.js +13 -0
- package/dist/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/rag/indexCorpus.js +27 -3
- package/dist/rag/indexCorpus.js.map +1 -1
- package/dist/rag/splitters/index.js +22 -0
- package/dist/rag/splitters/index.js.map +1 -1
- package/dist/types/core/Agent.d.ts +218 -3
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/LLMCall.d.ts +9 -0
- package/dist/types/core/LLMCall.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +22 -6
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +5 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +45 -3
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/conversation.d.ts +97 -0
- package/dist/types/core/conversation.d.ts.map +1 -0
- package/dist/types/core/runCheckpoint.d.ts +85 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts +31 -0
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts +6 -2
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/rag/indexDocuments.d.ts +18 -0
- package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
- package/dist/types/memory/embedding/inputCeiling.d.ts +99 -0
- package/dist/types/memory/embedding/inputCeiling.d.ts.map +1 -0
- package/dist/types/memory/embedding/mockEmbedder.d.ts.map +1 -1
- package/dist/types/memory/embedding/types.d.ts +32 -0
- package/dist/types/memory/embedding/types.d.ts.map +1 -1
- package/dist/types/rag/indexCorpus.d.ts +16 -2
- package/dist/types/rag/indexCorpus.d.ts.map +1 -1
- package/dist/types/rag/splitters/index.d.ts +22 -0
- package/dist/types/rag/splitters/index.d.ts.map +1 -1
- package/dist/types/rag/types.d.ts +9 -0
- package/dist/types/rag/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* conversation — the refusals that guard a runner's per-instance state.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: teaching refusal at a boundary (the shape `runInput` uses for a
|
|
6
|
+
* caller's message, applied to a caller's TIMING).
|
|
7
|
+
* Role: core/ layer. An `Agent` keeps the last run's executor, run context,
|
|
8
|
+
* answer and pause on ITSELF — that is what makes `checkpoint()`,
|
|
9
|
+
* `getLastSnapshot()` and `followUp()` possible at all. Those fields
|
|
10
|
+
* have exactly one owner at a time, and until 9.2.0 nothing said so.
|
|
11
|
+
* Emits: N/A — these fire before a run starts.
|
|
12
|
+
*
|
|
13
|
+
* ## Why these are refusals and not warnings
|
|
14
|
+
*
|
|
15
|
+
* Both shapes below used to SUCCEED, which is the entire problem. Two `run()`
|
|
16
|
+
* calls overlapping on one Agent both resolved with plausible answers, and the
|
|
17
|
+
* per-instance state afterwards belonged to whichever finished last: the
|
|
18
|
+
* conversation `checkpoint()` handed back was the other run's, the snapshot
|
|
19
|
+
* `getLastSnapshot()` served was the other run's, and every event carried the
|
|
20
|
+
* other run's meta. That is not concurrency, it is corruption — and nothing in
|
|
21
|
+
* the recording said so, because each run's own trace looked perfect.
|
|
22
|
+
*
|
|
23
|
+
* A message sent while a person still owes the agent an answer used to start a
|
|
24
|
+
* fresh run and silently abandon the pending question. A consent gate that can
|
|
25
|
+
* be walked around by sending another message is not a consent gate.
|
|
26
|
+
*
|
|
27
|
+
* Neither refusal is new policy. `standingAgent` has refused both since it
|
|
28
|
+
* existed (it serializes runs globally and calls that "a correctness
|
|
29
|
+
* requirement rather than a tuning choice", and answers a message that arrives
|
|
30
|
+
* mid-question with `AwaitingDecisionError`), and `recordedChat.send` refuses
|
|
31
|
+
* an overlapping turn in the same words. 9.2.0 moves the guarantee from the
|
|
32
|
+
* compositions down to the primitive, so it holds however you drive it.
|
|
33
|
+
*
|
|
34
|
+
* The names are deliberately NOT the hosting ones. `hosting/errors.ts` already
|
|
35
|
+
* owns `ConcurrentRunError` and `AwaitingDecisionError`, both of which carry a
|
|
36
|
+
* `sessionId` and speak about a session; core has no sessions, and two classes
|
|
37
|
+
* sharing one name across two doors is the duplicate-type hazard this codebase
|
|
38
|
+
* has fixed before.
|
|
39
|
+
*/
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.NoConversationError = exports.PendingQuestionError = exports.RunInFlightError = void 0;
|
|
42
|
+
/**
|
|
43
|
+
* Thrown when `run()` / `resume()` is called on a runner that is already
|
|
44
|
+
* running.
|
|
45
|
+
*
|
|
46
|
+
* One instance answers one turn at a time. To run two turns at once, build two
|
|
47
|
+
* agents — a chart is built once per instance and instances are cheap — or put
|
|
48
|
+
* the turns behind `standingAgent({ onConcurrentInvoke: 'enqueue' })`, which
|
|
49
|
+
* queues them.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Refused: both would write the same instance's last-run state.
|
|
54
|
+
* await Promise.all([agent.run({ message: 'a' }), agent.run({ message: 'b' })]);
|
|
55
|
+
*
|
|
56
|
+
* // Fine: two instances, two sets of state.
|
|
57
|
+
* await Promise.all([agentA.run({ message: 'a' }), agentB.run({ message: 'b' })]);
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
class RunInFlightError extends Error {
|
|
61
|
+
code = 'ERR_RUN_IN_FLIGHT';
|
|
62
|
+
/** The runner that is busy, by its configured id. */
|
|
63
|
+
agentId;
|
|
64
|
+
/** The run already in flight, so a log line can be joined to its trace. */
|
|
65
|
+
activeRunId;
|
|
66
|
+
constructor(door, agentId, activeRunId) {
|
|
67
|
+
super(`${door}: this agent is already running (run '${activeRunId}'). One instance answers one ` +
|
|
68
|
+
`turn at a time — its last executor, run context, answer and pause all live on the ` +
|
|
69
|
+
`instance, so two overlapping runs would each finish having overwritten the other's. ` +
|
|
70
|
+
`Both would return a plausible answer and checkpoint() would then hand back whichever ` +
|
|
71
|
+
`finished last, which is why this is refused rather than left to look like it worked. ` +
|
|
72
|
+
`Await the run in flight, build a second Agent for the second turn (charts are ` +
|
|
73
|
+
`built per instance and instances are cheap), or serve the agent through ` +
|
|
74
|
+
`standingAgent({ onConcurrentInvoke: 'enqueue' }) to queue turns behind each other.`);
|
|
75
|
+
this.name = 'RunInFlightError';
|
|
76
|
+
this.agentId = agentId;
|
|
77
|
+
this.activeRunId = activeRunId;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.RunInFlightError = RunInFlightError;
|
|
81
|
+
/**
|
|
82
|
+
* Thrown when a new message is sent to an agent whose last run PAUSED to ask a
|
|
83
|
+
* person something, and that question has not been answered.
|
|
84
|
+
*
|
|
85
|
+
* The pause is not a failure and not a stale flag — it is unfinished work with
|
|
86
|
+
* a person on the other end. Answer it with `resume(checkpoint, decision)`, or
|
|
87
|
+
* say plainly that it is being dropped with `abandonPause()`; both are visible
|
|
88
|
+
* in the record, and silently starting a fresh run was not.
|
|
89
|
+
*/
|
|
90
|
+
class PendingQuestionError extends Error {
|
|
91
|
+
code = 'ERR_PENDING_QUESTION';
|
|
92
|
+
/** The tool that asked, when the pause named one. */
|
|
93
|
+
toolName;
|
|
94
|
+
/** The id of the tool call that asked, for joining back to the trace. */
|
|
95
|
+
toolCallId;
|
|
96
|
+
constructor(door, pending) {
|
|
97
|
+
const asked = pending.toolName !== undefined
|
|
98
|
+
? `'${pending.toolName}'${pending.toolCallId ? ` (call ${pending.toolCallId})` : ''}`
|
|
99
|
+
: 'a tool';
|
|
100
|
+
const quoted = pending.question !== undefined ? ` It asked: "${pending.question}"` : '';
|
|
101
|
+
super(`${door}: this agent's last run paused to ask a person something and is still waiting. ` +
|
|
102
|
+
`${asked} raised the question and nothing has answered it.${quoted} Answer it with ` +
|
|
103
|
+
`agent.resume(outcome.checkpoint, decision) — that continues the paused run from where ` +
|
|
104
|
+
`it stopped, with no earlier tool re-executed. If the question really is being dropped, ` +
|
|
105
|
+
`call agent.abandonPause() first and then run() again: a pending question that a later ` +
|
|
106
|
+
`message silently discards is a consent gate anyone can walk around.`);
|
|
107
|
+
this.name = 'PendingQuestionError';
|
|
108
|
+
if (pending.toolName !== undefined)
|
|
109
|
+
this.toolName = pending.toolName;
|
|
110
|
+
if (pending.toolCallId !== undefined)
|
|
111
|
+
this.toolCallId = pending.toolCallId;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.PendingQuestionError = PendingQuestionError;
|
|
115
|
+
/**
|
|
116
|
+
* Thrown by `followUp()` when there is no conversation to follow up on.
|
|
117
|
+
*
|
|
118
|
+
* `followUp()` continues THIS agent's own last completed run. Before the first
|
|
119
|
+
* one there is nothing to continue, and a "follow-up" that quietly became a
|
|
120
|
+
* first turn would be the very confusion the door exists to remove.
|
|
121
|
+
*/
|
|
122
|
+
class NoConversationError extends Error {
|
|
123
|
+
code = 'ERR_NO_CONVERSATION';
|
|
124
|
+
constructor(door, reason) {
|
|
125
|
+
super(reason === 'never-run'
|
|
126
|
+
? `${door}: this agent has not completed a run, so there is no conversation to ` +
|
|
127
|
+
`continue. Start it with agent.run({ message }) — the first turn is a run; every ` +
|
|
128
|
+
`turn after it is a followUp(). To continue a conversation this PROCESS did not ` +
|
|
129
|
+
`have (a stored one, or one from another instance), pass it explicitly: ` +
|
|
130
|
+
`agent.run({ message, continueFrom: storedConversation }).`
|
|
131
|
+
: `${door}: this agent's last run did not finish with an answer, so there is no ` +
|
|
132
|
+
`conversation to continue yet. A failed run's conversation is carried by ` +
|
|
133
|
+
`RunCheckpointError.checkpoint — catch it and pass that to ` +
|
|
134
|
+
`run({ message, continueFrom }) or resumeOnError(checkpoint).`);
|
|
135
|
+
this.name = 'NoConversationError';
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.NoConversationError = NoConversationError;
|
|
139
|
+
//# sourceMappingURL=conversation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/core/conversation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;;;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,GAAG,mBAA4B,CAAC;IAC7C,qDAAqD;IAC5C,OAAO,CAAS;IACzB,2EAA2E;IAClE,WAAW,CAAS;IAE7B,YAAY,IAAY,EAAE,OAAe,EAAE,WAAmB;QAC5D,KAAK,CACH,GAAG,IAAI,yCAAyC,WAAW,+BAA+B;YACxF,oFAAoF;YACpF,sFAAsF;YACtF,uFAAuF;YACvF,uFAAuF;YACvF,gFAAgF;YAChF,0EAA0E;YAC1E,oFAAoF,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAtBD,4CAsBC;AAED;;;;;;;;GAQG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAA+B,CAAC;IAChD,qDAAqD;IAC5C,QAAQ,CAAU;IAC3B,yEAAyE;IAChE,UAAU,CAAU;IAE7B,YACE,IAAY,EACZ,OAAsE;QAEtE,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrF,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,KAAK,CACH,GAAG,IAAI,iFAAiF;YACtF,GAAG,KAAK,oDAAoD,MAAM,kBAAkB;YACpF,wFAAwF;YACxF,yFAAyF;YACzF,wFAAwF;YACxF,qEAAqE,CACxE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC7E,CAAC;CACF;AA5BD,oDA4BC;AAED;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,KAAK;IACnC,IAAI,GAAG,qBAA8B,CAAC;IAE/C,YAAY,IAAY,EAAE,MAA2C;QACnE,KAAK,CACH,MAAM,KAAK,WAAW;YACpB,CAAC,CAAC,GAAG,IAAI,uEAAuE;gBAC5E,kFAAkF;gBAClF,iFAAiF;gBACjF,yEAAyE;gBACzE,2DAA2D;YAC/D,CAAC,CAAC,GAAG,IAAI,wEAAwE;gBAC7E,0EAA0E;gBAC1E,4DAA4D;gBAC5D,8DAA8D,CACrE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAlBD,kDAkBC"}
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
* DFS stage).
|
|
56
56
|
*/
|
|
57
57
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
-
exports.classifyFailurePhase = exports.validateCheckpoint = exports.buildCheckpoint = exports.RunCheckpointError = void 0;
|
|
58
|
+
exports.classifyFailurePhase = exports.validateCheckpoint = exports.buildCheckpoint = exports.assertContinuable = exports.ConversationMismatchError = exports.RunCheckpointError = void 0;
|
|
59
59
|
/**
|
|
60
60
|
* Thrown by `agent.run()` when a fault occurs mid-run. Carries the
|
|
61
61
|
* underlying error AND the last-known-good checkpoint. Catch this
|
|
@@ -101,6 +101,55 @@ class RunCheckpointError extends Error {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
exports.RunCheckpointError = RunCheckpointError;
|
|
104
|
+
/**
|
|
105
|
+
* Thrown when a stored conversation is handed to an agent that is provably
|
|
106
|
+
* not the one that recorded it (9.2.0).
|
|
107
|
+
*
|
|
108
|
+
* Raised only when BOTH sides named themselves with an explicit
|
|
109
|
+
* `Agent.create({ id })` and the two names differ — see
|
|
110
|
+
* {@link AgentRunCheckpoint.agent} for why that is the whole of the rule.
|
|
111
|
+
* An agent that gained a tool, changed its prompt or moved to a new model
|
|
112
|
+
* since the conversation was stored is NOT this error; continuing across a
|
|
113
|
+
* deploy is the ordinary case and must keep working.
|
|
114
|
+
*/
|
|
115
|
+
class ConversationMismatchError extends Error {
|
|
116
|
+
code = 'ERR_CONVERSATION_MISMATCH';
|
|
117
|
+
/** The id stamped on the stored conversation. */
|
|
118
|
+
storedAgentId;
|
|
119
|
+
/** The id of the agent it was handed to. */
|
|
120
|
+
agentId;
|
|
121
|
+
constructor(door, storedAgentId, agentId) {
|
|
122
|
+
super(`${door}: this conversation was recorded by agent '${storedAgentId}' and was handed to ` +
|
|
123
|
+
`agent '${agentId}'. Both agents named themselves with Agent.create({ id }), and the ` +
|
|
124
|
+
`names differ — so this is one agent answering another one's conversation, not a ` +
|
|
125
|
+
`deploy that changed. Continue it on the agent whose id is '${storedAgentId}', or, if ` +
|
|
126
|
+
`handing conversations between these two really is intended, give them the same id. ` +
|
|
127
|
+
`(An agent that merely gained a tool, changed its prompt or moved model since the ` +
|
|
128
|
+
`conversation was stored keeps the same id and is never refused here.)`);
|
|
129
|
+
this.name = 'ConversationMismatchError';
|
|
130
|
+
this.storedAgentId = storedAgentId;
|
|
131
|
+
this.agentId = agentId;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.ConversationMismatchError = ConversationMismatchError;
|
|
135
|
+
/**
|
|
136
|
+
* Refuse a stored conversation that provably belongs to a different agent.
|
|
137
|
+
*
|
|
138
|
+
* Both-sides-named-themselves, or nothing happens. `storedId` is absent on
|
|
139
|
+
* every conversation written before 9.2.0 and on every agent that never chose
|
|
140
|
+
* an id; `agentId` is undefined for the same reason on the reading side.
|
|
141
|
+
*
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
function assertContinuable(checkpoint, agentId, door) {
|
|
145
|
+
const storedId = checkpoint.agent?.id;
|
|
146
|
+
if (storedId === undefined || agentId === undefined)
|
|
147
|
+
return;
|
|
148
|
+
if (storedId === agentId)
|
|
149
|
+
return;
|
|
150
|
+
throw new ConversationMismatchError(door, storedId, agentId);
|
|
151
|
+
}
|
|
152
|
+
exports.assertContinuable = assertContinuable;
|
|
104
153
|
/**
|
|
105
154
|
* The human half of `failurePoint`, as one clause.
|
|
106
155
|
*
|
|
@@ -135,7 +184,14 @@ function buildCheckpoint(tracker, failurePoint,
|
|
|
135
184
|
* and a fold's span is committed state — and because the same reader then
|
|
136
185
|
* serves both checkpoint carriers, so neither can lose what the other keeps.
|
|
137
186
|
*/
|
|
138
|
-
folded
|
|
187
|
+
folded,
|
|
188
|
+
/**
|
|
189
|
+
* Who the run was for and which agent ran it — the two fields that make a
|
|
190
|
+
* stored conversation continuable rather than merely readable (9.2.0).
|
|
191
|
+
* Both are absent unless the caller chose them explicitly; see
|
|
192
|
+
* {@link AgentRunCheckpoint.identity} and {@link AgentRunCheckpoint.agent}.
|
|
193
|
+
*/
|
|
194
|
+
owner) {
|
|
139
195
|
return {
|
|
140
196
|
version: 1,
|
|
141
197
|
runId: tracker.runId,
|
|
@@ -145,6 +201,8 @@ folded) {
|
|
|
145
201
|
checkpointedAt: Date.now(),
|
|
146
202
|
...(failurePoint && { failurePoint }),
|
|
147
203
|
...(folded !== undefined && folded.length > 0 && { folded }),
|
|
204
|
+
...(owner?.identity !== undefined && { identity: owner.identity }),
|
|
205
|
+
...(owner?.agentId !== undefined && { agent: { id: owner.agentId } }),
|
|
148
206
|
};
|
|
149
207
|
}
|
|
150
208
|
exports.buildCheckpoint = buildCheckpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCheckpoint.js","sourceRoot":"","sources":["../../src/core/runCheckpoint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;
|
|
1
|
+
{"version":3,"file":"runCheckpoint.js","sourceRoot":"","sources":["../../src/core/runCheckpoint.ts"],"names":[],"mappings":"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"}
|
package/dist/embedders/index.js
CHANGED
|
@@ -40,6 +40,45 @@ const NATIVE_DIMENSIONS = {
|
|
|
40
40
|
'text-embedding-3-large': 3072,
|
|
41
41
|
'text-embedding-ada-002': 1536,
|
|
42
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Chars-per-token used to convert a documented TOKEN window into the CHARACTER
|
|
45
|
+
* ceiling {@link Embedder.maxInputChars} states (9.1.0).
|
|
46
|
+
*
|
|
47
|
+
* **4 characters per token**, the standard rule of thumb for English prose, and
|
|
48
|
+
* the number every ceiling below is derived from — 8,191 tokens becomes 32,000
|
|
49
|
+
* characters (floored to a round number a warning can state plainly).
|
|
50
|
+
*
|
|
51
|
+
* It is an ASSUMPTION, not a measurement, and it is stated here so it can be
|
|
52
|
+
* argued with. Code, tables, CJK text and heavy punctuation all tokenise
|
|
53
|
+
* DENSER than prose, so a chunk of exactly 32,000 characters of such material
|
|
54
|
+
* can still exceed 8,191 tokens and be clipped. That is what an explicit
|
|
55
|
+
* `maxChunkChars` is for: it always wins over a declared ceiling, precisely so
|
|
56
|
+
* a caller who knows their corpus is dense can say a smaller number. For the
|
|
57
|
+
* shipped splitter defaults (1,000 characters a chunk) the distinction never
|
|
58
|
+
* arises — the ceiling matters when a consumer RAISES the splitter, which is
|
|
59
|
+
* the case this whole mechanism exists to keep honest.
|
|
60
|
+
*/
|
|
61
|
+
const CHARS_PER_TOKEN = 4;
|
|
62
|
+
/**
|
|
63
|
+
* Documented input window per OpenAI embedding model, in TOKENS.
|
|
64
|
+
*
|
|
65
|
+
* All three current models accept 8,191 tokens — OpenAI's embeddings guide and
|
|
66
|
+
* the model pages state the same limit for `text-embedding-3-small`,
|
|
67
|
+
* `text-embedding-3-large` and `text-embedding-ada-002`. A model this library
|
|
68
|
+
* does not know gets NO declared ceiling rather than a guessed one: the same
|
|
69
|
+
* rule `.dimensions` applies, for the same reason — a wrong ceiling clips in
|
|
70
|
+
* silence, and an absent one simply leaves the indexer's conservative default
|
|
71
|
+
* in place.
|
|
72
|
+
*/
|
|
73
|
+
const NATIVE_MAX_INPUT_TOKENS = {
|
|
74
|
+
'text-embedding-3-small': 8191,
|
|
75
|
+
'text-embedding-3-large': 8191,
|
|
76
|
+
'text-embedding-ada-002': 8191,
|
|
77
|
+
};
|
|
78
|
+
/** Tokens → characters, floored to a round number a message can state plainly. */
|
|
79
|
+
function charsFor(tokens) {
|
|
80
|
+
return tokens === undefined ? undefined : Math.floor((tokens * CHARS_PER_TOKEN) / 1000) * 1000;
|
|
81
|
+
}
|
|
43
82
|
/**
|
|
44
83
|
* OpenAI's hosted embeddings endpoint.
|
|
45
84
|
*
|
|
@@ -51,6 +90,14 @@ const NATIVE_DIMENSIONS = {
|
|
|
51
90
|
* know, so it is a construction-time error rather than a guess that a vector
|
|
52
91
|
* store would silently trust.
|
|
53
92
|
*
|
|
93
|
+
* `.maxInputChars` (9.1.0) reports **32,000** for the three models above:
|
|
94
|
+
* their documented 8,191-token window at the stated {@link CHARS_PER_TOKEN}
|
|
95
|
+
* assumption. An indexer reads it in preference to its own 2,000-character
|
|
96
|
+
* default, so a corpus split at 2,500 characters is embedded WHOLE here
|
|
97
|
+
* instead of being clipped by a default measured on an on-device model.
|
|
98
|
+
* An unknown model declares no ceiling — the indexer's default stands, which
|
|
99
|
+
* is conservative rather than wrong.
|
|
100
|
+
*
|
|
54
101
|
* @throws if there is no API key, or if `model` is unknown and `dimensions`
|
|
55
102
|
* was not supplied.
|
|
56
103
|
*/
|
|
@@ -71,6 +118,7 @@ function openaiEmbedder(options = {}) {
|
|
|
71
118
|
`library can know, and reporting a wrong .dimensions silently corrupts a vector store. ` +
|
|
72
119
|
`Pass { dimensions } with the length that model returns.`);
|
|
73
120
|
}
|
|
121
|
+
const maxInputChars = charsFor(NATIVE_MAX_INPUT_TOKENS[model]);
|
|
74
122
|
const url = `${options.baseURL ?? 'https://api.openai.com/v1'}/embeddings`;
|
|
75
123
|
async function call(input, signal) {
|
|
76
124
|
const res = await fetch(url, {
|
|
@@ -92,6 +140,10 @@ function openaiEmbedder(options = {}) {
|
|
|
92
140
|
// fingerprint is `'<id>@<dims>'`, so it appends the dimensions itself and
|
|
93
141
|
// a truncated vector is already a different fingerprint from a native one.
|
|
94
142
|
id: `openai:${model}`,
|
|
143
|
+
// The documented window, in the unit a splitter cuts in. Spread rather
|
|
144
|
+
// than assigned so an unknown model declares NOTHING instead of
|
|
145
|
+
// `undefined` — the field is optional and its absence is meaningful.
|
|
146
|
+
...(maxInputChars !== undefined && { maxInputChars }),
|
|
95
147
|
async embed({ text, signal }) {
|
|
96
148
|
return (await call([text], signal))[0];
|
|
97
149
|
},
|
|
@@ -117,6 +169,23 @@ const TITAN_DIMENSIONS = {
|
|
|
117
169
|
'amazon.titan-embed-text-v2:0': 1024,
|
|
118
170
|
'amazon.titan-embed-text-v1': 1536,
|
|
119
171
|
};
|
|
172
|
+
/**
|
|
173
|
+
* Documented input window per Titan text-embedding model, in TOKENS.
|
|
174
|
+
*
|
|
175
|
+
* Both Titan text-embedding models accept **8,192 tokens** — sixteen times the
|
|
176
|
+
* on-device model the shipped default ceiling was measured on. That gap is the
|
|
177
|
+
* whole point of declaring one: without it, a corpus split at 2,500 characters
|
|
178
|
+
* is reported as clipped (and treated as such by the indexer's default) by an
|
|
179
|
+
* embedder that reads every one of those chunks whole.
|
|
180
|
+
*
|
|
181
|
+
* A model outside this table gets NO declared ceiling — the same rule
|
|
182
|
+
* `.dimensions` applies. Another vendor's embedding model on the same runtime
|
|
183
|
+
* may have a far shorter window, and guessing this one's would clip in silence.
|
|
184
|
+
*/
|
|
185
|
+
const TITAN_MAX_INPUT_TOKENS = {
|
|
186
|
+
'amazon.titan-embed-text-v2:0': 8192,
|
|
187
|
+
'amazon.titan-embed-text-v1': 8192,
|
|
188
|
+
};
|
|
120
189
|
const TITAN_V2_SUPPORTED = [1024, 512, 256];
|
|
121
190
|
/**
|
|
122
191
|
* Amazon Bedrock's hosted embeddings, through `InvokeModel`.
|
|
@@ -146,6 +215,16 @@ const TITAN_V2_SUPPORTED = [1024, 512, 256];
|
|
|
146
215
|
* q8 and an fp32 build of one model are near-identical spaces, and "near" is
|
|
147
216
|
* exactly the difference that surfaces as a mysteriously worse ranking.)
|
|
148
217
|
*
|
|
218
|
+
* ── The input ceiling (9.1.0) ────────────────────────────────────────────
|
|
219
|
+
* `.maxInputChars` reports **32,000** for both Titan text-embedding models:
|
|
220
|
+
* their documented 8,192-token window, converted at the stated
|
|
221
|
+
* {@link CHARS_PER_TOKEN} assumption of 4 characters per token. Sixteen times
|
|
222
|
+
* the indexer's own default, which was measured on an on-device model — so an
|
|
223
|
+
* indexing run against this embedder now embeds a 2,500-character chunk whole
|
|
224
|
+
* instead of clipping it and calling that success. Dense text (code, tables,
|
|
225
|
+
* CJK) tokenises tighter than the assumption; pass an explicit `maxChunkChars`
|
|
226
|
+
* for such a corpus, and it wins over this number.
|
|
227
|
+
*
|
|
149
228
|
* @throws if `model` is unknown and `dimensions` was not supplied; if
|
|
150
229
|
* `dimensions` is not one of Titan V2's supported sizes; or if the SDK
|
|
151
230
|
* is missing and no `client` / `_client` / `_sdk` was passed.
|
|
@@ -176,6 +255,7 @@ function bedrockEmbedder(options = {}) {
|
|
|
176
255
|
`produce would store vectors of a length that disagrees with the .dimensions this ` +
|
|
177
256
|
`embedder reports.`);
|
|
178
257
|
}
|
|
258
|
+
const maxInputChars = charsFor(TITAN_MAX_INPUT_TOKENS[model]);
|
|
179
259
|
let connection;
|
|
180
260
|
/**
|
|
181
261
|
* Resolve the client + command constructor, once, on first embed.
|
|
@@ -247,6 +327,9 @@ function bedrockEmbedder(options = {}) {
|
|
|
247
327
|
dimensions,
|
|
248
328
|
// The embedding SPACE, size included — see the note above.
|
|
249
329
|
id: `bedrock:${model}:${dimensions}`,
|
|
330
|
+
// Spread, so a model this factory does not know declares NO ceiling rather
|
|
331
|
+
// than one it cannot stand behind.
|
|
332
|
+
...(maxInputChars !== undefined && { maxInputChars }),
|
|
250
333
|
async embed({ text, signal }) {
|
|
251
334
|
return invoke(text, signal);
|
|
252
335
|
},
|
|
@@ -324,6 +407,19 @@ function describeShape(value) {
|
|
|
324
407
|
}
|
|
325
408
|
return typeof value;
|
|
326
409
|
}
|
|
410
|
+
/**
|
|
411
|
+
* The MEASURED cliff of the default model, and the origin of the whole
|
|
412
|
+
* mechanism: `Xenova/all-MiniLM-L6-v2` silently truncates at 512 wordpiece
|
|
413
|
+
* tokens ≈ 1,800–2,000 characters of English. Measured directly — at 508 base
|
|
414
|
+
* tokens an appended tail still moves the vector (cosine 0.9965); at 596 it
|
|
415
|
+
* does not (0.999999). Nothing is thrown and nothing says so.
|
|
416
|
+
*
|
|
417
|
+
* It is the number `indexCorpus` used as its own default for every embedder,
|
|
418
|
+
* which is why a hosted model with an 8k-token window was being cut into
|
|
419
|
+
* pieces a sixteenth of what it could read. Here it is declared by the
|
|
420
|
+
* embedder it was measured on, where it is true.
|
|
421
|
+
*/
|
|
422
|
+
const LOCAL_MAX_INPUT_CHARS = 2000;
|
|
327
423
|
function localEmbedder(options = {}) {
|
|
328
424
|
const model = options.model ?? 'Xenova/all-MiniLM-L6-v2';
|
|
329
425
|
const dimensions = options.dimensions ?? 384;
|
|
@@ -352,6 +448,7 @@ function localEmbedder(options = {}) {
|
|
|
352
448
|
// are close but not identical spaces, and "close" is exactly the kind of
|
|
353
449
|
// difference that shows up as a mysteriously worse ranking.
|
|
354
450
|
id: `local:${model}:${dtype}`,
|
|
451
|
+
maxInputChars: options.maxInputChars ?? LOCAL_MAX_INPUT_CHARS,
|
|
355
452
|
async embed({ text }) {
|
|
356
453
|
const p = await getPipe();
|
|
357
454
|
const out = await p(text, { pooling: 'mean', normalize: true });
|
|
@@ -365,6 +462,19 @@ function localEmbedder(options = {}) {
|
|
|
365
462
|
};
|
|
366
463
|
}
|
|
367
464
|
exports.localEmbedder = localEmbedder;
|
|
465
|
+
/**
|
|
466
|
+
* Declared input ceiling for the static path (9.1.0), and the one case where
|
|
467
|
+
* the honest answer is "there isn't a cliff".
|
|
468
|
+
*
|
|
469
|
+
* A Model2Vec model has no transformer and therefore no context window: it
|
|
470
|
+
* looks each token's vector up and pools them, so the ten-thousandth token
|
|
471
|
+
* contributes exactly like the first. Nothing is dropped at any length. The
|
|
472
|
+
* number is a practical bound (a megabyte of text), declared rather than
|
|
473
|
+
* omitted so that an indexer does not fall back to a 2,000-character default
|
|
474
|
+
* measured on a model with a real cliff and warn about clipping that never
|
|
475
|
+
* happened.
|
|
476
|
+
*/
|
|
477
|
+
const STATIC_MAX_INPUT_CHARS = 1_000_000;
|
|
368
478
|
function staticEmbedder(options = {}) {
|
|
369
479
|
const dimensions = options.dimensions ?? 256;
|
|
370
480
|
const spec = options.module ?? '@yarflam/potion-base-8m';
|
|
@@ -408,6 +518,8 @@ function staticEmbedder(options = {}) {
|
|
|
408
518
|
return {
|
|
409
519
|
dimensions,
|
|
410
520
|
id: `static:${spec}`,
|
|
521
|
+
// No context window to fall off — see the constant.
|
|
522
|
+
maxInputChars: STATIC_MAX_INPUT_CHARS,
|
|
411
523
|
async embed({ text }) {
|
|
412
524
|
const fn = await getEmbed();
|
|
413
525
|
const rows = toRows(await fn([text]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|