@kindgi/agents 0.1.1 → 0.1.3
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/conversation-binding.d.ts +9 -1
- package/dist/conversation-binding.d.ts.map +1 -1
- package/dist/define.js +20 -0
- package/dist/define.js.map +1 -1
- package/dist/guardrails-gate.d.ts +7 -4
- package/dist/guardrails-gate.d.ts.map +1 -1
- package/dist/guardrails-gate.js +5 -2
- package/dist/guardrails-gate.js.map +1 -1
- package/dist/handlers/context.d.ts +14 -0
- package/dist/handlers/context.d.ts.map +1 -1
- package/dist/handlers/dispatch-tools.d.ts.map +1 -1
- package/dist/handlers/dispatch-tools.js +57 -60
- package/dist/handlers/dispatch-tools.js.map +1 -1
- package/dist/handlers/errors.d.ts +11 -1
- package/dist/handlers/errors.d.ts.map +1 -1
- package/dist/handlers/errors.js.map +1 -1
- package/dist/handlers/evaluate-guardrails.d.ts.map +1 -1
- package/dist/handlers/evaluate-guardrails.js +34 -1
- package/dist/handlers/evaluate-guardrails.js.map +1 -1
- package/dist/handlers/gate-decision.d.ts +62 -0
- package/dist/handlers/gate-decision.d.ts.map +1 -0
- package/dist/handlers/gate-decision.js +55 -0
- package/dist/handlers/gate-decision.js.map +1 -0
- package/dist/handlers/model-call.d.ts +10 -0
- package/dist/handlers/model-call.d.ts.map +1 -1
- package/dist/handlers/model-call.js +109 -34
- package/dist/handlers/model-call.js.map +1 -1
- package/dist/handlers/persist-provenance.d.ts.map +1 -1
- package/dist/handlers/persist-provenance.js +3 -1
- package/dist/handlers/persist-provenance.js.map +1 -1
- package/dist/handlers/persist-user-message.d.ts.map +1 -1
- package/dist/handlers/persist-user-message.js +5 -16
- package/dist/handlers/persist-user-message.js.map +1 -1
- package/dist/handlers/public-types.d.ts +16 -2
- package/dist/handlers/public-types.d.ts.map +1 -1
- package/dist/handlers/rehydrate.d.ts.map +1 -1
- package/dist/handlers/rehydrate.js +85 -0
- package/dist/handlers/rehydrate.js.map +1 -1
- package/dist/handlers/run-retrievals.d.ts.map +1 -1
- package/dist/handlers/run-retrievals.js +2 -19
- package/dist/handlers/run-retrievals.js.map +1 -1
- package/dist/handlers/setup.d.ts.map +1 -1
- package/dist/handlers/setup.js +44 -24
- package/dist/handlers/setup.js.map +1 -1
- package/dist/handlers/tool-hitl.d.ts +5 -9
- package/dist/handlers/tool-hitl.d.ts.map +1 -1
- package/dist/handlers/tool-hitl.js +5 -0
- package/dist/handlers/tool-hitl.js.map +1 -1
- package/dist/handlers/turn-provenance.d.ts +67 -0
- package/dist/handlers/turn-provenance.d.ts.map +1 -0
- package/dist/handlers/turn-provenance.js +160 -0
- package/dist/handlers/turn-provenance.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/invoke.d.ts +15 -2
- package/dist/invoke.d.ts.map +1 -1
- package/dist/invoke.js +38 -22
- package/dist/invoke.js.map +1 -1
- package/dist/provenance-emit.d.ts +4 -2
- package/dist/provenance-emit.d.ts.map +1 -1
- package/dist/provenance-emit.js +4 -2
- package/dist/provenance-emit.js.map +1 -1
- package/dist/schema.d.ts +17 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -0
- package/dist/schema.js.map +1 -1
- package/dist/types.d.ts +15 -1
- package/dist/types.d.ts.map +1 -1
- package/migrations/0003_hesitant_captain_cross.sql +2 -0
- package/migrations/meta/0003_snapshot.json +321 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +19 -18
- package/src/conversation-binding.ts +9 -1
- package/src/define.ts +20 -0
- package/src/guardrails-gate.ts +17 -3
- package/src/handlers/context.ts +14 -0
- package/src/handlers/dispatch-tools.ts +76 -61
- package/src/handlers/errors.ts +13 -1
- package/src/handlers/evaluate-guardrails.ts +39 -1
- package/src/handlers/gate-decision.ts +101 -0
- package/src/handlers/model-call.ts +149 -33
- package/src/handlers/persist-provenance.ts +3 -1
- package/src/handlers/persist-user-message.ts +3 -16
- package/src/handlers/public-types.ts +16 -2
- package/src/handlers/rehydrate.ts +120 -3
- package/src/handlers/run-retrievals.ts +2 -19
- package/src/handlers/setup.ts +59 -33
- package/src/handlers/tool-hitl.ts +6 -10
- package/src/handlers/turn-provenance.ts +230 -0
- package/src/index.ts +8 -0
- package/src/invoke.ts +53 -25
- package/src/provenance-emit.ts +4 -1
- package/src/schema.ts +11 -0
- package/src/types.ts +15 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/** The turn's user message. */
|
|
4
|
+
export function addInputNode(provenance, message) {
|
|
5
|
+
provenance.addNode({
|
|
6
|
+
id: `input:${message.sequence}`,
|
|
7
|
+
kind: 'input',
|
|
8
|
+
timestamp: message.createdAt,
|
|
9
|
+
...(message.actor !== undefined && { actor: message.actor }),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
/** The facts the turn retrieved for its user message. */
|
|
13
|
+
export function addRetrievalNodes(provenance, retrieved, input) {
|
|
14
|
+
for (const r of retrieved) {
|
|
15
|
+
provenance.addNode({
|
|
16
|
+
id: `retrieval:${r.fact.id}`,
|
|
17
|
+
kind: 'retrieval',
|
|
18
|
+
timestamp: input.createdAt,
|
|
19
|
+
...(r.fact.contentHash !== undefined && { contentHash: r.fact.contentHash }),
|
|
20
|
+
attributes: {
|
|
21
|
+
factId: r.fact.id,
|
|
22
|
+
factType: r.fact.type,
|
|
23
|
+
intentScope: r.intent.scope,
|
|
24
|
+
...(r.score !== undefined && { score: r.score }),
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
provenance.addEdge({
|
|
28
|
+
from: `retrieval:${r.fact.id}`,
|
|
29
|
+
to: `input:${input.sequence}`,
|
|
30
|
+
kind: 'influenced-by',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A model call, `caused-by` the turn's user message and `influenced-by`
|
|
36
|
+
* each of this turn's tool results it read: all of them so far, since
|
|
37
|
+
* the call's input holds every message of the turn before it.
|
|
38
|
+
*/
|
|
39
|
+
export function addModelCallNode(provenance, call, inputSequence, toolResultIds) {
|
|
40
|
+
const id = `model-call:${call.step}`;
|
|
41
|
+
provenance.addNode({
|
|
42
|
+
id,
|
|
43
|
+
kind: 'model-call',
|
|
44
|
+
timestamp: call.at,
|
|
45
|
+
modelVersion: `${call.provider.id}/${call.provider.model}`,
|
|
46
|
+
attributes: {
|
|
47
|
+
step: call.step,
|
|
48
|
+
callId: call.callId,
|
|
49
|
+
providerId: call.provider.id,
|
|
50
|
+
model: call.provider.model,
|
|
51
|
+
finishReason: call.finishReason,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
provenance.addEdge({ from: id, to: `input:${inputSequence}`, kind: 'caused-by' });
|
|
55
|
+
for (const invocationId of toolResultIds) {
|
|
56
|
+
provenance.addEdge({ from: id, to: `tool-result:${invocationId}`, kind: 'influenced-by' });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A tool call the model at `step` made, and its result: the stored tool
|
|
61
|
+
* message (a tool's output, a rejected approval's, or a failed call's).
|
|
62
|
+
* `version` is the tool the agent's binding resolved, when it has one.
|
|
63
|
+
*/
|
|
64
|
+
export function addToolNodes(provenance, step, result, version) {
|
|
65
|
+
const call = result.toolCall;
|
|
66
|
+
if (call === undefined)
|
|
67
|
+
return;
|
|
68
|
+
const callNodeId = `tool-call:${call.invocationId}`;
|
|
69
|
+
const resultNodeId = `tool-result:${call.invocationId}`;
|
|
70
|
+
provenance.addNode({
|
|
71
|
+
id: callNodeId,
|
|
72
|
+
kind: 'tool-call',
|
|
73
|
+
timestamp: result.createdAt,
|
|
74
|
+
attributes: {
|
|
75
|
+
toolId: call.toolId,
|
|
76
|
+
invocationId: call.invocationId,
|
|
77
|
+
// The version the registry picked for the turn and the range the
|
|
78
|
+
// agent asked for, so a replay can pin against the same version.
|
|
79
|
+
...(version !== undefined && {
|
|
80
|
+
toolVersion: version.resolvedVersion,
|
|
81
|
+
toolVersionRange: version.requestedRange,
|
|
82
|
+
}),
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
provenance.addNode({ id: resultNodeId, kind: 'tool-result', timestamp: result.createdAt });
|
|
86
|
+
provenance.addEdge({ from: callNodeId, to: `model-call:${step}`, kind: 'invoked' });
|
|
87
|
+
provenance.addEdge({ from: resultNodeId, to: callNodeId, kind: 'produced' });
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The tool calls of one model step: a node pair for each result the step
|
|
91
|
+
* stored, and their invocation ids added to the turn's tool results.
|
|
92
|
+
*/
|
|
93
|
+
export function addStepToolNodes(ctx, step, stored) {
|
|
94
|
+
for (const result of stored) {
|
|
95
|
+
if (result.role !== 'tool' || result.toolCall === undefined)
|
|
96
|
+
continue;
|
|
97
|
+
const { invocationId, toolId } = result.toolCall;
|
|
98
|
+
if (ctx.provenance !== undefined) {
|
|
99
|
+
addToolNodes(ctx.provenance, step, result, versionOf(ctx, toolId));
|
|
100
|
+
const approval = ctx.toolApprovals?.get(invocationId);
|
|
101
|
+
if (approval !== undefined) {
|
|
102
|
+
addToolApprovalNodes(ctx.provenance, invocationId, approval, ctx.input.agent.id);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
ctx.toolResultIds ??= [];
|
|
106
|
+
ctx.toolResultIds.push(invocationId);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The approval a tool call waited on, as the session gate records its own:
|
|
111
|
+
* a `wait` node (the agent parked) `resumed-from` a `resume` node (the
|
|
112
|
+
* decision, its actor whoever decided). The call `waited-on` the wait, and
|
|
113
|
+
* its result was `caused-by` the decision: the tool's output when approved,
|
|
114
|
+
* the rejection when not.
|
|
115
|
+
*/
|
|
116
|
+
export function addToolApprovalNodes(provenance, invocationId, approval, agentId) {
|
|
117
|
+
const waitId = `tool-hitl-gate-wait:${invocationId}`;
|
|
118
|
+
const resumeId = `tool-hitl-gate-resume:${invocationId}`;
|
|
119
|
+
const { decision } = approval;
|
|
120
|
+
provenance.addNode({
|
|
121
|
+
id: waitId,
|
|
122
|
+
kind: 'wait',
|
|
123
|
+
timestamp: approval.parkedAt,
|
|
124
|
+
actor: `agent:${agentId}`,
|
|
125
|
+
attributes: { gate: 'tool-call', invocationId, waitTokenId: approval.waitTokenId },
|
|
126
|
+
});
|
|
127
|
+
provenance.addNode({
|
|
128
|
+
id: resumeId,
|
|
129
|
+
kind: 'resume',
|
|
130
|
+
timestamp: approval.decidedAt,
|
|
131
|
+
...(decision.decidedBy !== undefined && { actor: decision.decidedBy }),
|
|
132
|
+
attributes: {
|
|
133
|
+
gate: 'tool-call',
|
|
134
|
+
decision: decisionOf(decision),
|
|
135
|
+
...(!decision.approved &&
|
|
136
|
+
decision.reason === 'rejected' &&
|
|
137
|
+
decision.rationale !== undefined && { rationale: decision.rationale }),
|
|
138
|
+
...(decision.approvalId !== undefined && { approvalId: decision.approvalId }),
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
provenance.addEdge({ from: `tool-call:${invocationId}`, to: waitId, kind: 'waited-on' });
|
|
142
|
+
provenance.addEdge({ from: waitId, to: resumeId, kind: 'resumed-from' });
|
|
143
|
+
provenance.addEdge({ from: `tool-result:${invocationId}`, to: resumeId, kind: 'caused-by' });
|
|
144
|
+
}
|
|
145
|
+
/** A gate decision as a `resume` node records it. */
|
|
146
|
+
export function decisionOf(decision) {
|
|
147
|
+
if (decision.approved)
|
|
148
|
+
return 'approve';
|
|
149
|
+
return decision.reason === 'rejected' ? 'reject' : 'unreadable';
|
|
150
|
+
}
|
|
151
|
+
/** The version the agent's binding of `toolId` resolved, if it has one. */
|
|
152
|
+
function versionOf(ctx, toolId) {
|
|
153
|
+
const bindings = [...(ctx.tools?.byName.values() ?? [])];
|
|
154
|
+
const binding = ctx.tools?.byName.get(toolId) ??
|
|
155
|
+
bindings.find((b) => b.tool.id === toolId);
|
|
156
|
+
return binding === undefined
|
|
157
|
+
? undefined
|
|
158
|
+
: { resolvedVersion: binding.resolvedVersion, requestedRange: binding.requestedRange };
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=turn-provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-provenance.js","sourceRoot":"","sources":["../../src/handlers/turn-provenance.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,11 @@ export type { RunSnapshotBinding, RunSnapshotRecord, RunSnapshotWriteInput, } fr
|
|
|
3
3
|
export { defineAgent } from './define.js';
|
|
4
4
|
export type { DefineAgentSpec } from './define.js';
|
|
5
5
|
export { resolveEffectiveHitlPolicy } from './hitl-policy.js';
|
|
6
|
+
export { AGENT_GATE_SUBJECTS, SESSION_GATE_SUBJECT, TOOL_CALL_GATE_SUBJECT, readGateDecision, } from './handlers/gate-decision.js';
|
|
7
|
+
export type { GateDecision, GateDecisionValue } from './handlers/gate-decision.js';
|
|
6
8
|
export type { EffectiveHitlPolicy } from './hitl-policy.js';
|
|
7
9
|
export { agentStepOutput, invokeAgent, resumeAgentTurn } from './invoke.js';
|
|
8
|
-
export type { AgentStepOutput, AgentTurnAbortedError, AgentTurnResult, AgentTurnUsage, AgentTurnWarning, BudgetExceededError, CapabilityRoutingError, InvokeAgentBindings, InvokeAgentError, InvokeAgentInput, ModelInvocationError, OutputSchemaViolationError, ResumeAgentTurnInput, ToolInvocationError, UnresolvedToolError, } from './invoke.js';
|
|
10
|
+
export type { AgentStepOutput, AgentTurnAbortedError, AgentTurnResult, AgentTurnUsage, AgentTurnWarning, BudgetExceededError, CapabilityRoutingError, InvokeAgentBindings, InvokeAgentError, InvokeAgentInput, ModelInvocationError, OutputSchemaViolationError, ResumeAgentTurnInput, RunSnapshotError, ToolInvocationError, UnresolvedToolError, } from './invoke.js';
|
|
9
11
|
export { buildRunTrace, categorizeOutcomes, evaluateGate, evaluateSessionGate, resolveGuardrails, } from './guardrails-gate.js';
|
|
10
12
|
export type { HitlRequiredError, GuardrailViolationError, GuardrailsBindings, SessionGateResult, UnresolvedGuardrailError, } from './guardrails-gate.js';
|
|
11
13
|
export { persistProvenance } from './provenance-emit.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,KAAK,EACL,aAAa,EACb,OAAO,EACP,eAAe,EACf,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC7E,YAAY,EACV,2BAA2B,EAC3B,UAAU,EACV,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9F,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAK5D,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
3
|
export { defineAgent } from './define.js';
|
|
4
4
|
export { resolveEffectiveHitlPolicy } from './hitl-policy.js';
|
|
5
|
+
export { AGENT_GATE_SUBJECTS, SESSION_GATE_SUBJECT, TOOL_CALL_GATE_SUBJECT, readGateDecision, } from './handlers/gate-decision.js';
|
|
5
6
|
export { agentStepOutput, invokeAgent, resumeAgentTurn } from './invoke.js';
|
|
6
7
|
export { buildRunTrace, categorizeOutcomes, evaluateGate, evaluateSessionGate, resolveGuardrails, } from './guardrails-gate.js';
|
|
7
8
|
export { persistProvenance } from './provenance-emit.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAiBjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAiBjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmB5E,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAiBzD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAuBrB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAc1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAM9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qDAAqD;AACrD,sEAAsE;AACtE,wEAAwE;AACxE,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|
package/dist/invoke.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { Result, RunId, TenantId } from '@kindgi/types';
|
|
1
|
+
import type { OrgId, Result, RunId, TenantId } from '@kindgi/types';
|
|
2
2
|
import { type InvokeAgentError } from './handlers/errors.js';
|
|
3
3
|
import type { InvokeAgentBindings, InvokeAgentInput } from './handlers/public-types.js';
|
|
4
4
|
import type { AgentTurnResult } from './handlers/result-shape.js';
|
|
5
|
+
import type { RunSnapshotRecord } from './run-snapshot-binding.js';
|
|
5
6
|
import type { Agent } from './types.js';
|
|
6
7
|
/**
|
|
7
8
|
* Execute one agent turn end-to-end as a flow run: one `runGraph`
|
|
@@ -27,10 +28,22 @@ export interface ResumeAgentTurnInput {
|
|
|
27
28
|
* handler's agent-version-mismatch guard).
|
|
28
29
|
*/
|
|
29
30
|
readonly agent: Agent;
|
|
31
|
+
/**
|
|
32
|
+
* The org of the run's project (the snapshot's `projectId`), when it has
|
|
33
|
+
* one. The caller resolves it from the project, as for `invokeAgent`'s
|
|
34
|
+
* `orgId`, so the resumed turn's tools and guardrails see it too.
|
|
35
|
+
*/
|
|
36
|
+
readonly orgId?: OrgId;
|
|
30
37
|
}
|
|
31
38
|
export declare function resumeAgentTurn(input: ResumeAgentTurnInput, bindings: InvokeAgentBindings): Promise<Result<AgentTurnResult, InvokeAgentError>>;
|
|
32
39
|
export type { AgentStepOutput, AgentTurnResult, AgentTurnUsage, AgentTurnWarning, } from './handlers/result-shape.js';
|
|
33
40
|
export { agentStepOutput } from './handlers/result-shape.js';
|
|
34
|
-
export type { AgentTurnAbortedError, BudgetExceededError, CapabilityRoutingError, InvokeAgentError, ModelInvocationError, OutputSchemaViolationError, ToolInvocationError, UnresolvedToolError, } from './handlers/errors.js';
|
|
41
|
+
export type { AgentTurnAbortedError, BudgetExceededError, CapabilityRoutingError, InvokeAgentError, ModelInvocationError, OutputSchemaViolationError, RunSnapshotError, ToolInvocationError, UnresolvedToolError, } from './handlers/errors.js';
|
|
35
42
|
export type { HitlBindings, HitlEnqueueInput, HitlEnqueueResult, InvokeAgentBindings, InvokeAgentInput, } from './handlers/public-types.js';
|
|
43
|
+
/**
|
|
44
|
+
* The `InvokeAgentInput` a resumed turn runs with: the one captured in its
|
|
45
|
+
* snapshot at run start, the agent the caller resolved, and the org of the
|
|
46
|
+
* run's project, which the caller resolves as for `invokeAgent`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function turnInputFromSnapshot(snapshot: RunSnapshotRecord, input: Pick<ResumeAgentTurnInput, 'agent' | 'orgId'>): InvokeAgentInput;
|
|
36
49
|
//# sourceMappingURL=invoke.d.ts.map
|
package/dist/invoke.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKpE,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAoEpD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAoDD,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAyFpD;AAMD,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,OAAO,CAAC,GACnD,gBAAgB,CAqBlB"}
|
package/dist/invoke.js
CHANGED
|
@@ -64,6 +64,12 @@ export async function invokeAgent(input, bindings) {
|
|
|
64
64
|
flow: AGENT_TURN_FLOW,
|
|
65
65
|
handlers,
|
|
66
66
|
input: input.userMessage,
|
|
67
|
+
// The run's record names the agent, its version and the conversation.
|
|
68
|
+
agent: {
|
|
69
|
+
id: input.agent.id,
|
|
70
|
+
version: input.agent.version,
|
|
71
|
+
conversationId: input.conversationId,
|
|
72
|
+
},
|
|
67
73
|
...(input.parent !== undefined && { parent: input.parent }),
|
|
68
74
|
...(input.dryRun === true && { options: { dryRun: true } }),
|
|
69
75
|
// Authorization — carry principal + authz into the run so every
|
|
@@ -95,7 +101,8 @@ export async function invokeAgent(input, bindings) {
|
|
|
95
101
|
* runId — this happens when the setup handler's snapshot write failed
|
|
96
102
|
* (the write is best-effort). Recovery: cancel the run explicitly;
|
|
97
103
|
* there is no way to reconstruct the InvokeAgentInput without the
|
|
98
|
-
* snapshot.
|
|
104
|
+
* snapshot. Fails with `run-snapshot-unreadable` when reading it failed;
|
|
105
|
+
* resuming again may work.
|
|
99
106
|
*/
|
|
100
107
|
/**
|
|
101
108
|
* Rebuild a resumed turn's context from its journal (see
|
|
@@ -130,8 +137,8 @@ export async function resumeAgentTurn(input, bindings) {
|
|
|
130
137
|
return {
|
|
131
138
|
kind: 'err',
|
|
132
139
|
error: {
|
|
133
|
-
code: 'run-snapshot-
|
|
134
|
-
message: `
|
|
140
|
+
code: 'run-snapshot-unreadable',
|
|
141
|
+
message: `Could not read the run snapshot of run ${input.runId}: ${snapshotResult.error.message}`,
|
|
135
142
|
},
|
|
136
143
|
};
|
|
137
144
|
}
|
|
@@ -161,25 +168,7 @@ export async function resumeAgentTurn(input, bindings) {
|
|
|
161
168
|
};
|
|
162
169
|
}
|
|
163
170
|
// 3. Reconstruct the InvokeAgentInput envelope from the snapshot.
|
|
164
|
-
const reconstructedInput =
|
|
165
|
-
tenantId: snapshot.tenantId,
|
|
166
|
-
projectId: snapshot.projectId,
|
|
167
|
-
agent: input.agent,
|
|
168
|
-
conversationId: snapshot.conversationId,
|
|
169
|
-
userMessage: snapshot.userMessage,
|
|
170
|
-
...(snapshot.parameters !== undefined && { parameters: snapshot.parameters }),
|
|
171
|
-
...(snapshot.input !== undefined && { input: snapshot.input }),
|
|
172
|
-
...(snapshot.participantId !== undefined && { participantId: snapshot.participantId }),
|
|
173
|
-
...(snapshot.dryRun && { dryRun: true }),
|
|
174
|
-
...(snapshot.principal !== undefined &&
|
|
175
|
-
snapshot.principal !== null && {
|
|
176
|
-
principal: snapshot.principal,
|
|
177
|
-
}),
|
|
178
|
-
...(snapshot.authz !== undefined &&
|
|
179
|
-
snapshot.authz !== null && {
|
|
180
|
-
authz: snapshot.authz,
|
|
181
|
-
}),
|
|
182
|
-
};
|
|
171
|
+
const reconstructedInput = turnInputFromSnapshot(snapshot, input);
|
|
183
172
|
// 4. Build the same TurnContext + handlers as invokeAgent().
|
|
184
173
|
const started = Date.now();
|
|
185
174
|
const maxWallMs = input.agent.budget?.maxWallMs ?? DEFAULT_MAX_WALL_MS;
|
|
@@ -225,4 +214,31 @@ export async function resumeAgentTurn(input, bindings) {
|
|
|
225
214
|
}
|
|
226
215
|
}
|
|
227
216
|
export { agentStepOutput } from './handlers/result-shape.js';
|
|
217
|
+
/**
|
|
218
|
+
* The `InvokeAgentInput` a resumed turn runs with: the one captured in its
|
|
219
|
+
* snapshot at run start, the agent the caller resolved, and the org of the
|
|
220
|
+
* run's project, which the caller resolves as for `invokeAgent`.
|
|
221
|
+
*/
|
|
222
|
+
export function turnInputFromSnapshot(snapshot, input) {
|
|
223
|
+
return {
|
|
224
|
+
tenantId: snapshot.tenantId,
|
|
225
|
+
projectId: snapshot.projectId,
|
|
226
|
+
...(input.orgId !== undefined && { orgId: input.orgId }),
|
|
227
|
+
agent: input.agent,
|
|
228
|
+
conversationId: snapshot.conversationId,
|
|
229
|
+
userMessage: snapshot.userMessage,
|
|
230
|
+
...(snapshot.parameters !== undefined && { parameters: snapshot.parameters }),
|
|
231
|
+
...(snapshot.input !== undefined && { input: snapshot.input }),
|
|
232
|
+
...(snapshot.participantId !== undefined && { participantId: snapshot.participantId }),
|
|
233
|
+
...(snapshot.dryRun && { dryRun: true }),
|
|
234
|
+
...(snapshot.principal !== undefined &&
|
|
235
|
+
snapshot.principal !== null && {
|
|
236
|
+
principal: snapshot.principal,
|
|
237
|
+
}),
|
|
238
|
+
...(snapshot.authz !== undefined &&
|
|
239
|
+
snapshot.authz !== null && {
|
|
240
|
+
authz: snapshot.authz,
|
|
241
|
+
}),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
228
244
|
//# sourceMappingURL=invoke.js.map
|
package/dist/invoke.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAMjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAyB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KeyProvider, Provenance, ProvenanceBuilder, ProvenanceEmitBinding } from '@kindgi/provenance';
|
|
1
|
+
import type { KeyProvider, Provenance, ProvenanceBuilder, ProvenanceEmitBinding, ProvenanceEmitContext } from '@kindgi/provenance';
|
|
2
2
|
import type { Result } from '@kindgi/types';
|
|
3
3
|
import type { PersistenceError } from './errors.js';
|
|
4
4
|
/**
|
|
@@ -40,5 +40,7 @@ export interface ProvenanceBindings {
|
|
|
40
40
|
* decides how much to bail out — usually the turn already succeeded so
|
|
41
41
|
* this is best-effort.
|
|
42
42
|
*/
|
|
43
|
-
export declare function persistProvenance(builder: ProvenanceBuilder, bindings: ProvenanceBindings
|
|
43
|
+
export declare function persistProvenance(builder: ProvenanceBuilder, bindings: ProvenanceBindings,
|
|
44
|
+
/** Stored beside the record (the turn's project); see `ProvenanceEmitContext`. */
|
|
45
|
+
context?: ProvenanceEmitContext): Promise<Result<Provenance, PersistenceError>>;
|
|
44
46
|
//# sourceMappingURL=provenance-emit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance-emit.d.ts","sourceRoot":"","sources":["../src/provenance-emit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,KAAK,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"provenance-emit.d.ts","sourceRoot":"","sources":["../src/provenance-emit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,KAAK,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,kBAAkB;AAC5B,kFAAkF;AAClF,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CA0C/C"}
|
package/dist/provenance-emit.js
CHANGED
|
@@ -7,7 +7,9 @@ import { signProvenance } from '@kindgi/provenance';
|
|
|
7
7
|
* decides how much to bail out — usually the turn already succeeded so
|
|
8
8
|
* this is best-effort.
|
|
9
9
|
*/
|
|
10
|
-
export async function persistProvenance(builder, bindings
|
|
10
|
+
export async function persistProvenance(builder, bindings,
|
|
11
|
+
/** Stored beside the record (the turn's project); see `ProvenanceEmitContext`. */
|
|
12
|
+
context) {
|
|
11
13
|
let provenance = builder.snapshot();
|
|
12
14
|
if (bindings.keyProvider !== undefined) {
|
|
13
15
|
const signed = signProvenance(provenance, bindings.keyProvider);
|
|
@@ -34,7 +36,7 @@ export async function persistProvenance(builder, bindings) {
|
|
|
34
36
|
},
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
|
-
const emitted = await bindings.emitBinding.emit(provenance);
|
|
39
|
+
const emitted = await bindings.emitBinding.emit(provenance, context);
|
|
38
40
|
if (emitted.kind === 'err') {
|
|
39
41
|
return {
|
|
40
42
|
kind: 'err',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance-emit.js","sourceRoot":"","sources":["../src/provenance-emit.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"provenance-emit.js","sourceRoot":"","sources":["../src/provenance-emit.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AASjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuCpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA0B,EAC1B,QAA4B;AAC5B,kFAAkF;AAClF,OAA+B;IAE/B,IAAI,UAAU,GAAe,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC7D,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB;aACF,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EACL,kHAAkH;oBACpH,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,8BAA8B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC9D,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -119,6 +119,23 @@ export declare const agentConversations: import("drizzle-orm/pg-core").PgTableWi
|
|
|
119
119
|
identity: undefined;
|
|
120
120
|
generated: undefined;
|
|
121
121
|
}, {}, {}>;
|
|
122
|
+
projectId: import("drizzle-orm/pg-core").PgColumn<{
|
|
123
|
+
name: "project_id";
|
|
124
|
+
tableName: "agent_conversations";
|
|
125
|
+
dataType: "string";
|
|
126
|
+
columnType: "PgUUID";
|
|
127
|
+
data: string;
|
|
128
|
+
driverParam: string;
|
|
129
|
+
notNull: false;
|
|
130
|
+
hasDefault: false;
|
|
131
|
+
isPrimaryKey: false;
|
|
132
|
+
isAutoincrement: false;
|
|
133
|
+
hasRuntimeDefault: false;
|
|
134
|
+
enumValues: undefined;
|
|
135
|
+
baseColumn: never;
|
|
136
|
+
identity: undefined;
|
|
137
|
+
generated: undefined;
|
|
138
|
+
}, {}, {}>;
|
|
122
139
|
scope: import("drizzle-orm/pg-core").PgColumn<{
|
|
123
140
|
name: "scope";
|
|
124
141
|
tableName: "agent_conversations";
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsE9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AAE3E;;;GAGG;AACH,eAAO,MAAM,2BAA2B,yDAA0D,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -38,6 +38,13 @@ export const agentConversations = pgTable('agent_conversations', {
|
|
|
38
38
|
* SSO subject). Kept as text so the caller decides the shape.
|
|
39
39
|
*/
|
|
40
40
|
participantId: text('participant_id'),
|
|
41
|
+
/**
|
|
42
|
+
* The project the conversation is in, set when it is opened (a run
|
|
43
|
+
* opens it in the run's project). Null when opened without one, and
|
|
44
|
+
* on conversations from before the column (nothing is backfilled).
|
|
45
|
+
* No foreign key: `projects` belongs to the runtime's schema.
|
|
46
|
+
*/
|
|
47
|
+
projectId: uuid('project_id'),
|
|
41
48
|
/**
|
|
42
49
|
* Structural scope — project id, matter id, etc. Persisted through
|
|
43
50
|
* the versioning envelope so shape evolution is migrate-on-read.
|
|
@@ -65,6 +72,10 @@ export const agentConversations = pgTable('agent_conversations', {
|
|
|
65
72
|
}, (t) => ({
|
|
66
73
|
tenantAgentIdx: index('agent_conversations_tenant_agent_idx').on(t.tenantId, t.agentId),
|
|
67
74
|
tenantParticipantIdx: index('agent_conversations_tenant_participant_idx').on(t.tenantId, t.participantId),
|
|
75
|
+
/** One project's conversations, newest first (`listConversationsPage({ scope })`). */
|
|
76
|
+
tenantProjectOpenedIdx: index('agent_conversations_tenant_project_opened_idx')
|
|
77
|
+
.on(t.tenantId, t.projectId, t.openedAt.desc())
|
|
78
|
+
.where(sql `${t.projectId} IS NOT NULL`),
|
|
68
79
|
/** Partial index: open conversations sorted by recency. Used by the UI list. */
|
|
69
80
|
openRecentIdx: index('agent_conversations_open_recent_idx')
|
|
70
81
|
.on(t.tenantId, t.lastMessageAt.desc())
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CACvC,qBAAqB,EACrB;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACrC;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC7C;;;;OAIG;IACH,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B;;;OAGG;IACH,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC/B,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IAC/E,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACxD;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD;;;OAGG;IACH,aAAa,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACnE;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;CAC5B,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,cAAc,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IACvF,oBAAoB,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC,EAAE,CAC1E,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,aAAa,CAChB;IACD,gFAAgF;IAChF,aAAa,EAAE,KAAK,CAAC,qCAAqC,CAAC;SACxD,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SACtC,KAAK,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,QAAQ,UAAU,CAAC;CACrC,CAAC,CACH,CAAC;AAKF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CACtC,qBAAqB,EACrB;IACE,wEAAwE;IACxE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACrC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACvC,4EAA4E;IAC5E,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC7C,wFAAwF;IACxF,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IACjD,+CAA+C;IAC/C,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C;;;;OAIG;IACH,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,gFAAgF;IAChF,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,SAAS,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;CAClE,CAAC,CACH,CAAC;AAKF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE5F;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CACvC,qBAAqB,EACrB;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACrC;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC7C;;;;OAIG;IACH,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B;;;OAGG;IACH,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC;;;;;OAKG;IACH,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;IAC7B;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC/B,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IAC/E,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACxD;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD;;;OAGG;IACH,aAAa,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACnE;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;CAC5B,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,cAAc,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IACvF,oBAAoB,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC,EAAE,CAC1E,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,aAAa,CAChB;IACD,sFAAsF;IACtF,sBAAsB,EAAE,KAAK,CAAC,+CAA+C,CAAC;SAC3E,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC9C,KAAK,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC;IACzC,gFAAgF;IAChF,aAAa,EAAE,KAAK,CAAC,qCAAqC,CAAC;SACxD,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SACtC,KAAK,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,QAAQ,UAAU,CAAC;CACrC,CAAC,CACH,CAAC;AAKF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CACtC,qBAAqB,EACrB;IACE,wEAAwE;IACxE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACrC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACvC,4EAA4E;IAC5E,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC7C,wFAAwF;IACxF,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IACjD,+CAA+C;IAC/C,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IAC3C;;;;OAIG;IACH,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,gFAAgF;IAChF,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,SAAS,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;CAClE,CAAC,CACH,CAAC;AAKF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,qBAAqB,EAAE,qBAAqB,CAAU,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Capability } from '@kindgi/capabilities';
|
|
2
2
|
import type { Fact, MemoryScope } from '@kindgi/memory';
|
|
3
3
|
import type { ToolErrorsSpec, ToolHitlMode, ToolHitlRule } from '@kindgi/policy-contract';
|
|
4
|
-
import type { Brand, ConversationId, Semver, TenantId, Timestamp } from '@kindgi/types';
|
|
4
|
+
import type { Brand, ConversationId, ProjectId, Semver, TenantId, Timestamp } from '@kindgi/types';
|
|
5
5
|
/**
|
|
6
6
|
* Branded agent id. Convention: dotted namespace under the tenant's
|
|
7
7
|
* pack — e.g. `acme.citation-verifier`, `acme.drafting`.
|
|
@@ -191,6 +191,14 @@ export interface ConversationHitlPolicy {
|
|
|
191
191
|
* (see `resolveEffectiveHitlPolicy`).
|
|
192
192
|
*/
|
|
193
193
|
readonly timeoutMs?: number;
|
|
194
|
+
/**
|
|
195
|
+
* What happens when an approval's time runs out: it escalates one
|
|
196
|
+
* reviewer tier, and at `admin` it expires (the turn fails with
|
|
197
|
+
* `hitl-cancelled`). `'escalate'` is the only behavior today, and the
|
|
198
|
+
* default; `'auto-approve'` and `'auto-reject'` are refused rather than
|
|
199
|
+
* accepted and ignored.
|
|
200
|
+
*/
|
|
201
|
+
readonly onTimeout?: 'escalate';
|
|
194
202
|
}
|
|
195
203
|
/**
|
|
196
204
|
* Budgets guard a single agent turn. Every field is optional; unset
|
|
@@ -399,6 +407,12 @@ export interface Conversation {
|
|
|
399
407
|
readonly title: string;
|
|
400
408
|
/** UUID or free-form identifier for the human participant. */
|
|
401
409
|
readonly participantId?: string;
|
|
410
|
+
/**
|
|
411
|
+
* The project the conversation is in, set when it is opened (by a run,
|
|
412
|
+
* from the run's project). Absent on conversations opened without one,
|
|
413
|
+
* and on those from before it was stored.
|
|
414
|
+
*/
|
|
415
|
+
readonly projectId?: ProjectId;
|
|
402
416
|
/** Additional attributes (project id, matter id, etc.). */
|
|
403
417
|
readonly scope: MemoryScope;
|
|
404
418
|
readonly openedAt: Timestamp;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
ALTER TABLE "agent_conversations" ADD COLUMN "project_id" uuid;--> statement-breakpoint
|
|
2
|
+
CREATE INDEX "agent_conversations_tenant_project_opened_idx" ON "agent_conversations" USING btree ("tenant_id","project_id","opened_at" DESC NULLS LAST) WHERE "agent_conversations"."project_id" IS NOT NULL;
|