patchwork-os 1.2.0-beta.2.canary.626 → 1.2.0-beta.2.canary.628
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/privacy/boundaryReceiptLog.d.ts +89 -0
- package/dist/privacy/boundaryReceiptLog.js +139 -0
- package/dist/privacy/boundaryReceiptLog.js.map +1 -0
- package/dist/privacy/destinationRegistry.d.ts +72 -0
- package/dist/privacy/destinationRegistry.js +168 -0
- package/dist/privacy/destinationRegistry.js.map +1 -0
- package/dist/recipes/agentExecutor.d.ts +11 -1
- package/dist/recipes/agentExecutor.js +43 -18
- package/dist/recipes/agentExecutor.js.map +1 -1
- package/dist/recipes/yamlRunner.d.ts +7 -0
- package/dist/recipes/yamlRunner.js +89 -3
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information-boundary receipts (ADR-0021 Phase 3).
|
|
3
|
+
*
|
|
4
|
+
* > Every boundary decision produces a record, in the same shape and store as
|
|
5
|
+
* > gate decisions: what was declared, where it was going, what was removed,
|
|
6
|
+
* > what was retained, why.
|
|
7
|
+
*
|
|
8
|
+
* Patchwork's standing claim is that every consequential decision leaves a
|
|
9
|
+
* receipt. The autonomy gate extends that to *what the AI did*; this extends it
|
|
10
|
+
* to *what the AI was told* — which is the half nobody could previously audit.
|
|
11
|
+
*
|
|
12
|
+
* ## The one thing this file must never do
|
|
13
|
+
*
|
|
14
|
+
* **It must never contain the payload.** A receipt records that a decision was
|
|
15
|
+
* made about data with a given classification; writing the prompt itself would
|
|
16
|
+
* turn the privacy audit log into the largest unclassified copy of exactly the
|
|
17
|
+
* material the boundary exists to protect, sitting in plain JSONL. Only
|
|
18
|
+
* declared metadata is stored: classification, category NAMES, destination id,
|
|
19
|
+
* decision, reason. There is no field for the text, deliberately, so a future
|
|
20
|
+
* caller cannot pass one by accident.
|
|
21
|
+
*
|
|
22
|
+
* ## Fail-soft, always
|
|
23
|
+
*
|
|
24
|
+
* A receipt that cannot be written must never block or alter a decision. The
|
|
25
|
+
* boundary already refuses correctly without any sink attached (pinned by a
|
|
26
|
+
* test in agentBoundary.test.ts); this store is observability, not enforcement.
|
|
27
|
+
* Every write path here swallows its own errors for that reason.
|
|
28
|
+
*/
|
|
29
|
+
import type { BoundaryDecision, Classification } from "./dataPolicy.js";
|
|
30
|
+
export interface BoundaryReceipt {
|
|
31
|
+
seq: number;
|
|
32
|
+
at: number;
|
|
33
|
+
decision: BoundaryDecision;
|
|
34
|
+
/** What the step DECLARED it was carrying. */
|
|
35
|
+
classification: Classification;
|
|
36
|
+
/** Category names only — never their contents. */
|
|
37
|
+
categories?: string[];
|
|
38
|
+
/** Where it was going. */
|
|
39
|
+
destinationId: string;
|
|
40
|
+
destinationType: "local" | "remote";
|
|
41
|
+
/** Which categories the decision required be removed. */
|
|
42
|
+
redactCategories?: string[];
|
|
43
|
+
reason: string;
|
|
44
|
+
/** Recipe/step context when the caller knows it. */
|
|
45
|
+
recipeName?: string;
|
|
46
|
+
stepId?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface RecordBoundaryReceiptInput {
|
|
49
|
+
decision: BoundaryDecision;
|
|
50
|
+
classification: Classification;
|
|
51
|
+
categories?: string[];
|
|
52
|
+
destinationId: string;
|
|
53
|
+
destinationType: "local" | "remote";
|
|
54
|
+
redactCategories?: string[];
|
|
55
|
+
reason: string;
|
|
56
|
+
recipeName?: string;
|
|
57
|
+
stepId?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface BoundaryReceiptLogOptions {
|
|
60
|
+
dir: string;
|
|
61
|
+
memoryCap?: number;
|
|
62
|
+
now?: () => number;
|
|
63
|
+
logger?: {
|
|
64
|
+
warn?: (msg: string) => void;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export declare class BoundaryReceiptLog {
|
|
68
|
+
private readonly opts;
|
|
69
|
+
private receipts;
|
|
70
|
+
private seq;
|
|
71
|
+
private readonly file;
|
|
72
|
+
private readonly memoryCap;
|
|
73
|
+
private readonly now;
|
|
74
|
+
constructor(opts: BoundaryReceiptLogOptions);
|
|
75
|
+
private loadExisting;
|
|
76
|
+
private trim;
|
|
77
|
+
/**
|
|
78
|
+
* Record one boundary decision.
|
|
79
|
+
*
|
|
80
|
+
* Returns the stored receipt. Never throws: a failure to persist is logged
|
|
81
|
+
* and swallowed, because this is observability and the decision it describes
|
|
82
|
+
* has already been made and enforced.
|
|
83
|
+
*/
|
|
84
|
+
record(input: RecordBoundaryReceiptInput): BoundaryReceipt;
|
|
85
|
+
/** Most recent first. */
|
|
86
|
+
recent(limit?: number): BoundaryReceipt[];
|
|
87
|
+
/** Counts per decision — the shape a dashboard or CLI summary wants. */
|
|
88
|
+
summary(): Record<BoundaryDecision, number>;
|
|
89
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information-boundary receipts (ADR-0021 Phase 3).
|
|
3
|
+
*
|
|
4
|
+
* > Every boundary decision produces a record, in the same shape and store as
|
|
5
|
+
* > gate decisions: what was declared, where it was going, what was removed,
|
|
6
|
+
* > what was retained, why.
|
|
7
|
+
*
|
|
8
|
+
* Patchwork's standing claim is that every consequential decision leaves a
|
|
9
|
+
* receipt. The autonomy gate extends that to *what the AI did*; this extends it
|
|
10
|
+
* to *what the AI was told* — which is the half nobody could previously audit.
|
|
11
|
+
*
|
|
12
|
+
* ## The one thing this file must never do
|
|
13
|
+
*
|
|
14
|
+
* **It must never contain the payload.** A receipt records that a decision was
|
|
15
|
+
* made about data with a given classification; writing the prompt itself would
|
|
16
|
+
* turn the privacy audit log into the largest unclassified copy of exactly the
|
|
17
|
+
* material the boundary exists to protect, sitting in plain JSONL. Only
|
|
18
|
+
* declared metadata is stored: classification, category NAMES, destination id,
|
|
19
|
+
* decision, reason. There is no field for the text, deliberately, so a future
|
|
20
|
+
* caller cannot pass one by accident.
|
|
21
|
+
*
|
|
22
|
+
* ## Fail-soft, always
|
|
23
|
+
*
|
|
24
|
+
* A receipt that cannot be written must never block or alter a decision. The
|
|
25
|
+
* boundary already refuses correctly without any sink attached (pinned by a
|
|
26
|
+
* test in agentBoundary.test.ts); this store is observability, not enforcement.
|
|
27
|
+
* Every write path here swallows its own errors for that reason.
|
|
28
|
+
*/
|
|
29
|
+
import { appendFileSync, mkdirSync, readFileSync } from "node:fs";
|
|
30
|
+
import path from "node:path";
|
|
31
|
+
/** Clip so a runaway reason cannot bloat the audit log. */
|
|
32
|
+
const MAX_REASON = 500;
|
|
33
|
+
const DEFAULT_MEMORY_CAP = 500;
|
|
34
|
+
export class BoundaryReceiptLog {
|
|
35
|
+
opts;
|
|
36
|
+
receipts = [];
|
|
37
|
+
seq = 0;
|
|
38
|
+
file;
|
|
39
|
+
memoryCap;
|
|
40
|
+
now;
|
|
41
|
+
constructor(opts) {
|
|
42
|
+
this.opts = opts;
|
|
43
|
+
this.file = path.join(opts.dir, "boundary_receipts.jsonl");
|
|
44
|
+
this.memoryCap = opts.memoryCap ?? DEFAULT_MEMORY_CAP;
|
|
45
|
+
this.now = opts.now ?? Date.now;
|
|
46
|
+
try {
|
|
47
|
+
// 0o700 like the gate log: these name destinations and classifications,
|
|
48
|
+
// which is a map of what this machine considers sensitive.
|
|
49
|
+
mkdirSync(opts.dir, { recursive: true, mode: 0o700 });
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
opts.logger?.warn?.(`[boundary-receipts] could not create ${opts.dir}: ${err instanceof Error ? err.message : String(err)}`);
|
|
53
|
+
}
|
|
54
|
+
this.loadExisting();
|
|
55
|
+
}
|
|
56
|
+
loadExisting() {
|
|
57
|
+
try {
|
|
58
|
+
const text = readFileSync(this.file, "utf-8");
|
|
59
|
+
for (const line of text.split("\n")) {
|
|
60
|
+
const t = line.trim();
|
|
61
|
+
if (!t)
|
|
62
|
+
continue;
|
|
63
|
+
try {
|
|
64
|
+
const r = JSON.parse(t);
|
|
65
|
+
if (typeof r.seq === "number") {
|
|
66
|
+
this.receipts.push(r);
|
|
67
|
+
if (r.seq > this.seq)
|
|
68
|
+
this.seq = r.seq;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// one malformed line must not make the whole log unreadable
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
this.trim();
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// no file yet — normal on first run
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
trim() {
|
|
82
|
+
if (this.receipts.length > this.memoryCap) {
|
|
83
|
+
this.receipts = this.receipts.slice(-this.memoryCap);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Record one boundary decision.
|
|
88
|
+
*
|
|
89
|
+
* Returns the stored receipt. Never throws: a failure to persist is logged
|
|
90
|
+
* and swallowed, because this is observability and the decision it describes
|
|
91
|
+
* has already been made and enforced.
|
|
92
|
+
*/
|
|
93
|
+
record(input) {
|
|
94
|
+
const receipt = {
|
|
95
|
+
seq: ++this.seq,
|
|
96
|
+
at: this.now(),
|
|
97
|
+
decision: input.decision,
|
|
98
|
+
classification: input.classification,
|
|
99
|
+
destinationId: input.destinationId,
|
|
100
|
+
destinationType: input.destinationType,
|
|
101
|
+
reason: input.reason.slice(0, MAX_REASON),
|
|
102
|
+
...(input.categories?.length ? { categories: input.categories } : {}),
|
|
103
|
+
...(input.redactCategories?.length
|
|
104
|
+
? { redactCategories: input.redactCategories }
|
|
105
|
+
: {}),
|
|
106
|
+
...(input.recipeName ? { recipeName: input.recipeName } : {}),
|
|
107
|
+
...(input.stepId ? { stepId: input.stepId } : {}),
|
|
108
|
+
};
|
|
109
|
+
this.receipts.push(receipt);
|
|
110
|
+
this.trim();
|
|
111
|
+
try {
|
|
112
|
+
appendFileSync(this.file, `${JSON.stringify(receipt)}\n`, {
|
|
113
|
+
mode: 0o600,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
this.opts.logger?.warn?.(`[boundary-receipts] append failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
118
|
+
}
|
|
119
|
+
return receipt;
|
|
120
|
+
}
|
|
121
|
+
/** Most recent first. */
|
|
122
|
+
recent(limit = 50) {
|
|
123
|
+
return this.receipts.slice(-limit).reverse();
|
|
124
|
+
}
|
|
125
|
+
/** Counts per decision — the shape a dashboard or CLI summary wants. */
|
|
126
|
+
summary() {
|
|
127
|
+
const out = {
|
|
128
|
+
ALLOW: 0,
|
|
129
|
+
ALLOW_REDACTED: 0,
|
|
130
|
+
LOCAL_ONLY: 0,
|
|
131
|
+
REQUIRE_APPROVAL: 0,
|
|
132
|
+
DENY: 0,
|
|
133
|
+
};
|
|
134
|
+
for (const r of this.receipts)
|
|
135
|
+
out[r.decision]++;
|
|
136
|
+
return out;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=boundaryReceiptLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundaryReceiptLog.js","sourceRoot":"","sources":["../../src/privacy/boundaryReceiptLog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Destination registry (ADR-0021).
|
|
3
|
+
*
|
|
4
|
+
* The decision in `dataPolicy.ts` is pure and complete, and until this module
|
|
5
|
+
* existed it was also unreachable: `executeAgent` only evaluates the boundary
|
|
6
|
+
* when a destination is supplied, and nothing supplied one. The engine was
|
|
7
|
+
* built and inert.
|
|
8
|
+
*
|
|
9
|
+
* A destination is *where a prompt is about to go*. Patchwork resolves that
|
|
10
|
+
* from the driver, because that is what actually determines whether bytes
|
|
11
|
+
* cross a network boundary:
|
|
12
|
+
*
|
|
13
|
+
* local — a model on this machine (`local`, `ollama`, an OpenAI-compatible
|
|
14
|
+
* endpoint pointed at localhost)
|
|
15
|
+
* remote — anything that sends the prompt to a third party
|
|
16
|
+
*
|
|
17
|
+
* ## Configuration is opt-in, and absence means inert
|
|
18
|
+
*
|
|
19
|
+
* With no `privacy.destinations` block, `resolveDestination` returns null and
|
|
20
|
+
* `executeAgent` skips the boundary entirely — byte-identical to before. That
|
|
21
|
+
* is the same fail-soft posture as the default classification, and for the same
|
|
22
|
+
* reason: a boundary that refuses work on every install that has not configured
|
|
23
|
+
* it would be switched off before it ever protected anyone.
|
|
24
|
+
*
|
|
25
|
+
* The asymmetry is deliberate and worth stating. Configuring a destination is
|
|
26
|
+
* how an operator OPTS IN to enforcement. Once opted in, the decision is
|
|
27
|
+
* fail-CLOSED — an unknown driver resolves to the strictest registered remote
|
|
28
|
+
* profile rather than to "no destination", because "we do not recognise where
|
|
29
|
+
* this is going" must never read as "it is fine to send".
|
|
30
|
+
*/
|
|
31
|
+
import { type Classification, type Destination } from "./dataPolicy.js";
|
|
32
|
+
export interface DestinationConfig {
|
|
33
|
+
type?: string;
|
|
34
|
+
classifications?: unknown;
|
|
35
|
+
forbiddenCategories?: unknown;
|
|
36
|
+
approvable?: unknown;
|
|
37
|
+
/** Driver names this destination covers. */
|
|
38
|
+
drivers?: unknown;
|
|
39
|
+
}
|
|
40
|
+
export interface PrivacyConfig {
|
|
41
|
+
destinations?: Record<string, DestinationConfig>;
|
|
42
|
+
}
|
|
43
|
+
export interface ParsedRegistry {
|
|
44
|
+
destinations: Destination[];
|
|
45
|
+
/** Destination id → driver names it covers. */
|
|
46
|
+
driversFor: Map<string, string[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Entries that could not be parsed, with a reason. REPORTED rather than
|
|
49
|
+
* dropped: a destination that silently vanishes from the registry downgrades
|
|
50
|
+
* enforcement to "no destination", which is exactly the direction this must
|
|
51
|
+
* never fail in.
|
|
52
|
+
*/
|
|
53
|
+
invalid: Array<{
|
|
54
|
+
id: string;
|
|
55
|
+
reason: string;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
export declare function parseRegistry(cfg: PrivacyConfig | undefined): ParsedRegistry;
|
|
59
|
+
export interface ResolvedDestination {
|
|
60
|
+
destination: Destination;
|
|
61
|
+
/** True when some registered LOCAL destination is cleared for `forClass`. */
|
|
62
|
+
localDestinationAccepts: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve the destination for a dispatch.
|
|
66
|
+
*
|
|
67
|
+
* Returns null ONLY when nothing is registered — the inert case. Once anything
|
|
68
|
+
* is registered, this always yields a destination, because falling back to null
|
|
69
|
+
* on an unrecognised driver would silently disable the boundary for exactly the
|
|
70
|
+
* dispatches nobody anticipated.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveDestination(registry: ParsedRegistry, driver: string | undefined, forClass: Classification): ResolvedDestination | null;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Destination registry (ADR-0021).
|
|
3
|
+
*
|
|
4
|
+
* The decision in `dataPolicy.ts` is pure and complete, and until this module
|
|
5
|
+
* existed it was also unreachable: `executeAgent` only evaluates the boundary
|
|
6
|
+
* when a destination is supplied, and nothing supplied one. The engine was
|
|
7
|
+
* built and inert.
|
|
8
|
+
*
|
|
9
|
+
* A destination is *where a prompt is about to go*. Patchwork resolves that
|
|
10
|
+
* from the driver, because that is what actually determines whether bytes
|
|
11
|
+
* cross a network boundary:
|
|
12
|
+
*
|
|
13
|
+
* local — a model on this machine (`local`, `ollama`, an OpenAI-compatible
|
|
14
|
+
* endpoint pointed at localhost)
|
|
15
|
+
* remote — anything that sends the prompt to a third party
|
|
16
|
+
*
|
|
17
|
+
* ## Configuration is opt-in, and absence means inert
|
|
18
|
+
*
|
|
19
|
+
* With no `privacy.destinations` block, `resolveDestination` returns null and
|
|
20
|
+
* `executeAgent` skips the boundary entirely — byte-identical to before. That
|
|
21
|
+
* is the same fail-soft posture as the default classification, and for the same
|
|
22
|
+
* reason: a boundary that refuses work on every install that has not configured
|
|
23
|
+
* it would be switched off before it ever protected anyone.
|
|
24
|
+
*
|
|
25
|
+
* The asymmetry is deliberate and worth stating. Configuring a destination is
|
|
26
|
+
* how an operator OPTS IN to enforcement. Once opted in, the decision is
|
|
27
|
+
* fail-CLOSED — an unknown driver resolves to the strictest registered remote
|
|
28
|
+
* profile rather than to "no destination", because "we do not recognise where
|
|
29
|
+
* this is going" must never read as "it is fine to send".
|
|
30
|
+
*/
|
|
31
|
+
import { CLASSIFICATIONS, classificationRank, } from "./dataPolicy.js";
|
|
32
|
+
/** Drivers that keep the prompt on this machine. */
|
|
33
|
+
const LOCAL_DRIVERS = new Set(["local", "ollama", "lmstudio", "llamacpp"]);
|
|
34
|
+
function parseClassifications(raw) {
|
|
35
|
+
if (!Array.isArray(raw))
|
|
36
|
+
return null;
|
|
37
|
+
const out = [];
|
|
38
|
+
for (const v of raw) {
|
|
39
|
+
if (typeof v !== "string")
|
|
40
|
+
return null;
|
|
41
|
+
if (!CLASSIFICATIONS.includes(v))
|
|
42
|
+
return null;
|
|
43
|
+
out.push(v);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
export function parseRegistry(cfg) {
|
|
48
|
+
const destinations = [];
|
|
49
|
+
const driversFor = new Map();
|
|
50
|
+
const invalid = [];
|
|
51
|
+
for (const [id, raw] of Object.entries(cfg?.destinations ?? {})) {
|
|
52
|
+
if (!raw || typeof raw !== "object") {
|
|
53
|
+
invalid.push({ id, reason: "not an object" });
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const type = raw.type === "local" ? "local" : raw.type === "remote" ? "remote" : null;
|
|
57
|
+
if (!type) {
|
|
58
|
+
invalid.push({ id, reason: `type must be "local" or "remote"` });
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const classifications = parseClassifications(raw.classifications);
|
|
62
|
+
if (!classifications) {
|
|
63
|
+
invalid.push({
|
|
64
|
+
id,
|
|
65
|
+
reason: "classifications must be an array of known classifications",
|
|
66
|
+
});
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const dest = { id, type, classifications };
|
|
70
|
+
if (Array.isArray(raw.forbiddenCategories)) {
|
|
71
|
+
dest.forbiddenCategories = raw.forbiddenCategories.filter((c) => typeof c === "string");
|
|
72
|
+
}
|
|
73
|
+
if (raw.approvable === true)
|
|
74
|
+
dest.approvable = true;
|
|
75
|
+
destinations.push(dest);
|
|
76
|
+
driversFor.set(id, Array.isArray(raw.drivers)
|
|
77
|
+
? raw.drivers.filter((d) => typeof d === "string")
|
|
78
|
+
: []);
|
|
79
|
+
}
|
|
80
|
+
return { destinations, driversFor, invalid };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The strictest remote destination.
|
|
84
|
+
*
|
|
85
|
+
* Ranked by the HIGHEST classification each is cleared for, not by how many it
|
|
86
|
+
* lists. Counting was wrong in the direction that matters: a destination
|
|
87
|
+
* cleared for `[restricted]` has one entry and one cleared for
|
|
88
|
+
* `[public, internal]` has two, so "fewest wins" would pick the one trusted
|
|
89
|
+
* with the most sensitive data as the safe fallback for an unrecognised
|
|
90
|
+
* driver. Ties break on the smaller list.
|
|
91
|
+
*/
|
|
92
|
+
function strictestRemote(destinations) {
|
|
93
|
+
const remotes = destinations.filter((d) => d.type === "remote");
|
|
94
|
+
if (remotes.length === 0)
|
|
95
|
+
return null;
|
|
96
|
+
const ceiling = (d) => d.classifications.length === 0
|
|
97
|
+
? -1
|
|
98
|
+
: Math.max(...d.classifications.map(classificationRank));
|
|
99
|
+
return remotes.reduce((a, b) => {
|
|
100
|
+
const ca = ceiling(a);
|
|
101
|
+
const cb = ceiling(b);
|
|
102
|
+
if (cb !== ca)
|
|
103
|
+
return cb < ca ? b : a;
|
|
104
|
+
return b.classifications.length < a.classifications.length ? b : a;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve the destination for a dispatch.
|
|
109
|
+
*
|
|
110
|
+
* Returns null ONLY when nothing is registered — the inert case. Once anything
|
|
111
|
+
* is registered, this always yields a destination, because falling back to null
|
|
112
|
+
* on an unrecognised driver would silently disable the boundary for exactly the
|
|
113
|
+
* dispatches nobody anticipated.
|
|
114
|
+
*/
|
|
115
|
+
export function resolveDestination(registry, driver, forClass) {
|
|
116
|
+
if (registry.destinations.length === 0) {
|
|
117
|
+
// NOTHING configured is the inert case, and is fine.
|
|
118
|
+
//
|
|
119
|
+
// Something configured that ALL failed to parse is not. Returning null
|
|
120
|
+
// there reverts the boundary to inert on a typo — `type: "cloud"` instead
|
|
121
|
+
// of `"remote"` — while the operator believes they have opted in. That is
|
|
122
|
+
// the fail-open this module's own header says it prevents, reachable by a
|
|
123
|
+
// single misspelled word.
|
|
124
|
+
//
|
|
125
|
+
// So: any invalid entry with no valid entry surviving yields a synthetic
|
|
126
|
+
// destination cleared for NOTHING. Every dispatch is refused, loudly and
|
|
127
|
+
// immediately, which is the correct reading of "the operator asked for
|
|
128
|
+
// enforcement and we cannot tell what they meant".
|
|
129
|
+
if (registry.invalid.length > 0) {
|
|
130
|
+
return {
|
|
131
|
+
destination: {
|
|
132
|
+
id: `unparseable-config(${registry.invalid.map((i) => i.id).join(", ")})`,
|
|
133
|
+
type: "remote",
|
|
134
|
+
classifications: [],
|
|
135
|
+
},
|
|
136
|
+
localDestinationAccepts: false,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
const d = (driver ?? "").toLowerCase();
|
|
142
|
+
const localAccepts = registry.destinations.some((dest) => dest.type === "local" && dest.classifications.includes(forClass));
|
|
143
|
+
// Explicit driver mapping wins.
|
|
144
|
+
for (const dest of registry.destinations) {
|
|
145
|
+
if ((registry.driversFor.get(dest.id) ?? []).includes(d)) {
|
|
146
|
+
return { destination: dest, localDestinationAccepts: localAccepts };
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Otherwise infer by driver family.
|
|
150
|
+
if (LOCAL_DRIVERS.has(d)) {
|
|
151
|
+
const local = registry.destinations.find((x) => x.type === "local");
|
|
152
|
+
if (local) {
|
|
153
|
+
return { destination: local, localDestinationAccepts: localAccepts };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Unknown or remote driver → strictest remote. Fail closed: "we do not
|
|
157
|
+
// recognise where this is going" must never read as "it is fine to send".
|
|
158
|
+
const remote = strictestRemote(registry.destinations);
|
|
159
|
+
if (remote) {
|
|
160
|
+
return { destination: remote, localDestinationAccepts: localAccepts };
|
|
161
|
+
}
|
|
162
|
+
// Only local destinations are registered but the driver is not local. The
|
|
163
|
+
// strictest available answer is the local profile, which will refuse
|
|
164
|
+
// anything it is not cleared for.
|
|
165
|
+
const first = registry.destinations[0];
|
|
166
|
+
return { destination: first, localDestinationAccepts: localAccepts };
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=destinationRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destinationRegistry.js","sourceRoot":"","sources":["../../src/privacy/destinationRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* localFn (Ollama/LM Studio) instead of Anthropic API — opt-in behaviour change.
|
|
9
9
|
*/
|
|
10
10
|
import { type Destination } from "../privacy/dataPolicy.js";
|
|
11
|
+
import { type PrivacyConfig } from "../privacy/destinationRegistry.js";
|
|
11
12
|
/**
|
|
12
13
|
* Token usage reported by an adapter. Both fields are integers; absent
|
|
13
14
|
* `usage` on the parent `AgentResult` means the driver didn't surface
|
|
@@ -48,10 +49,19 @@ export interface AgentExecutorDeps {
|
|
|
48
49
|
* Optional: an unwired sink means no receipt, never a refusal — the
|
|
49
50
|
* boundary must not depend on its own audit trail being configured.
|
|
50
51
|
*/
|
|
52
|
+
/**
|
|
53
|
+
* Supplies `privacy.destinations` from operator config. Absent means the
|
|
54
|
+
* boundary stays inert unless a caller passes an explicit destination —
|
|
55
|
+
* the opt-in posture ADR-0021 requires.
|
|
56
|
+
*/
|
|
57
|
+
loadPrivacyConfigFn?: () => PrivacyConfig | undefined;
|
|
51
58
|
recordBoundaryDecisionFn?: (r: {
|
|
52
59
|
decision: string;
|
|
53
60
|
reason: string;
|
|
54
|
-
destinationId
|
|
61
|
+
destinationId: string;
|
|
62
|
+
destinationType: "local" | "remote";
|
|
63
|
+
classification: string;
|
|
64
|
+
categories?: string[];
|
|
55
65
|
redactCategories?: string[];
|
|
56
66
|
}) => void;
|
|
57
67
|
anthropicFn: (prompt: string, model: string) => Promise<AgentResult>;
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* CHANGELOG: chained users with model:local in ~/.patchwork/config now route to
|
|
8
8
|
* localFn (Ollama/LM Studio) instead of Anthropic API — opt-in behaviour change.
|
|
9
9
|
*/
|
|
10
|
-
import { decideBoundary, parseDataPolicy, } from "../privacy/dataPolicy.js";
|
|
10
|
+
import { DEFAULT_CLASSIFICATION, decideBoundary, parseDataPolicy, } from "../privacy/dataPolicy.js";
|
|
11
|
+
import { parseRegistry, resolveDestination, } from "../privacy/destinationRegistry.js";
|
|
11
12
|
import { resolveLocalModel } from "./localSettings.js";
|
|
12
13
|
/**
|
|
13
14
|
* Model the anthropic/local agent paths fall back to when a step omits `model`.
|
|
@@ -51,21 +52,39 @@ const CODEX_WORKER_SANDBOX_LOCKDOWN = {
|
|
|
51
52
|
networkAccess: false,
|
|
52
53
|
webSearch: false,
|
|
53
54
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
55
|
+
function evaluateBoundary(ctx, driver, loadPrivacyConfig) {
|
|
56
|
+
const policy0 = parseDataPolicy(ctx?.dataPolicy);
|
|
57
|
+
// Resolve the destination HERE rather than requiring every call site to pass
|
|
58
|
+
// one. There are four dispatch sites in the flat runner alone; a boundary
|
|
59
|
+
// that depends on each of them remembering is a boundary with four ways to
|
|
60
|
+
// be bypassed, and the fifth call site added later inherits none of them.
|
|
61
|
+
let destination = ctx?.destination;
|
|
62
|
+
let localAccepts = ctx?.localDestinationAccepts;
|
|
63
|
+
if (!destination && loadPrivacyConfig) {
|
|
64
|
+
const registry = parseRegistry(loadPrivacyConfig());
|
|
65
|
+
const forClass = policy0?.classification ?? DEFAULT_CLASSIFICATION;
|
|
66
|
+
const resolved = resolveDestination(registry, driver, forClass);
|
|
67
|
+
if (resolved) {
|
|
68
|
+
destination = resolved.destination;
|
|
69
|
+
localAccepts = resolved.localDestinationAccepts;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!destination)
|
|
67
73
|
return null;
|
|
68
|
-
const
|
|
74
|
+
const ctx2 = { ...ctx, destination, localDestinationAccepts: localAccepts };
|
|
75
|
+
// The RESOLVED destination travels with the outcome. Reading it back off the
|
|
76
|
+
// caller's input loses it entirely whenever the destination was resolved from
|
|
77
|
+
// config, which is the normal path — the receipt would then record a decision
|
|
78
|
+
// with no record of where the data was going, i.e. the one field that makes
|
|
79
|
+
// it an audit trail rather than a counter.
|
|
80
|
+
return {
|
|
81
|
+
...evaluateAgainst(policy0, ctx2),
|
|
82
|
+
destination,
|
|
83
|
+
classification: policy0?.classification ?? DEFAULT_CLASSIFICATION,
|
|
84
|
+
...(policy0?.categories?.length ? { categories: policy0.categories } : {}),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function evaluateAgainst(policy, ctx) {
|
|
69
88
|
if (policy === null) {
|
|
70
89
|
return {
|
|
71
90
|
decision: "DENY",
|
|
@@ -104,12 +123,15 @@ export async function executeAgent(input, deps) {
|
|
|
104
123
|
// Precedence is privacy -> capability -> cost, and it is not negotiable by
|
|
105
124
|
// the later stages: a cheaper or more capable model that is not authorised
|
|
106
125
|
// for the data does not become authorised by being cheaper or more capable.
|
|
107
|
-
const boundary = evaluateBoundary(input.boundary);
|
|
126
|
+
const boundary = evaluateBoundary(input.boundary, driver, deps.loadPrivacyConfigFn);
|
|
108
127
|
if (boundary && boundary.decision !== "ALLOW") {
|
|
109
128
|
deps.recordBoundaryDecisionFn?.({
|
|
110
129
|
decision: boundary.decision,
|
|
111
130
|
reason: boundary.reason,
|
|
112
|
-
destinationId:
|
|
131
|
+
destinationId: boundary.destination.id,
|
|
132
|
+
destinationType: boundary.destination.type,
|
|
133
|
+
classification: boundary.classification,
|
|
134
|
+
...(boundary.categories && { categories: boundary.categories }),
|
|
113
135
|
...(boundary.redactCategories && {
|
|
114
136
|
redactCategories: boundary.redactCategories,
|
|
115
137
|
}),
|
|
@@ -127,7 +149,10 @@ export async function executeAgent(input, deps) {
|
|
|
127
149
|
deps.recordBoundaryDecisionFn?.({
|
|
128
150
|
decision: boundary.decision,
|
|
129
151
|
reason: boundary.reason,
|
|
130
|
-
destinationId:
|
|
152
|
+
destinationId: boundary.destination.id,
|
|
153
|
+
destinationType: boundary.destination.type,
|
|
154
|
+
classification: boundary.classification,
|
|
155
|
+
...(boundary.categories && { categories: boundary.categories }),
|
|
131
156
|
});
|
|
132
157
|
}
|
|
133
158
|
const cliOpts = mcpAccess !== undefined ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentExecutor.js","sourceRoot":"","sources":["../../src/recipes/agentExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,cAAc,EACd,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentExecutor.js","sourceRoot":"","sources":["../../src/recipes/agentExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,sBAAsB,EAEtB,cAAc,EACd,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,aAAa,EACb,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwIvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAoBzD,SAAS,yBAAyB,CAChC,MAA0B,EAC1B,IAAuB;IAEvB,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,UAAU,CAAC;IAC3E,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,gBAAgB,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,6CAA6C;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa;QACjE,OAAO,UAAU,CAAC;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,MAAM,CAAC,CAAC,8BAA8B;IAChF,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,mDAAmD;AACzG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,6BAA6B,GAA4B;IAC7D,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;CACjB,CAAC;AAmBF,SAAS,gBAAgB,CACvB,GAAmC,EACnC,MAA0B,EAC1B,iBAAgE;IAEhE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEjD,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,WAAW,GAAG,GAAG,EAAE,WAAW,CAAC;IACnC,IAAI,YAAY,GAAG,GAAG,EAAE,uBAAuB,CAAC;IAChD,IAAI,CAAC,WAAW,IAAI,iBAAiB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,EAAE,cAAc,IAAI,sBAAsB,CAAC;QACnE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACnC,YAAY,GAAG,QAAQ,CAAC,uBAAuB,CAAC;QAClD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,uBAAuB,EAAE,YAAY,EAAE,CAAC;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,2CAA2C;IAC3C,OAAO;QACL,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;QACjC,WAAW;QACX,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,sBAAsB;QACjE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,MAA0C,EAC1C,GAEC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,MAAM,EACJ,4GAA4G;SAC/G,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7C,GAAG,CAAC,GAAG,CAAC,uBAAuB,KAAK,SAAS,IAAI;YAC/C,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;SACrD,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAyB,EACzB,IAAuB;IAEvB,MAAM,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,GACf,GAAG,KAAK,CAAC;IAEV,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,kBAAkB;IAClB,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,IAAI,cAAc,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,sNAAsN;YAC5N,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE;SACvC,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,2CAA2C;IAC3C,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,KAAK,CAAC,QAAQ,EACd,MAAM,EACN,IAAI,CAAC,mBAAmB,CACzB,CAAC;IACF,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtC,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI;YAC1C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/D,GAAG,CAAC,QAAQ,CAAC,gBAAgB,IAAI;gBAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC5C,CAAC;SACH,CAAC,CAAC;QACH,yEAAyE;QACzE,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,OAAO;YACL,IAAI,EAAE,8CAA8C,QAAQ,CAAC,MAAM,GAAG;YACtE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE;SACvC,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtC,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI;YAC1C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;SAChE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GACX,SAAS,KAAK,SAAS;QACvB,OAAO,KAAK,SAAS;QACrB,YAAY,KAAK,SAAS;QAC1B,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC;YACE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;YACzC,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;YACnD,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,CAAC;SAC1D;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,KAAK,GAAG,KAAK,EACjB,cAAsB,EACtB,aAAiC,EACjC,CAAuB,EACD,EAAE;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACzB,OAAO;YACL,GAAG,CAAC;YACJ,QAAQ,EAAE;gBACR,MAAM,EAAE,cAAc;gBACtB,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,KAAK,CACV,WAAW,EACX,KAAK,IAAI,aAAa,EACtB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,aAAa,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IACE,MAAM,KAAK,QAAQ;QACnB,MAAM,KAAK,MAAM;QACjB,MAAM,KAAK,QAAQ;QACnB,MAAM,KAAK,YAAY;QACvB,MAAM,KAAK,OAAO,EAClB,CAAC;QACD,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,wBAAwB,GAC5B,MAAM,KAAK,OAAO,IAAI,cAAc;YAClC,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO,KAAK,CACV,MAAM,EACN,KAAK;QACL,0EAA0E;QAC1E,4DAA4D;QAC5D,wBAAwB;YACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,CAAC;YACxE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,2EAA2E;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,mEAAmE;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,OAAO,KAAK,CACV,WAAW,EACX,KAAK,IAAI,aAAa,EACtB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,aAAa,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,uEAAuE;IACvE,6EAA6E;IAC7E,+DAA+D;IAC/D,OAAO,KAAK,CACV,WAAW,EACX,KAAK,IAAI,aAAa,EACtB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,aAAa,CAAC,CACjD,CAAC;AACJ,CAAC"}
|
|
@@ -116,6 +116,13 @@ export interface YamlStep {
|
|
|
116
116
|
* every revision reuses the base model (byte-identical to prior behavior).
|
|
117
117
|
*/
|
|
118
118
|
escalate?: import("./pricing/costRouter.js").RouteCandidate[];
|
|
119
|
+
/**
|
|
120
|
+
* ADR-0021 information boundary — what this step declares it carries.
|
|
121
|
+
* Parsed by `parseDataPolicy` at the boundary, NOT here: an unrecognised
|
|
122
|
+
* classification must reach the decision point so it can fail closed,
|
|
123
|
+
* rather than being normalised away on the way in.
|
|
124
|
+
*/
|
|
125
|
+
data_policy?: unknown;
|
|
119
126
|
};
|
|
120
127
|
into?: string;
|
|
121
128
|
optional?: boolean;
|
|
@@ -68,6 +68,7 @@ import { evaluateWhen } from "./whenGuard.js";
|
|
|
68
68
|
import { resolveWorkspaceRoot } from "./workspaceRoot.js";
|
|
69
69
|
import "./tools/index.js";
|
|
70
70
|
import { patchworkPath } from "../patchworkHome.js";
|
|
71
|
+
import { BoundaryReceiptLog } from "../privacy/boundaryReceiptLog.js";
|
|
71
72
|
/**
|
|
72
73
|
* Bundled-templates directory used as a third allowed root for nested-recipe
|
|
73
74
|
* lookups (`recipe:` references with explicit paths). Resolved once at module
|
|
@@ -791,7 +792,12 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
791
792
|
const runAgentText = async (prompt, driver, model, mcpAccess, downshift, providerOptions,
|
|
792
793
|
// P0-5: carry the reviewed/judge step's opt-in tool sandbox into refine-loop
|
|
793
794
|
// re-runs so a sandboxed step STAYS sandboxed across revisions/re-judges.
|
|
794
|
-
sandboxOpts
|
|
795
|
+
sandboxOpts,
|
|
796
|
+
// ADR-0021: a refine-loop re-run carries the SAME declared policy as the
|
|
797
|
+
// step it revises. Omitting it here would mean a `restricted` step is
|
|
798
|
+
// judged `restricted` on its first attempt and `internal` on every
|
|
799
|
+
// revision — the boundary loosening precisely where a step is retried.
|
|
800
|
+
dataPolicy) => {
|
|
795
801
|
// Phase 4: route revisions too, so a downshift on the reviewed step also
|
|
796
802
|
// applies to its refine-loop re-runs (no-op when downshift is absent).
|
|
797
803
|
const routed = resolveRouting({ driver, model }, downshift, prompt, runBudget);
|
|
@@ -816,6 +822,7 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
816
822
|
// Fail closed if a worker sandbox can't be enforced on the chosen driver.
|
|
817
823
|
...(deps.agentDisallowedTools?.length && { enforceSandbox: true }),
|
|
818
824
|
...(providerOptions && { providerOptions }),
|
|
825
|
+
...(dataPolicy !== undefined && { boundary: { dataPolicy } }),
|
|
819
826
|
}, buildAgentExecutorDeps(stepDeps, deps));
|
|
820
827
|
runBudget.reconcile(
|
|
821
828
|
// Prefer the driver executeAgent actually resolved+ran; fall back to
|
|
@@ -978,7 +985,11 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
978
985
|
...(reviewedAgent.disallowedTools !== undefined && {
|
|
979
986
|
disallowedTools: reviewedAgent.disallowedTools,
|
|
980
987
|
}),
|
|
981
|
-
}
|
|
988
|
+
},
|
|
989
|
+
// The revision re-runs the REVIEWED step, so it carries the REVIEWED
|
|
990
|
+
// step's declared policy — not the judge's. Using the judge's would
|
|
991
|
+
// let a differently-labelled reviewer relabel the data being revised.
|
|
992
|
+
reviewedAgent.data_policy);
|
|
982
993
|
if (!revised.ok) {
|
|
983
994
|
// A failed / empty revision can't be re-judged — stop and treat the
|
|
984
995
|
// loop as exhausted with the last good verdict still in place.
|
|
@@ -1025,7 +1036,10 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
1025
1036
|
...(agentCfg.disallowedTools !== undefined && {
|
|
1026
1037
|
disallowedTools: agentCfg.disallowedTools,
|
|
1027
1038
|
}),
|
|
1028
|
-
}
|
|
1039
|
+
},
|
|
1040
|
+
// The re-judge re-runs the JUDGE step, so it carries the judge's own
|
|
1041
|
+
// declared policy.
|
|
1042
|
+
agentCfg.data_policy);
|
|
1029
1043
|
if (!judged.ok) {
|
|
1030
1044
|
// Audit 2026-06-03 (MEDIUM #17): a failed / silent-fail / empty
|
|
1031
1045
|
// RE-JUDGE can't yield a trustworthy verdict. Mirror the revise-
|
|
@@ -1356,6 +1370,17 @@ export async function runYamlRecipe(recipe, deps = {}, seedContext = {}) {
|
|
|
1356
1370
|
...(isJudge && {
|
|
1357
1371
|
providerOptions: { responseFormat: { type: "json_object" } },
|
|
1358
1372
|
}),
|
|
1373
|
+
// ADR-0021 — the step's DECLARED policy. Passed raw: an
|
|
1374
|
+
// unrecognised classification must reach `parseDataPolicy` at the
|
|
1375
|
+
// decision point so it can fail closed, rather than being
|
|
1376
|
+
// normalised away here. Without this the boundary judged every
|
|
1377
|
+
// step at the default `internal`, so a step declaring
|
|
1378
|
+
// `restricted` was dispatched to a remote model AND a receipt was
|
|
1379
|
+
// written asserting `internal` — a false-affirmative audit
|
|
1380
|
+
// record, which is worse than no record at all.
|
|
1381
|
+
...(agentCfg.data_policy !== undefined && {
|
|
1382
|
+
boundary: { dataPolicy: agentCfg.data_policy },
|
|
1383
|
+
}),
|
|
1359
1384
|
}, buildAgentExecutorDeps(stepDeps, deps));
|
|
1360
1385
|
agentResult = agentReturn.text;
|
|
1361
1386
|
runBudget.reconcile(
|
|
@@ -2496,9 +2521,70 @@ function resolveStepDeps(deps, scope) {
|
|
|
2496
2521
|
function toAgentResult(v) {
|
|
2497
2522
|
return typeof v === "string" ? { text: v } : v;
|
|
2498
2523
|
}
|
|
2524
|
+
/**
|
|
2525
|
+
* Lazily-constructed receipt log, shared per process.
|
|
2526
|
+
*
|
|
2527
|
+
* Lazy because constructing it touches the filesystem (mkdir), and a runner
|
|
2528
|
+
* that never dispatches an agent step should not create the directory. Shared
|
|
2529
|
+
* because a per-call instance would restart `seq` at 1 on every dispatch —
|
|
2530
|
+
* the same per-instance-counter-on-a-shared-file defect that made 142 of 145
|
|
2531
|
+
* run-log seqs collide (#1324).
|
|
2532
|
+
*/
|
|
2533
|
+
const _boundaryReceiptLogs = new Map();
|
|
2534
|
+
function boundaryReceiptLog() {
|
|
2535
|
+
// Keyed BY RESOLVED DIRECTORY, not a single instance.
|
|
2536
|
+
//
|
|
2537
|
+
// A plain singleton captures whichever home existed at first use and ignores
|
|
2538
|
+
// PATCHWORK_HOME afterwards — the same frozen-at-first-use defect as the
|
|
2539
|
+
// module-level RECIPES_DIR (#1265) and the OAuth redirect URI (#1266),
|
|
2540
|
+
// reintroduced by the fix for it. Caught because an end-to-end test set a
|
|
2541
|
+
// fresh home and its receipts went to the previous one.
|
|
2542
|
+
//
|
|
2543
|
+
// Still one instance PER DIRECTORY, which is the property that matters: a
|
|
2544
|
+
// per-call instance would restart `seq` at 1 on every dispatch, the
|
|
2545
|
+
// counter-on-a-shared-file bug that collided 142 of 145 run-log seqs
|
|
2546
|
+
// (#1324).
|
|
2547
|
+
const dir = patchworkPath();
|
|
2548
|
+
let log = _boundaryReceiptLogs.get(dir);
|
|
2549
|
+
if (!log) {
|
|
2550
|
+
log = new BoundaryReceiptLog({ dir });
|
|
2551
|
+
_boundaryReceiptLogs.set(dir, log);
|
|
2552
|
+
}
|
|
2553
|
+
return log;
|
|
2554
|
+
}
|
|
2499
2555
|
function buildAgentExecutorDeps(stepDeps, runnerDeps, claudeCodeFnOverride) {
|
|
2500
2556
|
const claudeCliFn = claudeCodeFnOverride ?? stepDeps.claudeCodeFn;
|
|
2501
2557
|
return {
|
|
2558
|
+
// ── ADR-0021 information boundary ───────────────────────────────────────
|
|
2559
|
+
// Wired HERE because this is the single place agent-executor deps are
|
|
2560
|
+
// built for every dispatch site in this runner. Declaring the deps on
|
|
2561
|
+
// `AgentExecutorDeps` and supplying them nowhere is how a boundary ends up
|
|
2562
|
+
// correct, tested, and inert in production — the exact "built and
|
|
2563
|
+
// unreachable" state the destination registry was added to fix, one layer
|
|
2564
|
+
// further out.
|
|
2565
|
+
//
|
|
2566
|
+
// Both are read per call, not captured: an operator editing
|
|
2567
|
+
// `privacy.destinations` must take effect without a bridge restart, and
|
|
2568
|
+
// `loadConfig` is already mtime-gated so this is cheap.
|
|
2569
|
+
loadPrivacyConfigFn: () => loadPatchworkConfigSync().privacy,
|
|
2570
|
+
recordBoundaryDecisionFn: (r) => {
|
|
2571
|
+
// Fail-soft: a receipt that cannot be written must never affect the
|
|
2572
|
+
// decision it describes, which has already been made and enforced.
|
|
2573
|
+
try {
|
|
2574
|
+
boundaryReceiptLog().record({
|
|
2575
|
+
decision: r.decision,
|
|
2576
|
+
classification: r.classification,
|
|
2577
|
+
destinationId: r.destinationId,
|
|
2578
|
+
destinationType: r.destinationType,
|
|
2579
|
+
reason: r.reason,
|
|
2580
|
+
...(r.categories && { categories: r.categories }),
|
|
2581
|
+
...(r.redactCategories && { redactCategories: r.redactCategories }),
|
|
2582
|
+
});
|
|
2583
|
+
}
|
|
2584
|
+
catch {
|
|
2585
|
+
// never block on observability
|
|
2586
|
+
}
|
|
2587
|
+
},
|
|
2502
2588
|
anthropicFn: async (prompt, model) => toAgentResult(await stepDeps.claudeFn(prompt, model)),
|
|
2503
2589
|
providerDriverFn: async (driver, prompt, model, providerOptions) => toAgentResult(
|
|
2504
2590
|
// Keep the 3-arg call shape when unconstrained (backward-compatible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlRunner.js","sourceRoot":"","sources":["../../src/recipes/yamlRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yamlRunner.js","sourceRoot":"","sources":["../../src/recipes/yamlRunner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchwork-os",
|
|
3
|
-
"version": "1.2.0-beta.2.canary.
|
|
3
|
+
"version": "1.2.0-beta.2.canary.628",
|
|
4
4
|
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|