@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.
Files changed (71) hide show
  1. package/assets/bundle-metadata.json +1 -1
  2. package/assets/docs/cli-utilities/configuration.md +15 -1
  3. package/assets/docs/cli-utilities/workflow-gates.md +37 -0
  4. package/assets/docs/provider-sync/commands.md +6 -0
  5. package/assets/docs/provider-sync/providers.md +20 -0
  6. package/assets/docs/provider-sync/scope-and-surface.md +2 -0
  7. package/assets/docs/reference/cli-reference.md +2 -1
  8. package/assets/docs/workflows/projects/evidence-layers.md +5 -1
  9. package/assets/docs/workflows/projects/retro.md +7 -0
  10. package/assets/public-package-versions.json +4 -4
  11. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +1 -1
  12. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +17 -6
  13. package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
  14. package/assets/skills/oat-dispatch-subagents/references/managed-claude-example.json +387 -0
  15. package/assets/skills/oat-dispatch-subagents/references/record-schema.md +75 -0
  16. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
  17. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
  18. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  19. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +24 -22
  20. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
  21. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +1 -1
  22. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
  23. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
  24. package/assets/skills/oat-project-retro/SKILL.md +70 -6
  25. package/assets/skills/oat-project-review-provide/SKILL.md +3 -1
  26. package/assets/skills/oat-project-review-provide-remote/SKILL.md +3 -1
  27. package/dist/agents/canonical/resolve.d.ts +6 -4
  28. package/dist/agents/canonical/resolve.d.ts.map +1 -1
  29. package/dist/agents/canonical/resolve.js +6 -4
  30. package/dist/commands/gate/index.d.ts.map +1 -1
  31. package/dist/commands/gate/index.js +51 -2
  32. package/dist/commands/gate/review-verdict.d.ts +22 -0
  33. package/dist/commands/gate/review-verdict.d.ts.map +1 -1
  34. package/dist/commands/gate/review-verdict.js +111 -0
  35. package/dist/commands/project/dispatch/canonical-role.d.ts +33 -0
  36. package/dist/commands/project/dispatch/canonical-role.d.ts.map +1 -0
  37. package/dist/commands/project/dispatch/canonical-role.js +114 -0
  38. package/dist/commands/project/dispatch/index.d.ts.map +1 -1
  39. package/dist/commands/project/dispatch/index.js +3 -1
  40. package/dist/commands/project/dispatch/record.d.ts.map +1 -1
  41. package/dist/commands/project/dispatch/record.js +146 -4
  42. package/dist/commands/sync/apply.d.ts.map +1 -1
  43. package/dist/commands/sync/apply.js +28 -21
  44. package/dist/commands/tools/shared/sync-evidence.d.ts.map +1 -1
  45. package/dist/commands/tools/shared/sync-evidence.js +32 -5
  46. package/dist/config/oat-config.d.ts +8 -0
  47. package/dist/config/oat-config.d.ts.map +1 -1
  48. package/dist/config/oat-config.js +116 -1
  49. package/dist/engine/compute-plan.d.ts.map +1 -1
  50. package/dist/engine/compute-plan.js +31 -3
  51. package/dist/providers/claude/dispatch-envelope.d.ts +53 -0
  52. package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -1
  53. package/dist/providers/claude/dispatch-envelope.js +324 -48
  54. package/dist/providers/claude/rule-transform.js +1 -1
  55. package/dist/providers/copilot/rule-transform.js +1 -1
  56. package/dist/providers/cursor/rule-transform.js +1 -1
  57. package/dist/providers/identity/absolute-paths.d.ts +13 -0
  58. package/dist/providers/identity/absolute-paths.d.ts.map +1 -1
  59. package/dist/providers/identity/absolute-paths.js +27 -14
  60. package/dist/providers/identity/generic-dispatch-record.d.ts +212 -0
  61. package/dist/providers/identity/generic-dispatch-record.d.ts.map +1 -1
  62. package/dist/providers/identity/generic-dispatch-record.js +78 -19
  63. package/dist/providers/identity/oat-dispatch-record.d.ts +5 -0
  64. package/dist/providers/identity/oat-dispatch-record.d.ts.map +1 -1
  65. package/dist/providers/identity/oat-dispatch-record.js +11 -2
  66. package/dist/providers/shared/registry.d.ts +6 -0
  67. package/dist/providers/shared/registry.d.ts.map +1 -1
  68. package/dist/providers/shared/registry.js +30 -0
  69. package/dist/rules/canonical/parse.d.ts.map +1 -1
  70. package/dist/rules/canonical/parse.js +38 -3
  71. 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;AAapC,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,CA2BT"}
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":"AAkBA,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAOL,KAAK,wBAAwB,EAE7B,KAAK,4BAA4B,EAElC,MAAM,yCAAyC,CAAC;AAWjD;;;;;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,CAcR;AAaD,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;AAsEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CA0G5E;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
+ {"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
- let redacted = message;
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;AA6XtB,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,aAAa,EAAE,EAC3B,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC,IAAI,CAAC,CAyMf"}
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 || !planOutput.endsWith(EMPTY_PLAN_SUFFIX)) {
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, so the command layer drops exactly that
187
- // known suffix and lets the trailing message be the run's single claim.
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 the manifest restamp is
215
- // the only mutation. It is a whole-run state, matching the single trailing
216
- // summary message, so with `--scope all` every scope's body is empty and at
217
- // least one of them was restamped.
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` is load-bearing rather than defensive: a rejected
383
- // collection is counted as a failure but is not a *planned* operation
384
- // (`countPlannedOperations` admits only the mutating collection actions),
385
- // so a run can fail with `plannedOperations === 0`. That run is not
386
- // restamp-only and must never be described as needing no content changes.
387
- // The trailing message below tests the failure arm first, so the branch
388
- // order now enforces that outcome rather than leaving it to this conjunct.
389
- const restampOnly = summary.plannedOperations === 0 &&
390
- summary.failed === 0 &&
391
- versionSkew.length > 0;
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":"AAAA,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;AAgBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,eAAe,CA0HjB;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
+ {"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
- ...(asRecord(visibility.policy)
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":"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"}