create-principles-disciple 1.146.0 → 1.146.1
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/_release/product-identity.json +2 -2
- package/core/dist/runtime-v2/pain-recall-capability.d.ts +140 -0
- package/core/dist/runtime-v2/pain-recall-capability.d.ts.map +1 -0
- package/core/dist/runtime-v2/pain-recall-capability.js +334 -0
- package/core/dist/runtime-v2/pain-recall-capability.js.map +1 -0
- package/core/dist/runtime-v2/pain-recall-read-model.d.ts +113 -0
- package/core/dist/runtime-v2/pain-recall-read-model.d.ts.map +1 -0
- package/{pd-cli/dist/services/pain-recall.js → core/dist/runtime-v2/pain-recall-read-model.js} +7 -10
- package/core/dist/runtime-v2/pain-recall-read-model.js.map +1 -0
- package/core/dist/runtime-v2/pain-recall-snapshot-hooks.d.ts +39 -0
- package/core/dist/runtime-v2/pain-recall-snapshot-hooks.d.ts.map +1 -0
- package/core/dist/runtime-v2/pain-recall-snapshot-hooks.js +15 -0
- package/core/dist/runtime-v2/pain-recall-snapshot-hooks.js.map +1 -0
- package/core/package.json +9 -1
- package/package.json +2 -2
- package/pd-cli/dist/commands/pain-recall.js +1 -1
- package/pd-cli/dist/commands/pain-recall.js.map +1 -1
- package/plugin/dist/openclaw.plugin.json +1 -1
- package/plugin/openclaw.plugin.json +1 -1
- package/plugin/package.json +1 -1
- package/release-manager/package.json +2 -2
- package/pd-cli/dist/services/pain-recall.d.ts +0 -192
- package/pd-cli/dist/services/pain-recall.d.ts.map +0 -1
- package/pd-cli/dist/services/pain-recall.js.map +0 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pain Recall Capability Facade — SPEC-PD-AGENT-CAPABILITY-API-001 v0.5 §7/§8.
|
|
3
|
+
*
|
|
4
|
+
* The single OD-A projection authority: constructs the protocol-independent
|
|
5
|
+
* `pd.capability.v1` envelope for `pd_recall_principle_pains` from the full
|
|
6
|
+
* PainRecallResult produced by the read model. The envelope is built
|
|
7
|
+
* field-by-field from the frozen od-a-v1 whitelist ("construction IS the
|
|
8
|
+
* whitelist") — DENY fields (canonicalId, painId, evidenceRefs, pain text,
|
|
9
|
+
* diagnoses.*, correctionEvidence.*, lineage hops, statusDetail-as-data, …)
|
|
10
|
+
* are structurally absent, never constructed-then-stripped.
|
|
11
|
+
*
|
|
12
|
+
* Every call re-asserts BOTH the leaf-key path set AND the structural
|
|
13
|
+
* container paths of the produced envelope (array indices normalized to
|
|
14
|
+
* `[]`); any non-whitelisted leaf — or any container that is not a proper
|
|
15
|
+
* ancestor of a whitelisted leaf (this catches a forbidden key hiding in an
|
|
16
|
+
* EMPTY array or object, which a leaf-only walk cannot see) — fails closed:
|
|
17
|
+
* the violating payload is withheld and an `unavailable` envelope with a
|
|
18
|
+
* stable internal error code is returned instead. The production self-check
|
|
19
|
+
* does NOT include the Gate 2 experimental sentinel regex — sentinel
|
|
20
|
+
* scanning is a test technique (see the capability tests).
|
|
21
|
+
*
|
|
22
|
+
* Layer contract (v0.5 §7.1): this facade is protocol-independent. It does
|
|
23
|
+
* NOT build MCP `content` blocks, does NOT set `isError`, and contains no
|
|
24
|
+
* transport/execution-boundary logic — the 32 KiB response budget and the
|
|
25
|
+
* 10 s call deadline are MCP Adapter (Gate 4) responsibilities and must not
|
|
26
|
+
* be implemented here. Read-model execution errors (an unexpected throw)
|
|
27
|
+
* propagate to the Adapter, which maps them per the Gate 4 contract; they
|
|
28
|
+
* are deliberately NOT swallowed into this envelope (v0.5 §7.3).
|
|
29
|
+
*
|
|
30
|
+
* Zero file I/O: everything is an in-memory projection over the read model's
|
|
31
|
+
* result, so this module is not registered in io-seam-registry.json (only
|
|
32
|
+
* files that actually perform controlled I/O are registered).
|
|
33
|
+
*
|
|
34
|
+
* OD-A scope (Owner decision 2026-11-01, v0.5 §8.2): od-a-v1 governs MCP
|
|
35
|
+
* Tool RESPONSE DISCLOSURE only. It is not a global agent data boundary and
|
|
36
|
+
* does not prevent the existing CLI (Skill-guided) from returning the full
|
|
37
|
+
* `pd.pain-recall.v1` output.
|
|
38
|
+
*/
|
|
39
|
+
import { type AssociationType, type ItemAvailability, type SourceAvailability } from './pain-recall-read-model.js';
|
|
40
|
+
export declare const CAPABILITY_SCHEMA_VERSION: 'pd.capability.v1';
|
|
41
|
+
export declare const OD_A_DISCLOSURE_PROFILE: 'od-a-v1';
|
|
42
|
+
export declare const RECALL_PAIN_CAPABILITY_ID: 'pd_recall_principle_pains';
|
|
43
|
+
/** Trusted-context input. `workspaceDir` is injected by the Adapter (launch
|
|
44
|
+
* configuration); it must NEVER be a model-supplied tool parameter. */
|
|
45
|
+
export interface PainRecallCapabilityInput {
|
|
46
|
+
readonly workspaceDir: string;
|
|
47
|
+
readonly principleId: string;
|
|
48
|
+
readonly limit?: number;
|
|
49
|
+
}
|
|
50
|
+
export type PainRecallCapabilityStatus = 'ok' | 'no_matches' | 'partial' | 'not_found' | 'unavailable' | 'invalid_input';
|
|
51
|
+
export interface PainRecallCapabilityPrinciple {
|
|
52
|
+
readonly requestedId: string;
|
|
53
|
+
readonly identityStatus: 'resolved' | 'not_found' | 'ambiguous';
|
|
54
|
+
}
|
|
55
|
+
export interface PainRecallCapabilityQuery {
|
|
56
|
+
readonly limit: number;
|
|
57
|
+
readonly contextUsedForRanking: boolean;
|
|
58
|
+
readonly truncated: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface PainRecallCapabilityResultEntry {
|
|
61
|
+
readonly association: {
|
|
62
|
+
readonly type: AssociationType;
|
|
63
|
+
readonly confidence: 'explicit' | 'lineage_verified';
|
|
64
|
+
};
|
|
65
|
+
readonly availability: {
|
|
66
|
+
readonly painEvent: 'available';
|
|
67
|
+
readonly diagnoses: ItemAvailability;
|
|
68
|
+
readonly correctionEvidence: ItemAvailability;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export interface PainRecallCapabilityData {
|
|
72
|
+
readonly principle: PainRecallCapabilityPrinciple;
|
|
73
|
+
readonly query: PainRecallCapabilityQuery;
|
|
74
|
+
readonly results: readonly PainRecallCapabilityResultEntry[];
|
|
75
|
+
readonly summary: {
|
|
76
|
+
readonly returned: number;
|
|
77
|
+
readonly availableCandidates: number;
|
|
78
|
+
readonly truncated: boolean;
|
|
79
|
+
};
|
|
80
|
+
readonly sources: {
|
|
81
|
+
readonly ledger: SourceAvailability;
|
|
82
|
+
readonly trajectoryDb: SourceAvailability;
|
|
83
|
+
readonly stateDb: SourceAvailability;
|
|
84
|
+
};
|
|
85
|
+
readonly unresolvedAssociations: readonly {
|
|
86
|
+
readonly reason: string;
|
|
87
|
+
}[];
|
|
88
|
+
}
|
|
89
|
+
export interface PainRecallCapabilityProvenanceSource {
|
|
90
|
+
readonly name: 'ledger' | 'trajectoryDb' | 'stateDb';
|
|
91
|
+
readonly status: SourceAvailability;
|
|
92
|
+
}
|
|
93
|
+
export interface PainRecallCapabilityProvenance {
|
|
94
|
+
readonly workspaceBinding: 'configured';
|
|
95
|
+
readonly sources: readonly PainRecallCapabilityProvenanceSource[];
|
|
96
|
+
}
|
|
97
|
+
export interface PainRecallCapabilityWarning {
|
|
98
|
+
readonly code: string;
|
|
99
|
+
readonly message: string;
|
|
100
|
+
}
|
|
101
|
+
export interface PainRecallCapabilityError {
|
|
102
|
+
readonly code: string;
|
|
103
|
+
readonly message: string;
|
|
104
|
+
}
|
|
105
|
+
export interface PainRecallCapabilityNextAction {
|
|
106
|
+
readonly code: string;
|
|
107
|
+
readonly message: string;
|
|
108
|
+
}
|
|
109
|
+
/** The `pd.capability.v1` envelope (v0.5 §7.2). `data` is non-null for every
|
|
110
|
+
* status except `unavailable` and `invalid_input`, where nothing may be
|
|
111
|
+
* disclosed about the workspace. */
|
|
112
|
+
export interface PainRecallCapabilityResult {
|
|
113
|
+
readonly schemaVersion: typeof CAPABILITY_SCHEMA_VERSION;
|
|
114
|
+
readonly capability: typeof RECALL_PAIN_CAPABILITY_ID;
|
|
115
|
+
readonly disclosureProfile: typeof OD_A_DISCLOSURE_PROFILE;
|
|
116
|
+
readonly status: PainRecallCapabilityStatus;
|
|
117
|
+
readonly data: PainRecallCapabilityData | null;
|
|
118
|
+
readonly provenance: PainRecallCapabilityProvenance;
|
|
119
|
+
readonly warnings: readonly PainRecallCapabilityWarning[];
|
|
120
|
+
readonly error: PainRecallCapabilityError | null;
|
|
121
|
+
readonly nextAction: PainRecallCapabilityNextAction | null;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Recall a principle's verifiably-associated historical pains through the
|
|
125
|
+
* od-a-v1 disclosure profile.
|
|
126
|
+
*
|
|
127
|
+
* Duty sequence (v0.5 §7.1): validate input (fail-closed `invalid_input`,
|
|
128
|
+
* the read model is never called on bad input) → `recallPains` on the trusted
|
|
129
|
+
* workspace → OD-A projection (construction IS the whitelist) → leaf AND
|
|
130
|
+
* structural key-path self-check (violation ⇒ withhold the payload, return
|
|
131
|
+
* `unavailable`) → return.
|
|
132
|
+
*
|
|
133
|
+
* Resource constraint owned here (v0.5 §7.5.2, the only Core-layer limit):
|
|
134
|
+
* `limit ∈ [1, 10]`, default `PAIN_RECALL_DEFAULT_LIMIT` (3); the returned
|
|
135
|
+
* entry count is bounded by the read model's existing truncation semantics
|
|
136
|
+
* (≤ limit ≤ 10). The 32 KiB response budget and the 10 s deadline are NOT
|
|
137
|
+
* implemented here — they are Gate 4 MCP Adapter responsibilities.
|
|
138
|
+
*/
|
|
139
|
+
export declare function recallPrinciplePainsCapability(input: PainRecallCapabilityInput): Promise<PainRecallCapabilityResult>;
|
|
140
|
+
//# sourceMappingURL=pain-recall-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-capability.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pain Recall Capability Facade — SPEC-PD-AGENT-CAPABILITY-API-001 v0.5 §7/§8.
|
|
3
|
+
*
|
|
4
|
+
* The single OD-A projection authority: constructs the protocol-independent
|
|
5
|
+
* `pd.capability.v1` envelope for `pd_recall_principle_pains` from the full
|
|
6
|
+
* PainRecallResult produced by the read model. The envelope is built
|
|
7
|
+
* field-by-field from the frozen od-a-v1 whitelist ("construction IS the
|
|
8
|
+
* whitelist") — DENY fields (canonicalId, painId, evidenceRefs, pain text,
|
|
9
|
+
* diagnoses.*, correctionEvidence.*, lineage hops, statusDetail-as-data, …)
|
|
10
|
+
* are structurally absent, never constructed-then-stripped.
|
|
11
|
+
*
|
|
12
|
+
* Every call re-asserts BOTH the leaf-key path set AND the structural
|
|
13
|
+
* container paths of the produced envelope (array indices normalized to
|
|
14
|
+
* `[]`); any non-whitelisted leaf — or any container that is not a proper
|
|
15
|
+
* ancestor of a whitelisted leaf (this catches a forbidden key hiding in an
|
|
16
|
+
* EMPTY array or object, which a leaf-only walk cannot see) — fails closed:
|
|
17
|
+
* the violating payload is withheld and an `unavailable` envelope with a
|
|
18
|
+
* stable internal error code is returned instead. The production self-check
|
|
19
|
+
* does NOT include the Gate 2 experimental sentinel regex — sentinel
|
|
20
|
+
* scanning is a test technique (see the capability tests).
|
|
21
|
+
*
|
|
22
|
+
* Layer contract (v0.5 §7.1): this facade is protocol-independent. It does
|
|
23
|
+
* NOT build MCP `content` blocks, does NOT set `isError`, and contains no
|
|
24
|
+
* transport/execution-boundary logic — the 32 KiB response budget and the
|
|
25
|
+
* 10 s call deadline are MCP Adapter (Gate 4) responsibilities and must not
|
|
26
|
+
* be implemented here. Read-model execution errors (an unexpected throw)
|
|
27
|
+
* propagate to the Adapter, which maps them per the Gate 4 contract; they
|
|
28
|
+
* are deliberately NOT swallowed into this envelope (v0.5 §7.3).
|
|
29
|
+
*
|
|
30
|
+
* Zero file I/O: everything is an in-memory projection over the read model's
|
|
31
|
+
* result, so this module is not registered in io-seam-registry.json (only
|
|
32
|
+
* files that actually perform controlled I/O are registered).
|
|
33
|
+
*
|
|
34
|
+
* OD-A scope (Owner decision 2026-11-01, v0.5 §8.2): od-a-v1 governs MCP
|
|
35
|
+
* Tool RESPONSE DISCLOSURE only. It is not a global agent data boundary and
|
|
36
|
+
* does not prevent the existing CLI (Skill-guided) from returning the full
|
|
37
|
+
* `pd.pain-recall.v1` output.
|
|
38
|
+
*/
|
|
39
|
+
import { recallPains, PAIN_RECALL_DEFAULT_LIMIT, PAIN_RECALL_MIN_LIMIT, PAIN_RECALL_MAX_LIMIT, } from './pain-recall-read-model.js';
|
|
40
|
+
export const CAPABILITY_SCHEMA_VERSION = 'pd.capability.v1';
|
|
41
|
+
export const OD_A_DISCLOSURE_PROFILE = 'od-a-v1';
|
|
42
|
+
export const RECALL_PAIN_CAPABILITY_ID = 'pd_recall_principle_pains';
|
|
43
|
+
/**
|
|
44
|
+
* Frozen od-a-v1 allowed leaf-key paths (array indices normalized to `[]`).
|
|
45
|
+
* Copied field-by-field from the hash-anchored Gate 2 executable projection
|
|
46
|
+
* (`project.mjs` ALLOWED_PATHS) plus the single v0.5 addition
|
|
47
|
+
* `disclosureProfile`. NOT exported: the contract is pinned behaviorally by
|
|
48
|
+
* the capability tests; widening requires a new profile version + Owner
|
|
49
|
+
* decision (v0.5 §7.4). Do not rebuild this list from documentation.
|
|
50
|
+
*/
|
|
51
|
+
const ALLOWED_PATHS = new Set([
|
|
52
|
+
'schemaVersion', 'capability', 'status', 'disclosureProfile',
|
|
53
|
+
'data.principle.requestedId', 'data.principle.identityStatus',
|
|
54
|
+
'data.query.limit', 'data.query.contextUsedForRanking', 'data.query.truncated',
|
|
55
|
+
'data.results[].association.type', 'data.results[].association.confidence',
|
|
56
|
+
'data.results[].availability.painEvent', 'data.results[].availability.diagnoses',
|
|
57
|
+
'data.results[].availability.correctionEvidence',
|
|
58
|
+
'data.summary.returned', 'data.summary.availableCandidates', 'data.summary.truncated',
|
|
59
|
+
'data.sources.ledger', 'data.sources.trajectoryDb', 'data.sources.stateDb',
|
|
60
|
+
'data.unresolvedAssociations[].reason',
|
|
61
|
+
'provenance.workspaceBinding', 'provenance.sources[].name', 'provenance.sources[].status',
|
|
62
|
+
'warnings[].code', 'warnings[].message',
|
|
63
|
+
'error', 'error.code', 'error.message',
|
|
64
|
+
'nextAction', 'nextAction.code', 'nextAction.message',
|
|
65
|
+
]);
|
|
66
|
+
/**
|
|
67
|
+
* OUTER_STATUS — the single authority table (v0.5 §7.3). `ambiguous_principle`
|
|
68
|
+
* is RESERVED: the read model never produces it today (identity resolves
|
|
69
|
+
* exactly or reports not_found), and this facade must not fabricate the
|
|
70
|
+
* capability; the mapping row exists so a future read-model change surfaces
|
|
71
|
+
* as invalid_input instead of silently passing through. `denied` /
|
|
72
|
+
* `unconfirmed` are NOT enabled in the first release (v0.5 §7.3).
|
|
73
|
+
*/
|
|
74
|
+
const OUTER_STATUS = {
|
|
75
|
+
ok: 'ok',
|
|
76
|
+
no_matches: 'no_matches',
|
|
77
|
+
partial: 'partial',
|
|
78
|
+
principle_not_found: 'not_found',
|
|
79
|
+
pain_not_found: 'not_found',
|
|
80
|
+
source_missing: 'unavailable',
|
|
81
|
+
source_unreadable: 'unavailable',
|
|
82
|
+
ambiguous_principle: 'invalid_input', // reserved — not produced (v0.5 F8)
|
|
83
|
+
};
|
|
84
|
+
/** errorFor — status → stable error derivation (Gate 2 semantics, verbatim).
|
|
85
|
+
* `statusDetail` participates ONLY here (pain_not_found code derivation);
|
|
86
|
+
* it is never emitted as a data field (frozen per v0.5 §8.1 detail 1). */
|
|
87
|
+
function errorFor(result) {
|
|
88
|
+
const s = result.status;
|
|
89
|
+
if (s === 'ok' || s === 'no_matches' || s === 'partial')
|
|
90
|
+
return null;
|
|
91
|
+
if (s === 'principle_not_found') {
|
|
92
|
+
return { code: 'principle_not_found', message: 'The requested principle id does not resolve to a canonical ledger principle.' };
|
|
93
|
+
}
|
|
94
|
+
if (s === 'pain_not_found') {
|
|
95
|
+
return {
|
|
96
|
+
code: result.statusDetail ?? 'pain_not_found',
|
|
97
|
+
message: 'The requested pain is not within this principle\'s verified associations.',
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
if (s === 'source_missing') {
|
|
101
|
+
return { code: 'source_missing', message: 'A required data source is missing; the query cannot be answered.' };
|
|
102
|
+
}
|
|
103
|
+
if (s === 'source_unreadable') {
|
|
104
|
+
return { code: 'source_unreadable', message: 'A required data source is unreadable; the query cannot be answered.' };
|
|
105
|
+
}
|
|
106
|
+
// Reserved row (ambiguous_principle → invalid_input): a stable refusal
|
|
107
|
+
// without fabricating capability the read model never claimed.
|
|
108
|
+
return { code: 'invalid_input', message: 'The request violates the tool input contract.' };
|
|
109
|
+
}
|
|
110
|
+
/** OD-A projection of a full PainRecallResult into the envelope. Construction
|
|
111
|
+
* IS the whitelist: every field below is an ALLOWED_PATHS leaf; nothing else
|
|
112
|
+
* from `result` is reachable. (Gate 2 projectEnvelope + disclosureProfile +
|
|
113
|
+
* the v0.5 §7.2 data-null rule: an `unavailable` outcome discloses no data.) */
|
|
114
|
+
function projectEnvelope(result) {
|
|
115
|
+
const status = OUTER_STATUS[result.status] ?? 'unavailable';
|
|
116
|
+
return {
|
|
117
|
+
schemaVersion: CAPABILITY_SCHEMA_VERSION,
|
|
118
|
+
capability: RECALL_PAIN_CAPABILITY_ID,
|
|
119
|
+
disclosureProfile: OD_A_DISCLOSURE_PROFILE,
|
|
120
|
+
status,
|
|
121
|
+
// §7.2: data is null for BOTH unavailable and invalid_input (the
|
|
122
|
+
// reserved ambiguous→invalid_input row included — review round 2,
|
|
123
|
+
// P2-3). Every other status carries the projected data object.
|
|
124
|
+
data: status === 'unavailable' || status === 'invalid_input' ? null : {
|
|
125
|
+
principle: {
|
|
126
|
+
requestedId: result.principle.requestedId,
|
|
127
|
+
identityStatus: result.principle.identityStatus,
|
|
128
|
+
},
|
|
129
|
+
query: {
|
|
130
|
+
limit: result.query.limit,
|
|
131
|
+
contextUsedForRanking: result.query.contextUsedForRanking,
|
|
132
|
+
truncated: result.query.truncated,
|
|
133
|
+
},
|
|
134
|
+
results: result.results.map((e) => ({
|
|
135
|
+
association: { type: e.association.type, confidence: e.association.confidence },
|
|
136
|
+
availability: {
|
|
137
|
+
painEvent: e.availability.painEvent,
|
|
138
|
+
diagnoses: e.availability.diagnoses,
|
|
139
|
+
correctionEvidence: e.availability.correctionEvidence,
|
|
140
|
+
},
|
|
141
|
+
})),
|
|
142
|
+
summary: {
|
|
143
|
+
returned: result.summary.returned,
|
|
144
|
+
availableCandidates: result.summary.availableCandidates,
|
|
145
|
+
truncated: result.summary.truncated,
|
|
146
|
+
},
|
|
147
|
+
sources: {
|
|
148
|
+
ledger: result.sources.ledger,
|
|
149
|
+
trajectoryDb: result.sources.trajectoryDb,
|
|
150
|
+
stateDb: result.sources.stateDb,
|
|
151
|
+
},
|
|
152
|
+
unresolvedAssociations: result.unresolvedAssociations.map((u) => ({ reason: u.reason })),
|
|
153
|
+
},
|
|
154
|
+
provenance: {
|
|
155
|
+
workspaceBinding: 'configured',
|
|
156
|
+
sources: [
|
|
157
|
+
{ name: 'ledger', status: result.sources.ledger },
|
|
158
|
+
{ name: 'trajectoryDb', status: result.sources.trajectoryDb },
|
|
159
|
+
{ name: 'stateDb', status: result.sources.stateDb },
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
warnings: [],
|
|
163
|
+
error: errorFor(result),
|
|
164
|
+
nextAction: null,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/** Deep key-path walk over the envelope for whitelist assertions. Leaves
|
|
168
|
+
* (primitives/null) contribute their exact path; every container additionally
|
|
169
|
+
* contributes a STRUCTURAL path — objects at `prefix`, arrays at
|
|
170
|
+
* `prefix + '[]'` — so a forbidden key cannot hide behind an EMPTY array or
|
|
171
|
+
* empty object (a leaf-only walk would see nothing at all; review round 2,
|
|
172
|
+
* P1-2). Gate 2's leaf-only collectPaths semantics remain for the leaf set. */
|
|
173
|
+
function collectPaths(value, prefix, out) {
|
|
174
|
+
if (Array.isArray(value)) {
|
|
175
|
+
for (const v of value)
|
|
176
|
+
collectPaths(v, prefix + '[]', out);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (value !== null && typeof value === 'object') {
|
|
180
|
+
for (const [k, v] of Object.entries(value))
|
|
181
|
+
collectPaths(v, prefix ? prefix + '.' + k : k, out);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
out.add(prefix);
|
|
185
|
+
}
|
|
186
|
+
/** All structural container paths of the envelope: objects at their key path,
|
|
187
|
+
* arrays at their `[]`-normalized key path. Empty containers contribute ONLY
|
|
188
|
+
* a structural path — exactly the case a leaf-only walk cannot see. */
|
|
189
|
+
function collectStructuralPaths(value, prefix, out) {
|
|
190
|
+
if (Array.isArray(value)) {
|
|
191
|
+
if (prefix !== '')
|
|
192
|
+
out.add(prefix + '[]');
|
|
193
|
+
for (const v of value)
|
|
194
|
+
collectStructuralPaths(v, prefix + '[]', out);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (value !== null && typeof value === 'object') {
|
|
198
|
+
if (prefix !== '')
|
|
199
|
+
out.add(prefix);
|
|
200
|
+
for (const [k, v] of Object.entries(value))
|
|
201
|
+
collectStructuralPaths(v, prefix ? prefix + '.' + k : k, out);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const ALLOWED_PATH_LIST = [...ALLOWED_PATHS];
|
|
206
|
+
/** A structural container path is legal only when it is a proper ancestor of
|
|
207
|
+
* at least one whitelisted leaf path: objects must be followed by a whitelisted
|
|
208
|
+
* `structural.` descendant, arrays by a whitelisted `structural[]…` one. A
|
|
209
|
+
* whitelisted LEAF path made a container (e.g. someone turns `status` into an
|
|
210
|
+
* object) has no such descendant and fails here. */
|
|
211
|
+
function isAllowedStructuralPath(structural, isArray) {
|
|
212
|
+
const marker = isArray ? `${structural}[]` : `${structural}.`;
|
|
213
|
+
return ALLOWED_PATH_LIST.some((p) => p.startsWith(marker));
|
|
214
|
+
}
|
|
215
|
+
/** Production self-check: BOTH leaf paths and structural container paths of
|
|
216
|
+
* the envelope, against the frozen whitelist. Violations are returned to the
|
|
217
|
+
* facade, which withholds the whole payload — the violating paths/values
|
|
218
|
+
* never leave this module.
|
|
219
|
+
*
|
|
220
|
+
* §7.2 null form: `data: null` is the envelope's explicit empty marker for
|
|
221
|
+
* the `unavailable` / `invalid_input` statuses. It surfaces as a bare `data`
|
|
222
|
+
* leaf, which the frozen od-a-v1 path set does not list (the Gate 2
|
|
223
|
+
* prototype never projected a null data) — the whitelist governs the
|
|
224
|
+
* POPULATED shape of `data.*`, so the null marker is exempted here and
|
|
225
|
+
* nowhere else. */
|
|
226
|
+
function collectDisclosureViolations(envelope) {
|
|
227
|
+
const leafPaths = new Set();
|
|
228
|
+
collectPaths(envelope, '', leafPaths);
|
|
229
|
+
if (envelope.data === null)
|
|
230
|
+
leafPaths.delete('data');
|
|
231
|
+
const violations = [...leafPaths].filter((p) => !ALLOWED_PATHS.has(p));
|
|
232
|
+
const structuralPaths = new Set();
|
|
233
|
+
collectStructuralPaths(envelope, '', structuralPaths);
|
|
234
|
+
for (const p of structuralPaths) {
|
|
235
|
+
const isArray = p.endsWith('[]');
|
|
236
|
+
const base = isArray ? p.slice(0, -2) : p;
|
|
237
|
+
if (!isAllowedStructuralPath(base, isArray))
|
|
238
|
+
violations.push(p);
|
|
239
|
+
}
|
|
240
|
+
return violations;
|
|
241
|
+
}
|
|
242
|
+
// ── Input validation (rc-1/rc-2: unknown in, field-by-field guards) ─────────
|
|
243
|
+
const PRINCIPLE_ID_MAX_LENGTH = 200;
|
|
244
|
+
const INPUT_KEYS = new Set(['workspaceDir', 'principleId', 'limit']);
|
|
245
|
+
function truncateForMessage(value, max = 40) {
|
|
246
|
+
return value.length <= max ? value : `${value.slice(0, max)}…`;
|
|
247
|
+
}
|
|
248
|
+
function invalid(reason) {
|
|
249
|
+
return { ok: false, error: { code: 'invalid_input', message: `The request violates the tool input contract: ${reason}` } };
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Validate the capability input field by field, rejecting every undeclared
|
|
253
|
+
* property. Fail-closed: any violation prevents the read model from being
|
|
254
|
+
* called at all. Messages name the field and the rule — never the value
|
|
255
|
+
* (bounded output, rc-8; the input is untrusted model output in the Gate 4
|
|
256
|
+
* deployment).
|
|
257
|
+
*/
|
|
258
|
+
function validateCapabilityInput(input) {
|
|
259
|
+
if (typeof input !== 'object' || input === null || Array.isArray(input)) {
|
|
260
|
+
return invalid('the input must be an object');
|
|
261
|
+
}
|
|
262
|
+
const record = input;
|
|
263
|
+
for (const key of Object.keys(record)) {
|
|
264
|
+
if (!INPUT_KEYS.has(key)) {
|
|
265
|
+
return invalid(`unknown property "${truncateForMessage(key)}" is not allowed`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
const { workspaceDir, principleId, limit } = record;
|
|
269
|
+
if (typeof workspaceDir !== 'string' || workspaceDir.length === 0) {
|
|
270
|
+
return invalid('workspaceDir must be a non-empty string (injected trusted context)');
|
|
271
|
+
}
|
|
272
|
+
if (typeof principleId !== 'string' || principleId.length === 0 || principleId.length > PRINCIPLE_ID_MAX_LENGTH) {
|
|
273
|
+
return invalid(`principleId must be a string of 1..${PRINCIPLE_ID_MAX_LENGTH} characters`);
|
|
274
|
+
}
|
|
275
|
+
if (limit !== undefined) {
|
|
276
|
+
if (typeof limit !== 'number' || !Number.isInteger(limit) || limit < PAIN_RECALL_MIN_LIMIT || limit > PAIN_RECALL_MAX_LIMIT) {
|
|
277
|
+
return invalid(`limit must be an integer between ${PAIN_RECALL_MIN_LIMIT} and ${PAIN_RECALL_MAX_LIMIT}`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return { ok: true, value: { workspaceDir, principleId, limit: limit ?? PAIN_RECALL_DEFAULT_LIMIT } };
|
|
281
|
+
}
|
|
282
|
+
// ── Fail-closed envelopes ────────────────────────────────────────────────────
|
|
283
|
+
function envelopeShell(status, error) {
|
|
284
|
+
return {
|
|
285
|
+
schemaVersion: CAPABILITY_SCHEMA_VERSION,
|
|
286
|
+
capability: RECALL_PAIN_CAPABILITY_ID,
|
|
287
|
+
disclosureProfile: OD_A_DISCLOSURE_PROFILE,
|
|
288
|
+
status,
|
|
289
|
+
data: null,
|
|
290
|
+
provenance: { workspaceBinding: 'configured', sources: [] },
|
|
291
|
+
warnings: [],
|
|
292
|
+
error,
|
|
293
|
+
nextAction: null,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
// ── Capability entry point ───────────────────────────────────────────────────
|
|
297
|
+
/**
|
|
298
|
+
* Recall a principle's verifiably-associated historical pains through the
|
|
299
|
+
* od-a-v1 disclosure profile.
|
|
300
|
+
*
|
|
301
|
+
* Duty sequence (v0.5 §7.1): validate input (fail-closed `invalid_input`,
|
|
302
|
+
* the read model is never called on bad input) → `recallPains` on the trusted
|
|
303
|
+
* workspace → OD-A projection (construction IS the whitelist) → leaf AND
|
|
304
|
+
* structural key-path self-check (violation ⇒ withhold the payload, return
|
|
305
|
+
* `unavailable`) → return.
|
|
306
|
+
*
|
|
307
|
+
* Resource constraint owned here (v0.5 §7.5.2, the only Core-layer limit):
|
|
308
|
+
* `limit ∈ [1, 10]`, default `PAIN_RECALL_DEFAULT_LIMIT` (3); the returned
|
|
309
|
+
* entry count is bounded by the read model's existing truncation semantics
|
|
310
|
+
* (≤ limit ≤ 10). The 32 KiB response budget and the 10 s deadline are NOT
|
|
311
|
+
* implemented here — they are Gate 4 MCP Adapter responsibilities.
|
|
312
|
+
*/
|
|
313
|
+
export async function recallPrinciplePainsCapability(input) {
|
|
314
|
+
const validated = validateCapabilityInput(input);
|
|
315
|
+
if (!validated.ok) {
|
|
316
|
+
return envelopeShell('invalid_input', validated.error);
|
|
317
|
+
}
|
|
318
|
+
const raw = await recallPains(validated.value.workspaceDir, {
|
|
319
|
+
requestedPrincipleId: validated.value.principleId,
|
|
320
|
+
limit: validated.value.limit,
|
|
321
|
+
});
|
|
322
|
+
const envelope = projectEnvelope(raw);
|
|
323
|
+
if (collectDisclosureViolations(envelope).length > 0) {
|
|
324
|
+
// Disclosure assertion failed: the payload is withheld (never returned),
|
|
325
|
+
// and the message stays generic so a violating field cannot leak through
|
|
326
|
+
// the failure channel either (values AND key paths stay internal).
|
|
327
|
+
return envelopeShell('unavailable', {
|
|
328
|
+
code: 'disclosure_assertion_failed',
|
|
329
|
+
message: 'Internal disclosure assertion failed; the response was withheld.',
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
return envelope;
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=pain-recall-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-capability.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GAMtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAAoC,CAAC;AAuF9E;;;;;;;GAOG;AACH,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,mBAAmB;IAC5D,4BAA4B,EAAE,+BAA+B;IAC7D,kBAAkB,EAAE,kCAAkC,EAAE,sBAAsB;IAC9E,iCAAiC,EAAE,uCAAuC;IAC1E,uCAAuC,EAAE,uCAAuC;IAChF,gDAAgD;IAChD,uBAAuB,EAAE,kCAAkC,EAAE,wBAAwB;IACrF,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB;IAC1E,sCAAsC;IACtC,6BAA6B,EAAE,2BAA2B,EAAE,6BAA6B;IACzF,iBAAiB,EAAE,oBAAoB;IACvC,OAAO,EAAE,YAAY,EAAE,eAAe;IACtC,YAAY,EAAE,iBAAiB,EAAE,oBAAoB;CACtD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,YAAY,GAAmE;IACnF,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,mBAAmB,EAAE,WAAW;IAChC,cAAc,EAAE,WAAW;IAC3B,cAAc,EAAE,aAAa;IAC7B,iBAAiB,EAAE,aAAa;IAChC,mBAAmB,EAAE,eAAe,EAAE,oCAAoC;CAC3E,CAAC;AAEF;;0EAE0E;AAC1E,SAAS,QAAQ,CAAC,MAAwB;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,IAAI,CAAC,KAAK,qBAAqB,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,8EAA8E,EAAE,CAAC;IAClI,CAAC;IACD,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,gBAAgB;YAC7C,OAAO,EAAE,2EAA2E;SACrF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC;IACjH,CAAC;IACD,IAAI,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,qEAAqE,EAAE,CAAC;IACvH,CAAC;IACD,uEAAuE;IACvE,+DAA+D;IAC/D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;AAC7F,CAAC;AAED;;;gFAGgF;AAChF,SAAS,eAAe,CAAC,MAAwB;IAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;IAC5D,OAAO;QACL,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,yBAAyB;QACrC,iBAAiB,EAAE,uBAAuB;QAC1C,MAAM;QACN,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,IAAI,EAAE,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,SAAS,EAAE;gBACT,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;gBACzC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc;aAChD;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;gBACzB,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB;gBACzD,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;aAClC;YACD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE;gBAC/E,YAAY,EAAE;oBACZ,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,SAAS;oBACnC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,SAAS;oBACnC,kBAAkB,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB;iBACtD;aACF,CAAC,CAAC;YACH,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACjC,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB;gBACvD,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;aACpC;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;aAChC;YACD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACzF;QACD,UAAU,EAAE;YACV,gBAAgB,EAAE,YAAY;YAC9B,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjD,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;aACpD;SACF;QACD,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QACvB,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;+EAK+E;AAC/E,SAAS,YAAY,CAAC,KAAc,EAAE,MAAc,EAAE,GAAgB;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;uEAEuE;AACvE,SAAS,sBAAsB,CAAC,KAAc,EAAE,MAAc,EAAE,GAAgB;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,MAAM,KAAK,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,IAAI,MAAM,KAAK,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1G,OAAO;IACT,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAsB,CAAC,GAAG,aAAa,CAAC,CAAC;AAEhE;;;;oDAIoD;AACpD,SAAS,uBAAuB,CAAC,UAAkB,EAAE,OAAgB;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC;IAC9D,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;mBAUmB;AACnB,SAAS,2BAA2B,CAAC,QAAoC;IACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,sBAAsB,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,SAAS,kBAAkB,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IACjD,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CAAC,MAAc;IAE7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,iDAAiD,MAAM,EAAE,EAAE,EAAE,CAAC;AAC7H,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAG7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,qBAAqB,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACpD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,OAAO,CAAC,oEAAoE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;QAChH,OAAO,OAAO,CAAC,sCAAsC,uBAAuB,aAAa,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,qBAAqB,IAAI,KAAK,GAAG,qBAAqB,EAAE,CAAC;YAC5H,OAAO,OAAO,CAAC,oCAAoC,qBAAqB,QAAQ,qBAAqB,EAAE,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,IAAI,yBAAyB,EAAE,EAAE,CAAC;AACvG,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,MAAkC,EAAE,KAAuC;IAChG,OAAO;QACL,aAAa,EAAE,yBAAyB;QACxC,UAAU,EAAE,yBAAyB;QACrC,iBAAiB,EAAE,uBAAuB;QAC1C,MAAM;QACN,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3D,QAAQ,EAAE,EAAE;QACZ,KAAK;QACL,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAgC;IAEhC,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE;QAC1D,oBAAoB,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW;QACjD,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK;KAC7B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,2BAA2B,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,OAAO,aAAa,CAAC,aAAa,EAAE;YAClC,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,kEAAkE;SAC5E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
export declare const PAIN_RECALL_SCHEMA_VERSION = "pd.pain-recall.v1";
|
|
2
|
+
export declare const PAIN_RECALL_DEFAULT_LIMIT = 3;
|
|
3
|
+
export declare const PAIN_RECALL_MIN_LIMIT = 1;
|
|
4
|
+
export declare const PAIN_RECALL_MAX_LIMIT = 10;
|
|
5
|
+
export type PainRecallStatus = 'ok' | 'no_matches' | 'principle_not_found' | 'ambiguous_principle' | 'pain_not_found' | 'source_missing' | 'source_unreadable' | 'partial';
|
|
6
|
+
export type SourceAvailability = 'ok' | 'missing' | 'unreadable' | 'not_checked';
|
|
7
|
+
export type AssociationType = 'explicit_reuse' | 'derived_from' | 'multiple_paths';
|
|
8
|
+
export interface RecallEvidenceRef {
|
|
9
|
+
kind: 'reuse_evidence' | 'candidate_lineage';
|
|
10
|
+
candidateId: string;
|
|
11
|
+
taskId?: string;
|
|
12
|
+
decidedAt?: string;
|
|
13
|
+
decisionId?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface RecallAssociation {
|
|
16
|
+
type: AssociationType;
|
|
17
|
+
confidence: 'explicit' | 'lineage_verified';
|
|
18
|
+
evidenceRefs: RecallEvidenceRef[];
|
|
19
|
+
}
|
|
20
|
+
export interface PainEventView {
|
|
21
|
+
occurredAt: string | null;
|
|
22
|
+
source: string | null;
|
|
23
|
+
host: string;
|
|
24
|
+
score: number | null;
|
|
25
|
+
severity: string | null;
|
|
26
|
+
reason: string | null;
|
|
27
|
+
text: string | null;
|
|
28
|
+
/** A verbatim owner statement is only reported via correctionEvidence; the
|
|
29
|
+
* pain row itself never carries one, so this is structurally null. */
|
|
30
|
+
rawStatement: null;
|
|
31
|
+
}
|
|
32
|
+
export interface DiagnosisView {
|
|
33
|
+
diagnosisId: string;
|
|
34
|
+
taskId: string;
|
|
35
|
+
category: string;
|
|
36
|
+
rootCause: string;
|
|
37
|
+
supportingEvidence: readonly {
|
|
38
|
+
sourceRef: string;
|
|
39
|
+
note: string;
|
|
40
|
+
}[];
|
|
41
|
+
confidence: number | null;
|
|
42
|
+
isOriginalOwnerStatement: false;
|
|
43
|
+
}
|
|
44
|
+
export interface CorrectionEvidenceView {
|
|
45
|
+
text: string;
|
|
46
|
+
classification?: string;
|
|
47
|
+
channel?: string;
|
|
48
|
+
sessionId?: string;
|
|
49
|
+
occurredAt?: string;
|
|
50
|
+
}
|
|
51
|
+
export type ItemAvailability = 'available' | 'not_recorded' | 'unreadable';
|
|
52
|
+
export interface RecallLineageHop {
|
|
53
|
+
from: string;
|
|
54
|
+
to: string;
|
|
55
|
+
relation: string;
|
|
56
|
+
}
|
|
57
|
+
export interface PainRecallEntry {
|
|
58
|
+
painId: string;
|
|
59
|
+
association: RecallAssociation;
|
|
60
|
+
pain: PainEventView;
|
|
61
|
+
diagnoses: DiagnosisView[];
|
|
62
|
+
correctionEvidence: CorrectionEvidenceView | null;
|
|
63
|
+
availability: {
|
|
64
|
+
painEvent: 'available';
|
|
65
|
+
diagnoses: ItemAvailability;
|
|
66
|
+
correctionEvidence: ItemAvailability;
|
|
67
|
+
};
|
|
68
|
+
lineage: RecallLineageHop[];
|
|
69
|
+
}
|
|
70
|
+
export interface PainRecallQuery {
|
|
71
|
+
requestedPrincipleId: string;
|
|
72
|
+
painId?: string;
|
|
73
|
+
context?: string;
|
|
74
|
+
/** Validated upstream: integer within [1, 10]. */
|
|
75
|
+
limit: number;
|
|
76
|
+
}
|
|
77
|
+
export interface UnresolvedAssociation {
|
|
78
|
+
painId?: string;
|
|
79
|
+
candidateId?: string;
|
|
80
|
+
reason: string;
|
|
81
|
+
}
|
|
82
|
+
export interface PainRecallResult {
|
|
83
|
+
schemaVersion: string;
|
|
84
|
+
status: PainRecallStatus;
|
|
85
|
+
/** Sub-reason for pain_not_found: not_associated | pain_event_not_found. */
|
|
86
|
+
statusDetail?: string;
|
|
87
|
+
principle: {
|
|
88
|
+
requestedId: string;
|
|
89
|
+
canonicalId: string | null;
|
|
90
|
+
identityStatus: 'resolved' | 'not_found' | 'ambiguous';
|
|
91
|
+
text?: string;
|
|
92
|
+
};
|
|
93
|
+
query: {
|
|
94
|
+
limit: number;
|
|
95
|
+
painId?: string;
|
|
96
|
+
contextUsedForRanking: boolean;
|
|
97
|
+
truncated: boolean;
|
|
98
|
+
};
|
|
99
|
+
results: PainRecallEntry[];
|
|
100
|
+
summary: {
|
|
101
|
+
returned: number;
|
|
102
|
+
availableCandidates: number;
|
|
103
|
+
truncated: boolean;
|
|
104
|
+
};
|
|
105
|
+
sources: {
|
|
106
|
+
ledger: SourceAvailability;
|
|
107
|
+
trajectoryDb: SourceAvailability;
|
|
108
|
+
stateDb: SourceAvailability;
|
|
109
|
+
};
|
|
110
|
+
unresolvedAssociations: UnresolvedAssociation[];
|
|
111
|
+
}
|
|
112
|
+
export declare function recallPains(workspaceDir: string, query: PainRecallQuery): Promise<PainRecallResult>;
|
|
113
|
+
//# sourceMappingURL=pain-recall-read-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-read-model.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-read-model.ts"],"names":[],"mappings":"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"}
|
package/{pd-cli/dist/services/pain-recall.js → core/dist/runtime-v2/pain-recall-read-model.js}
RENAMED
|
@@ -60,9 +60,10 @@ import * as fs from 'fs';
|
|
|
60
60
|
import * as crypto from 'crypto';
|
|
61
61
|
import * as os from 'os';
|
|
62
62
|
import * as path from 'path';
|
|
63
|
-
import { readLedgerFileState } from '
|
|
64
|
-
import { openTrajectoryDbReadonly } from '
|
|
65
|
-
import { RuntimeStateManager } from '
|
|
63
|
+
import { readLedgerFileState } from '../principle-tree-ledger.js';
|
|
64
|
+
import { openTrajectoryDbReadonly } from '../trajectory-store.js';
|
|
65
|
+
import { RuntimeStateManager } from './store/runtime-state-manager.js';
|
|
66
|
+
import { painRecallSnapshotTestHooks } from './pain-recall-snapshot-hooks.js';
|
|
66
67
|
export const PAIN_RECALL_SCHEMA_VERSION = 'pd.pain-recall.v1';
|
|
67
68
|
export const PAIN_RECALL_DEFAULT_LIMIT = 3;
|
|
68
69
|
export const PAIN_RECALL_MIN_LIMIT = 1;
|
|
@@ -121,12 +122,8 @@ function safeParseRecord(json) {
|
|
|
121
122
|
return null;
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
* pattern as the runtime's databaseFactory seam (PR #2192). Every field is
|
|
127
|
-
* undefined in production; tests assign, then clear in a finally block.
|
|
128
|
-
*/
|
|
129
|
-
export const painRecallSnapshotTestHooks = {};
|
|
125
|
+
// The fault-injection seam itself (painRecallSnapshotTestHooks) lives in the
|
|
126
|
+
// internal pain-recall-snapshot-hooks.ts module — see its header there.
|
|
130
127
|
function isEnoent(err) {
|
|
131
128
|
if (!isRecord(err))
|
|
132
129
|
return false;
|
|
@@ -724,4 +721,4 @@ export async function recallPains(workspaceDir, query) {
|
|
|
724
721
|
}
|
|
725
722
|
}
|
|
726
723
|
}
|
|
727
|
-
//# sourceMappingURL=pain-recall.js.map
|
|
724
|
+
//# sourceMappingURL=pain-recall-read-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-read-model.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-read-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pain Recall snapshot test hooks — internal test seam, migrated with the
|
|
3
|
+
* read model from pd-cli services (SPEC-PD-AGENT-CAPABILITY-API-001 v0.5 §6.3).
|
|
4
|
+
*
|
|
5
|
+
* Deterministic fault-injection seam for snapshot-race tests — the same
|
|
6
|
+
* pattern as the runtime's databaseFactory seam (PR #2192). Every field is
|
|
7
|
+
* undefined in production; tests assign, then clear in a finally block.
|
|
8
|
+
*
|
|
9
|
+
* INTERNAL MODULE: this file must never appear in any package exports key.
|
|
10
|
+
* Core tests reference it relatively; the read model references it relatively.
|
|
11
|
+
* The architecture guard (G-2 export-face snapshot) pins its absence from
|
|
12
|
+
* both the read-model and the capability subpaths.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Structural stand-in for `fs.Stats` — exactly the members the read model's
|
|
16
|
+
* fingerprint path reads. Structural so this internal module needs no fs
|
|
17
|
+
* import at all (the runtime fs import stays owned by the seam-registered
|
|
18
|
+
* read model). A real `fs.Stats` satisfies this shape structurally.
|
|
19
|
+
*/
|
|
20
|
+
export interface SnapshotStatsLike {
|
|
21
|
+
isFile(): boolean;
|
|
22
|
+
readonly size: number;
|
|
23
|
+
}
|
|
24
|
+
export declare const painRecallSnapshotTestHooks: {
|
|
25
|
+
/** Replaces statSync for fingerprinting/classification (throw to simulate EACCES/EIO). */
|
|
26
|
+
statSync?: (path: string) => SnapshotStatsLike;
|
|
27
|
+
/** Replaces mkdtempSync for staging-root creation (throw to simulate failure). */
|
|
28
|
+
mkdtempSync?: (prefix: string) => string;
|
|
29
|
+
/** Called after each source→staging copyFileSync with (source, staged). */
|
|
30
|
+
afterCopyFile?: (source: string, stagedPath: string) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Called between the T1 main fingerprint read and the T1 wal fingerprint
|
|
33
|
+
* read — the exact window a concurrent writer can hide in when the pair is
|
|
34
|
+
* sampled non-atomically. Tests use it to inject a deterministic
|
|
35
|
+
* commit→checkpoint→close cycle inside the re-check.
|
|
36
|
+
*/
|
|
37
|
+
afterT1MainFingerprint?: (sourceDbPath: string) => void;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=pain-recall-snapshot-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-snapshot-hooks.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-snapshot-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,OAAO,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,2BAA2B,EAAE;IACxC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAC/C,kFAAkF;IAClF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pain Recall snapshot test hooks — internal test seam, migrated with the
|
|
3
|
+
* read model from pd-cli services (SPEC-PD-AGENT-CAPABILITY-API-001 v0.5 §6.3).
|
|
4
|
+
*
|
|
5
|
+
* Deterministic fault-injection seam for snapshot-race tests — the same
|
|
6
|
+
* pattern as the runtime's databaseFactory seam (PR #2192). Every field is
|
|
7
|
+
* undefined in production; tests assign, then clear in a finally block.
|
|
8
|
+
*
|
|
9
|
+
* INTERNAL MODULE: this file must never appear in any package exports key.
|
|
10
|
+
* Core tests reference it relatively; the read model references it relatively.
|
|
11
|
+
* The architecture guard (G-2 export-face snapshot) pins its absence from
|
|
12
|
+
* both the read-model and the capability subpaths.
|
|
13
|
+
*/
|
|
14
|
+
export const painRecallSnapshotTestHooks = {};
|
|
15
|
+
//# sourceMappingURL=pain-recall-snapshot-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall-snapshot-hooks.js","sourceRoot":"","sources":["../../src/runtime-v2/pain-recall-snapshot-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,MAAM,CAAC,MAAM,2BAA2B,GAcpC,EAAE,CAAC"}
|
package/core/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@principles/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.298.0",
|
|
4
4
|
"description": "Pure-logic core of Principles Disciple, an AI Agent Governance System - pain signal capture and principle proposal (no I/O)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,6 +34,14 @@
|
|
|
34
34
|
"types": "./dist/runtime-v2/index.d.ts",
|
|
35
35
|
"default": "./dist/runtime-v2/index.js"
|
|
36
36
|
},
|
|
37
|
+
"./runtime-v2/pain-recall": {
|
|
38
|
+
"types": "./dist/runtime-v2/pain-recall-read-model.d.ts",
|
|
39
|
+
"default": "./dist/runtime-v2/pain-recall-read-model.js"
|
|
40
|
+
},
|
|
41
|
+
"./runtime-v2/pain-recall-capability": {
|
|
42
|
+
"types": "./dist/runtime-v2/pain-recall-capability.d.ts",
|
|
43
|
+
"default": "./dist/runtime-v2/pain-recall-capability.js"
|
|
44
|
+
},
|
|
37
45
|
"./runtime-v2/receipt-coverage": {
|
|
38
46
|
"types": "./dist/runtime-v2/receipt-coverage.d.ts",
|
|
39
47
|
"default": "./dist/runtime-v2/receipt-coverage.js"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-principles-disciple",
|
|
3
|
-
"version": "1.146.
|
|
3
|
+
"version": "1.146.1",
|
|
4
4
|
"description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -96,6 +96,6 @@
|
|
|
96
96
|
"directory": "packages/create-principles-disciple"
|
|
97
97
|
},
|
|
98
98
|
"pd": {
|
|
99
|
-
"bundledPluginVersion": "2.2.
|
|
99
|
+
"bundledPluginVersion": "2.2.11"
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import * as path from 'path';
|
|
14
14
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
15
|
-
import { recallPains, PAIN_RECALL_DEFAULT_LIMIT, PAIN_RECALL_MIN_LIMIT, PAIN_RECALL_MAX_LIMIT, } from '
|
|
15
|
+
import { recallPains, PAIN_RECALL_DEFAULT_LIMIT, PAIN_RECALL_MIN_LIMIT, PAIN_RECALL_MAX_LIMIT, } from '@principles/core/runtime-v2/pain-recall';
|
|
16
16
|
function fail(input) {
|
|
17
17
|
const { message, reason, nextAction, json } = input;
|
|
18
18
|
if (json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-recall.js","sourceRoot":"","sources":["../../src/commands/pain-recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,
|
|
1
|
+
{"version":3,"file":"pain-recall.js","sourceRoot":"","sources":["../../src/commands/pain-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "principles-disciple",
|
|
3
3
|
"name": "Principles Disciple",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
|
-
"version": "2.2.
|
|
5
|
+
"version": "2.2.11",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true,
|
|
8
8
|
"onCapabilities": [
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "principles-disciple",
|
|
3
3
|
"name": "Principles Disciple",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
|
-
"version": "2.2.
|
|
5
|
+
"version": "2.2.11",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true,
|
|
8
8
|
"onCapabilities": [
|
package/plugin/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "principles-disciple",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.11",
|
|
4
4
|
"description": "Principles Disciple is an AI Agent Governance System. Stop correcting the same AI behavior across sessions. Turn repeated Agent corrections into Owner-approved, observable, reversible behavior principles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-principles-disciple",
|
|
3
|
-
"version": "1.146.
|
|
3
|
+
"version": "1.146.1",
|
|
4
4
|
"description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -96,6 +96,6 @@
|
|
|
96
96
|
"directory": "packages/create-principles-disciple"
|
|
97
97
|
},
|
|
98
98
|
"pd": {
|
|
99
|
-
"bundledPluginVersion": "2.2.
|
|
99
|
+
"bundledPluginVersion": "2.2.11"
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pain Recall read model — SPEC-PD-PAIN-RECALL-CLI-001.
|
|
3
|
-
*
|
|
4
|
-
* Resolves a canonical ledger principle to its verifiably-associated
|
|
5
|
-
* historical pains through the two authoritative edges only:
|
|
6
|
-
*
|
|
7
|
-
* 1. `Principle.reuseEvidence[]` — carries a REAL `painId` (validated at
|
|
8
|
-
* the ledger write boundary, appendReuseEvidence);
|
|
9
|
-
* 2. `Principle.derivedFromPainIds[]` — stores CANDIDATE ids despite its
|
|
10
|
-
* legacy pain-oriented name (see PainChainReadModel's linkage note);
|
|
11
|
-
* the pain resolves through candidate → task → `tasks.input_ref`
|
|
12
|
-
* (fallback: the `diagnosis_<painId>` task-id spelling).
|
|
13
|
-
*
|
|
14
|
-
* Anything not reachable through those edges is excluded and REPORTED
|
|
15
|
-
* (unresolvedAssociations) — never guessed from text similarity, never
|
|
16
|
-
* resolved through candidateId/taskId/artifactId masquerading as pain ids.
|
|
17
|
-
*
|
|
18
|
-
* Strictly read-only: the ledger through readLedgerFileState, trajectory.db
|
|
19
|
-
* through openTrajectoryDbReadonly, state.db through RuntimeStateManager with
|
|
20
|
-
* readonly:true + bootstrapIfMissing:false. Missing stays missing; unreadable
|
|
21
|
-
* stays unreadable; neither is ever reported as an empty result.
|
|
22
|
-
*
|
|
23
|
-
* WAL safety (SPEC §6.1/§9.2; SPEC-PD-AGENT-CAPABILITY-API-001 v0.3 §10.3.1):
|
|
24
|
-
* both production databases are persisted in WAL journal mode. Any readonly
|
|
25
|
-
* open of a WAL database can touch workspace files — a quiet WAL gains
|
|
26
|
-
* `-wal`/`-shm` sidecars, a missing `-shm` gets created, and an existing
|
|
27
|
-
* `-shm` can be rewritten by WAL-index recovery (all reproduced 2026-10-28 on
|
|
28
|
-
* better-sqlite3 13.0.3, which cannot open `file:` URIs, so SQLite's
|
|
29
|
-
* immutable=1 zero-side-effect mode is unavailable). Therefore EVERY WAL-mode
|
|
30
|
-
* database is read through a staged, fingerprint-verified snapshot in a
|
|
31
|
-
* private temp directory; only rollback-journal databases keep the direct
|
|
32
|
-
* readonly open, which creates nothing. The snapshot copies the main file
|
|
33
|
-
* plus a non-empty `-wal` (the pair SQLite needs to recover un-checkpointed
|
|
34
|
-
* commits; `-shm` is an index cache and is deliberately never copied — the
|
|
35
|
-
* staged open regenerates it beside the copy).
|
|
36
|
-
*
|
|
37
|
-
* Snapshot acceptance contract (proved in stageWalSnapshot): the T1 re-check
|
|
38
|
-
* is ordered main → wal → main, making the WAL fingerprint read the single
|
|
39
|
-
* LINEARIZATION POINT. Acceptance means the staged bytes equal the real
|
|
40
|
-
* database state at that instant: the wal read observes the wal directly,
|
|
41
|
-
* and the bracketing main reads (equal to each other and to T0) pin the main
|
|
42
|
-
* bytes across the whole window — under SQLite-only writes the main file's
|
|
43
|
-
* byte-image cannot return to a previous value (monotonic change counter),
|
|
44
|
-
* so a bracketed main equal on both ends was unchanged in between. Any write
|
|
45
|
-
* completing before the linearization point is therefore caught (a commit
|
|
46
|
-
* changes the wal; a checkpoint changes main and is visible at one of the
|
|
47
|
-
* bracketing reads), and the trailing main re-read additionally rejects a
|
|
48
|
-
* checkpoint landing between the wal read and the protocol's end. An ABA
|
|
49
|
-
* rewrite (commit → checkpoint → wal delete → main bytes back at T0) cannot
|
|
50
|
-
* produce a stale acceptance: a commit surviving to the linearization point
|
|
51
|
-
* moved the main bytes and is rejected; bytes genuinely ending at the T0
|
|
52
|
-
* state mean the staged copy IS the current state, so returning it is
|
|
53
|
-
* correct. Writes after the linearization point (an un-checkpointed commit
|
|
54
|
-
* landing in the trailing window) are post-linearization events — a correct
|
|
55
|
-
* point-in-time read, not staleness. "Always latest at return time" would
|
|
56
|
-
* require writer coordination, which no available mechanism provides
|
|
57
|
-
* honestly (see the implementation report's option analysis A–D).
|
|
58
|
-
*/
|
|
59
|
-
import * as fs from 'fs';
|
|
60
|
-
export declare const PAIN_RECALL_SCHEMA_VERSION = "pd.pain-recall.v1";
|
|
61
|
-
export declare const PAIN_RECALL_DEFAULT_LIMIT = 3;
|
|
62
|
-
export declare const PAIN_RECALL_MIN_LIMIT = 1;
|
|
63
|
-
export declare const PAIN_RECALL_MAX_LIMIT = 10;
|
|
64
|
-
export type PainRecallStatus = 'ok' | 'no_matches' | 'principle_not_found' | 'ambiguous_principle' | 'pain_not_found' | 'source_missing' | 'source_unreadable' | 'partial';
|
|
65
|
-
export type SourceAvailability = 'ok' | 'missing' | 'unreadable' | 'not_checked';
|
|
66
|
-
export type AssociationType = 'explicit_reuse' | 'derived_from' | 'multiple_paths';
|
|
67
|
-
export interface RecallEvidenceRef {
|
|
68
|
-
kind: 'reuse_evidence' | 'candidate_lineage';
|
|
69
|
-
candidateId: string;
|
|
70
|
-
taskId?: string;
|
|
71
|
-
decidedAt?: string;
|
|
72
|
-
decisionId?: string;
|
|
73
|
-
}
|
|
74
|
-
export interface RecallAssociation {
|
|
75
|
-
type: AssociationType;
|
|
76
|
-
confidence: 'explicit' | 'lineage_verified';
|
|
77
|
-
evidenceRefs: RecallEvidenceRef[];
|
|
78
|
-
}
|
|
79
|
-
export interface PainEventView {
|
|
80
|
-
occurredAt: string | null;
|
|
81
|
-
source: string | null;
|
|
82
|
-
host: string;
|
|
83
|
-
score: number | null;
|
|
84
|
-
severity: string | null;
|
|
85
|
-
reason: string | null;
|
|
86
|
-
text: string | null;
|
|
87
|
-
/** A verbatim owner statement is only reported via correctionEvidence; the
|
|
88
|
-
* pain row itself never carries one, so this is structurally null. */
|
|
89
|
-
rawStatement: null;
|
|
90
|
-
}
|
|
91
|
-
export interface DiagnosisView {
|
|
92
|
-
diagnosisId: string;
|
|
93
|
-
taskId: string;
|
|
94
|
-
category: string;
|
|
95
|
-
rootCause: string;
|
|
96
|
-
supportingEvidence: readonly {
|
|
97
|
-
sourceRef: string;
|
|
98
|
-
note: string;
|
|
99
|
-
}[];
|
|
100
|
-
confidence: number | null;
|
|
101
|
-
isOriginalOwnerStatement: false;
|
|
102
|
-
}
|
|
103
|
-
export interface CorrectionEvidenceView {
|
|
104
|
-
text: string;
|
|
105
|
-
classification?: string;
|
|
106
|
-
channel?: string;
|
|
107
|
-
sessionId?: string;
|
|
108
|
-
occurredAt?: string;
|
|
109
|
-
}
|
|
110
|
-
export type ItemAvailability = 'available' | 'not_recorded' | 'unreadable';
|
|
111
|
-
export interface RecallLineageHop {
|
|
112
|
-
from: string;
|
|
113
|
-
to: string;
|
|
114
|
-
relation: string;
|
|
115
|
-
}
|
|
116
|
-
export interface PainRecallEntry {
|
|
117
|
-
painId: string;
|
|
118
|
-
association: RecallAssociation;
|
|
119
|
-
pain: PainEventView;
|
|
120
|
-
diagnoses: DiagnosisView[];
|
|
121
|
-
correctionEvidence: CorrectionEvidenceView | null;
|
|
122
|
-
availability: {
|
|
123
|
-
painEvent: 'available';
|
|
124
|
-
diagnoses: ItemAvailability;
|
|
125
|
-
correctionEvidence: ItemAvailability;
|
|
126
|
-
};
|
|
127
|
-
lineage: RecallLineageHop[];
|
|
128
|
-
}
|
|
129
|
-
export interface PainRecallQuery {
|
|
130
|
-
requestedPrincipleId: string;
|
|
131
|
-
painId?: string;
|
|
132
|
-
context?: string;
|
|
133
|
-
/** Validated upstream: integer within [1, 10]. */
|
|
134
|
-
limit: number;
|
|
135
|
-
}
|
|
136
|
-
export interface UnresolvedAssociation {
|
|
137
|
-
painId?: string;
|
|
138
|
-
candidateId?: string;
|
|
139
|
-
reason: string;
|
|
140
|
-
}
|
|
141
|
-
export interface PainRecallResult {
|
|
142
|
-
schemaVersion: string;
|
|
143
|
-
status: PainRecallStatus;
|
|
144
|
-
/** Sub-reason for pain_not_found: not_associated | pain_event_not_found. */
|
|
145
|
-
statusDetail?: string;
|
|
146
|
-
principle: {
|
|
147
|
-
requestedId: string;
|
|
148
|
-
canonicalId: string | null;
|
|
149
|
-
identityStatus: 'resolved' | 'not_found' | 'ambiguous';
|
|
150
|
-
text?: string;
|
|
151
|
-
};
|
|
152
|
-
query: {
|
|
153
|
-
limit: number;
|
|
154
|
-
painId?: string;
|
|
155
|
-
contextUsedForRanking: boolean;
|
|
156
|
-
truncated: boolean;
|
|
157
|
-
};
|
|
158
|
-
results: PainRecallEntry[];
|
|
159
|
-
summary: {
|
|
160
|
-
returned: number;
|
|
161
|
-
availableCandidates: number;
|
|
162
|
-
truncated: boolean;
|
|
163
|
-
};
|
|
164
|
-
sources: {
|
|
165
|
-
ledger: SourceAvailability;
|
|
166
|
-
trajectoryDb: SourceAvailability;
|
|
167
|
-
stateDb: SourceAvailability;
|
|
168
|
-
};
|
|
169
|
-
unresolvedAssociations: UnresolvedAssociation[];
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Deterministic fault-injection seam for snapshot-race tests — the same
|
|
173
|
-
* pattern as the runtime's databaseFactory seam (PR #2192). Every field is
|
|
174
|
-
* undefined in production; tests assign, then clear in a finally block.
|
|
175
|
-
*/
|
|
176
|
-
export declare const painRecallSnapshotTestHooks: {
|
|
177
|
-
/** Replaces statSync for fingerprinting/classification (throw to simulate EACCES/EIO). */
|
|
178
|
-
statSync?: (path: string) => fs.Stats;
|
|
179
|
-
/** Replaces mkdtempSync for staging-root creation (throw to simulate failure). */
|
|
180
|
-
mkdtempSync?: (prefix: string) => string;
|
|
181
|
-
/** Called after each source→staging copyFileSync with (source, staged). */
|
|
182
|
-
afterCopyFile?: (source: string, stagedPath: string) => void;
|
|
183
|
-
/**
|
|
184
|
-
* Called between the T1 main fingerprint read and the T1 wal fingerprint
|
|
185
|
-
* read — the exact window a concurrent writer can hide in when the pair is
|
|
186
|
-
* sampled non-atomically. Tests use it to inject a deterministic
|
|
187
|
-
* commit→checkpoint→close cycle inside the re-check.
|
|
188
|
-
*/
|
|
189
|
-
afterT1MainFingerprint?: (sourceDbPath: string) => void;
|
|
190
|
-
};
|
|
191
|
-
export declare function recallPains(workspaceDir: string, query: PainRecallQuery): Promise<PainRecallResult>;
|
|
192
|
-
//# sourceMappingURL=pain-recall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pain-recall.d.ts","sourceRoot":"","sources":["../../src/services/pain-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pain-recall.js","sourceRoot":"","sources":["../../src/services/pain-recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAE9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AA6HxC,SAAS,WAAW,CAAC,KAKpB;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChC,OAAO;QACL,aAAa,EAAE,0BAA0B;QACzC,MAAM;QACN,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE;QACtG,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,qBAAqB,EAAE,KAAK;YAC5B,SAAS,EAAE,KAAK;SACjB;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;QAClE,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,sBAAsB,EAAE,EAAE;QAC1B,GAAG,KAAK,CAAC,UAAU;KACpB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,oFAAoF;AACpF,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,aAAkC,EAAE,GAAW;IAC1E,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,GAA4B,EAAE,GAAW;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAMD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAcpC,EAAE,CAAC;AAEP,SAAS,QAAQ,CAAC,GAAY;IAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAaD,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,EAAU,CAAC;IACf,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACvC,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,2BAA2B,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAkB,EAAE,CAAkB;IAC/D,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,6DAA6D;AAC5E,CAAC;AAQD,SAAS,kBAAkB,CAAC,cAA+B;IACzD,QAAQ,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAC/B,KAAK,cAAc,EAAE,OAAO,cAAc,CAAC;QAC3C,KAAK,SAAS,EAAE,OAAO,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG;gBAAE,OAAO,cAAc,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAC1E,OAAO,QAAQ,CAAC,CAAC,8DAA8D;IACjF,CAAC;IACD,sFAAsF;IACtF,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,kEAAkE;IACpE,CAAC;AACH,CAAC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAS,gBAAgB,CAAC,YAAoB,EAAE,WAA8B;IAC5E,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,CAAC;QACtC,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,eAAe,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,0BAA0B;QACzF,IAAI,QAAQ,KAAK,cAAc;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,4CAA4C;QACnG,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,uCAAuC;QAE9E,MAAM,OAAO,GAAG,2BAA2B,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC;QAC1E,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC;QACnD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC1C,2BAA2B,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;YAC9C,2BAA2B,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3F,IAAI,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,yCAAyC;QACzC,iEAAiE;QACjE,uEAAuE;QACvE,2DAA2D;QAC3D,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,qEAAqE;QACrE,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC7F,2BAA2B,CAAC,sBAAsB,EAAE,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAE7F,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,KAAsB;IAC5E,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GACtB,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI;QACtC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,OAAO;YAC3C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,YAAY,CAAC;IACrB,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC;YACjB,KAAK;YACL,MAAM,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;YACjF,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE;SAC7F,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,WAAW,CAAC;YACjB,KAAK;YACL,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAExD,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAuB,IAAI,CAAC;IACvC,IAAI,OAAO,GAA+B,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,iBAAiB,GAAG,YAAY,CAAC;QACrC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,GAAG,YAAY,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,GAAG,YAAY,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,yEAAyE;gBACzE,sEAAsE;gBACtE,mEAAmE;gBACnE,sDAAsD;gBACtD,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,GAAG,YAAY,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,uDAAuD;QACvD,IAAI,YAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC5E,IAAI,oBAAoB,GAAG,YAAY,CAAC;YACxC,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAChD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC3F,CAAC;gBACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;oBAC/E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;oBAChG,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9B,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,YAAY,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAC9D,sEAAsE;YACtE,gEAAgE;YAChE,uEAAuE;YACvE,uEAAuE;YACvE,yCAAyC;YACzC,IAAI,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,QAAiB,EAAE,CAAC;gBAC3B,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;YACnF,OAAO,WAAW,CAAC;gBACjB,KAAK;gBACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB;gBACxD,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE;aACrF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,2DAA2D;YAC3D,MAAM,UAAU,GAA4B,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAc,EAAE,CAAC;YAE5B,MAAM,EAAC,aAAa,EAAC,GAAG,cAAc,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,SAAS;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;oBACpD,IAAI,MAAM,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI;wBAAE,SAAS,CAAC,uCAAuC;oBAC9F,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM;wBACN,QAAQ,EAAE,IAAI;wBACd,GAAG,EAAE;4BACH,IAAI,EAAE,gBAAgB;4BACtB,WAAW;4BACX,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC5G,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChH;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC;YACrD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,8DAA8D;oBACzF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrB,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;wBACjE,SAAS;oBACX,CAAC;oBACD,IAAI,eAAe,GAAkB,IAAI,CAAC;oBAC1C,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;wBAC1D,eAAe,GAAG,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;4BACzG,CAAC,CAAC,SAAS,CAAC,MAAM;4BAClB,CAAC,CAAC,IAAI,CAAC;oBACX,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;wBACnE,SAAS;oBACX,CAAC;oBACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;wBAC7B,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;wBAChE,SAAS;oBACX,CAAC;oBACD,IAAI,MAAM,GAAkB,IAAI,CAAC;oBACjC,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBACpD,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;4BAC7F,CAAC,CAAC,IAAI,CAAC,QAAQ;4BACf,CAAC,CAAC,IAAI,CAAC;wBACT,MAAM,GAAG,QAAQ,CAAC;oBACpB,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC;oBACD,IAAI,MAAM,KAAK,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;wBAChH,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,0CAA0C;oBACjG,CAAC;oBACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC;wBAC7E,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC;wBACT,MAAM;wBACN,QAAQ,EAAE,KAAK;wBACf,GAAG,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE;qBACzE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC7B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CACrC,oMAAoM,CACrM,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;oBAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC9D,OAAO,WAAW,CAAC;wBACjB,KAAK;wBACL,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACtD,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,sBAAsB,EAAE;qBACjF,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACxC,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM;wBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,sEAAsE;YACtE,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,SAAS,CAAC,kDAAkD;gBAChF,MAAM,IAAI,GAAkB;oBAC1B,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC;oBACxC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;oBAChC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,SAAS;oBAC9C,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACvD,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;oBACpC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;oBAChC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;oBAC5B,YAAY,EAAE,IAAI;iBACnB,CAAC;gBAEF,IAAI,SAAS,GAAoB,EAAE,CAAC;gBACpC,oEAAoE;gBACpE,IAAI,qBAAuC,CAAC;gBAC5C,IAAI,UAAU,GAAkC,IAAI,CAAC;gBACrD,iEAAiE;gBACjE,iDAAiD;gBACjD,IAAI,sBAAsB,GAAqB,cAAc,CAAC;gBAC9D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,qBAAqB,GAAG,YAAY,CAAC;oBACrC,sBAAsB,GAAG,YAAY,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBAC3D,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACnC,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BAC1F,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,wBAAwB,EAAE,KAAc;yBACzC,CAAC,CAAC,CAAC;wBACJ,qBAAqB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;oBAC9E,CAAC;oBAAC,MAAM,CAAC;wBACP,qBAAqB,GAAG,YAAY,CAAC;oBACvC,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;wBACnE,MAAM,OAAO,GAAG,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,CAAC,cAAc,KAAK,QAAQ;4BACxF,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC;4BAC/C,CAAC,CAAC,IAAI,CAAC;wBACT,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5E,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3F,UAAU,GAAG;gCACX,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACnI,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9G,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACpH,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACxH,CAAC;4BACF,sBAAsB,GAAG,WAAW,CAAC;wBACvC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB,GAAG,YAAY,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAoB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;oBAChD,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,IAAI,CAAC,QAAQ;wBACb,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,cAAc,CAAC;gBACrB,MAAM,OAAO,GAAuB,EAAE,CAAC;gBACvC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;wBACrC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,WAAW,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;wBAC3G,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBAClF,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;oBACrG,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM;oBACN,WAAW,EAAE;wBACX,IAAI;wBACJ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB;wBAC3D,YAAY,EAAE,IAAI,CAAC,IAAI;qBACxB;oBACD,IAAI;oBACJ,SAAS;oBACT,kBAAkB,EAAE,UAAU;oBAC9B,YAAY,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE;oBACtH,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,oEAAoE;YACpE,qEAAqE;YACrE,gEAAgE;YAChE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChG,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK;gBACL,KAAK,EAAE,WAAW;oBAChB,CAAC,CAAC,mBAAmB,CACjB,aAAa,EACb,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvG;oBACH,CAAC,CAAC,CAAC;aACN,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;oBAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,SAAS,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC5C,IAAI,KAAK,KAAK,KAAK;oBAAE,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;gBACnE,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAE1C,0BAA0B;YAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7C,2EAA2E;YAC3E,IAAI,MAAwB,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,kBAAkB,KAAK,YAAY,CACvG,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;YAED,OAAO;gBACL,aAAa,EAAE,0BAA0B;gBACzC,MAAM;gBACN,SAAS,EAAE;oBACT,WAAW,EAAE,KAAK,CAAC,oBAAoB;oBACvC,WAAW;oBACX,cAAc,EAAE,UAAU;oBAC1B,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,qBAAqB,EAAE,WAAW;oBAClC,SAAS;iBACV;gBACD,OAAO;gBACP,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;gBACpF,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;gBACtD,sBAAsB,EAAE,UAAU;aACnC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC"}
|