@open-agent-toolkit/cli 0.3.7 → 0.3.8
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/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/configuration.md +15 -1
- package/assets/docs/cli-utilities/workflow-gates.md +37 -0
- package/assets/docs/provider-sync/commands.md +6 -0
- package/assets/docs/provider-sync/providers.md +20 -0
- package/assets/docs/provider-sync/scope-and-surface.md +2 -0
- package/assets/docs/reference/cli-reference.md +2 -1
- package/assets/docs/workflows/projects/evidence-layers.md +5 -1
- package/assets/docs/workflows/projects/retro.md +7 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +1 -1
- package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +17 -6
- package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
- package/assets/skills/oat-dispatch-subagents/references/managed-claude-example.json +387 -0
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +75 -0
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +24 -22
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-retro/SKILL.md +70 -6
- package/assets/skills/oat-project-review-provide/SKILL.md +3 -1
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +3 -1
- package/dist/agents/canonical/resolve.d.ts +6 -4
- package/dist/agents/canonical/resolve.d.ts.map +1 -1
- package/dist/agents/canonical/resolve.js +6 -4
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +51 -2
- package/dist/commands/gate/review-verdict.d.ts +22 -0
- package/dist/commands/gate/review-verdict.d.ts.map +1 -1
- package/dist/commands/gate/review-verdict.js +111 -0
- package/dist/commands/project/dispatch/canonical-role.d.ts +33 -0
- package/dist/commands/project/dispatch/canonical-role.d.ts.map +1 -0
- package/dist/commands/project/dispatch/canonical-role.js +114 -0
- package/dist/commands/project/dispatch/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch/index.js +3 -1
- package/dist/commands/project/dispatch/record.d.ts.map +1 -1
- package/dist/commands/project/dispatch/record.js +146 -4
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +28 -21
- package/dist/commands/tools/shared/sync-evidence.d.ts.map +1 -1
- package/dist/commands/tools/shared/sync-evidence.js +32 -5
- package/dist/config/oat-config.d.ts +8 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +116 -1
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +31 -3
- package/dist/providers/claude/dispatch-envelope.d.ts +53 -0
- package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -1
- package/dist/providers/claude/dispatch-envelope.js +324 -48
- package/dist/providers/claude/rule-transform.js +1 -1
- package/dist/providers/copilot/rule-transform.js +1 -1
- package/dist/providers/cursor/rule-transform.js +1 -1
- package/dist/providers/identity/absolute-paths.d.ts +13 -0
- package/dist/providers/identity/absolute-paths.d.ts.map +1 -1
- package/dist/providers/identity/absolute-paths.js +27 -14
- package/dist/providers/identity/generic-dispatch-record.d.ts +212 -0
- package/dist/providers/identity/generic-dispatch-record.d.ts.map +1 -1
- package/dist/providers/identity/generic-dispatch-record.js +78 -19
- package/dist/providers/identity/oat-dispatch-record.d.ts +5 -0
- package/dist/providers/identity/oat-dispatch-record.d.ts.map +1 -1
- package/dist/providers/identity/oat-dispatch-record.js +11 -2
- package/dist/providers/shared/registry.d.ts +6 -0
- package/dist/providers/shared/registry.d.ts.map +1 -1
- package/dist/providers/shared/registry.js +30 -0
- package/dist/rules/canonical/parse.d.ts.map +1 -1
- package/dist/rules/canonical/parse.js +38 -3
- package/package.json +2 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { isAbsolute, join, resolve } from 'node:path';
|
|
2
|
+
import { resolveCanonicalRole, } from '../../../agents/canonical/index.js';
|
|
3
|
+
import { readGlobalOptions } from '../../shared/shared.utils.js';
|
|
4
|
+
import { dirExists, fileExists } from '../../../fs/io.js';
|
|
5
|
+
import { safeParseOatDispatchEvidenceEvent } from '../../../providers/identity/oat-dispatch-record.js';
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
import { redactDispatchMessage } from './record.js';
|
|
8
|
+
/** The pack that ships the canonical OAT dispatch roles. */
|
|
9
|
+
export const CANONICAL_ROLE_DEPENDENCY = 'workflows';
|
|
10
|
+
const REQUEST_ID_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/;
|
|
11
|
+
const ROLE_NAME_PATTERN = /^[a-z0-9][a-z0-9_-]*$/;
|
|
12
|
+
async function loadedSkillDir(cwd, skillDir) {
|
|
13
|
+
const candidate = isAbsolute(skillDir) ? skillDir : resolve(cwd, skillDir);
|
|
14
|
+
if (!(await dirExists(candidate)) ||
|
|
15
|
+
!(await fileExists(join(candidate, 'SKILL.md')))) {
|
|
16
|
+
throw new Error(`--skill-dir must name a loaded skill directory containing SKILL.md (got ${skillDir}); the loaded tier is derived from it.`);
|
|
17
|
+
}
|
|
18
|
+
return candidate;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Produce `canonical-role-resolution` evidence from the resolver itself, so a
|
|
22
|
+
* caller never hand-assembles redacted paths or a content digest. Read-only:
|
|
23
|
+
* it inspects the loaded, user, and project `.agents` roots and writes
|
|
24
|
+
* nothing. The emitted event is checked against the recorder's own event
|
|
25
|
+
* schema before it is printed, so `oat project dispatch record` accepts it
|
|
26
|
+
* unchanged.
|
|
27
|
+
*/
|
|
28
|
+
export async function produceCanonicalRoleEvent(input) {
|
|
29
|
+
if (!ROLE_NAME_PATTERN.test(input.role)) {
|
|
30
|
+
throw new Error('--role must be a canonical role name: expected [a-z0-9] followed by [a-z0-9_-].');
|
|
31
|
+
}
|
|
32
|
+
if (!REQUEST_ID_PATTERN.test(input.requestId)) {
|
|
33
|
+
throw new Error('--request-id must be a stable contained identifier: expected [a-zA-Z0-9] followed by up to 127 of [a-zA-Z0-9._-].');
|
|
34
|
+
}
|
|
35
|
+
const skillDir = await loadedSkillDir(input.cwd, input.skillDir);
|
|
36
|
+
const event = {
|
|
37
|
+
kind: 'canonical-role-resolution',
|
|
38
|
+
requestId: input.requestId,
|
|
39
|
+
source: 'canonical-role-resolver',
|
|
40
|
+
evidence: resolveCanonicalRole({
|
|
41
|
+
dependency: CANONICAL_ROLE_DEPENDENCY,
|
|
42
|
+
canonicalRole: input.role,
|
|
43
|
+
skillDir,
|
|
44
|
+
userCanonicalRoot: join(input.home, '.agents'),
|
|
45
|
+
projectCanonicalRoot: join(input.repoRoot, '.agents'),
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
48
|
+
const checked = safeParseOatDispatchEvidenceEvent(event);
|
|
49
|
+
if (!checked.success) {
|
|
50
|
+
throw new Error(`Canonical role evidence failed the dispatch-record event schema: ${checked.error.issues
|
|
51
|
+
.map((issue) => `${issue.path.join('.') || '<root>'}: ${issue.message}`)
|
|
52
|
+
.join('; ')}`);
|
|
53
|
+
}
|
|
54
|
+
return event;
|
|
55
|
+
}
|
|
56
|
+
function summaryLines(event) {
|
|
57
|
+
const { evidence } = event;
|
|
58
|
+
if (evidence.status === 'resolved') {
|
|
59
|
+
return [
|
|
60
|
+
`Canonical role ${evidence.canonicalRole} resolved from the ${evidence.tier} tier (${evidence.validation}, version ${evidence.roleVersion}).`,
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
`Canonical role ${evidence.canonicalRole} was not found in the loaded, user, or project tier.`,
|
|
65
|
+
...evidence.recovery.map(({ command }) => `Recovery: ${command}`),
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
async function runCanonicalRoleCommand(options, context, dependencies) {
|
|
69
|
+
let repoRoot = null;
|
|
70
|
+
try {
|
|
71
|
+
repoRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
72
|
+
const event = await produceCanonicalRoleEvent({
|
|
73
|
+
role: options.role,
|
|
74
|
+
requestId: options.requestId,
|
|
75
|
+
skillDir: options.skillDir,
|
|
76
|
+
cwd: context.cwd,
|
|
77
|
+
home: context.home,
|
|
78
|
+
repoRoot,
|
|
79
|
+
});
|
|
80
|
+
if (context.json) {
|
|
81
|
+
context.logger.json(event);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
for (const line of summaryLines(event)) {
|
|
85
|
+
context.logger.info(line);
|
|
86
|
+
}
|
|
87
|
+
context.logger.info(JSON.stringify(event, null, 2));
|
|
88
|
+
}
|
|
89
|
+
process.exitCode = 0;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
// The same single redaction boundary as `dispatch record`: a skill
|
|
93
|
+
// directory or root that reaches a message is labelled or scrubbed.
|
|
94
|
+
const message = redactDispatchMessage(error instanceof Error ? error.message : String(error), { repo: repoRoot, home: context.home });
|
|
95
|
+
if (context.json) {
|
|
96
|
+
context.logger.json({ status: 'error', message });
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
context.logger.error(message);
|
|
100
|
+
}
|
|
101
|
+
process.exitCode = 1;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export function createCanonicalRoleCommand(dependencies) {
|
|
105
|
+
return new Command('canonical-role')
|
|
106
|
+
.description('Print canonical-role-resolution evidence for a dispatch record (read-only)')
|
|
107
|
+
.requiredOption('--role <name>', 'Canonical role name, e.g. oat-reviewer')
|
|
108
|
+
.requiredOption('--request-id <id>', 'Request ID of the dispatch record the evidence belongs to')
|
|
109
|
+
.requiredOption('--skill-dir <dir>', 'Directory of the loaded skill (contains SKILL.md); the loaded tier is derived from it')
|
|
110
|
+
.action(async (options, command) => {
|
|
111
|
+
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
112
|
+
await runCanonicalRoleCommand(options, context, dependencies);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/dispatch/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/dispatch/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,MAAM,WAAW,kCAAkC;IACjD,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AA0ID,wBAAgB,4BAA4B,CAC1C,SAAS,GAAE,OAAO,CAAC,kCAAkC,CAAM,GAC1D,OAAO,CA4BT"}
|
|
@@ -5,6 +5,7 @@ import { readGlobalOptions } from '../../shared/shared.utils.js';
|
|
|
5
5
|
import { fileExists } from '../../../fs/io.js';
|
|
6
6
|
import { resolveProjectRoot, validateRealPathWithinScope } from '../../../fs/paths.js';
|
|
7
7
|
import { Command } from 'commander';
|
|
8
|
+
import { createCanonicalRoleCommand } from './canonical-role.js';
|
|
8
9
|
import { recordProjectDispatch, redactDispatchMessage, } from './record.js';
|
|
9
10
|
const DEFAULT_DEPENDENCIES = {
|
|
10
11
|
buildCommandContext,
|
|
@@ -133,5 +134,6 @@ export function createProjectDispatchCommand(overrides = {}) {
|
|
|
133
134
|
.action(async (options, command) => {
|
|
134
135
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
135
136
|
await runRecordCommand(options, context, dependencies);
|
|
136
|
-
}))
|
|
137
|
+
}))
|
|
138
|
+
.addCommand(createCanonicalRoleCommand(dependencies));
|
|
137
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/dispatch/record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/dispatch/record.ts"],"names":[],"mappings":"AAuBA,OAAO,EAOL,KAAK,qBAAqB,EAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAQL,KAAK,wBAAwB,EAE7B,KAAK,4BAA4B,EAElC,MAAM,yCAAyC,CAAC;AAYjD;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAoCD;;;;;;;;;GASG;AAEH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE;IACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjB,GACL,MAAM,CAiBR;AAeD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,CAAC;IAChC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,GAAG,IAAI,CAAC;IACT,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC5D;;;OAGG;IACH,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC;CACrC;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,4BAA4B,CAAC;IACrC,eAAe,EAAE,6BAA6B,CAAC;CAChD,CAAC;AA8NF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CA6G5E;AAgKD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,0BAA0B,CAAC;CAC3C,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA6HvC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { readFile, readdir } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { publishContainedJsonRevision, redactedFsError, withContainedWriterLock, } from '../../../fs/io.js';
|
|
4
|
-
import { acceptClaudeLaunchEnvelope, buildClaudeDispatchRecord, } from '../../../providers/claude/dispatch-envelope.js';
|
|
4
|
+
import { acceptClaudeLaunchEnvelope, buildClaudeDispatchRecord, collectClaudeLaunchViolations, collectClaudeRecordBaseViolations, ManagedClaudeDispatchValidationError, zodIssueViolations, } from '../../../providers/claude/dispatch-envelope.js';
|
|
5
5
|
import { assertJournalIdentityHasNoAbsolutePath, redactAbsolutePaths, } from '../../../providers/identity/absolute-paths.js';
|
|
6
6
|
import { CLAUDE_OBSERVATION_SOURCE } from '../../../providers/identity/claude-runtime-observation.js';
|
|
7
7
|
import { CODEX_OBSERVATION_SOURCE } from '../../../providers/identity/codex-runtime-observation.js';
|
|
8
|
-
import { assertBoundedDispatchRecordSize, assertNoSensitiveDispatchContent, identityFieldsOf, parseGenericDispatchRecord, } from '../../../providers/identity/generic-dispatch-record.js';
|
|
9
|
-
import { augmentDispatchRecord, compareObservedRuntimeMetadata, comparedObservationAxes, configuredInvocationForObservation, parsePersistedOatDispatchRecord, parseRuntimeObservation, } from '../../../providers/identity/oat-dispatch-record.js';
|
|
8
|
+
import { assertBoundedDispatchRecordSize, assertNoSensitiveDispatchContent, collectSensitiveDispatchContent, identityFieldsOf, parseGenericDispatchRecord, redactSensitiveValues, } from '../../../providers/identity/generic-dispatch-record.js';
|
|
9
|
+
import { augmentDispatchRecord, compareObservedRuntimeMetadata, comparedObservationAxes, configuredInvocationForObservation, parsePersistedOatDispatchRecord, parseRuntimeObservation, safeParseOatDispatchEvidenceEvent, } from '../../../providers/identity/oat-dispatch-record.js';
|
|
10
10
|
import { observationFromFacts, parseRuntimeObservationEnvelope, projectRuntimeObservation, providerSupportsRuntimeObservation, } from '../../../providers/identity/runtime-observation.js';
|
|
11
|
+
import { ZodError } from 'zod';
|
|
11
12
|
const REQUEST_ID_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/;
|
|
12
13
|
const DISPATCH_LOCK_NAME = '.dispatch-lock';
|
|
13
14
|
/**
|
|
@@ -48,7 +49,10 @@ function parseJournalEntry(fileName) {
|
|
|
48
49
|
* written verbatim into the durable record by the same command.
|
|
49
50
|
*/
|
|
50
51
|
export function redactDispatchMessage(message, roots = {}) {
|
|
51
|
-
|
|
52
|
+
// Secrets first: a rejected value is echoed by some validation messages (a
|
|
53
|
+
// Zod enum issue repeats what it received), so a secret-shaped value must be
|
|
54
|
+
// scrubbed here even though the same run also reports it as sensitive.
|
|
55
|
+
let redacted = redactSensitiveValues(message);
|
|
52
56
|
const labelled = [
|
|
53
57
|
['<project>', roots.project],
|
|
54
58
|
['<repo>', roots.repo],
|
|
@@ -71,6 +75,8 @@ const OBSERVATION_SOURCE_BY_PROVIDER = {
|
|
|
71
75
|
claude: CLAUDE_OBSERVATION_SOURCE,
|
|
72
76
|
};
|
|
73
77
|
const CALLER_ASSERTED_OBSERVATION_SOURCE = 'caller-asserted';
|
|
78
|
+
/** A managed Claude record's provider is derived, and always this value. */
|
|
79
|
+
const MANAGED_CLAUDE_PROVIDER = 'claude';
|
|
74
80
|
function isRecord(value) {
|
|
75
81
|
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
76
82
|
}
|
|
@@ -123,6 +129,139 @@ function resolveObservationEvent(record, event) {
|
|
|
123
129
|
}),
|
|
124
130
|
};
|
|
125
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Project a caller-form `runtime-observation` event onto the shape the event
|
|
134
|
+
* schema checks, so the single-run pass reports its errors alongside every
|
|
135
|
+
* other stage instead of on a later run.
|
|
136
|
+
*
|
|
137
|
+
* The caller controls the envelope (`kind`, `requestId`, `source`, unknown
|
|
138
|
+
* keys) and either a finished `observation` or a `metadata` envelope, and
|
|
139
|
+
* both are checked here. The recording path derives an observation's
|
|
140
|
+
* `source`, `match`, and `comparedAxes` from the record, so those are filled
|
|
141
|
+
* with valid stand-ins rather than demanded from the caller; the metadata
|
|
142
|
+
* form's projection and request-correlation guard degrade to `not-reported`
|
|
143
|
+
* rather than fail, so they contribute no violation. The provider binding is
|
|
144
|
+
* checked directly: a managed record's provider is always `claude`.
|
|
145
|
+
*/
|
|
146
|
+
function runtimeObservationCallerForm(event, violations) {
|
|
147
|
+
if ('metadata' in event) {
|
|
148
|
+
if ('observation' in event) {
|
|
149
|
+
violations.push({
|
|
150
|
+
stage: 'event',
|
|
151
|
+
path: '<root>',
|
|
152
|
+
message: 'A runtime observation event carries either observation or metadata, not both.',
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
parseRuntimeObservationEnvelope(event.metadata);
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
if (error instanceof ZodError) {
|
|
160
|
+
violations.push(...zodIssueViolations('event', 'metadata', error));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
violations.push({
|
|
164
|
+
stage: 'event',
|
|
165
|
+
path: 'metadata',
|
|
166
|
+
message: error instanceof Error ? error.message : String(error),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const { metadata: _metadata, observation: _observation, ...rest } = event;
|
|
171
|
+
return { ...rest, observation: { status: 'not-reported' } };
|
|
172
|
+
}
|
|
173
|
+
const observation = event.observation;
|
|
174
|
+
if (!isRecord(observation) || observation.status !== 'reported') {
|
|
175
|
+
return event;
|
|
176
|
+
}
|
|
177
|
+
if (observation.provider !== MANAGED_CLAUDE_PROVIDER) {
|
|
178
|
+
violations.push({
|
|
179
|
+
stage: 'event',
|
|
180
|
+
path: 'observation.provider',
|
|
181
|
+
message: 'A runtime observation must name the same provider as its dispatch record.',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
...event,
|
|
186
|
+
observation: {
|
|
187
|
+
...observation,
|
|
188
|
+
provider: MANAGED_CLAUDE_PROVIDER,
|
|
189
|
+
source: CALLER_ASSERTED_OBSERVATION_SOURCE,
|
|
190
|
+
match: 'not-comparable',
|
|
191
|
+
comparedAxes: [],
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Event violations for a managed input: the event must be an object, carry no
|
|
197
|
+
* sensitive content, satisfy the evidence-event schema, and name the same
|
|
198
|
+
* request as `recordBase`. Raw provider `metadata` entries are exempt from the
|
|
199
|
+
* sensitive walk exactly as on the recording path. A `runtime-observation`
|
|
200
|
+
* event is validated here too: `runtimeObservationCallerForm` projects its
|
|
201
|
+
* caller form onto the schema shape, filling the fields the recording path
|
|
202
|
+
* derives (source, match, compared axes) with valid stand-ins, so its errors
|
|
203
|
+
* join this single-run report.
|
|
204
|
+
*/
|
|
205
|
+
function collectManagedEventViolations(event, recordBase) {
|
|
206
|
+
if (!isRecord(event)) {
|
|
207
|
+
return [
|
|
208
|
+
{
|
|
209
|
+
stage: 'event',
|
|
210
|
+
path: '<root>',
|
|
211
|
+
message: 'Dispatch record event must be a JSON object.',
|
|
212
|
+
},
|
|
213
|
+
];
|
|
214
|
+
}
|
|
215
|
+
const violations = [];
|
|
216
|
+
const walked = isRecord(event.metadata)
|
|
217
|
+
? { ...event, metadata: { ...event.metadata, entries: null } }
|
|
218
|
+
: event;
|
|
219
|
+
violations.push(...collectSensitiveDispatchContent(walked, 'event').map((violation) => ({
|
|
220
|
+
stage: 'event',
|
|
221
|
+
path: violation.path.slice('event.'.length) || '<root>',
|
|
222
|
+
message: violation.message,
|
|
223
|
+
})));
|
|
224
|
+
const parsed = safeParseOatDispatchEvidenceEvent(event.kind === 'runtime-observation'
|
|
225
|
+
? runtimeObservationCallerForm(event, violations)
|
|
226
|
+
: event);
|
|
227
|
+
if (!parsed.success) {
|
|
228
|
+
violations.push(...zodIssueViolations('event', null, parsed.error));
|
|
229
|
+
}
|
|
230
|
+
const recordRequestId = isRecord(recordBase) ? recordBase.request_id : null;
|
|
231
|
+
if (typeof event.requestId === 'string' &&
|
|
232
|
+
typeof recordRequestId === 'string' &&
|
|
233
|
+
event.requestId !== recordRequestId) {
|
|
234
|
+
violations.push({
|
|
235
|
+
stage: 'event',
|
|
236
|
+
path: 'requestId',
|
|
237
|
+
message: 'OAT event request ID must match the generic record.',
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return violations;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* The single-run pass for a managed Claude input. Every stage is validated
|
|
244
|
+
* independently and every violation is reported in one error, so a caller
|
|
245
|
+
* assembling the input fixes it in one round instead of one field per run.
|
|
246
|
+
* Checks that depend on a stage which failed to parse are skipped and named in
|
|
247
|
+
* the error; the recording path below still runs every check afterwards, so
|
|
248
|
+
* nothing this pass skips goes unchecked.
|
|
249
|
+
*/
|
|
250
|
+
function assertManagedClaudeInputValid(value) {
|
|
251
|
+
const launch = collectClaudeLaunchViolations(value.claudeLaunch);
|
|
252
|
+
const base = collectClaudeRecordBaseViolations(value.recordBase, launch.resolverRole);
|
|
253
|
+
const violations = [
|
|
254
|
+
...launch.violations,
|
|
255
|
+
...base.violations,
|
|
256
|
+
...collectManagedEventViolations(value.event, value.recordBase),
|
|
257
|
+
];
|
|
258
|
+
if (violations.length > 0) {
|
|
259
|
+
throw new ManagedClaudeDispatchValidationError(violations, [
|
|
260
|
+
...launch.skipped,
|
|
261
|
+
...base.skipped,
|
|
262
|
+
]);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
126
265
|
export function parseDispatchRecordInput(value) {
|
|
127
266
|
if (!isRecord(value)) {
|
|
128
267
|
throw new Error('Dispatch record input must be a JSON object.');
|
|
@@ -136,6 +275,9 @@ export function parseDispatchRecordInput(value) {
|
|
|
136
275
|
if (!isGenericInput && !isManagedClaudeInput) {
|
|
137
276
|
throw new Error('Dispatch record input accepts record and event, or claudeLaunch, event, and recordBase.');
|
|
138
277
|
}
|
|
278
|
+
if (isManagedClaudeInput) {
|
|
279
|
+
assertManagedClaudeInputValid(value);
|
|
280
|
+
}
|
|
139
281
|
if (!isRecord(value.event)) {
|
|
140
282
|
throw new Error('Dispatch record event must be a JSON object.');
|
|
141
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoB3D,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EAExB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoB3D,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EAExB,MAAM,cAAc,CAAC;AAwYtB,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,aAAa,EAAE,EAC3B,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC,IAAI,CAAC,CA0Mf"}
|
|
@@ -170,21 +170,25 @@ function coreHumanStatus(status) {
|
|
|
170
170
|
}
|
|
171
171
|
/** The sentence `formatSyncPlan` appends to its heading for an empty plan. */
|
|
172
172
|
const EMPTY_PLAN_SUFFIX = '\nNo changes required.';
|
|
173
|
-
function formatCoreResults(plan, evidence, dependencies, restampOnly) {
|
|
173
|
+
function formatCoreResults(plan, evidence, dependencies, restampOnly, runFailed) {
|
|
174
174
|
const operations = [...plan.entries, ...plan.removals];
|
|
175
175
|
if (operations.length === 0) {
|
|
176
176
|
if ((plan.collections?.length ?? 0) > 0) {
|
|
177
177
|
return 'Core results\nNo per-entry operations.';
|
|
178
178
|
}
|
|
179
179
|
const planOutput = dependencies.formatSyncPlan(plan, true);
|
|
180
|
-
if (!restampOnly ||
|
|
180
|
+
if (!(restampOnly || runFailed) ||
|
|
181
|
+
!planOutput.endsWith(EMPTY_PLAN_SUFFIX)) {
|
|
181
182
|
return planOutput;
|
|
182
183
|
}
|
|
183
184
|
// `formatSyncPlan` appends "No changes required." to its heading for any
|
|
184
185
|
// empty plan, and it is shared with dry-run and other callers, so it stays
|
|
185
186
|
// untouched. On the restamp-only path that sentence would contradict the
|
|
186
|
-
// trailing message two lines later,
|
|
187
|
-
//
|
|
187
|
+
// trailing message two lines later, and on a failed run (for example
|
|
188
|
+
// `--scope all` with one failed scope beside an empty one) it would
|
|
189
|
+
// contradict the partial-failure warning and exit code 1. In both cases the
|
|
190
|
+
// command layer drops exactly that known suffix and lets the trailing
|
|
191
|
+
// message be the run's single claim.
|
|
188
192
|
// Removing only a matching suffix, rather than keeping the first line,
|
|
189
193
|
// means an injected formatter's other content is never truncated.
|
|
190
194
|
return planOutput.slice(0, -EMPTY_PLAN_SUFFIX.length);
|
|
@@ -211,11 +215,14 @@ function formatCoreResults(plan, evidence, dependencies, restampOnly) {
|
|
|
211
215
|
return `Core results${aggregate}\n${lines.join('\n')}`;
|
|
212
216
|
}
|
|
213
217
|
function formatAppliedOutput(scopePlans, coreApplyEvidence, dependencies,
|
|
214
|
-
// True when the run planned no operation at all and
|
|
215
|
-
//
|
|
216
|
-
// summary message, so with `--scope all` every scope's body is
|
|
217
|
-
//
|
|
218
|
-
restampOnly
|
|
218
|
+
// True when the run planned no operation at all and at least one scope's
|
|
219
|
+
// manifest was restamped. It is a whole-run state, matching the single
|
|
220
|
+
// trailing summary message, so with `--scope all` every scope's body is
|
|
221
|
+
// empty. A failed run may also set it; `runFailed` covers that case.
|
|
222
|
+
restampOnly,
|
|
223
|
+
// True when any scope failed. Also a whole-run state: an empty scope beside
|
|
224
|
+
// a failed one must not claim that no changes were required.
|
|
225
|
+
runFailed) {
|
|
219
226
|
if (scopePlans.length === 0) {
|
|
220
227
|
return dependencies.formatSyncPlan({
|
|
221
228
|
scope: 'project',
|
|
@@ -225,7 +232,7 @@ restampOnly) {
|
|
|
225
232
|
}
|
|
226
233
|
return scopePlans
|
|
227
234
|
.map((scopePlan) => {
|
|
228
|
-
const syncOutput = formatCoreResults(scopePlan.plan, coreApplyEvidence.find((evidence) => evidence.plan === scopePlan.plan), dependencies, restampOnly);
|
|
235
|
+
const syncOutput = formatCoreResults(scopePlan.plan, coreApplyEvidence.find((evidence) => evidence.plan === scopePlan.plan), dependencies, restampOnly, runFailed);
|
|
229
236
|
const collectionOutput = formatCollectionLifecycle(buildCollectionLifecycle(scopePlan, coreApplyEvidence.find((evidence) => evidence.plan === scopePlan.plan)
|
|
230
237
|
?.collectionResults));
|
|
231
238
|
if (scopePlan.materializationExtensions.length === 0) {
|
|
@@ -379,17 +386,17 @@ export async function runSyncApply(context, scopePlans, dependencies) {
|
|
|
379
386
|
// run just emitted, so the state is resolved once and threaded through
|
|
380
387
|
// both the plan body and the trailing message.
|
|
381
388
|
//
|
|
382
|
-
// `failed === 0`
|
|
383
|
-
//
|
|
384
|
-
//
|
|
385
|
-
//
|
|
386
|
-
//
|
|
387
|
-
//
|
|
388
|
-
//
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
context.logger.info(formatAppliedOutput(scopePlans, coreApplyEvidence, dependencies, restampOnly));
|
|
389
|
+
// No `failed === 0` conjunct: a rejected collection counts as a failure
|
|
390
|
+
// but is not a *planned* operation, so a failed run can have
|
|
391
|
+
// `plannedOperations === 0`, yet no output can depend on excluding it
|
|
392
|
+
// here. `formatCoreResults` drops the empty-plan sentence whenever the run
|
|
393
|
+
// failed (`runFailed`), and the trailing message below tests the failure
|
|
394
|
+
// arm first. The conjunct was therefore unobservable and was removed
|
|
395
|
+
// rather than kept behind a test that could not fail without it (p02
|
|
396
|
+
// review L1); the failure arm is pinned by the `--scope all` failed-run
|
|
397
|
+
// tests instead.
|
|
398
|
+
const restampOnly = summary.plannedOperations === 0 && versionSkew.length > 0;
|
|
399
|
+
context.logger.info(formatAppliedOutput(scopePlans, coreApplyEvidence, dependencies, restampOnly, summary.failed > 0));
|
|
393
400
|
if (summary.failed > 0) {
|
|
394
401
|
context.logger.warn('\nSync completed with partial failures.');
|
|
395
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-evidence.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/sync-evidence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync-evidence.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/sync-evidence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACV,kCAAkC,EAClC,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,4BAA4B,CAAC;KACvC,CAAC;CACH;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;IACb;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC3D,gBAAgB,EAAE,SAAS,kCAAkC,EAAE,CAAC;IAChE,aAAa,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACrD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAS1E;AA+CD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,eAAe,CAsHjB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,yBAAyB,EAAE,GAC3C,CAAC,KAAK,EAAE;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,kBAAkB,CAAC;CACjC,KAAK,4BAA4B,GAAG,SAAS,CAQ7C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isValidCatalogRefreshPolicy } from '../../../providers/shared/registry.js';
|
|
1
2
|
export function emptySyncRunEvidence(scope) {
|
|
2
3
|
return {
|
|
3
4
|
scope,
|
|
@@ -19,6 +20,35 @@ function asArray(value) {
|
|
|
19
20
|
function asString(value) {
|
|
20
21
|
return typeof value === 'string' ? value : undefined;
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates a catalog-refresh policy from sync advice.
|
|
25
|
+
*
|
|
26
|
+
* The advice policy outranks the registered capability policy in the
|
|
27
|
+
* lifecycle projection, and `visibilityFor` switches exhaustively over its
|
|
28
|
+
* state with a `never` default that throws. An unrecognized state or a policy
|
|
29
|
+
* that fails the registry's own provenance rules must therefore never reach
|
|
30
|
+
* that switch: it is dropped here so the projection falls back to the
|
|
31
|
+
* registry policy. Validation is delegated to the registry so the two cannot
|
|
32
|
+
* drift; the accepted policy is rebuilt so unrecognized extra fields are not
|
|
33
|
+
* carried along.
|
|
34
|
+
*/
|
|
35
|
+
function asRefreshPolicy(value) {
|
|
36
|
+
if (!isValidCatalogRefreshPolicy(value))
|
|
37
|
+
return undefined;
|
|
38
|
+
if (value.state === 'unknown') {
|
|
39
|
+
return { state: 'unknown', reason: value.reason };
|
|
40
|
+
}
|
|
41
|
+
const { kind, reference, verifiedAt, providerVersion } = value.provenance;
|
|
42
|
+
return {
|
|
43
|
+
state: value.state,
|
|
44
|
+
provenance: {
|
|
45
|
+
kind,
|
|
46
|
+
reference,
|
|
47
|
+
verifiedAt,
|
|
48
|
+
...(providerVersion !== undefined ? { providerVersion } : {}),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
22
52
|
/**
|
|
23
53
|
* Normalizes a captured sync JSON payload into reachability inputs.
|
|
24
54
|
*
|
|
@@ -99,6 +129,7 @@ export function normalizeSyncEvidence(scope, payload) {
|
|
|
99
129
|
return [];
|
|
100
130
|
}
|
|
101
131
|
const visibility = asRecord(advice.visibility);
|
|
132
|
+
const policy = asRefreshPolicy(visibility?.policy);
|
|
102
133
|
return [
|
|
103
134
|
{
|
|
104
135
|
provider,
|
|
@@ -113,11 +144,7 @@ export function normalizeSyncEvidence(scope, payload) {
|
|
|
113
144
|
...(asString(visibility.reason) !== undefined
|
|
114
145
|
? { reason: asString(visibility.reason) }
|
|
115
146
|
: {}),
|
|
116
|
-
...(
|
|
117
|
-
? {
|
|
118
|
-
policy: visibility.policy,
|
|
119
|
-
}
|
|
120
|
-
: {}),
|
|
147
|
+
...(policy !== undefined ? { policy } : {}),
|
|
121
148
|
},
|
|
122
149
|
}
|
|
123
150
|
: {}),
|
|
@@ -290,6 +290,14 @@ export declare function readOatConfigForDocumentationExcludesRepair(repoRoot: st
|
|
|
290
290
|
*/
|
|
291
291
|
export declare function readOatConfigForInstructionPointerExcludesRepair(repoRoot: string): Promise<OatConfig>;
|
|
292
292
|
export declare function readOatLocalConfig(repoRoot: string): Promise<OatLocalConfig>;
|
|
293
|
+
/**
|
|
294
|
+
* Writes the shared config, preserving the existing file's key order and
|
|
295
|
+
* skipping writes that would not change its JSON value (GitHub #329, #311).
|
|
296
|
+
*
|
|
297
|
+
* Formatting-only differences (indentation, trailing newline) therefore leave
|
|
298
|
+
* the file byte-identical, while repairs, raw-disk removals, and rewrites of a
|
|
299
|
+
* malformed or unparsable file always land.
|
|
300
|
+
*/
|
|
293
301
|
export declare function writeOatConfig(repoRoot: string, config: OatConfig): Promise<void>;
|
|
294
302
|
export declare function writeOatLocalConfig(repoRoot: string, config: OatLocalConfig): Promise<void>;
|
|
295
303
|
export declare function resolveActiveProject(repoRoot: string): Promise<ActiveProjectResolution>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,EAC3B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,oBAAoB,GACpB,YAAY,GACZ,WAAW,CAAC;AAEhB,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;CACvC;AAED,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAChF,MAAM,MAAM,mCAAmC,GAC3C,MAAM,GACN,SAAS,GACT,IAAI,GACJ,SAAS,CAAC;AACd,MAAM,WAAW,uCAAuC;IACtD,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AACD,MAAM,MAAM,6BAA6B,GACrC,mCAAmC,GACnC,uCAAuC,CAAC;AAC5C,MAAM,MAAM,4BAA4B,GACpC,UAAU,GACV,QAAQ,GACR,eAAe,CAAC;AACpB,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AACzE,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAChD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,8BAA8B,CAAC;QACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;KAC9B,CAAC;IACF,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,MAAM,4BAA4B,GACpC,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,CAAC;AACV,MAAM,MAAM,6BAA6B,GACrC,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,6BAA6B,GACrC,UAAU,GACV,SAAS,GACT,gBAAgB,CAAC;AACrB,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,SAAS,CAAC;AAC/D,MAAM,MAAM,6BAA6B,GACrC,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,UAAU,CAAC;AACf,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC;AAChE,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AACzC,eAAO,MAAM,mBAAmB,WAAa,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAOpE;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,6BAA6B,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,0BAA0B,CAAC;IACjC,MAAM,CAAC,EAAE,6BAA6B,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAID,eAAO,MAAM,qCAAqC,EAAE,SAAS,mCAAmC,EAC1D,CAAC;AAuCvC,eAAO,MAAM,6BAA6B,EAAE,SAAS,4BAA4B,EACtC,CAAC;AAC5C,eAAO,MAAM,8BAA8B,EAAE,SAAS,6BAA6B,EAC7C,CAAC;AACvC,eAAO,MAAM,8BAA8B,EAAE,SAAS,6BAA6B,EACxC,CAAC;AAC5C,eAAO,MAAM,2BAA2B,EAAE,SAAS,0BAA0B,EACrD,CAAC;AACzB,eAAO,MAAM,+BAA+B,EAAE,SAAS,6BAA6B,EAC3B,CAAC;AAO1D,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA0CrE,CAAC;AAEF,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,OAAO,GACb,uCAAuC,GAAG,SAAS,CA+CrD;AAED,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,uCAAuC,CAKlD;AA4cD,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,SAAS,GACT,oBAAoB,GACpB,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC,CAC3C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACvE,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAChE,MAAM,MAAM,2BAA2B,GACnC,SAAS,GACT,iBAAiB,GACjB,MAAM,CAAC;AACX,MAAM,MAAM,6BAA6B,GACrC,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,YAAY,CAAC;AACjB,MAAM,MAAM,0BAA0B,GAClC,QAAQ,GACR,eAAe,GACf,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,6BAA6B,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAClB,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAClE,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE;QACN,WAAW,EAAE,2BAA2B,CAAC;QACzC,SAAS,EAAE,2BAA2B,GAAG;YACvC,OAAO,EAAE,6BAA6B,CAAC;SACxC,CAAC;QACF,SAAS,CAAC,EAAE,OAAO,CACjB,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CACzD,CAAC;KACH,CAAC;CACH;AACD,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC;AAkaD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;CACxC;AAuCD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,GAAG,IAAI,CA0Bf;AAuZD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,CAE7D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAqBxB;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAExE;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAmBpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,YAAY,GAAE;IAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAO,GACpE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB;AAED;;;;;;GAMG;AACH,wBAAsB,2CAA2C,CAC/D,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAmBpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gDAAgD,CACpE,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CAqBpB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAuBzB;AA0FD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,CAAC,CAwClC;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,IAAI,CAAC,CAYf;AA8ED,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CAarB;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6B5D"}
|