@kindgi/agents 0.1.4-rc.5 → 0.1.5-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/blocks.d.ts +19 -0
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +59 -1
- package/dist/blocks.js.map +1 -1
- package/dist/conversation-binding.d.ts +49 -3
- package/dist/conversation-binding.d.ts.map +1 -1
- package/dist/define.d.ts +10 -2
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +132 -7
- package/dist/define.js.map +1 -1
- package/dist/drafted-template.d.ts +34 -0
- package/dist/drafted-template.d.ts.map +1 -0
- package/dist/drafted-template.js +95 -0
- package/dist/drafted-template.js.map +1 -0
- package/dist/guardrails-gate.d.ts +28 -13
- package/dist/guardrails-gate.d.ts.map +1 -1
- package/dist/guardrails-gate.js +59 -21
- package/dist/guardrails-gate.js.map +1 -1
- package/dist/handlers/build-initial-messages.d.ts +8 -2
- package/dist/handlers/build-initial-messages.d.ts.map +1 -1
- package/dist/handlers/build-initial-messages.js +23 -21
- package/dist/handlers/build-initial-messages.js.map +1 -1
- package/dist/handlers/compose-result.d.ts.map +1 -1
- package/dist/handlers/compose-result.js +2 -0
- package/dist/handlers/compose-result.js.map +1 -1
- package/dist/handlers/context.d.ts +6 -1
- 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 +17 -5
- package/dist/handlers/dispatch-tools.js.map +1 -1
- package/dist/handlers/errors.d.ts +14 -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 +6 -1
- package/dist/handlers/evaluate-guardrails.d.ts.map +1 -1
- package/dist/handlers/evaluate-guardrails.js +46 -4
- package/dist/handlers/evaluate-guardrails.js.map +1 -1
- package/dist/handlers/history.d.ts +24 -0
- package/dist/handlers/history.d.ts.map +1 -0
- package/dist/handlers/history.js +52 -0
- package/dist/handlers/history.js.map +1 -0
- package/dist/handlers/persist-final-message.d.ts.map +1 -1
- package/dist/handlers/persist-final-message.js +2 -0
- package/dist/handlers/persist-final-message.js.map +1 -1
- package/dist/handlers/persist-user-message.d.ts.map +1 -1
- package/dist/handlers/persist-user-message.js +2 -0
- package/dist/handlers/persist-user-message.js.map +1 -1
- package/dist/handlers/public-types.d.ts +12 -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 +7 -4
- package/dist/handlers/rehydrate.js.map +1 -1
- package/dist/handlers/remember-tool.d.ts +20 -0
- package/dist/handlers/remember-tool.d.ts.map +1 -0
- package/dist/handlers/remember-tool.js +149 -0
- package/dist/handlers/remember-tool.js.map +1 -0
- package/dist/handlers/replay.d.ts +55 -1
- package/dist/handlers/replay.d.ts.map +1 -1
- package/dist/handlers/replay.js +23 -6
- package/dist/handlers/replay.js.map +1 -1
- package/dist/handlers/resolve-blocks.d.ts.map +1 -1
- package/dist/handlers/resolve-blocks.js +19 -8
- package/dist/handlers/resolve-blocks.js.map +1 -1
- package/dist/handlers/result-shape.d.ts +3 -1
- package/dist/handlers/result-shape.d.ts.map +1 -1
- package/dist/handlers/result-shape.js.map +1 -1
- package/dist/handlers/run-retrievals.d.ts +2 -1
- package/dist/handlers/run-retrievals.d.ts.map +1 -1
- package/dist/handlers/run-retrievals.js +42 -16
- package/dist/handlers/run-retrievals.js.map +1 -1
- package/dist/handlers/turn-environment.d.ts.map +1 -1
- package/dist/handlers/turn-environment.js +2 -1
- package/dist/handlers/turn-environment.js.map +1 -1
- package/dist/handlers/turn-provenance.d.ts +19 -3
- package/dist/handlers/turn-provenance.d.ts.map +1 -1
- package/dist/handlers/turn-provenance.js +116 -2
- package/dist/handlers/turn-provenance.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/invoke.d.ts +1 -1
- package/dist/invoke.d.ts.map +1 -1
- package/dist/invoke.js +2 -0
- package/dist/invoke.js.map +1 -1
- package/dist/remember.d.ts +49 -0
- package/dist/remember.d.ts.map +1 -0
- package/dist/remember.js +89 -0
- package/dist/remember.js.map +1 -0
- package/dist/retrieval.d.ts +111 -28
- package/dist/retrieval.d.ts.map +1 -1
- package/dist/retrieval.js +432 -104
- package/dist/retrieval.js.map +1 -1
- package/dist/schema.d.ts +17 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +6 -0
- package/dist/schema.js.map +1 -1
- package/dist/streaming.d.ts +16 -1
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js.map +1 -1
- package/dist/types.d.ts +131 -10
- package/dist/types.d.ts.map +1 -1
- package/migrations/0005_condemned_hellcat.sql +1 -0
- package/migrations/meta/0005_snapshot.json +333 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +15 -15
- package/src/blocks.ts +75 -1
- package/src/conversation-binding.ts +53 -3
- package/src/define.ts +147 -10
- package/src/drafted-template.ts +118 -0
- package/src/guardrails-gate.ts +90 -26
- package/src/handlers/build-initial-messages.ts +29 -22
- package/src/handlers/compose-result.ts +2 -0
- package/src/handlers/context.ts +12 -1
- package/src/handlers/dispatch-tools.ts +19 -5
- package/src/handlers/errors.ts +16 -1
- package/src/handlers/evaluate-guardrails.ts +47 -4
- package/src/handlers/history.ts +57 -0
- package/src/handlers/persist-final-message.ts +2 -0
- package/src/handlers/persist-user-message.ts +2 -0
- package/src/handlers/public-types.ts +18 -2
- package/src/handlers/rehydrate.ts +12 -8
- package/src/handlers/remember-tool.ts +200 -0
- package/src/handlers/replay.ts +80 -8
- package/src/handlers/resolve-blocks.ts +21 -7
- package/src/handlers/result-shape.ts +8 -1
- package/src/handlers/run-retrievals.ts +52 -19
- package/src/handlers/turn-environment.ts +2 -1
- package/src/handlers/turn-provenance.ts +133 -2
- package/src/index.ts +33 -2
- package/src/invoke.ts +3 -0
- package/src/remember.ts +135 -0
- package/src/retrieval.ts +587 -125
- package/src/schema.ts +6 -0
- package/src/streaming.ts +17 -0
- package/src/types.ts +129 -10
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
import { Liquid } from 'liquidjs';
|
|
4
|
+
/** The most a drafted template may be: twice the current one, at least 2,000 characters. */
|
|
5
|
+
export const DRAFTED_TEMPLATE_MAX = 20_000;
|
|
6
|
+
/** Variables any template may read: the turn's clock and identity. */
|
|
7
|
+
const HARMLESS_VARS = new Set(['today', 'now', 'agent', 'conversation']);
|
|
8
|
+
/** A dotted id (`acme.export`): two or more segments, the first at least two characters. */
|
|
9
|
+
const DOTTED_ID = /\b[a-z][a-z0-9_-]+(?:\.[a-z0-9_-]+)+\b/gi;
|
|
10
|
+
const liquid = new Liquid();
|
|
11
|
+
function rootsOf(template) {
|
|
12
|
+
return liquid.globalVariableSegmentsSync(template).map((s) => s);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether a drafted template may replace the current one, as data: the
|
|
16
|
+
* problems, none when it may. Drafted templates come from a model fed
|
|
17
|
+
* judges' reasons and case data, so a template is held to what the agent
|
|
18
|
+
* already has, whatever the model was told:
|
|
19
|
+
*
|
|
20
|
+
* - it parses as Liquid;
|
|
21
|
+
* - the variables it reads are the declared parameters, the variables
|
|
22
|
+
* the current template reads, the turn's clock and identity, and
|
|
23
|
+
* `settings["<id>"]` of a settings block the version pins;
|
|
24
|
+
* - the dotted ids it names (`acme.export`, say) are the agent's own,
|
|
25
|
+
* its tools' and blocks', or ones the current template names: no new
|
|
26
|
+
* tool, agent or data reference;
|
|
27
|
+
* - it isn't empty or the current template, and at most twice as long
|
|
28
|
+
* as it (at least 2,000 characters; never over `DRAFTED_TEMPLATE_MAX`).
|
|
29
|
+
*/
|
|
30
|
+
export function checkDraftedTemplate(candidate, context) {
|
|
31
|
+
const current = context.current.template;
|
|
32
|
+
const issues = [];
|
|
33
|
+
if (candidate.trim() === '')
|
|
34
|
+
return [{ path: '/template', message: 'the template is empty' }];
|
|
35
|
+
if (candidate === current) {
|
|
36
|
+
return [{ path: '/template', message: 'the template is the current one' }];
|
|
37
|
+
}
|
|
38
|
+
const max = Math.min(DRAFTED_TEMPLATE_MAX, Math.max(2 * current.length, 2000));
|
|
39
|
+
if (candidate.length > max) {
|
|
40
|
+
issues.push({
|
|
41
|
+
path: '/template',
|
|
42
|
+
message: `the template is ${candidate.length} characters; at most ${max} (twice the current one)`,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
let read;
|
|
46
|
+
try {
|
|
47
|
+
read = rootsOf(candidate);
|
|
48
|
+
}
|
|
49
|
+
catch (cause) {
|
|
50
|
+
issues.push({
|
|
51
|
+
path: '/template',
|
|
52
|
+
message: `the template isn't valid Liquid: ${cause instanceof Error ? cause.message : String(cause)}`,
|
|
53
|
+
});
|
|
54
|
+
return issues;
|
|
55
|
+
}
|
|
56
|
+
const parameters = new Set((context.current.parameters ?? []).map((p) => p.name));
|
|
57
|
+
let currentRoots;
|
|
58
|
+
try {
|
|
59
|
+
currentRoots = new Set(rootsOf(current).map((s) => String(s[0])));
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
currentRoots = new Set();
|
|
63
|
+
}
|
|
64
|
+
const settingsBlocks = new Set(context.settingsBlocks);
|
|
65
|
+
const named = new Set();
|
|
66
|
+
for (const segments of read) {
|
|
67
|
+
const root = String(segments[0]);
|
|
68
|
+
if (root === 'settings') {
|
|
69
|
+
const block = segments[1];
|
|
70
|
+
if (block === undefined || !settingsBlocks.has(String(block))) {
|
|
71
|
+
named.add(`settings${block === undefined ? '' : `["${String(block)}"]`}`);
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (parameters.has(root) || currentRoots.has(root) || HARMLESS_VARS.has(root))
|
|
76
|
+
continue;
|
|
77
|
+
named.add(root);
|
|
78
|
+
}
|
|
79
|
+
for (const variable of named) {
|
|
80
|
+
issues.push({
|
|
81
|
+
path: '/template',
|
|
82
|
+
message: `it reads "${variable}", which the agent doesn't have (a declared parameter, a variable the current template reads, or a settings block the version pins)`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const known = new Set([...context.knownIds, ...(current.match(DOTTED_ID) ?? [])]);
|
|
86
|
+
const newIds = new Set((candidate.match(DOTTED_ID) ?? []).filter((id) => !known.has(id)));
|
|
87
|
+
for (const id of newIds) {
|
|
88
|
+
issues.push({
|
|
89
|
+
path: '/template',
|
|
90
|
+
message: `it names "${id}", which the agent doesn't use (its tools, blocks, or what the current template names)`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return issues;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=drafted-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drafted-template.js","sourceRoot":"","sources":["../src/drafted-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ProviderRegistry, TenantPolicy, UsageSink } from '@kindgi/capabilities';
|
|
2
2
|
import type { ComplianceProvider } from '@kindgi/compliance';
|
|
3
|
-
import { type CheckRegistry, type EvaluationOutcome, type EvaluationResult, type Guardrail, type RunTrace } from '@kindgi/guardrails';
|
|
3
|
+
import { type CheckRegistry, type EvaluationOutcome, type EvaluationResult, type Guardrail, type GuardrailSeverity, type OnViolation, type RunTrace } from '@kindgi/guardrails';
|
|
4
4
|
import type { OrgId, ProjectId, Result, RunId, TenantId } from '@kindgi/types';
|
|
5
5
|
import type { Agent, ConversationId, ConversationMessage } from './types.js';
|
|
6
6
|
/**
|
|
@@ -83,6 +83,19 @@ export declare function resolveGuardrails(agent: Agent, bindings: GuardrailsBind
|
|
|
83
83
|
* every llm-judge call, as the turn's own model calls are.
|
|
84
84
|
*/
|
|
85
85
|
export declare function evaluateGate(guardrails: readonly Guardrail[], trace: RunTrace, bindings: GuardrailsBindings, tenantPolicy?: TenantPolicy, abortSignal?: AbortSignal, usage?: UsageSink): Promise<readonly EvaluationOutcome[]>;
|
|
86
|
+
/**
|
|
87
|
+
* A guardrail whose check couldn't run (no such check, a bad configuration, a judge that couldn't
|
|
88
|
+
* be routed), with what the guardrail would have done. Never counted as a violation.
|
|
89
|
+
*/
|
|
90
|
+
export interface GuardrailEvaluationError {
|
|
91
|
+
readonly guardrailId: string;
|
|
92
|
+
readonly message: string;
|
|
93
|
+
/** The engine's error code: `unknown-check`, `invalid-check-config`, `judge-routing-failed`, … */
|
|
94
|
+
readonly code: string;
|
|
95
|
+
/** The guardrail's `on-violation` action and severity; absent when the guardrail is unknown. */
|
|
96
|
+
readonly action?: OnViolation;
|
|
97
|
+
readonly severity?: GuardrailSeverity;
|
|
98
|
+
}
|
|
86
99
|
/**
|
|
87
100
|
* Sort evaluation outcomes by the failed guardrail's action. `halt` is
|
|
88
101
|
* blocking — the turn fails with `guardrail-violation`. `log-only` and
|
|
@@ -91,16 +104,18 @@ export declare function evaluateGate(guardrails: readonly Guardrail[], trace: Ru
|
|
|
91
104
|
* `other`. Warnings and `other` are attached to the successful turn
|
|
92
105
|
* result under `result.violations`; the turn does not carry out those
|
|
93
106
|
* actions. Evaluation errors (a check that could not run) are collected
|
|
94
|
-
* in `errors
|
|
107
|
+
* in `errors`; those of a `halt` guardrail are also in `blockingErrors`,
|
|
108
|
+
* which fail the turn as a violation would (a guardrail that can't check
|
|
109
|
+
* fails closed). `guardrails` is the list the outcomes came from, one
|
|
110
|
+
* outcome per guardrail in order (`evaluateGate`), which says each error's
|
|
111
|
+
* action; without it, an error's guardrail is looked up by id.
|
|
95
112
|
*/
|
|
96
|
-
export declare function categorizeOutcomes(outcomes: readonly EvaluationOutcome[]): {
|
|
113
|
+
export declare function categorizeOutcomes(outcomes: readonly EvaluationOutcome[], guardrails?: readonly Guardrail[]): {
|
|
97
114
|
readonly blocking: readonly EvaluationResult[];
|
|
98
115
|
readonly warnings: readonly EvaluationResult[];
|
|
99
116
|
readonly other: readonly EvaluationResult[];
|
|
100
|
-
readonly errors: readonly
|
|
101
|
-
|
|
102
|
-
readonly message: string;
|
|
103
|
-
}[];
|
|
117
|
+
readonly errors: readonly GuardrailEvaluationError[];
|
|
118
|
+
readonly blockingErrors: readonly GuardrailEvaluationError[];
|
|
104
119
|
};
|
|
105
120
|
/**
|
|
106
121
|
* Message for a turn stopped by blocking violations — names each
|
|
@@ -109,7 +124,7 @@ export declare function categorizeOutcomes(outcomes: readonly EvaluationOutcome[
|
|
|
109
124
|
* Turn blocked by guardrail 'no-pii': Response contains an email address
|
|
110
125
|
* Turn blocked by 2 guardrails: 'no-pii' (Response contains …); 'max-length'
|
|
111
126
|
*/
|
|
112
|
-
export declare function describeBlockingViolations(blocking: readonly EvaluationResult[]): string;
|
|
127
|
+
export declare function describeBlockingViolations(blocking: readonly EvaluationResult[], blockingErrors?: readonly GuardrailEvaluationError[]): string;
|
|
113
128
|
/**
|
|
114
129
|
* Result of a session-gate check performed BEFORE running a turn:
|
|
115
130
|
* the HITL turn threshold (`conversationPolicy.hitl.afterTurns` or
|
|
@@ -142,11 +157,11 @@ export interface GuardrailViolationError {
|
|
|
142
157
|
readonly code: 'guardrail-violation';
|
|
143
158
|
readonly message: string;
|
|
144
159
|
readonly violations: readonly EvaluationResult[];
|
|
145
|
-
/**
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
160
|
+
/**
|
|
161
|
+
* Guardrails whose check couldn't even evaluate (missing check, bad config). A `halt`
|
|
162
|
+
* guardrail's error blocks the turn on its own, so `violations` can be empty.
|
|
163
|
+
*/
|
|
164
|
+
readonly evaluationErrors: readonly GuardrailEvaluationError[];
|
|
150
165
|
}
|
|
151
166
|
/**
|
|
152
167
|
* Error shape for a turn blocked by the session HITL threshold.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails-gate.d.ts","sourceRoot":"","sources":["../src/guardrails-gate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"guardrails-gate.d.ts","sourceRoot":"","sources":["../src/guardrails-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/guardrails-gate.js
CHANGED
|
@@ -99,8 +99,21 @@ export function resolveGuardrails(agent, bindings) {
|
|
|
99
99
|
* every llm-judge call, as the turn's own model calls are.
|
|
100
100
|
*/
|
|
101
101
|
export async function evaluateGate(guardrails, trace, bindings, tenantPolicy, abortSignal, usage) {
|
|
102
|
-
if (guardrails.length === 0
|
|
102
|
+
if (guardrails.length === 0)
|
|
103
103
|
return [];
|
|
104
|
+
// No check registry at all: every guardrail is one whose check can't run, never one that
|
|
105
|
+
// passed, so a `halt` guardrail fails the turn here too (it fails closed).
|
|
106
|
+
if (bindings.checks === undefined) {
|
|
107
|
+
return guardrails.map((g) => ({
|
|
108
|
+
kind: 'err',
|
|
109
|
+
error: {
|
|
110
|
+
code: 'unknown-check',
|
|
111
|
+
message: `guardrail "${g.id}": no check registry is bound, so its check "${g.check}" can't run`,
|
|
112
|
+
guardrailId: g.id,
|
|
113
|
+
checkId: g.check,
|
|
114
|
+
},
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
104
117
|
const evalBindings = {
|
|
105
118
|
...(bindings.providerRegistry !== undefined && { providerRegistry: bindings.providerRegistry }),
|
|
106
119
|
...(bindings.compliance !== undefined && { compliance: bindings.compliance }),
|
|
@@ -118,28 +131,45 @@ export async function evaluateGate(guardrails, trace, bindings, tenantPolicy, ab
|
|
|
118
131
|
* `other`. Warnings and `other` are attached to the successful turn
|
|
119
132
|
* result under `result.violations`; the turn does not carry out those
|
|
120
133
|
* actions. Evaluation errors (a check that could not run) are collected
|
|
121
|
-
* in `errors
|
|
134
|
+
* in `errors`; those of a `halt` guardrail are also in `blockingErrors`,
|
|
135
|
+
* which fail the turn as a violation would (a guardrail that can't check
|
|
136
|
+
* fails closed). `guardrails` is the list the outcomes came from, one
|
|
137
|
+
* outcome per guardrail in order (`evaluateGate`), which says each error's
|
|
138
|
+
* action; without it, an error's guardrail is looked up by id.
|
|
122
139
|
*/
|
|
123
|
-
export function categorizeOutcomes(outcomes) {
|
|
140
|
+
export function categorizeOutcomes(outcomes, guardrails = []) {
|
|
124
141
|
const blocking = [];
|
|
125
142
|
const warnings = [];
|
|
126
143
|
const other = [];
|
|
127
144
|
const errors = [];
|
|
128
|
-
|
|
145
|
+
const blockingErrors = [];
|
|
146
|
+
const byId = new Map(guardrails.map((g) => [g.id, g]));
|
|
147
|
+
const inOrder = guardrails.length === outcomes.length;
|
|
148
|
+
outcomes.forEach((outcome, i) => {
|
|
129
149
|
if (outcome.kind === 'err') {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
150
|
+
const named = 'guardrailId' in outcome.error && typeof outcome.error.guardrailId === 'string'
|
|
151
|
+
? outcome.error.guardrailId
|
|
152
|
+
: undefined;
|
|
153
|
+
const guardrail = inOrder ? guardrails[i] : named !== undefined ? byId.get(named) : undefined;
|
|
154
|
+
const error = {
|
|
155
|
+
guardrailId: guardrail?.id ?? named ?? '<unknown>',
|
|
134
156
|
message: outcome.error.message,
|
|
135
|
-
|
|
136
|
-
|
|
157
|
+
code: outcome.error.code,
|
|
158
|
+
...(guardrail !== undefined && {
|
|
159
|
+
action: guardrail.action['on-violation'],
|
|
160
|
+
severity: guardrail.severity ?? 'error',
|
|
161
|
+
}),
|
|
162
|
+
};
|
|
163
|
+
errors.push(error);
|
|
164
|
+
if (error.action === 'halt')
|
|
165
|
+
blockingErrors.push(error);
|
|
166
|
+
return;
|
|
137
167
|
}
|
|
138
168
|
if (outcome.kind === 'skip')
|
|
139
|
-
|
|
169
|
+
return;
|
|
140
170
|
const evalResult = outcome.value;
|
|
141
171
|
if (evalResult.result.passed)
|
|
142
|
-
|
|
172
|
+
return;
|
|
143
173
|
if (evalResult.action === 'halt')
|
|
144
174
|
blocking.push(evalResult);
|
|
145
175
|
else if (evalResult.action === 'log-only' || evalResult.action === 'noop') {
|
|
@@ -147,8 +177,8 @@ export function categorizeOutcomes(outcomes) {
|
|
|
147
177
|
}
|
|
148
178
|
else
|
|
149
179
|
other.push(evalResult);
|
|
150
|
-
}
|
|
151
|
-
return { blocking, warnings, other, errors };
|
|
180
|
+
});
|
|
181
|
+
return { blocking, warnings, other, errors, blockingErrors };
|
|
152
182
|
}
|
|
153
183
|
/**
|
|
154
184
|
* Message for a turn stopped by blocking violations — names each
|
|
@@ -157,21 +187,29 @@ export function categorizeOutcomes(outcomes) {
|
|
|
157
187
|
* Turn blocked by guardrail 'no-pii': Response contains an email address
|
|
158
188
|
* Turn blocked by 2 guardrails: 'no-pii' (Response contains …); 'max-length'
|
|
159
189
|
*/
|
|
160
|
-
export function describeBlockingViolations(blocking) {
|
|
190
|
+
export function describeBlockingViolations(blocking, blockingErrors = []) {
|
|
161
191
|
const reasonOf = (v) => {
|
|
162
192
|
const reason = v.result.reason?.trim();
|
|
163
193
|
return reason === undefined || reason === '' ? undefined : reason;
|
|
164
194
|
};
|
|
195
|
+
const couldNotRun = (e) => `'${e.guardrailId}' couldn't run its check (${e.code}: ${e.message})`;
|
|
165
196
|
const [only] = blocking;
|
|
166
|
-
|
|
197
|
+
const [onlyError] = blockingErrors;
|
|
198
|
+
if (blocking.length === 1 && only !== undefined && blockingErrors.length === 0) {
|
|
167
199
|
const reason = reasonOf(only);
|
|
168
200
|
return `Turn blocked by guardrail '${only.guardrailId}'${reason !== undefined ? `: ${reason}` : ''}`;
|
|
169
201
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
202
|
+
if (blocking.length === 0 && blockingErrors.length === 1 && onlyError !== undefined) {
|
|
203
|
+
return `Turn blocked: guardrail ${couldNotRun(onlyError)}`;
|
|
204
|
+
}
|
|
205
|
+
const named = [
|
|
206
|
+
...blocking.map((v) => {
|
|
207
|
+
const reason = reasonOf(v);
|
|
208
|
+
return `'${v.guardrailId}'${reason !== undefined ? ` (${reason})` : ''}`;
|
|
209
|
+
}),
|
|
210
|
+
...blockingErrors.map(couldNotRun),
|
|
211
|
+
];
|
|
212
|
+
return `Turn blocked by ${named.length} guardrails: ${named.join('; ')}`;
|
|
175
213
|
}
|
|
176
214
|
/**
|
|
177
215
|
* Evaluate session-level gates against the conversation state before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails-gate.js","sourceRoot":"","sources":["../src/guardrails-gate.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC,OAAO,
|
|
1
|
+
{"version":3,"file":"guardrails-gate.js","sourceRoot":"","sources":["../src/guardrails-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,17 @@ import type { TurnContext } from './context.js';
|
|
|
4
4
|
* Compose the initial `modelMessages` array the loop's first iteration
|
|
5
5
|
* feeds to the model:
|
|
6
6
|
*
|
|
7
|
-
* [ system: rendered prompt
|
|
8
|
-
*
|
|
7
|
+
* [ system: rendered prompt
|
|
8
|
+
* (+ the memory rule, + "Policies (verified)", when there are),
|
|
9
9
|
* ...history,
|
|
10
|
+
* user: <memory> data block (if anything was retrieved),
|
|
10
11
|
* user: current message ]
|
|
11
12
|
*
|
|
13
|
+
* Retrieved facts are data: a labelled block in a user-role message, read
|
|
14
|
+
* as information about the world, never as instructions. Only a verified
|
|
15
|
+
* fact of a type the agent lists in `memory.instructionTypes` is an
|
|
16
|
+
* instruction, in the system message.
|
|
17
|
+
*
|
|
12
18
|
* Output shape: `{ nextMessages: ModelMessage[] }` — matches the loop
|
|
13
19
|
* iteration output's `nextMessages` field so the loop body can treat
|
|
14
20
|
* iteration 0's input identically to subsequent iterations'.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-initial-messages.d.ts","sourceRoot":"","sources":["../../src/handlers/build-initial-messages.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"build-initial-messages.d.ts","sourceRoot":"","sources":["../../src/handlers/build-initial-messages.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAUnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CA8C9E"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
-
import { formatRetrievedForPrompt } from '../retrieval.js';
|
|
3
|
+
import { MEMORY_DATA_RULE, formatPoliciesForPrompt, formatRetrievedForPrompt, isPolicyFact, } from '../retrieval.js';
|
|
4
4
|
import { throwAgentTurnFailure } from './errors.js';
|
|
5
|
+
import { readHistory } from './history.js';
|
|
5
6
|
/**
|
|
6
7
|
* Compose the initial `modelMessages` array the loop's first iteration
|
|
7
8
|
* feeds to the model:
|
|
8
9
|
*
|
|
9
|
-
* [ system: rendered prompt
|
|
10
|
-
*
|
|
10
|
+
* [ system: rendered prompt
|
|
11
|
+
* (+ the memory rule, + "Policies (verified)", when there are),
|
|
11
12
|
* ...history,
|
|
13
|
+
* user: <memory> data block (if anything was retrieved),
|
|
12
14
|
* user: current message ]
|
|
13
15
|
*
|
|
16
|
+
* Retrieved facts are data: a labelled block in a user-role message, read
|
|
17
|
+
* as information about the world, never as instructions. Only a verified
|
|
18
|
+
* fact of a type the agent lists in `memory.instructionTypes` is an
|
|
19
|
+
* instruction, in the system message.
|
|
20
|
+
*
|
|
14
21
|
* Output shape: `{ nextMessages: ModelMessage[] }` — matches the loop
|
|
15
22
|
* iteration output's `nextMessages` field so the loop body can treat
|
|
16
23
|
* iteration 0's input identically to subsequent iterations'.
|
|
@@ -28,22 +35,12 @@ export function buildBuildInitialMessagesHandler(ctx) {
|
|
|
28
35
|
// prompt is read from setup's sibling output via ctx (retained on
|
|
29
36
|
// the closure by render-prompt through the local field `renderedPrompt`).
|
|
30
37
|
void input;
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
throwAgentTurnFailure(messages.error);
|
|
38
|
-
// The user message just appended is included in the history read;
|
|
39
|
-
// drop it because the composer adds it explicitly as the last
|
|
40
|
-
// element.
|
|
41
|
-
const historyRaw = messages.value.filter((m) => m.sequence !== ctx.userMessage?.sequence);
|
|
42
|
-
const history = historyLimit === undefined
|
|
43
|
-
? historyRaw
|
|
44
|
-
: historyRaw.slice(Math.max(0, historyRaw.length - historyLimit));
|
|
45
|
-
const contextBlock = formatRetrievedForPrompt(ctx.retrieved);
|
|
46
|
-
const contextMessage = contextBlock.length > 0 ? { role: 'system', content: contextBlock } : undefined;
|
|
38
|
+
const history = await readHistory(ctx);
|
|
39
|
+
const agent = ctx.input.agent;
|
|
40
|
+
const policies = ctx.retrieved.filter((r) => isPolicyFact(agent, r));
|
|
41
|
+
const data = ctx.retrieved.filter((r) => !isPolicyFact(agent, r));
|
|
42
|
+
const memoryBlock = formatRetrievedForPrompt(data, ctx.recalled ?? []);
|
|
43
|
+
const memoryMessage = memoryBlock.length > 0 ? { role: 'user', content: memoryBlock } : undefined;
|
|
47
44
|
const rendered = ctx.renderedPrompt;
|
|
48
45
|
if (rendered === undefined) {
|
|
49
46
|
throwAgentTurnFailure({
|
|
@@ -52,10 +49,15 @@ export function buildBuildInitialMessagesHandler(ctx) {
|
|
|
52
49
|
cause: null,
|
|
53
50
|
});
|
|
54
51
|
}
|
|
52
|
+
const system = [
|
|
53
|
+
rendered,
|
|
54
|
+
...(memoryMessage !== undefined ? [MEMORY_DATA_RULE] : []),
|
|
55
|
+
...(policies.length > 0 ? [formatPoliciesForPrompt(policies)] : []),
|
|
56
|
+
].join('\n\n');
|
|
55
57
|
const modelMessages = [
|
|
56
|
-
{ role: 'system', content:
|
|
57
|
-
...(contextMessage !== undefined ? [contextMessage] : []),
|
|
58
|
+
{ role: 'system', content: system },
|
|
58
59
|
...history.map(conversationToModelMessage),
|
|
60
|
+
...(memoryMessage !== undefined ? [memoryMessage] : []),
|
|
59
61
|
{ role: 'user', content: ctx.input.userMessage },
|
|
60
62
|
];
|
|
61
63
|
return { nextMessages: modelMessages };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-initial-messages.js","sourceRoot":"","sources":["../../src/handlers/build-initial-messages.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAKjC,OAAO,
|
|
1
|
+
{"version":3,"file":"build-initial-messages.js","sourceRoot":"","sources":["../../src/handlers/build-initial-messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-result.d.ts","sourceRoot":"","sources":["../../src/handlers/compose-result.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BhD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"compose-result.d.ts","sourceRoot":"","sources":["../../src/handlers/compose-result.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA2BhD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CA8DvE"}
|
|
@@ -59,6 +59,7 @@ export function buildComposeResultHandler(ctx) {
|
|
|
59
59
|
appended: ctx.appended,
|
|
60
60
|
response: ctx.finalMessage,
|
|
61
61
|
retrieved: ctx.retrieved ?? [],
|
|
62
|
+
...(ctx.recalled !== undefined && ctx.recalled.length > 0 && { recalled: ctx.recalled }),
|
|
62
63
|
violations: ctx.nonBlockingViolations ?? [],
|
|
63
64
|
usage,
|
|
64
65
|
provider,
|
|
@@ -76,6 +77,7 @@ export function buildComposeResultHandler(ctx) {
|
|
|
76
77
|
turnNumber: ctx.conversation.turnCount + 1,
|
|
77
78
|
response: ctx.finalMessage,
|
|
78
79
|
retrieved: ctx.retrieved ?? [],
|
|
80
|
+
...(ctx.recalled !== undefined && ctx.recalled.length > 0 && { recalled: ctx.recalled }),
|
|
79
81
|
durationMs,
|
|
80
82
|
totalCostUsd: ctx.usage.totalCostUsd,
|
|
81
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose-result.js","sourceRoot":"","sources":["../../src/handlers/compose-result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose-result.js","sourceRoot":"","sources":["../../src/handlers/compose-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { Tool } from '@kindgi/tools';
|
|
|
5
5
|
import type { EvaluationResult } from '@kindgi/guardrails';
|
|
6
6
|
import type { EffectiveHitlPolicy } from '../hitl-policy.js';
|
|
7
7
|
import type { ProvenanceBindings } from '../provenance-emit.js';
|
|
8
|
-
import type { Agent, Conversation, ConversationMessage, RetrievedFact } from '../types.js';
|
|
8
|
+
import type { Agent, Conversation, ConversationMessage, RecalledMemory, RetrievedFact } from '../types.js';
|
|
9
9
|
import type { HitlBindings, InvokeAgentBindings, InvokeAgentInput } from './public-types.js';
|
|
10
10
|
import type { TurnBlocks } from './resolve-blocks.js';
|
|
11
11
|
import type { ToolErrorPolicy } from './tool-errors.js';
|
|
@@ -87,6 +87,11 @@ export interface TurnContext {
|
|
|
87
87
|
* Populated by `run-retrievals` — facts pulled by declared intents.
|
|
88
88
|
*/
|
|
89
89
|
retrieved?: readonly RetrievedFact[];
|
|
90
|
+
/**
|
|
91
|
+
* Populated by `run-retrievals` — messages of earlier conversations
|
|
92
|
+
* recalled by intents over conversations.
|
|
93
|
+
*/
|
|
94
|
+
recalled?: readonly RecalledMemory[];
|
|
90
95
|
/**
|
|
91
96
|
* Populated by `persist-final-message` — the terminal assistant
|
|
92
97
|
* message. `compose-result` reads it back for the returned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/handlers/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/handlers/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-tools.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAWhE,OAAO,KAAK,EAA4B,WAAW,EAAE,MAAM,cAAc,CAAC;AAsH1E;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"dispatch-tools.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAWhE,OAAO,KAAK,EAA4B,WAAW,EAAE,MAAM,cAAc,CAAC;AAsH1E;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAoTvE"}
|