@looprun-ai/core 0.2.1 → 0.4.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/dist/guards.d.ts +53 -35
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +84 -97
- package/dist/guards.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/rules.d.ts +5 -10
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +2 -2
- package/dist/runtime/ledger.d.ts +7 -0
- package/dist/runtime/ledger.d.ts.map +1 -1
- package/dist/runtime/ledger.js +9 -1
- package/dist/runtime/ledger.js.map +1 -1
- package/dist/runtime/turn.d.ts.map +1 -1
- package/dist/runtime/turn.js +27 -0
- package/dist/runtime/turn.js.map +1 -1
- package/dist/spec.d.ts +2 -0
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +5 -1
- package/dist/spec.js.map +1 -1
- package/dist/testing/fixture-world.d.ts +92 -0
- package/dist/testing/fixture-world.d.ts.map +1 -0
- package/dist/testing/fixture-world.js +202 -0
- package/dist/testing/fixture-world.js.map +1 -0
- package/dist/testing/index.d.ts +11 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +11 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/proof.d.ts +90 -0
- package/dist/testing/proof.d.ts.map +1 -0
- package/dist/testing/proof.js +93 -0
- package/dist/testing/proof.js.map +1 -0
- package/package.json +7 -2
package/dist/guards.d.ts
CHANGED
|
@@ -7,14 +7,16 @@
|
|
|
7
7
|
* state / observed calls, NEVER the user text (the magnet firewall). The pure set is deterministic
|
|
8
8
|
* by construction: no clock, no entropy, no network, no LLM call inside a check.
|
|
9
9
|
*
|
|
10
|
-
* DOMAIN-NEUTRALITY LAW (P8a): this package is truly language- and label-scheme-neutral
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* verbClaimRe, reason })`, `
|
|
15
|
-
* {
|
|
16
|
-
*
|
|
17
|
-
*
|
|
10
|
+
* DOMAIN-NEUTRALITY LAW (P8a, completed by P8b): this package is truly language- and label-scheme-neutral
|
|
11
|
+
* — and carries no MEDIA concept and no narration language either. No generic guard carries a linguistic
|
|
12
|
+
* regex (claim verbs, confirm-language) or a label scheme by default — those STRINGS/REGEXES live in the
|
|
13
|
+
* business bundle's own lexicon and are passed back in as REQUIRED params (`noFabricatedSuccess(tool, {
|
|
14
|
+
* claimRe, labelRe, verbClaimRe, banRe, refExists, reason })`, `degenerationGuard({ selfNarrationRe })`,
|
|
15
|
+
* `pendingConfirmMustAsk({ askRe })`, `destructiveClaimRequiresSuccess(tools, { claimRe, askRe, offerRe,
|
|
16
|
+
* exemptRe? })`, `noFalseFailureClaim({ claimRe })`). Media/label INPUT guards are a DOMAIN concern —
|
|
17
|
+
* a domain authors them as `custom({ dim:'input' })` over its world's own accessors, never a runtime kind.
|
|
18
|
+
* The runtime holds only the MECHANISM and the generic English prose. A domain-neutrality lint scans this
|
|
19
|
+
* package for accented letters / language stems, so a re-introduced default fails CI.
|
|
18
20
|
*/
|
|
19
21
|
import type { Guard, GuardCtx, Dim, ReplyMutator, AgentWorld } from './rules.js';
|
|
20
22
|
export declare function custom(opts: {
|
|
@@ -31,29 +33,20 @@ export declare function forbidThisTurn(reason: string): Guard;
|
|
|
31
33
|
export declare function argRequired(field: string): Guard;
|
|
32
34
|
/** Arg `field` must NOT be present. */
|
|
33
35
|
export declare function argAbsent(field: string): Guard;
|
|
34
|
-
/** A label-typed arg must resolve to an EXISTING media label. */
|
|
35
|
-
export declare function labelExists(field: string): Guard;
|
|
36
36
|
/** A PRESENT non-empty string arg must match `pattern`; absent/empty is left to argRequired. */
|
|
37
37
|
export declare function argFormat(field: string, pattern: string, flags?: string, reason?: string): Guard;
|
|
38
|
-
/**
|
|
39
|
-
* A label-typed arg must come from the expected provenance class. The label SCHEME is business-owned
|
|
40
|
-
* and injected — never hardcoded here: `scheme.uploadRe` is the predicate that decides whether a label
|
|
41
|
-
* is an "uploaded" label; `scheme.labelNoun` (optional) names the scheme in the default deny/prose
|
|
42
|
-
* message; `scheme.reason` overrides that message outright. The runtime carries ONLY the mechanism and
|
|
43
|
-
* the generic English wording — the label regex + its noun live in the domain bundle's lexicon.
|
|
44
|
-
*/
|
|
45
|
-
export declare function labelProvenance(field: string, expect: 'uploaded' | 'generated', scheme: {
|
|
46
|
-
uploadRe: RegExp;
|
|
47
|
-
labelNoun?: string;
|
|
48
|
-
reason?: string;
|
|
49
|
-
}): Guard;
|
|
50
38
|
/** Generic state precondition: the call is allowed only while `ok(world)` holds. `prose` states the
|
|
51
39
|
* CONDITION (always-rendered), separate from the deny `reason` (fires only when the condition is false). */
|
|
52
40
|
export declare function precondition<W extends AgentWorld = AgentWorld>(ok: (world: W) => boolean, reason: string, prose?: string): Guard;
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
41
|
+
/**
|
|
42
|
+
* `tool` may run at most `n` successful times within a budget WINDOW (counts the model's OWN OK calls):
|
|
43
|
+
* - `scope: 'turn'` (default) — the per-turn budget (bulk cap): counts only OK calls of THIS turn.
|
|
44
|
+
* - `scope: 'conversation'` — the cross-turn budget: counts OK calls across all turns.
|
|
45
|
+
* The two scopes share one deny message + prose (the caller-supplied `reason`).
|
|
46
|
+
*/
|
|
47
|
+
export declare function maxCalls(tool: string, n: number, reason: string, opts?: {
|
|
48
|
+
scope?: 'turn' | 'conversation';
|
|
49
|
+
}): Guard;
|
|
57
50
|
/** Key-order-independent canonical fingerprint of a call's args. */
|
|
58
51
|
export declare function canonArgs(v: unknown): string;
|
|
59
52
|
/** Deny a call whose (tool, canonical args) already SUCCEEDED this turn. */
|
|
@@ -85,16 +78,28 @@ export declare function noActAfterAskSameTurn(tools: string[]): Guard;
|
|
|
85
78
|
export declare function destructiveThrottle(destructiveTools: string[]): Guard;
|
|
86
79
|
export declare function resultInvariant<W extends AgentWorld = AgentWorld>(pred: (result: unknown, world: W) => boolean, reason: string): Guard;
|
|
87
80
|
/**
|
|
88
|
-
* If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed).
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
81
|
+
* If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Every
|
|
82
|
+
* seam is business-owned and injected — the runtime carries NO linguistic pattern of its own:
|
|
83
|
+
* - `labelRe` (which tokens are artifact labels) + `refExists` (does a cited label exist in the world?
|
|
84
|
+
* the injected existence predicate that replaced the former hardcoded media coupling — absent ⇒ only
|
|
85
|
+
* labels produced THIS turn are known) → the invented-LABEL branch (attempt-independent: citing a
|
|
86
|
+
* nonexistent artifact is always fabrication).
|
|
87
|
+
* - `claimRe` / `verbClaimRe` (the "created/generating an image" phrasing) → the claim-LANGUAGE branch,
|
|
88
|
+
* ATTEMPT-KEYED (the destructiveClaimRequiresSuccess precedent): with no attempt on `tool` this turn
|
|
89
|
+
* (executed or vetoed), production vocabulary is descriptive/status talk (a fixed-duration explainer, a
|
|
90
|
+
* quota explanation) — left alone. The measured false-positives (fixed-duration + zero-quota cells)
|
|
91
|
+
* rejected CORRECT informational replies and forced the exhaustion fallback.
|
|
92
|
+
* - `banRe` (optional) → the UNCONDITIONAL ban: a phrase the reply may never carry, denied regardless of
|
|
93
|
+
* attempts (absorbs the former replyNoProductionClaim kind). Given ONLY `banRe` the guard is a pure
|
|
94
|
+
* ban; the other seams are absent and silent.
|
|
92
95
|
*/
|
|
93
96
|
export declare function noFabricatedSuccess(tool: string, opts: {
|
|
94
|
-
claimRe: RegExp;
|
|
95
|
-
labelRe: RegExp;
|
|
96
|
-
verbClaimRe: RegExp;
|
|
97
97
|
reason: string;
|
|
98
|
+
claimRe?: RegExp;
|
|
99
|
+
labelRe?: RegExp;
|
|
100
|
+
verbClaimRe?: RegExp;
|
|
101
|
+
banRe?: RegExp;
|
|
102
|
+
refExists?: (world: AgentWorld, label: string) => boolean;
|
|
98
103
|
}): Guard;
|
|
99
104
|
/** The reply must contain at least one of `keywords` (case-insensitive). */
|
|
100
105
|
export declare function replyMustMention(keywords: string[], reason: string): Guard;
|
|
@@ -102,12 +107,25 @@ export declare function replyMustMention(keywords: string[], reason: string): Gu
|
|
|
102
107
|
export declare function replyMaxOccurrences(ctas: string[], n: number, reason: string): Guard;
|
|
103
108
|
/** The reply must be a single short question (exactly one '?'). */
|
|
104
109
|
export declare function replySingleQuestion(reason: string): Guard;
|
|
105
|
-
/** The reply must not match a production-claim regex. */
|
|
106
|
-
export declare function replyNoProductionClaim(claimRe: RegExp, reason: string): Guard;
|
|
107
110
|
/** The reply must be non-empty and name ALL `labels`. */
|
|
108
111
|
export declare function replyConfirmsLabels(labels: string[], reason: string): Guard;
|
|
109
112
|
/** The final reply must be non-empty. */
|
|
110
113
|
export declare function emptyReply(): Guard;
|
|
114
|
+
/**
|
|
115
|
+
* Output-channel DEGENERATION lint — domain-neutral, always-on (Minimal layer). Catches the weak-model
|
|
116
|
+
* failure class (leaked reasoning/tool markup — `<think>`, `<tool_call>`, `<tool_response>`, chat-template
|
|
117
|
+
* tokens, raw `replyToUser{` — and run-away repetition), the always-on, model-layer branches. The
|
|
118
|
+
* third-person SELF-NARRATION branch is language-specific, so its pattern is INJECTED
|
|
119
|
+
* (`opts.selfNarrationRe`, threaded from `cfg.lexicon.selfNarrationRe` at auto-install — the same shape as
|
|
120
|
+
* `noFalseFailureClaim`'s `falseFailureClaimRe`); absent ⇒ that branch is OFF and the runtime carries no
|
|
121
|
+
* narration language. A hit routes into the existing redrive → exhaustion battery (redrives are reply-only
|
|
122
|
+
* regenerations, which is exactly what this class needs). Promoted after targeted validation (+3 recoveries,
|
|
123
|
+
* 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on the clean subject (the
|
|
124
|
+
* zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
|
|
125
|
+
*/
|
|
126
|
+
export declare function degenerationGuard(opts?: {
|
|
127
|
+
selfNarrationRe?: RegExp;
|
|
128
|
+
}): Guard;
|
|
111
129
|
/**
|
|
112
130
|
* A destructive PROBE returned requiresConfirmation this turn — the reply MUST relay the question, UNLESS
|
|
113
131
|
* that pending confirmation was already RESOLVED this turn: the SAME tool ran OK with the confirm flag set
|
package/dist/guards.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
|
package/dist/guards.js
CHANGED
|
@@ -6,18 +6,6 @@ export function custom(opts) {
|
|
|
6
6
|
const lc = (s) => String(s ?? '').toLowerCase();
|
|
7
7
|
const ran = (observed, tool) => observed.some((o) => o.name === tool && o.ok);
|
|
8
8
|
const ranThisTurn = (ctx, tool) => ctx.observed.some((o) => o.name === tool && o.ok && o.turnIndex === ctx.turnIndex);
|
|
9
|
-
function resolveLabel(args, field) {
|
|
10
|
-
const v = args[field];
|
|
11
|
-
if (v == null)
|
|
12
|
-
return null;
|
|
13
|
-
if (typeof v === 'string')
|
|
14
|
-
return v.trim() || null;
|
|
15
|
-
if (typeof v === 'object' && 'label' in v) {
|
|
16
|
-
const l = v.label;
|
|
17
|
-
return l == null ? null : String(l).trim() || null;
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
9
|
// ── SPATIAL (graph / sequencing) ─────────────────────────────────────────────
|
|
22
10
|
/** T may run only after EVERY dep has already run successfully this conversation. */
|
|
23
11
|
export function requiresBefore(deps) {
|
|
@@ -60,25 +48,6 @@ export function argAbsent(field) {
|
|
|
60
48
|
prose: () => `never pass "${field}" (it is not an argument of this tool)`,
|
|
61
49
|
};
|
|
62
50
|
}
|
|
63
|
-
/** A label-typed arg must resolve to an EXISTING media label. */
|
|
64
|
-
export function labelExists(field) {
|
|
65
|
-
return {
|
|
66
|
-
kind: 'labelExists',
|
|
67
|
-
dim: 'input',
|
|
68
|
-
check(ctx) {
|
|
69
|
-
const w = ctx.world;
|
|
70
|
-
const label = resolveLabel(ctx.args, field);
|
|
71
|
-
if (label == null)
|
|
72
|
-
return `Missing media label in "${field}".`;
|
|
73
|
-
if (!w.hasMediaLabel(label)) {
|
|
74
|
-
const known = w.mediaLabels();
|
|
75
|
-
return `Label "${label}" does not exist in Recent Media. Use one the user referenced — available: ${known.join(', ') || '(none)'}. Do NOT invent a label.`;
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
},
|
|
79
|
-
prose: () => `"${field}" must be a real label from Recent Media (do not invent one)`,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
51
|
/** A PRESENT non-empty string arg must match `pattern`; absent/empty is left to argRequired. */
|
|
83
52
|
export function argFormat(field, pattern, flags, reason) {
|
|
84
53
|
const re = new RegExp(pattern, flags ?? '');
|
|
@@ -95,33 +64,6 @@ export function argFormat(field, pattern, flags, reason) {
|
|
|
95
64
|
prose: () => `"${field}" must match ${pattern}`,
|
|
96
65
|
};
|
|
97
66
|
}
|
|
98
|
-
/**
|
|
99
|
-
* A label-typed arg must come from the expected provenance class. The label SCHEME is business-owned
|
|
100
|
-
* and injected — never hardcoded here: `scheme.uploadRe` is the predicate that decides whether a label
|
|
101
|
-
* is an "uploaded" label; `scheme.labelNoun` (optional) names the scheme in the default deny/prose
|
|
102
|
-
* message; `scheme.reason` overrides that message outright. The runtime carries ONLY the mechanism and
|
|
103
|
-
* the generic English wording — the label regex + its noun live in the domain bundle's lexicon.
|
|
104
|
-
*/
|
|
105
|
-
export function labelProvenance(field, expect, scheme) {
|
|
106
|
-
const noun = scheme.labelNoun;
|
|
107
|
-
const msg = scheme.reason ?? (expect === 'uploaded'
|
|
108
|
-
? `"${field}" must be an UPLOADED image label${noun ? ` (${noun})` : ''} — for generated images use the matching tool instead.`
|
|
109
|
-
: `"${field}" must be a GENERATED image label — uploads${noun ? ` (${noun})` : ''} are not valid here.`);
|
|
110
|
-
return {
|
|
111
|
-
kind: 'labelProvenance',
|
|
112
|
-
dim: 'input',
|
|
113
|
-
check(ctx) {
|
|
114
|
-
const v = ctx.args[field];
|
|
115
|
-
const label = typeof v === 'string' ? v.trim()
|
|
116
|
-
: (v && typeof v === 'object' && 'label' in v) ? String(v.label ?? '').trim() : '';
|
|
117
|
-
if (!label)
|
|
118
|
-
return null;
|
|
119
|
-
const isUp = scheme.uploadRe.test(label);
|
|
120
|
-
return (expect === 'uploaded' ? isUp : !isUp) ? null : msg;
|
|
121
|
-
},
|
|
122
|
-
prose: () => msg,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
67
|
// ── RUN (execution preconditions) ────────────────────────────────────────────
|
|
126
68
|
/** Generic state precondition: the call is allowed only while `ok(world)` holds. `prose` states the
|
|
127
69
|
* CONDITION (always-rendered), separate from the deny `reason` (fires only when the condition is false). */
|
|
@@ -133,25 +75,19 @@ export function precondition(ok, reason, prose) {
|
|
|
133
75
|
prose: () => prose ?? reason,
|
|
134
76
|
};
|
|
135
77
|
}
|
|
136
|
-
/**
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
},
|
|
145
|
-
prose: () => reason,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/** Side-effect budget ACROSS turns (maxCallsPerTurn minus the turnIndex filter). */
|
|
149
|
-
export function maxCallsPerConversation(tool, n, reason) {
|
|
78
|
+
/**
|
|
79
|
+
* `tool` may run at most `n` successful times within a budget WINDOW (counts the model's OWN OK calls):
|
|
80
|
+
* - `scope: 'turn'` (default) — the per-turn budget (bulk cap): counts only OK calls of THIS turn.
|
|
81
|
+
* - `scope: 'conversation'` — the cross-turn budget: counts OK calls across all turns.
|
|
82
|
+
* The two scopes share one deny message + prose (the caller-supplied `reason`).
|
|
83
|
+
*/
|
|
84
|
+
export function maxCalls(tool, n, reason, opts) {
|
|
85
|
+
const scope = opts?.scope ?? 'turn';
|
|
150
86
|
return {
|
|
151
|
-
kind: '
|
|
87
|
+
kind: 'maxCalls',
|
|
152
88
|
dim: 'run',
|
|
153
89
|
check(ctx) {
|
|
154
|
-
const count = ctx.observed.filter((o) => o.name === tool && o.ok).length;
|
|
90
|
+
const count = ctx.observed.filter((o) => o.name === tool && o.ok && (scope === 'conversation' || o.turnIndex === ctx.turnIndex)).length;
|
|
155
91
|
return count >= n ? reason : null;
|
|
156
92
|
},
|
|
157
93
|
prose: () => reason,
|
|
@@ -291,26 +227,47 @@ export function resultInvariant(pred, reason) {
|
|
|
291
227
|
}
|
|
292
228
|
// ── BEHAVIOR (reply-checks) ──────────────────────────────────────────────────
|
|
293
229
|
/**
|
|
294
|
-
* If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed).
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
230
|
+
* If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Every
|
|
231
|
+
* seam is business-owned and injected — the runtime carries NO linguistic pattern of its own:
|
|
232
|
+
* - `labelRe` (which tokens are artifact labels) + `refExists` (does a cited label exist in the world?
|
|
233
|
+
* the injected existence predicate that replaced the former hardcoded media coupling — absent ⇒ only
|
|
234
|
+
* labels produced THIS turn are known) → the invented-LABEL branch (attempt-independent: citing a
|
|
235
|
+
* nonexistent artifact is always fabrication).
|
|
236
|
+
* - `claimRe` / `verbClaimRe` (the "created/generating an image" phrasing) → the claim-LANGUAGE branch,
|
|
237
|
+
* ATTEMPT-KEYED (the destructiveClaimRequiresSuccess precedent): with no attempt on `tool` this turn
|
|
238
|
+
* (executed or vetoed), production vocabulary is descriptive/status talk (a fixed-duration explainer, a
|
|
239
|
+
* quota explanation) — left alone. The measured false-positives (fixed-duration + zero-quota cells)
|
|
240
|
+
* rejected CORRECT informational replies and forced the exhaustion fallback.
|
|
241
|
+
* - `banRe` (optional) → the UNCONDITIONAL ban: a phrase the reply may never carry, denied regardless of
|
|
242
|
+
* attempts (absorbs the former replyNoProductionClaim kind). Given ONLY `banRe` the guard is a pure
|
|
243
|
+
* ban; the other seams are absent and silent.
|
|
298
244
|
*/
|
|
299
245
|
export function noFabricatedSuccess(tool, opts) {
|
|
300
246
|
return {
|
|
301
247
|
kind: 'noFabricatedSuccess',
|
|
302
248
|
dim: 'behavior',
|
|
303
249
|
check(ctx) {
|
|
304
|
-
if (ranThisTurn(ctx, tool))
|
|
305
|
-
return null;
|
|
306
250
|
const reply = ctx.reply ?? '';
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
const invented = labels.filter((l) => !produced.includes(l) && !ctx.world.hasMediaLabel(l));
|
|
310
|
-
if (invented.length)
|
|
251
|
+
// Unconditional ban — checked BEFORE the attempt short-circuit so it fires regardless of attempts.
|
|
252
|
+
if (opts.banRe?.test(reply))
|
|
311
253
|
return opts.reason;
|
|
312
|
-
|
|
313
|
-
|
|
254
|
+
if (ranThisTurn(ctx, tool))
|
|
255
|
+
return null;
|
|
256
|
+
let labelsFound = 0;
|
|
257
|
+
if (opts.labelRe) {
|
|
258
|
+
// Collect ALL label tokens. Build the global variant locally so a shared /g regex (whose
|
|
259
|
+
// lastIndex would persist across turns) is never required on opts.labelRe.
|
|
260
|
+
const labelRe = opts.labelRe.global ? opts.labelRe : new RegExp(opts.labelRe.source, opts.labelRe.flags + 'g');
|
|
261
|
+
const labels = reply.match(labelRe) ?? [];
|
|
262
|
+
labelsFound = labels.length;
|
|
263
|
+
const produced = ctx.producedThisTurn ?? [];
|
|
264
|
+
const invented = labels.filter((l) => !produced.includes(l) && !(opts.refExists?.(ctx.world, l) ?? false));
|
|
265
|
+
if (invented.length)
|
|
266
|
+
return opts.reason;
|
|
267
|
+
}
|
|
268
|
+
const attempted = ctx.observed.some((o) => o.turnIndex === ctx.turnIndex && o.name === tool);
|
|
269
|
+
const claims = (opts.claimRe?.test(reply) ?? false) || (opts.verbClaimRe?.test(reply) ?? false);
|
|
270
|
+
if (attempted && claims && labelsFound === 0)
|
|
314
271
|
return opts.reason;
|
|
315
272
|
return null;
|
|
316
273
|
},
|
|
@@ -354,17 +311,6 @@ export function replySingleQuestion(reason) {
|
|
|
354
311
|
prose: () => reason,
|
|
355
312
|
};
|
|
356
313
|
}
|
|
357
|
-
/** The reply must not match a production-claim regex. */
|
|
358
|
-
export function replyNoProductionClaim(claimRe, reason) {
|
|
359
|
-
return {
|
|
360
|
-
kind: 'replyNoProductionClaim',
|
|
361
|
-
dim: 'behavior',
|
|
362
|
-
check(ctx) {
|
|
363
|
-
return claimRe.test(ctx.reply ?? '') ? reason : null;
|
|
364
|
-
},
|
|
365
|
-
prose: () => reason,
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
314
|
/** The reply must be non-empty and name ALL `labels`. */
|
|
369
315
|
export function replyConfirmsLabels(labels, reason) {
|
|
370
316
|
return {
|
|
@@ -392,6 +338,47 @@ export function emptyReply() {
|
|
|
392
338
|
prose: () => 'never end a turn with an empty reply',
|
|
393
339
|
};
|
|
394
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Output-channel DEGENERATION lint — domain-neutral, always-on (Minimal layer). Catches the weak-model
|
|
343
|
+
* failure class (leaked reasoning/tool markup — `<think>`, `<tool_call>`, `<tool_response>`, chat-template
|
|
344
|
+
* tokens, raw `replyToUser{` — and run-away repetition), the always-on, model-layer branches. The
|
|
345
|
+
* third-person SELF-NARRATION branch is language-specific, so its pattern is INJECTED
|
|
346
|
+
* (`opts.selfNarrationRe`, threaded from `cfg.lexicon.selfNarrationRe` at auto-install — the same shape as
|
|
347
|
+
* `noFalseFailureClaim`'s `falseFailureClaimRe`); absent ⇒ that branch is OFF and the runtime carries no
|
|
348
|
+
* narration language. A hit routes into the existing redrive → exhaustion battery (redrives are reply-only
|
|
349
|
+
* regenerations, which is exactly what this class needs). Promoted after targeted validation (+3 recoveries,
|
|
350
|
+
* 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on the clean subject (the
|
|
351
|
+
* zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
|
|
352
|
+
*/
|
|
353
|
+
export function degenerationGuard(opts) {
|
|
354
|
+
return {
|
|
355
|
+
kind: 'degenerationGuard',
|
|
356
|
+
dim: 'behavior',
|
|
357
|
+
check(ctx) {
|
|
358
|
+
const r = String(ctx.reply ?? '');
|
|
359
|
+
if (!r)
|
|
360
|
+
return null;
|
|
361
|
+
if (/<think|<\/think|<tool_call|<tool_response|<\|im_(?:start|end)\|>|\[end of turn\]|<\|assistant\|>|replyToUser\s*\{/i.test(r)) {
|
|
362
|
+
return 'the reply leaks internal scaffolding (think blocks / tool-call markup / chat-template tokens) — rewrite it as ONE short, clean user-facing message with none of that.';
|
|
363
|
+
}
|
|
364
|
+
if (opts?.selfNarrationRe?.test(r)) {
|
|
365
|
+
return 'the reply narrates your own tool calls in third person instead of speaking TO the user — rewrite it addressing the user directly.';
|
|
366
|
+
}
|
|
367
|
+
// run-away repetition: any non-trivial line repeated 3+ times
|
|
368
|
+
const counts = new Map();
|
|
369
|
+
for (const line of r.split('\n').map((l) => l.trim()).filter((l) => l.length >= 12)) {
|
|
370
|
+
const n = (counts.get(line) ?? 0) + 1;
|
|
371
|
+
counts.set(line, n);
|
|
372
|
+
if (n >= 3)
|
|
373
|
+
return 'the reply repeats the same line over and over — rewrite it as ONE short message that says it once.';
|
|
374
|
+
}
|
|
375
|
+
return null;
|
|
376
|
+
},
|
|
377
|
+
prose: () => opts?.selfNarrationRe
|
|
378
|
+
? 'reply in ONE clean user-facing message — never leak internal reasoning, template tokens, self-narration, or repeated lines'
|
|
379
|
+
: 'reply in ONE clean user-facing message — never leak internal reasoning, template tokens, or repeated lines',
|
|
380
|
+
};
|
|
381
|
+
}
|
|
395
382
|
/**
|
|
396
383
|
* A destructive PROBE returned requiresConfirmation this turn — the reply MUST relay the question, UNLESS
|
|
397
384
|
* that pending confirmation was already RESOLVED this turn: the SAME tool ran OK with the confirm flag set
|
package/dist/guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type { SpecWarning } from './validate.js';
|
|
|
16
16
|
export { geminiThinkingOff, pinnedDecoding, normalizeModelParams, resolveModelSettings } from './model-params.js';
|
|
17
17
|
export type { SamplingSettings } from './model-params.js';
|
|
18
18
|
export type { ToolDef, TokenUsage, TurnInput, TurnRecord, RunResult, RuntimeTurnInput, RuntimeTurnRecord } from './runtime/types.js';
|
|
19
|
-
export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
|
|
19
|
+
export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, recordTerminalCall, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
|
|
20
20
|
export type { TurnLedger, PostToolViolation } from './runtime/ledger.js';
|
|
21
21
|
export { TERMINAL_TOOLS, isTerminal, terminalProtocol, TERMINAL_PROTOCOL, TERMINAL_PROTOCOL_REPLY_ONLY, forcedTerminalPrompt, terminalToolDefs, } from './runtime/terminal.js';
|
|
22
22
|
export { evaluatePreTool, evaluateOnInput, applyMutators, checkReply, enforcePostTool, redriveMessage, defaultExhaustionReply, finalizeReply, shouldFireChain, runChainCompletionPass, } from './runtime/turn.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,EACJ,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,EACJ,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1K,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export { AgentSpecBase, resolveBindings, resolveGuards, resolveMutators, } from
|
|
|
11
11
|
export { renderScopedSpecTrunk, chainOrder } from './trunk.js';
|
|
12
12
|
export { validateSpec, MAX_TOOL_SURFACE } from './validate.js';
|
|
13
13
|
export { geminiThinkingOff, pinnedDecoding, normalizeModelParams, resolveModelSettings } from './model-params.js';
|
|
14
|
-
export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
|
|
14
|
+
export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, recordTerminalCall, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
|
|
15
15
|
export { TERMINAL_TOOLS, isTerminal, terminalProtocol, TERMINAL_PROTOCOL, TERMINAL_PROTOCOL_REPLY_ONLY, forcedTerminalPrompt, terminalToolDefs, } from './runtime/terminal.js';
|
|
16
16
|
export { evaluatePreTool, evaluateOnInput, applyMutators, checkReply, enforcePostTool, redriveMessage, defaultExhaustionReply, finalizeReply, shouldFireChain, runChainCompletionPass, } from './runtime/turn.js';
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AAgBnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKlH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AAgBnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKlH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1K,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
|
package/dist/rules.d.ts
CHANGED
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
* The governance primitives the agentspec skill authors: a deterministic `check` paired with an
|
|
5
5
|
* LLM-facing `prose`, keyed only on tool args / world state / observed calls — NEVER the user
|
|
6
6
|
* text (the magnet firewall: guards must not scope behavior by user intent). The world is an
|
|
7
|
-
* opaque, host-injected seam (`AgentWorld`); domain
|
|
8
|
-
* package itself is domain-neutral.
|
|
7
|
+
* opaque, host-injected seam (`AgentWorld`); a domain reads its own accessors through the index
|
|
8
|
+
* signature — the package itself is domain-neutral.
|
|
9
9
|
*/
|
|
10
10
|
/** The five enforcement dims (taxonomy metadata; the structural key is the hook it maps to). */
|
|
11
11
|
export type Dim = 'spatial' | 'input' | 'run' | 'output' | 'behavior';
|
|
12
12
|
/**
|
|
13
13
|
* The read/exec world seam the runtime + guards depend on — host-injected, opaque to the package.
|
|
14
|
-
* The core methods the runtime calls are typed; domain-specific accessors (
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* The core methods the runtime calls are typed; domain-specific accessors (imageQuotaRemaining,
|
|
15
|
+
* hasVisualStyle, …) flow through the index signature so a domain's guards/theme can read them
|
|
16
|
+
* without the package knowing the domain.
|
|
17
17
|
*/
|
|
18
18
|
export interface AgentWorld {
|
|
19
19
|
exec(name: string, args: Record<string, unknown>): Promise<unknown> | unknown;
|
|
@@ -28,11 +28,6 @@ export interface AgentWorld {
|
|
|
28
28
|
sseActions: unknown[];
|
|
29
29
|
[k: string]: any;
|
|
30
30
|
}
|
|
31
|
-
/** The media-label capability a media domain's world exposes (narrowed by label guards). */
|
|
32
|
-
export interface MediaWorld {
|
|
33
|
-
hasMediaLabel(label: string): boolean;
|
|
34
|
-
mediaLabels(): string[];
|
|
35
|
-
}
|
|
36
31
|
/** One tool call observed this CONVERSATION. Magnet-safe: no user text. */
|
|
37
32
|
export interface ObservedCall {
|
|
38
33
|
name: string;
|
package/dist/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gGAAgG;AAChG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9E,WAAW,IAAI,IAAI,CAAC;IACpB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,UAAU,EAAE,OAAO,EAAE,CAAC;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gGAAgG;AAChG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9E,WAAW,IAAI,IAAI,CAAC;IACpB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,UAAU,EAAE,OAAO,EAAE,CAAC;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAED,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qGAAqG;AACrG,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D,KAAK,IAAI,MAAM,CAAC;CACjB;AAED,4GAA4G;AAC5G,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
package/dist/rules.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* The governance primitives the agentspec skill authors: a deterministic `check` paired with an
|
|
5
5
|
* LLM-facing `prose`, keyed only on tool args / world state / observed calls — NEVER the user
|
|
6
6
|
* text (the magnet firewall: guards must not scope behavior by user intent). The world is an
|
|
7
|
-
* opaque, host-injected seam (`AgentWorld`); domain
|
|
8
|
-
* package itself is domain-neutral.
|
|
7
|
+
* opaque, host-injected seam (`AgentWorld`); a domain reads its own accessors through the index
|
|
8
|
+
* signature — the package itself is domain-neutral.
|
|
9
9
|
*/
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=rules.js.map
|
package/dist/runtime/ledger.d.ts
CHANGED
|
@@ -44,5 +44,12 @@ export declare function recordVeto(ledger: TurnLedger, name: string, args: Recor
|
|
|
44
44
|
/** Record an EXECUTED tool call's outcome (afterToolCall): ok flag, confirmation flag, produced label. */
|
|
45
45
|
export declare function recordToolResult(ledger: TurnLedger, name: string, args: Record<string, unknown>, output: unknown): void;
|
|
46
46
|
/** Record a TERMINAL tool call (replyToUser/askUser): capture the user-facing text. */
|
|
47
|
+
/** Record a terminal CALL in the observed ledger. Called from the guard hooks' SYNCHRONOUS segment
|
|
48
|
+
* (before any await): the model runtime dispatches a step's tool calls concurrently (Promise.all)
|
|
49
|
+
* but STARTS them in emission order, so a synchronous hook-time push makes a same-step `askUser`
|
|
50
|
+
* visible to a sibling destructive call's preTool checks — closing the noActAfterAskSameTurn
|
|
51
|
+
* same-step bypass (proof-suite finding, fixed 2026-07-15). */
|
|
52
|
+
export declare function recordTerminalCall(ledger: TurnLedger, name: string, args: Record<string, unknown>): void;
|
|
53
|
+
/** Capture the terminal REPLY text (the observed push happens at hook time via recordTerminalCall). */
|
|
47
54
|
export declare function recordTerminal(ledger: TurnLedger, name: string, args: Record<string, unknown>): void;
|
|
48
55
|
//# sourceMappingURL=ledger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/runtime/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD;sGACsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB;sGACkG;IAClG,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAExD;AAED,wBAAgB,YAAY,IAAI,UAAU,CAEzC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQrE;AAED,yGAAyG;AACzG,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAM5C;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIpH;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAevH;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/runtime/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD;sGACsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB;sGACkG;IAClG,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAExD;AAED,wBAAgB,YAAY,IAAI,UAAU,CAEzC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQrE;AAED,yGAAyG;AACzG,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAM5C;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAIpH;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAevH;AAED,uFAAuF;AACvF;;;;gEAIgE;AAChE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAExG;AAED,uGAAuG;AACvG,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGpG"}
|
package/dist/runtime/ledger.js
CHANGED
|
@@ -56,10 +56,18 @@ export function recordToolResult(ledger, name, args, output) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
/** Record a TERMINAL tool call (replyToUser/askUser): capture the user-facing text. */
|
|
59
|
+
/** Record a terminal CALL in the observed ledger. Called from the guard hooks' SYNCHRONOUS segment
|
|
60
|
+
* (before any await): the model runtime dispatches a step's tool calls concurrently (Promise.all)
|
|
61
|
+
* but STARTS them in emission order, so a synchronous hook-time push makes a same-step `askUser`
|
|
62
|
+
* visible to a sibling destructive call's preTool checks — closing the noActAfterAskSameTurn
|
|
63
|
+
* same-step bypass (proof-suite finding, fixed 2026-07-15). */
|
|
64
|
+
export function recordTerminalCall(ledger, name, args) {
|
|
65
|
+
ledger.observed.push({ name, args, ok: true, turnIndex: ledger.turnIndex });
|
|
66
|
+
}
|
|
67
|
+
/** Capture the terminal REPLY text (the observed push happens at hook time via recordTerminalCall). */
|
|
59
68
|
export function recordTerminal(ledger, name, args) {
|
|
60
69
|
const text = typeof args.text === 'string' ? args.text : '';
|
|
61
70
|
if (text.trim())
|
|
62
71
|
ledger.terminalReply = text;
|
|
63
|
-
ledger.observed.push({ name, args, ok: true, turnIndex: ledger.turnIndex });
|
|
64
72
|
}
|
|
65
73
|
//# sourceMappingURL=ledger.js.map
|