kiokuko 1.0.22 → 1.0.24
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/agent-file/render.d.ts +1 -1
- package/dist/agent-file/render.d.ts.map +1 -1
- package/dist/agent-file/render.js +3 -2
- package/dist/agent-file/render.js.map +1 -1
- package/dist/akinator/capabilities.d.ts.map +1 -1
- package/dist/akinator/capabilities.js +9 -1
- package/dist/akinator/capabilities.js.map +1 -1
- package/dist/akinator/capability-binding.d.ts.map +1 -1
- package/dist/akinator/capability-binding.js +2 -1
- package/dist/akinator/capability-binding.js.map +1 -1
- package/dist/assurance/codex-hooks.js +3 -3
- package/dist/assurance/codex-hooks.js.map +1 -1
- package/dist/assurance/conflicts.d.ts +27 -0
- package/dist/assurance/conflicts.d.ts.map +1 -0
- package/dist/assurance/conflicts.js +32 -0
- package/dist/assurance/conflicts.js.map +1 -0
- package/dist/assurance/contracts.d.ts +1 -0
- package/dist/assurance/contracts.d.ts.map +1 -1
- package/dist/assurance/contracts.js +1 -0
- package/dist/assurance/contracts.js.map +1 -1
- package/dist/assurance/instructions.d.ts +1 -1
- package/dist/assurance/instructions.d.ts.map +1 -1
- package/dist/assurance/instructions.js +2 -1
- package/dist/assurance/instructions.js.map +1 -1
- package/dist/assurance/refresh.d.ts.map +1 -1
- package/dist/assurance/refresh.js +10 -8
- package/dist/assurance/refresh.js.map +1 -1
- package/dist/assurance/service.d.ts +9 -2
- package/dist/assurance/service.d.ts.map +1 -1
- package/dist/assurance/service.js +21 -10
- package/dist/assurance/service.js.map +1 -1
- package/dist/assurance/verification-contracts.d.ts +49 -0
- package/dist/assurance/verification-contracts.d.ts.map +1 -0
- package/dist/assurance/verification-contracts.js +23 -0
- package/dist/assurance/verification-contracts.js.map +1 -0
- package/dist/assurance/verification-state.d.ts +33 -0
- package/dist/assurance/verification-state.d.ts.map +1 -0
- package/dist/assurance/verification-state.js +52 -0
- package/dist/assurance/verification-state.js.map +1 -0
- package/dist/assurance/verification.d.ts +16 -0
- package/dist/assurance/verification.d.ts.map +1 -0
- package/dist/assurance/verification.js +67 -0
- package/dist/assurance/verification.js.map +1 -0
- package/dist/context/scoped-broker.d.ts.map +1 -1
- package/dist/context/scoped-broker.js +10 -7
- package/dist/context/scoped-broker.js.map +1 -1
- package/dist/context/scoped-memory-use.d.ts.map +1 -1
- package/dist/context/scoped-memory-use.js +4 -3
- package/dist/context/scoped-memory-use.js.map +1 -1
- package/dist/mcp/request-deadline.d.ts +1 -1
- package/dist/mcp/request-deadline.d.ts.map +1 -1
- package/dist/mcp/request-deadline.js +2 -0
- package/dist/mcp/request-deadline.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +17 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/git-provenance.d.ts +14 -0
- package/dist/memory/git-provenance.d.ts.map +1 -0
- package/dist/memory/git-provenance.js +153 -0
- package/dist/memory/git-provenance.js.map +1 -0
- package/dist/memory/interaction-contract.d.ts.map +1 -1
- package/dist/memory/interaction-contract.js +5 -3
- package/dist/memory/interaction-contract.js.map +1 -1
- package/dist/memory/scoped-memory.d.ts +1 -12
- package/dist/memory/scoped-memory.d.ts.map +1 -1
- package/dist/memory/scoped-memory.js +2 -49
- package/dist/memory/scoped-memory.js.map +1 -1
- package/dist/repository/detect-root.d.ts.map +1 -1
- package/dist/repository/detect-root.js +2 -30
- package/dist/repository/detect-root.js.map +1 -1
- package/dist/repository/resolve-root.d.ts +7 -0
- package/dist/repository/resolve-root.d.ts.map +1 -0
- package/dist/repository/resolve-root.js +28 -0
- package/dist/repository/resolve-root.js.map +1 -0
- package/dist/server/routes/task-assurance.d.ts.map +1 -1
- package/dist/server/routes/task-assurance.js +4 -1
- package/dist/server/routes/task-assurance.js.map +1 -1
- package/dist/setup/render.d.ts.map +1 -1
- package/dist/setup/render.js +2 -1
- package/dist/setup/render.js.map +1 -1
- package/docs/correction-validation.md +147 -0
- package/docs/interaction-memory-validation.md +3 -0
- package/docs/memory-assurance.md +72 -0
- package/migrations/010_task_verification.sql +40 -0
- package/package.json +1 -1
- package/skills/kiokuko-soul/SKILL.md +19 -0
- package/skills/memory-reasoning/SKILL.md +5 -0
- package/skills/one-shot-software-completion/SKILL.md +8 -2
- package/templates/AGENTS.md +3 -3
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { lstatSync, realpathSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { performance } from 'node:perf_hooks';
|
|
5
|
+
import { KiokukoError } from '../errors.js';
|
|
6
|
+
const executeGit = (executable, args, options) => execFileSync(executable, args, options);
|
|
7
|
+
const unavailable = () => new KiokukoError('SERVICE_UNAVAILABLE', 'Git checkpoint provenance could not be resolved');
|
|
8
|
+
function processText(error, field) {
|
|
9
|
+
const value = error[field];
|
|
10
|
+
return typeof value === 'string' ? value : Buffer.isBuffer(value) ? value.toString('utf8') : undefined;
|
|
11
|
+
}
|
|
12
|
+
function exitedWith(error, status) {
|
|
13
|
+
if (typeof error !== 'object' || error === null)
|
|
14
|
+
return false;
|
|
15
|
+
const failure = error;
|
|
16
|
+
return failure.status === status && failure.signal === null && failure.code == null
|
|
17
|
+
&& failure.killed !== true && failure.error == null && processText(failure, 'stdout') === '';
|
|
18
|
+
}
|
|
19
|
+
function diagnostic(error) {
|
|
20
|
+
if (!exitedWith(error, 128))
|
|
21
|
+
return undefined;
|
|
22
|
+
return processText(error, 'stderr')?.replaceAll('\r\n', '\n').replace(/\n$/u, '');
|
|
23
|
+
}
|
|
24
|
+
function nonRepositoryBoundary(error) {
|
|
25
|
+
const text = diagnostic(error);
|
|
26
|
+
if (text === 'fatal: not a git repository (or any of the parent directories): .git')
|
|
27
|
+
return null;
|
|
28
|
+
const match = /^fatal: not a git repository \(or any parent up to mount point ([^\r\n]+)\)\nStopping at filesystem boundary \(GIT_DISCOVERY_ACROSS_FILESYSTEM not set\)\.$/u.exec(text ?? '');
|
|
29
|
+
return match && path.isAbsolute(match[1]) ? match[1] : undefined;
|
|
30
|
+
}
|
|
31
|
+
/** lstat also detects dangling links. Only a missing path is an expected absence. */
|
|
32
|
+
function pathPresent(file) {
|
|
33
|
+
try {
|
|
34
|
+
lstatSync(file);
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
if (error.code === 'ENOENT')
|
|
39
|
+
return false;
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function assertNoRepositoryMarker(cwd, boundary, env, checkDeadline) {
|
|
44
|
+
// Explicit but unusable Git locations are configuration errors, not absent repositories.
|
|
45
|
+
if (['GIT_DIR', 'GIT_WORK_TREE', 'GIT_COMMON_DIR'].some((key) => env[key] !== undefined))
|
|
46
|
+
throw unavailable();
|
|
47
|
+
const ceilings = (env.GIT_CEILING_DIRECTORIES ?? '').split(path.delimiter).filter(path.isAbsolute).map((directory) => {
|
|
48
|
+
try {
|
|
49
|
+
return realpathSync(directory);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error.code === 'ENOENT')
|
|
53
|
+
return directory;
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
let directory = realpathSync(cwd);
|
|
58
|
+
for (;;) {
|
|
59
|
+
checkDeadline();
|
|
60
|
+
if (pathPresent(path.join(directory, '.git')))
|
|
61
|
+
throw unavailable();
|
|
62
|
+
const objects = pathPresent(path.join(directory, 'objects'));
|
|
63
|
+
const refs = pathPresent(path.join(directory, 'refs'));
|
|
64
|
+
// objects/refs by themselves are also ordinary application directory names.
|
|
65
|
+
// A bare repository has HEAD, or retains config if HEAD was damaged/deleted.
|
|
66
|
+
if ((objects || refs) && pathPresent(path.join(directory, 'HEAD'))
|
|
67
|
+
|| objects && refs && pathPresent(path.join(directory, 'config')))
|
|
68
|
+
throw unavailable();
|
|
69
|
+
const parent = path.dirname(directory);
|
|
70
|
+
if (parent === directory || directory === boundary || ceilings.includes(parent))
|
|
71
|
+
return;
|
|
72
|
+
directory = parent;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function singleLine(output) {
|
|
76
|
+
const line = output.replace(/(?:\r\n|\n)$/u, '');
|
|
77
|
+
if (!line || /[\r\n\0]/u.test(line))
|
|
78
|
+
throw unavailable();
|
|
79
|
+
return line;
|
|
80
|
+
}
|
|
81
|
+
function confirmAbsentCommit(error, cwd, env, run, checkDeadline) {
|
|
82
|
+
const boundary = nonRepositoryBoundary(error);
|
|
83
|
+
const unborn = diagnostic(error) === 'fatal: Needed a single revision';
|
|
84
|
+
if (boundary === undefined && !unborn)
|
|
85
|
+
throw unavailable();
|
|
86
|
+
try {
|
|
87
|
+
if (!path.isAbsolute(singleLine(run(['rev-parse', '--absolute-git-dir']))))
|
|
88
|
+
throw unavailable();
|
|
89
|
+
}
|
|
90
|
+
catch (probeError) {
|
|
91
|
+
if (boundary === undefined || nonRepositoryBoundary(probeError) === undefined)
|
|
92
|
+
throw unavailable();
|
|
93
|
+
assertNoRepositoryMarker(cwd, boundary, env, checkDeadline);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (!unborn)
|
|
97
|
+
throw unavailable(); // Repository changed during the probes.
|
|
98
|
+
const ref = singleLine(run(['symbolic-ref', '--quiet', 'HEAD']));
|
|
99
|
+
if (!ref.startsWith('refs/heads/'))
|
|
100
|
+
throw unavailable();
|
|
101
|
+
run(['check-ref-format', ref]);
|
|
102
|
+
try {
|
|
103
|
+
run(['show-ref', '--verify', '--quiet', ref]);
|
|
104
|
+
}
|
|
105
|
+
catch (probeError) {
|
|
106
|
+
if (!exitedWith(probeError, 1) || processText(probeError, 'stderr') !== '')
|
|
107
|
+
throw unavailable();
|
|
108
|
+
// Git's quiet lookup also returns 1 for malformed/empty loose refs. Resolve the
|
|
109
|
+
// common-dir aware storage path (including linked worktrees) before accepting absence.
|
|
110
|
+
const refPath = singleLine(run(['rev-parse', '--git-path', ref]));
|
|
111
|
+
if (pathPresent(path.resolve(cwd, refPath)))
|
|
112
|
+
throw unavailable();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
throw unavailable(); // A ref exists but HEAD could not resolve to a commit.
|
|
116
|
+
}
|
|
117
|
+
/** Resolve immutable provenance; only observed non-repository/unborn states have no commit. */
|
|
118
|
+
export function resolveCheckpointSourceCommit(repositoryRoot, execute = executeGit) {
|
|
119
|
+
const deadline = performance.now() + 5_000;
|
|
120
|
+
const env = { ...process.env, LC_ALL: 'C', LANG: 'C' };
|
|
121
|
+
const remaining = () => {
|
|
122
|
+
const budget = Math.ceil(deadline - performance.now());
|
|
123
|
+
if (budget <= 0)
|
|
124
|
+
throw unavailable();
|
|
125
|
+
return budget;
|
|
126
|
+
};
|
|
127
|
+
const run = (args) => {
|
|
128
|
+
const output = execute('git', args, { cwd: repositoryRoot, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'],
|
|
129
|
+
timeout: remaining(), maxBuffer: 64 * 1024, killSignal: 'SIGKILL', env });
|
|
130
|
+
remaining();
|
|
131
|
+
return output;
|
|
132
|
+
};
|
|
133
|
+
let output;
|
|
134
|
+
try {
|
|
135
|
+
output = run(['rev-parse', '--verify', 'HEAD^{commit}']);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
try {
|
|
139
|
+
confirmAbsentCommit(error, repositoryRoot, env, run, remaining);
|
|
140
|
+
remaining();
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
throw unavailable();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const commit = output.replace(/(?:\r\n|\n)$/u, '');
|
|
148
|
+
if (!/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u.test(commit)) {
|
|
149
|
+
throw new KiokukoError('INTEGRITY_ERROR', 'Git checkpoint provenance is invalid');
|
|
150
|
+
}
|
|
151
|
+
return commit;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=git-provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-provenance.js","sourceRoot":"","sources":["../../src/memory/git-provenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-contract.d.ts","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"interaction-contract.d.ts","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BlC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;kBAazB,CAAC;AAUZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;kBAwBxC,CAAC;AAEH,eAAO,MAAM,+BAA+B,y4FAAy4F,CAAC"}
|
|
@@ -14,7 +14,7 @@ export const interactionMemorySchema = checkpointMemorySchema.omit({ confidence:
|
|
|
14
14
|
.describe('Use user_correction for a durable explicit correction, including its first capture when no stored entry exists.'),
|
|
15
15
|
generalCommunication: z.boolean().default(false),
|
|
16
16
|
replaces: z.object({ entryId: identity, expectedRevision: z.number().int().positive() }).strict().optional()
|
|
17
|
-
.describe('Only when correcting an identified stored entry: use its actual entry ID and revision. Omit for a correction not yet stored; never invent an ID.'),
|
|
17
|
+
.describe('Only when correcting an identified stored entry: use its actual entry ID and revision. Omit for a correction not yet stored; never invent an ID. If the user asks to change a stored memory but lookup finds no target, clarify its identity instead of creating a competing memory.'),
|
|
18
18
|
reinforces: z.object({ entryId: identity, expectedRevision: z.number().int().positive() }).strict().optional()
|
|
19
19
|
.describe('An existing project lesson independently observed again in this run. Keeps its content unchanged; use replaces for corrections.'),
|
|
20
20
|
}).strict().superRefine((value, ctx) => {
|
|
@@ -51,14 +51,16 @@ export const memoryCaptureInputSchema = z.object({
|
|
|
51
51
|
export const memoryRecallInputSchema = z.object({
|
|
52
52
|
soulRead: z.literal(true),
|
|
53
53
|
capabilities: z.array(z.unknown()).optional(),
|
|
54
|
-
query: z.string().trim().min(1).max(4_000)
|
|
54
|
+
query: z.string().trim().min(1).max(4_000)
|
|
55
|
+
.describe('Use concise topic words. Subject-specific preferences require literal subject wording. For cross-language recall include the original-language topic and its English wording. If empty, try one concise reformulation of the same topic; never guess exact subject filters.'),
|
|
55
56
|
subjects: subjects.optional().describe('Concise topic labels, e.g. Japanese grammar, not Japanese grammar explanations. For recall, omit unless these exact stored labels are known; use query-only recall first.'),
|
|
56
57
|
temporal: z.unknown().optional().transform((value) => normalizeTemporalConstraint(value))
|
|
57
58
|
.describe('Optional recorded/occurred time window. Absolute bounds, anchorTime, and timezone are validated and bound for repeatable recall.'),
|
|
58
59
|
relatedMode: z.enum(['off', 'observe', 'active']).optional()
|
|
59
60
|
.describe('Enable bounded one-hop same-workspace related candidate discovery; off preserves the existing selection.'),
|
|
60
61
|
limit: z.number().int().min(1).max(20).default(8),
|
|
61
|
-
maxContextChars: z.number().int().min(100).max(12_000).default(4_000)
|
|
62
|
+
maxContextChars: z.number().int().min(100).max(12_000).default(4_000)
|
|
63
|
+
.describe('Total recall response budget: integer from 100 to 12000 characters. Omit to use 4000. This is not the task_prepare context-lane budget.'),
|
|
62
64
|
}).strict();
|
|
63
65
|
const sourceRevision = z.object({
|
|
64
66
|
workspace: identity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-contract.js","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACrE,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2KAA2K,CAAC;IACnN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;SACpE,QAAQ,CAAC,iHAAiH,CAAC;IAC9H,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACzG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"interaction-contract.js","sourceRoot":"","sources":["../../src/memory/interaction-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,19 +8,9 @@ import { type FederatedScope, type FederatedRecallResult } from './federated-ret
|
|
|
8
8
|
import type { HybridSearchRuntime } from './hybrid-retrieval.js';
|
|
9
9
|
import type { RelatedSearchMode } from './hybrid-retrieval.js';
|
|
10
10
|
import type { TemporalConstraint } from './temporal.js';
|
|
11
|
+
export { resolveCheckpointSourceCommit } from './git-provenance.js';
|
|
11
12
|
import type { ProjectFingerprint } from '../repository/project-fingerprint.js';
|
|
12
13
|
import { type CheckpointOutcome } from '../ledger/checkpoint-contract.js';
|
|
13
|
-
interface GitProvenanceExecOptions {
|
|
14
|
-
cwd: string;
|
|
15
|
-
encoding: 'utf8';
|
|
16
|
-
stdio: ['ignore', 'pipe', 'pipe'];
|
|
17
|
-
timeout: number;
|
|
18
|
-
maxBuffer: number;
|
|
19
|
-
env: NodeJS.ProcessEnv;
|
|
20
|
-
}
|
|
21
|
-
type GitProvenanceExecutor = (executable: string, args: string[], options: GitProvenanceExecOptions) => string;
|
|
22
|
-
/** Resolve immutable checkpoint provenance without treating Git failures as an absent commit. */
|
|
23
|
-
export declare function resolveCheckpointSourceCommit(repositoryRoot: string, execute?: GitProvenanceExecutor): string | null;
|
|
24
14
|
export type MemoryScope = FederatedScope;
|
|
25
15
|
export interface ScopedRecallInput {
|
|
26
16
|
query: string;
|
|
@@ -81,5 +71,4 @@ export interface ScopedCheckpointResult {
|
|
|
81
71
|
}
|
|
82
72
|
export declare function recallScopedMemory(database: SqliteDatabase, input: ScopedRecallInput, runtime?: HybridSearchRuntime): Promise<ScopedRecallResult>;
|
|
83
73
|
export declare function checkpointScopedMemory(database: SqliteDatabase, input: ScopedCheckpointInput, signal?: AbortSignal): Promise<ScopedCheckpointResult>;
|
|
84
|
-
export {};
|
|
85
74
|
//# sourceMappingURL=scoped-memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-memory.d.ts","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAkD,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvK,OAAO,EAA2B,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"scoped-memory.d.ts","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ import { canonicalJson } from '../serialization/validate.js';
|
|
|
8
8
|
import { buildStructuredScope, hasExplicitApplicability } from './structured-memory.js';
|
|
9
9
|
import { retrieveFederatedMemory } from './federated-retrieval.js';
|
|
10
10
|
import { analyzePortability } from './portability.js';
|
|
11
|
-
import {
|
|
11
|
+
import { resolveCheckpointSourceCommit } from './git-provenance.js';
|
|
12
|
+
export { resolveCheckpointSourceCommit } from './git-provenance.js';
|
|
12
13
|
import { randomUUID } from 'node:crypto';
|
|
13
14
|
import { isProxy } from 'node:util/types';
|
|
14
15
|
import { LedgerStore } from '../ledger/store.js';
|
|
@@ -18,54 +19,6 @@ import { assertContextFeedbackRecordable, recordContextFeedbackInTransaction } f
|
|
|
18
19
|
import { readContextDelivery } from '../context/delivery.js';
|
|
19
20
|
import { recordKnowledgePathsInTransaction } from '../akinator/knowledge-path.js';
|
|
20
21
|
import { CHECKPOINT_COMMAND_FIELD_NAMES, CHECKPOINT_EVIDENCE_FIELD_NAMES, CHECKPOINT_FEEDBACK_FIELD_NAMES, CHECKPOINT_OUTCOMES, CHECKPOINT_RESULT_OUTCOMES, CHECKPOINT_TEST_FIELD_NAMES, CHECKPOINT_VERIFICATION_FIELD_NAMES, MAX_CHECKPOINT_EVIDENCE_ITEMS, MAX_CHECKPOINT_EXECUTABLE_CHARS, MAX_CHECKPOINT_PATHS, MAX_CHECKPOINT_SHORT_TEXT_CHARS, MAX_CHECKPOINT_SIGNALS, } from '../ledger/checkpoint-contract.js';
|
|
21
|
-
const GIT_PROVENANCE_TIMEOUT_MS = 5_000;
|
|
22
|
-
const GIT_PROVENANCE_MAX_BUFFER = 64 * 1024;
|
|
23
|
-
const executeGitProvenance = (executable, args, options) => execFileSync(executable, args, options);
|
|
24
|
-
function processFailureText(error, field) {
|
|
25
|
-
if (typeof error !== 'object' || error === null)
|
|
26
|
-
return undefined;
|
|
27
|
-
const value = error[field];
|
|
28
|
-
if (typeof value === 'string')
|
|
29
|
-
return value;
|
|
30
|
-
return Buffer.isBuffer(value) ? value.toString('utf8') : undefined;
|
|
31
|
-
}
|
|
32
|
-
function expectedMissingGitCommit(error) {
|
|
33
|
-
if (typeof error !== 'object' || error === null)
|
|
34
|
-
return false;
|
|
35
|
-
const failure = error;
|
|
36
|
-
if (failure.status !== 128 || failure.signal !== null)
|
|
37
|
-
return false;
|
|
38
|
-
const stderr = processFailureText(error, 'stderr')?.replaceAll('\r\n', '\n').trimEnd();
|
|
39
|
-
return stderr === 'fatal: Needed a single revision'
|
|
40
|
-
|| stderr === 'fatal: not a git repository (or any of the parent directories): .git';
|
|
41
|
-
}
|
|
42
|
-
/** Resolve immutable checkpoint provenance without treating Git failures as an absent commit. */
|
|
43
|
-
export function resolveCheckpointSourceCommit(repositoryRoot, execute = executeGitProvenance) {
|
|
44
|
-
let output;
|
|
45
|
-
try {
|
|
46
|
-
output = execute('git', ['rev-parse', '--verify', 'HEAD^{commit}'], {
|
|
47
|
-
cwd: repositoryRoot,
|
|
48
|
-
encoding: 'utf8',
|
|
49
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
50
|
-
timeout: GIT_PROVENANCE_TIMEOUT_MS,
|
|
51
|
-
maxBuffer: GIT_PROVENANCE_MAX_BUFFER,
|
|
52
|
-
env: { ...process.env, LC_ALL: 'C', LANG: 'C' },
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
if (expectedMissingGitCommit(error))
|
|
57
|
-
return null;
|
|
58
|
-
throw new KiokukoError('SERVICE_UNAVAILABLE', 'Git checkpoint provenance could not be resolved');
|
|
59
|
-
}
|
|
60
|
-
const commit = output.replace(/(?:\r\n|\n)$/u, '');
|
|
61
|
-
if (commit !== output && output !== `${commit}\n` && output !== `${commit}\r\n`) {
|
|
62
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Git checkpoint provenance is invalid');
|
|
63
|
-
}
|
|
64
|
-
if (!/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u.test(commit)) {
|
|
65
|
-
throw new KiokukoError('INTEGRITY_ERROR', 'Git checkpoint provenance is invalid');
|
|
66
|
-
}
|
|
67
|
-
return commit;
|
|
68
|
-
}
|
|
69
22
|
const CHECKPOINT_MEMORY_FIELDS = new Set([
|
|
70
23
|
'kind', 'title', 'body', 'summary', 'scope', 'retrievalScope', 'tags', 'confidence',
|
|
71
24
|
'memoryClass', 'applicability', 'signals', 'portableReason',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-memory.js","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAA4B,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAoB,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,+BAA+B,GAEhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAkB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAiF,MAAM,wBAAwB,CAAC;AACvK,OAAO,EAAE,uBAAuB,EAAmD,MAAM,0BAA0B,CAAC;AAIpH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAElF,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,6BAA6B,EAC7B,+BAA+B,EAC/B,oBAAoB,EACpB,+BAA+B,EAC/B,sBAAsB,GAOvB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC;AAiB5C,MAAM,oBAAoB,GAA0B,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAE3H,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAA0B;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACvF,OAAO,MAAM,KAAK,iCAAiC;WAC9C,MAAM,KAAK,sEAAsE,CAAC;AACzF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,6BAA6B,CAC3C,cAAsB,EACtB,UAAiC,oBAAoB;IAErD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE;YAClE,GAAG,EAAE,cAAc;YACnB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,yBAAyB;YAClC,SAAS,EAAE,yBAAyB;YACpC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,wBAAwB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,iDAAiD,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;QAChF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,sCAAsC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA2DD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY;IACnF,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB;CAC5D,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACvH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAE5E,SAAS,wBAAwB,CAAC,MAAiB;IACjD,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,WAAW,CAAC,OAAO;QAAE,OAAO;IAChC,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,8BAA8B,EAAE;QACjE,qBAAqB,EAAE,WAAW;QAClC,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc,EACd,OAA4B,EAC5B,OAAe;IAEf,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACpF,MAAM,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAC;IACvF,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3F,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAClB,IAA0C,EAC1C,KAA2C;IAE3C,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IACrE,OAAO,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC9C,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WACxC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,OAAe,EAAE,OAAe;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QACtE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;QAChH,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3F,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACjG,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,+BAA+B,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACrG,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAE,OAAe,EAAY,EAAE;QAChE,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,+BAA+B,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1I,MAAM,aAAa,EAAE,CAAC;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,SAAS,EAAE,CAAC;QACxI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,IAAwB,EAA6D,EAAE;QAC7H,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,6BAA6B,EAAE,qBAAqB,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACjH,MAAM,cAAc,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;mBAC9D,aAAa,CAAC,MAAM,GAAG,+BAA+B;mBACtD,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YACzE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,UAAqC,CAAC;gBAAE,MAAM,aAAa,EAAE,CAAC;YACzI,MAAM,OAAO,GAAG,UAAqC,CAAC;YACtD,MAAM,QAAQ,GAAkE,EAAE,CAAC;YACnF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,aAAa,KAAK,SAAS;oBAAE,SAAS;gBAC1C,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;uBAC9D,aAAa,CAAC,MAAM,GAAG,+BAA+B;uBACtD,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC;oBAAE,MAAM,aAAa,EAAE,CAAC;gBACzE,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;YAC9G,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACjC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;oBAAE,MAAM,aAAa,EAAE,CAAC;gBACvI,OAAO;oBACL,UAAU,EAAE,aAAa;oBACzB,OAAO;oBACP,GAAG,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC7F,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;oBAC/C,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACtE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,OAAO;gBACP,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrE,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAgC,CAAC;IAC1F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAA6B,CAAC;IAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACxE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,mCAAmC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACpI,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,MAAM,aAAa,EAAE,CAAC;QAC3H,OAAO,EAAE,OAAO,EAAE,UAA2C,EAAE,CAAC;IAClE,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,UAAU,GAAiC;QAC/C,YAAY;QACZ,eAAe;QACf,QAAQ;QACR,KAAK;QACL,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;KACxD,CAAC;IACF,IAAI,iBAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,UAAU,IAAI,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,UAAU,CAAC,iBAAiB,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,gDAAgD,CAAC,CAAC;IAClI,OAAO,UAAU,CAAC;AACpB,CAAC;AAmBD,SAAS,oBAAoB,CAAC,KAAc,EAAE,KAAa;IACzD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7H,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA4B;IAC5D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS;QACjC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACnF,CAAC,CAAC,KAAK,CAAC,GAAG;YACX,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC/C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,sCAAsC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAC5D,MAAM,EACN,wBAAwB,EACxB,8BAA8B,CACA,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS;QACjD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,gCAAgC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAC5D,IAAI,EACJ,0BAA0B,EAC1B,gCAAgC,CACjC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;IAEjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,gDAAgD,CAAC,CAAC;QACxH,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;QAC9G,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACjH,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;QACnH,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;QACnH,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAA+B,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,4CAA4C,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,OAAO,GAAG,UAA+B,CAAC;IAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC/C,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;WACnC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;WAC5B,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;WACzB,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,yCAAyC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO;QACL,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,QAAQ;QACR,KAAK;QACL,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,OAAO;QACP,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAwB,EACxB,KAAwB,EACxB,UAA+B,EAAE;IAEjC,OAAO,uBAAuB,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAwB,EAAE,KAA4B,EAAE,MAAoB;IACvH,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAiC,OAAO,IAAI,OAAO;QAC/D,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvF,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;IAClH,IAAI,GAAG,KAAK,SAAS;QAAE,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,GAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1F,IAAI,QAAQ,CAAC,KAAK,KAAK,GAAI,CAAC,KAAK;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,gDAAgD,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACpF,IAAI,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,kJAAkJ,CAAC,CAAC;IAC1L,CAAC;IACD,IAAI,GAAG,IAAI,cAAc,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,EAAE,CAAC;QACtF,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACxH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM;UAC9C,QAAQ,CAAC,eAAe,CAAC,MAAM;UAC/B,QAAQ,CAAC,QAAQ,CAAC,MAAM;UACxB,QAAQ,CAAC,KAAK,CAAC,MAAM;UACrB,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QAC9C,IAAI,WAAW,KAAK,QAAQ;eACvB,MAAM,CAAC,cAAc,KAAK,SAAS;eACnC,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,0DAA0D,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAe,CAAC,SAAS,CAAC;QAC1F,MAAM,SAAS,GAAG,oBAAoB,CAAC;YACrC,UAAU,EAAE,WAAW;YACvB,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnH,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;SAC1F,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,qBAAqB,CAAC;YACvC,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAChE,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,aAAa;SACrB,CAAC,CAAC,MAAM,CAAC;QACV,MAAM,aAAa,GAAG,WAAW,KAAK,SAAS;eAC1C,MAAM,CAAC,cAAc,KAAK,SAAS;eACnC,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC;eAC1C,cAAc,KAAK,SAAS;eAC5B,kBAAkB,CAAC;gBACpB,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC,QAAQ,CAAC;QACd,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACjC,UAAU,EAAE,WAAW;YACvB,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAC1B,CAAC,CAAC,EAAE,cAAc,EAAE,QAAiB,EAAE;gBACvC,CAAC,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;oBAC3C,CAAC,CAAC,aAAa;wBACb,CAAC,CAAC,EAAE,cAAc,EAAE,WAAoB,EAAE;wBAC1C,CAAC,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnH,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;YAChF,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;SAC1F,CAAC,CAAC;QACH,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,KAAK;YAChB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,cAAc,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC;YACvI,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YAClD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACpD,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;YACrF,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,GAAG;SACf,CAAC;QACF,OAAO,qBAAqB,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,GAAI,CAAC,SAAS;YACzB,UAAU,EAAE,UAAW;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,UAAU,EAAE,UAAU,EAAE;YACxB,KAAK,EAAE,GAAI,CAAC,KAAK;YACjB,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,uBAAuB,KAAK,EAAE;YAC9C,SAAS,EAAE,GAAG;SACf,CAAC;QACF,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,sDAAsD,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtD,MAAM,cAAc,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpG,IAAI,GAAG,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC3H,IAAI,cAAc,KAAK,SAAS;YAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,GAAG,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YACpG,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,cAAc;YAAE,yBAAyB,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7F,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5H,MAAM,cAAc,GAAG;YACrB,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,cAAuB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACjK,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,gBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAChL,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,mBAA4B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,gBAAyB,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAChU,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,uBAAgC,EAAE,KAAK,EAAE,aAAsB,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACtQ,CAAC;QACF,MAAM,WAAW,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAc,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,wBAAwB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACnM,MAAM,YAAY,GAAyI;YACzJ,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACtK,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAChN,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACjV,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACxU,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/L,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAE,CAAC;gBACjC,QAAQ,CAAC,OAAO,CAAC,+KAA+K,CAAC,CAAC,GAAG,CACnM,WAAW,CAAC,KAAK,CAAE,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAChK,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpG,IAAI,cAAc,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC;YACrI,KAAK,MAAM,KAAK,IAAI,KAAK;gBAAE,0BAA0B,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;YAC9F,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;YAClE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1I,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,iBAA0B,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/M,MAAM,SAAS,GAAG,cAAc,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAc,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,wBAAwB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7L,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACzE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,yCAAyC,CAAC,CAAC;YAChH,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,QAAQ,CAAC,OAAO,CAAC,0HAA0H,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACnO,CAAC;YACD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;gBAC9C,kCAAkC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,KAAK,GAAG,iCAAiC,CAAC,QAAQ,EAAE;gBACxD,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,OAAO,EAAE,KAAK;gBACd,OAAO;gBACP,YAAY,EAAE;oBACZ,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO;oBACjD,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM;oBAC9E,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM;oBAC1F,aAAa,EAAE,YAAY,CAAC,MAAM;iBACnC;gBACD,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO;gBACL,KAAK;gBACL,OAAO;gBACP,GAAG,EAAE;oBACH,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,gBAAgB,CAAC,MAAM;oBACtC,aAAa,EAAE,YAAY,CAAC,MAAM;oBAClC,cAAc,EAAE,KAAK,CAAC,QAAQ;oBAC9B,uBAAuB,EAAE,KAAK,CAAC,SAAS;iBACzC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;QACvC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"scoped-memory.js","sourceRoot":"","sources":["../../src/memory/scoped-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-root.d.ts","sourceRoot":"","sources":["../../src/repository/detect-root.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detect-root.d.ts","sourceRoot":"","sources":["../../src/repository/detect-root.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;AAErF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAuB5D;AAeD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,sBAAsB,CAItG"}
|
|
@@ -2,6 +2,7 @@ import { execFileSync } from 'node:child_process';
|
|
|
2
2
|
import { existsSync, realpathSync, statSync } from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { KiokukoError } from '../errors.js';
|
|
5
|
+
import { resolveRepositoryRoot } from './resolve-root.js';
|
|
5
6
|
export function canonicalDirectory(directory) {
|
|
6
7
|
if (!path.isAbsolute(directory)) {
|
|
7
8
|
throw new KiokukoError('VALIDATION_ERROR', 'Directory path must be absolute');
|
|
@@ -28,17 +29,6 @@ export function canonicalDirectory(directory) {
|
|
|
28
29
|
throw error;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
function ancestorDirectories(start) {
|
|
32
|
-
const directories = [];
|
|
33
|
-
let current = canonicalDirectory(start);
|
|
34
|
-
for (;;) {
|
|
35
|
-
directories.push(current);
|
|
36
|
-
const parent = path.dirname(current);
|
|
37
|
-
if (parent === current)
|
|
38
|
-
return directories;
|
|
39
|
-
current = parent;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
32
|
function gitRoot(cwd) {
|
|
43
33
|
try {
|
|
44
34
|
const output = execFileSync('git', ['rev-parse', '--show-toplevel'], {
|
|
@@ -54,24 +44,6 @@ function gitRoot(cwd) {
|
|
|
54
44
|
}
|
|
55
45
|
export function detectRepositoryRoot(options = {}) {
|
|
56
46
|
const cwd = canonicalDirectory(options.cwd ?? process.cwd());
|
|
57
|
-
|
|
58
|
-
return { root: canonicalDirectory(options.root), source: 'explicit' };
|
|
59
|
-
}
|
|
60
|
-
for (const directory of ancestorDirectories(cwd)) {
|
|
61
|
-
if (existsSync(path.join(directory, '.kiokuko.json'))) {
|
|
62
|
-
return { root: directory, source: 'binding' };
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const discoveredGitRoot = gitRoot(cwd);
|
|
66
|
-
if (discoveredGitRoot)
|
|
67
|
-
return { root: discoveredGitRoot, source: 'git' };
|
|
68
|
-
for (const directory of ancestorDirectories(cwd)) {
|
|
69
|
-
if (existsSync(path.join(directory, '.git'))) {
|
|
70
|
-
return { root: directory, source: 'git-marker' };
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (options.allowDirectory)
|
|
74
|
-
return { root: cwd, source: 'directory' };
|
|
75
|
-
throw new KiokukoError('NOT_FOUND', 'No repository root found; pass --root or --allow-directory');
|
|
47
|
+
return resolveRepositoryRoot(cwd, options.root === undefined ? undefined : canonicalDirectory(options.root), options.allowDirectory === true, { exists: existsSync, gitRoot });
|
|
76
48
|
}
|
|
77
49
|
//# sourceMappingURL=detect-root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-root.js","sourceRoot":"","sources":["../../src/repository/detect-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-root.js","sourceRoot":"","sources":["../../src/repository/detect-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAe1D,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY;YAAE,MAAM,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK;YACpD,CAAC,CAAE,KAA+B,CAAC,IAAI;YACvC,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;YACnE,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,OAAO,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EACzG,OAAO,CAAC,cAAc,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DetectedRepositoryRoot } from './detect-root.js';
|
|
2
|
+
/** Internal decision boundary. Inputs have already been canonicalized by the filesystem adapter. */
|
|
3
|
+
export declare function resolveRepositoryRoot(cwd: string, explicitRoot: string | undefined, allowDirectory: boolean, observations: {
|
|
4
|
+
exists: (file: string) => boolean;
|
|
5
|
+
gitRoot: (cwd: string) => string | undefined;
|
|
6
|
+
}): DetectedRepositoryRoot;
|
|
7
|
+
//# sourceMappingURL=resolve-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-root.d.ts","sourceRoot":"","sources":["../../src/repository/resolve-root.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,oGAAoG;AACpG,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,cAAc,EAAE,OAAO,EACvB,YAAY,EAAE;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CAAE,GAChG,sBAAsB,CAiBxB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { KiokukoError } from '../errors.js';
|
|
3
|
+
/** Internal decision boundary. Inputs have already been canonicalized by the filesystem adapter. */
|
|
4
|
+
export function resolveRepositoryRoot(cwd, explicitRoot, allowDirectory, observations) {
|
|
5
|
+
if (explicitRoot !== undefined)
|
|
6
|
+
return { root: explicitRoot, source: 'explicit' };
|
|
7
|
+
const ancestors = [];
|
|
8
|
+
for (let directory = cwd;; directory = path.dirname(directory)) {
|
|
9
|
+
ancestors.push(directory);
|
|
10
|
+
if (directory === path.dirname(directory))
|
|
11
|
+
break;
|
|
12
|
+
}
|
|
13
|
+
for (const directory of ancestors) {
|
|
14
|
+
if (observations.exists(path.join(directory, '.kiokuko.json')))
|
|
15
|
+
return { root: directory, source: 'binding' };
|
|
16
|
+
}
|
|
17
|
+
const git = observations.gitRoot(cwd);
|
|
18
|
+
if (git !== undefined)
|
|
19
|
+
return { root: git, source: 'git' };
|
|
20
|
+
for (const directory of ancestors) {
|
|
21
|
+
if (observations.exists(path.join(directory, '.git')))
|
|
22
|
+
return { root: directory, source: 'git-marker' };
|
|
23
|
+
}
|
|
24
|
+
if (allowDirectory)
|
|
25
|
+
return { root: cwd, source: 'directory' };
|
|
26
|
+
throw new KiokukoError('NOT_FOUND', 'No repository root found; pass --root or --allow-directory');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=resolve-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-root.js","sourceRoot":"","sources":["../../src/repository/resolve-root.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,oGAAoG;AACpG,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,YAAgC,EAChC,cAAuB,EACvB,YAAiG;IAEjG,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,MAAM;IACnD,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChH,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3D,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC1G,CAAC;IACD,IAAI,cAAc;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9D,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,4DAA4D,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-assurance.d.ts","sourceRoot":"","sources":["../../../src/server/routes/task-assurance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-assurance.d.ts","sourceRoot":"","sources":["../../../src/server/routes/task-assurance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3F;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,cAAc,CAAC,GAAG,cAAc,CAmCtH"}
|