@open-agent-toolkit/cli 0.3.9 → 0.3.11
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/README.md +2 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/config/dispatch-matrix-recommendation.json +6 -6
- package/assets/docs/cli-utilities/configuration.md +12 -8
- package/assets/docs/cli-utilities/meta.json +13 -0
- package/assets/docs/cli-utilities/tool-packs.md +8 -2
- package/assets/docs/cli-utilities/workflow-gates.md +14 -1
- package/assets/docs/contributing/code.md +8 -2
- package/assets/docs/contributing/documentation.md +7 -1
- package/assets/docs/contributing/meta.json +15 -0
- package/assets/docs/contributing/updating-model-guidance.md +34 -6
- package/assets/docs/contributing/verifying-cursor-pins.md +38 -9
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +14 -5
- package/assets/docs/docs-tooling/commands.md +26 -8
- package/assets/docs/docs-tooling/meta.json +4 -0
- package/assets/docs/docs-tooling/workflows.md +2 -2
- package/assets/docs/guide/meta.json +4 -0
- package/assets/docs/meta.json +14 -0
- package/assets/docs/provider-sync/instruction-sync.md +8 -0
- package/assets/docs/provider-sync/meta.json +11 -0
- package/assets/docs/provider-sync/providers.md +4 -4
- package/assets/docs/provider-sync/scope-and-surface.md +3 -4
- package/assets/docs/reference/cli-reference.md +5 -2
- package/assets/docs/reference/docs-index-contract.md +22 -6
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +1 -1
- package/assets/docs/reference/meta.json +10 -0
- package/assets/docs/reference/troubleshooting.md +41 -6
- package/assets/docs/workflows/ideas/meta.json +4 -0
- package/assets/docs/workflows/meta.json +4 -0
- package/assets/docs/workflows/projects/cursor-cloud.md +8 -3
- package/assets/docs/workflows/projects/dispatch-ceiling.md +21 -14
- package/assets/docs/workflows/projects/evidence-layers.md +6 -8
- package/assets/docs/workflows/projects/implementation-execution.md +34 -5
- package/assets/docs/workflows/projects/lifecycle.md +7 -1
- package/assets/docs/workflows/projects/meta.json +25 -0
- package/assets/docs/workflows/projects/orchestration-model.md +5 -6
- package/assets/docs/workflows/skills/meta.json +10 -0
- package/assets/docs/workflows/skills/recon.md +28 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +30 -16
- package/assets/skills/oat-dispatch-subagents/SKILL.md +4 -12
- package/assets/skills/oat-dispatch-subagents/references/managed-claude-example.json +1 -1
- package/assets/skills/oat-dispatch-subagents/references/provider-codex.md +51 -0
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +5 -2
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +8 -7
- package/assets/skills/oat-docs-analyze/SKILL.md +28 -3
- package/assets/skills/oat-docs-apply/SKILL.md +3 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +5 -2
- package/assets/skills/oat-docs-bootstrap/SKILL.md +4 -3
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +3 -3
- package/assets/skills/oat-pjm-decision/SKILL.md +3 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -4
- package/assets/skills/oat-project-complete/SKILL.md +47 -2
- package/assets/skills/oat-project-design/SKILL.md +10 -6
- package/assets/skills/oat-project-discover/SKILL.md +3 -3
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +3 -10
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +135 -3
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +8 -10
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +1 -1
- package/assets/skills/oat-project-import-plan/SKILL.md +3 -3
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-new/SKILL.md +3 -3
- package/assets/skills/oat-project-next/SKILL.md +50 -7
- package/assets/skills/oat-project-plan/SKILL.md +4 -4
- package/assets/skills/oat-project-plan-writing/SKILL.md +4 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +11 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +2 -2
- package/assets/skills/oat-project-quick-start/SKILL.md +12 -8
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-retro/SKILL.md +6 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +2 -2
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +2 -2
- package/assets/skills/oat-project-spec/SKILL.md +3 -3
- package/assets/skills/oat-project-summary/SKILL.md +22 -3
- package/assets/skills/oat-repo-improve/SKILL.md +2 -2
- package/assets/skills/recon/SKILL.md +24 -3
- package/assets/skills/recon/references/packet-contract.md +36 -6
- package/assets/skills/recon/references/profiles.md +3 -0
- package/assets/skills/recon/references/worker-contract.md +16 -3
- package/assets/skills/recon/scripts/create-review-brief.mjs +17 -86
- package/assets/skills/recon/scripts/lib/contracts.mjs +158 -41
- package/assets/skills/recon/scripts/lib/review-binding.mjs +123 -0
- package/assets/skills/recon/scripts/lib/routing.mjs +5 -2
- package/assets/skills/recon/scripts/reconcile-ledger.mjs +18 -7
- package/assets/skills/recon/scripts/render-packet.mjs +93 -1
- package/assets/skills/recon/scripts/validate-packet.mjs +119 -88
- package/assets/skills/subagent-orchestration/SKILL.md +1 -1
- package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +20 -8
- package/assets/skills/subagent-orchestration/references/provider-claude.md +25 -12
- package/assets/skills/subagent-orchestration/references/provider-codex.md +27 -18
- package/assets/skills/subagent-orchestration/references/provider-cursor.md +40 -10
- package/assets/templates/state.md +1 -0
- package/dist/commands/backlog/new.d.ts +2 -2
- package/dist/commands/backlog/new.d.ts.map +1 -1
- package/dist/commands/backlog/new.js +2 -2
- package/dist/commands/decision/new.d.ts +2 -2
- package/dist/commands/decision/new.d.ts.map +1 -1
- package/dist/commands/decision/new.js +2 -2
- package/dist/commands/docs/nav/contents.d.ts +9 -0
- package/dist/commands/docs/nav/contents.d.ts.map +1 -1
- package/dist/commands/docs/nav/contents.js +7 -2
- package/dist/commands/docs/nav/fumadocs.d.ts +51 -0
- package/dist/commands/docs/nav/fumadocs.d.ts.map +1 -0
- package/dist/commands/docs/nav/fumadocs.js +301 -0
- package/dist/commands/docs/nav/sync.d.ts +31 -1
- package/dist/commands/docs/nav/sync.d.ts.map +1 -1
- package/dist/commands/docs/nav/sync.js +163 -6
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/instructions/instructions.utils.d.ts +19 -0
- package/dist/commands/instructions/instructions.utils.d.ts.map +1 -1
- package/dist/commands/instructions/instructions.utils.js +89 -17
- package/dist/commands/instructions/sync/sync.d.ts.map +1 -1
- package/dist/commands/instructions/sync/sync.js +49 -2
- package/dist/commands/pjm/init.d.ts.map +1 -1
- package/dist/commands/pjm/init.js +2 -2
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts +97 -0
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts.map +1 -0
- package/dist/commands/project/closeout-check/closeout-invariant.js +301 -0
- package/dist/commands/project/closeout-check/index.d.ts +38 -0
- package/dist/commands/project/closeout-check/index.d.ts.map +1 -0
- package/dist/commands/project/closeout-check/index.js +117 -0
- package/dist/commands/project/complete-state/index.d.ts +4 -0
- package/dist/commands/project/complete-state/index.d.ts.map +1 -1
- package/dist/commands/project/complete-state/index.js +11 -13
- package/dist/commands/project/dispatch/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch/index.js +6 -30
- package/dist/commands/project/dispatch/record.d.ts +9 -18
- package/dist/commands/project/dispatch/record.d.ts.map +1 -1
- package/dist/commands/project/dispatch/record.js +15 -212
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/new/scaffold.d.ts +0 -1
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +19 -20
- package/dist/commands/project/promote/promote.d.ts +2 -2
- package/dist/commands/project/promote/promote.d.ts.map +1 -1
- package/dist/commands/project/promote/promote.js +13 -11
- package/dist/commands/shared/frontmatter.d.ts +21 -0
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +70 -4
- package/dist/commands/shared/template-source.d.ts +29 -0
- package/dist/commands/shared/template-source.d.ts.map +1 -0
- package/dist/commands/{pjm → shared}/template-source.js +24 -7
- package/dist/commands/state/generate.js +2 -2
- package/dist/commands/template/index.d.ts +10 -0
- package/dist/commands/template/index.d.ts.map +1 -0
- package/dist/commands/template/index.js +87 -0
- package/dist/commands/template/resolve.d.ts +31 -0
- package/dist/commands/template/resolve.d.ts.map +1 -0
- package/dist/commands/template/resolve.js +86 -0
- package/dist/fs/io.d.ts +0 -41
- package/dist/fs/io.d.ts.map +1 -1
- package/dist/fs/io.js +2 -414
- package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -1
- package/dist/providers/claude/dispatch-envelope.js +1 -0
- package/dist/providers/claude/targets.d.ts +1 -0
- package/dist/providers/claude/targets.d.ts.map +1 -1
- package/dist/providers/claude/targets.js +3 -1
- package/dist/providers/codex/codec/shared.d.ts +3 -0
- package/dist/providers/codex/codec/shared.d.ts.map +1 -1
- package/dist/providers/codex/codec/shared.js +4 -0
- package/dist/providers/cursor/codec/catalog.d.ts +2 -2
- package/dist/providers/cursor/codec/catalog.d.ts.map +1 -1
- package/dist/providers/cursor/codec/catalog.js +45 -0
- package/dist/providers/cursor/codec/mapping-validation.d.ts +4 -0
- package/dist/providers/cursor/codec/mapping-validation.d.ts.map +1 -0
- package/dist/providers/cursor/codec/mapping-validation.js +25 -0
- package/dist/providers/cursor/codec/materialize.d.ts.map +1 -1
- package/dist/providers/cursor/codec/materialize.js +2 -11
- package/dist/providers/cursor/codec/sync-extension.d.ts.map +1 -1
- package/dist/providers/cursor/codec/sync-extension.js +2 -11
- package/dist/providers/identity/absolute-paths.d.ts +4 -13
- package/dist/providers/identity/absolute-paths.d.ts.map +1 -1
- package/dist/providers/identity/absolute-paths.js +4 -17
- package/dist/providers/identity/generic-dispatch-record.d.ts +1 -1
- package/dist/providers/identity/generic-dispatch-record.js +2 -2
- package/dist/providers/identity/oat-dispatch-record.d.ts +4 -357
- package/dist/providers/identity/oat-dispatch-record.d.ts.map +1 -1
- package/dist/providers/identity/oat-dispatch-record.js +4 -236
- package/dist/release/public-package-contract.d.ts.map +1 -1
- package/dist/release/public-package-contract.js +12 -4
- package/dist/validation/skills.d.ts.map +1 -1
- package/dist/validation/skills.js +32 -6
- package/package.json +2 -2
- package/dist/commands/pjm/template-source.d.ts +0 -14
- package/dist/commands/pjm/template-source.d.ts.map +0 -1
|
@@ -3,28 +3,19 @@ import { join } from 'node:path';
|
|
|
3
3
|
import { CliError } from '../../../errors/index.js';
|
|
4
4
|
import { validateRealPathWithinScope } from '../../../fs/paths.js';
|
|
5
5
|
import YAML from 'yaml';
|
|
6
|
+
import { assertApprovedCursorModelPinMapping } from './mapping-validation.js';
|
|
6
7
|
import { buildCursorMaterializedRoleName, isOatManagedCursorRoleFile, normalizeCursorRoleName, renderCursorManagedComments, } from './shared.js';
|
|
7
8
|
const CURSOR_AGENT_DISCOVERY_DIRECTORIES = [
|
|
8
9
|
'.cursor/agents',
|
|
9
10
|
'.claude/agents',
|
|
10
11
|
'.codex/agents',
|
|
11
12
|
];
|
|
12
|
-
function assertApprovedMapping(mapping) {
|
|
13
|
-
if (mapping.gateEvidence.gate !== 'g01' ||
|
|
14
|
-
mapping.gateEvidence.disposition !== 'approved' ||
|
|
15
|
-
!mapping.gateEvidence.probeName.trim()) {
|
|
16
|
-
throw new CliError(`Cannot materialize Cursor model ${mapping.ladderModelId}: mapping-specific gate g01 approval is required.`);
|
|
17
|
-
}
|
|
18
|
-
if (!/\[[^\]]+\]$/.test(mapping.frontmatterModel)) {
|
|
19
|
-
throw new CliError(`Cannot materialize Cursor model ${mapping.ladderModelId}: frontmatter model must include a non-empty bracket segment.`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
13
|
function optionalCursorBoolean(agent, field) {
|
|
23
14
|
const value = field === 'readonly' ? agent.readonly : agent.frontmatter[field];
|
|
24
15
|
return typeof value === 'boolean' ? value : undefined;
|
|
25
16
|
}
|
|
26
17
|
export function materializeCursorAgent({ agent, mapping, owner, }) {
|
|
27
|
-
|
|
18
|
+
assertApprovedCursorModelPinMapping(mapping);
|
|
28
19
|
const roleName = buildCursorMaterializedRoleName({
|
|
29
20
|
agentName: agent.name,
|
|
30
21
|
ladderModelId: mapping.ladderModelId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-extension.d.ts","sourceRoot":"","sources":["../../../../src/providers/cursor/codec/sync-extension.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-extension.d.ts","sourceRoot":"","sources":["../../../../src/providers/cursor/codec/sync-extension.ts"],"names":[],"mappings":"AAqBA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAIL,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAC;AAOnB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB,CACxE,QAAQ,EACR,qBAAqB,CACtB;IACC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B,CAClF,QAAQ,EACR,qBAAqB,CACtB;IACC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB,CAC9D,QAAQ,EACR,qBAAqB,EACrB,2BAA2B,CAC5B;IACC,UAAU,EAAE,6BAA6B,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;AAQpE,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACjD,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AAgVD,wBAAsB,iCAAiC,CACrD,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,cAAc,EAAE,EAClC,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,mBAAmB,CAAC,CAmH9B;AA6DD,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,0BAA0B,CAAC,CA4DrC;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAE5E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG;IACnE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAEA;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,EAAE,CAM5B;AAED,eAAO,MAAM,8BAA8B,EAAE,wBAAwB,CACnE,mBAAmB,EACnB,sBAAsB,CAAC,kCAAkC,CAAC,CAY3D,CAAC"}
|
|
@@ -12,6 +12,7 @@ import { validateRealPathWithinScope } from '../../../fs/paths.js';
|
|
|
12
12
|
import { hasMaterializationChanges, summarizeMaterializationPlan, toMaterializationOperations, } from '../../shared/index.js';
|
|
13
13
|
import YAML from 'yaml';
|
|
14
14
|
import { CURSOR_MODEL_PIN_MAPPINGS, SUPPORTED_CURSOR_BASE_ROLES, SUPPORTED_CURSOR_ROLE_TARGETS, } from './catalog.js';
|
|
15
|
+
import { assertApprovedCursorModelPinMapping } from './mapping-validation.js';
|
|
15
16
|
import { assertNoUnmanagedCursorAgentCollisions, materializeCursorAgent, } from './materialize.js';
|
|
16
17
|
import { isOatManagedCursorRoleFile, readOatManagedCursorRoleOwner, readOatManagedCursorRoleName, } from './shared.js';
|
|
17
18
|
const OWNER_PRECEDENCE = {
|
|
@@ -29,22 +30,12 @@ function isUserCursorScope(scopeRoot, options) {
|
|
|
29
30
|
return Boolean(options.userConfigDir &&
|
|
30
31
|
resolve(scopeRoot) === resolve(options.userConfigDir, '..'));
|
|
31
32
|
}
|
|
32
|
-
function assertApprovedMapping(mapping) {
|
|
33
|
-
if (mapping.gateEvidence.gate !== 'g01' ||
|
|
34
|
-
mapping.gateEvidence.disposition !== 'approved' ||
|
|
35
|
-
!mapping.gateEvidence.probeName.trim()) {
|
|
36
|
-
throw new CliError(`Cannot materialize Cursor model ${mapping.ladderModelId}: mapping-specific gate g01 approval is required.`);
|
|
37
|
-
}
|
|
38
|
-
if (!/\[[^\]]+\]$/.test(mapping.frontmatterModel)) {
|
|
39
|
-
throw new CliError(`Cannot materialize Cursor model ${mapping.ladderModelId}: approved mapping must include a non-empty bracket segment.`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
33
|
function addCursorTarget(ladderModelId, owner, source, targets, mappings) {
|
|
43
34
|
const mapping = mappings.find((candidate) => candidate.ladderModelId === ladderModelId);
|
|
44
35
|
if (!mapping) {
|
|
45
36
|
throw new CliError(`Cannot materialize unknown Cursor model mapping "${ladderModelId}" from ${source}. Add mapping-specific gate g01 evidence before using this target.`);
|
|
46
37
|
}
|
|
47
|
-
|
|
38
|
+
assertApprovedCursorModelPinMapping(mapping);
|
|
48
39
|
const existing = targets.get(ladderModelId);
|
|
49
40
|
if (!existing ||
|
|
50
41
|
OWNER_PRECEDENCE[owner] >= OWNER_PRECEDENCE[existing.owner]) {
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Before this module there were two independent notions of
|
|
13
13
|
* "looks like a path": a regex inside `redactDispatchMessage`, which only
|
|
14
|
-
* scrubbed error text, and nothing at all on the
|
|
15
|
-
*
|
|
16
|
-
* layout that reaches it
|
|
14
|
+
* scrubbed error text, and nothing at all on the record boundary. A validated
|
|
15
|
+
* record is printed verbatim and a caller may copy it into a committed
|
|
16
|
+
* artifact, so a username or local layout that reaches it can land in git
|
|
17
|
+
* history permanently.
|
|
17
18
|
*
|
|
18
19
|
* Message redaction and record sanitization now share this detector, because
|
|
19
20
|
* the gap between them is precisely what allowed paths to be scrubbed from a
|
|
@@ -68,14 +69,4 @@ export declare function collectAbsolutePathViolations(value: unknown, path: stri
|
|
|
68
69
|
* corrupt the identifier it claims to be.
|
|
69
70
|
*/
|
|
70
71
|
export declare function assertNoAbsolutePath(value: unknown, path: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* The publication postcondition, scoped to what is actually guaranteed.
|
|
73
|
-
*
|
|
74
|
-
* It hard-fails on a path in an identity or control field, which is the half of
|
|
75
|
-
* NFR1 that is enforceable. It deliberately does **not** claim that no absolute
|
|
76
|
-
* path remains anywhere in the revision: prose redaction is best-effort, and a
|
|
77
|
-
* postcondition that asserted more than the sanitizer can deliver would be a
|
|
78
|
-
* false guarantee rather than a check.
|
|
79
|
-
*/
|
|
80
|
-
export declare function assertJournalIdentityHasNoAbsolutePath(identityFields: Readonly<Record<string, unknown>>): void;
|
|
81
72
|
//# sourceMappingURL=absolute-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"absolute-paths.d.ts","sourceRoot":"","sources":["../../../src/providers/identity/absolute-paths.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"absolute-paths.d.ts","sourceRoot":"","sources":["../../../src/providers/identity/absolute-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA6BH,6EAA6E;AAC7E,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAM/C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CActD;AAED,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,GACX,sBAAsB,EAAE,CAoB1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvE"}
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Before this module there were two independent notions of
|
|
13
13
|
* "looks like a path": a regex inside `redactDispatchMessage`, which only
|
|
14
|
-
* scrubbed error text, and nothing at all on the
|
|
15
|
-
*
|
|
16
|
-
* layout that reaches it
|
|
14
|
+
* scrubbed error text, and nothing at all on the record boundary. A validated
|
|
15
|
+
* record is printed verbatim and a caller may copy it into a committed
|
|
16
|
+
* artifact, so a username or local layout that reaches it can land in git
|
|
17
|
+
* history permanently.
|
|
17
18
|
*
|
|
18
19
|
* Message redaction and record sanitization now share this detector, because
|
|
19
20
|
* the gap between them is precisely what allowed paths to be scrubbed from a
|
|
@@ -141,17 +142,3 @@ export function assertNoAbsolutePath(value, path) {
|
|
|
141
142
|
if (first)
|
|
142
143
|
throw new Error(first.message);
|
|
143
144
|
}
|
|
144
|
-
/**
|
|
145
|
-
* The publication postcondition, scoped to what is actually guaranteed.
|
|
146
|
-
*
|
|
147
|
-
* It hard-fails on a path in an identity or control field, which is the half of
|
|
148
|
-
* NFR1 that is enforceable. It deliberately does **not** claim that no absolute
|
|
149
|
-
* path remains anywhere in the revision: prose redaction is best-effort, and a
|
|
150
|
-
* postcondition that asserted more than the sanitizer can deliver would be a
|
|
151
|
-
* false guarantee rather than a check.
|
|
152
|
-
*/
|
|
153
|
-
export function assertJournalIdentityHasNoAbsolutePath(identityFields) {
|
|
154
|
-
for (const [field, value] of Object.entries(identityFields)) {
|
|
155
|
-
assertNoAbsolutePath(value, `<journal>.${field}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { type DispatchValueViolation } from './absolute-paths.js';
|
|
3
3
|
/**
|
|
4
4
|
* Whole-record ceiling, applied at every parse entry point so no combination
|
|
5
|
-
* of individually legal fields can produce an unbounded
|
|
5
|
+
* of individually legal fields can produce an unbounded record.
|
|
6
6
|
*/
|
|
7
7
|
export declare function assertBoundedDispatchRecordSize(value: unknown): void;
|
|
8
8
|
/**
|
|
@@ -34,7 +34,7 @@ const optionalSelector = identifier().nullable();
|
|
|
34
34
|
/**
|
|
35
35
|
* Every generic container field is validated as a closed, bounded JSON
|
|
36
36
|
* projection so prompt bodies, transcripts, and other free-form content cannot
|
|
37
|
-
* ride into a
|
|
37
|
+
* ride into a validated record through an unbounded `unknown` value. `payload`
|
|
38
38
|
* carries configured sandbox/tool controls; `candidates_considered`,
|
|
39
39
|
* `configured_invocation_evidence`, `continuation_events`, `diagnostics`, and
|
|
40
40
|
* `escalate_when` carry short references and identifiers, not narrative text.
|
|
@@ -134,7 +134,7 @@ function projectionAggregateViolation(value, path) {
|
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* Whole-record ceiling, applied at every parse entry point so no combination
|
|
137
|
-
* of individually legal fields can produce an unbounded
|
|
137
|
+
* of individually legal fields can produce an unbounded record.
|
|
138
138
|
*/
|
|
139
139
|
export function assertBoundedDispatchRecordSize(value) {
|
|
140
140
|
const bytes = publishedByteLength(value);
|
|
@@ -8,60 +8,6 @@ import { type GenericDispatchRecord } from './generic-dispatch-record.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const QUALIFYING_PRE_START_REJECTION_CODES: readonly ['native-role-unavailable', 'native-target-unavailable', 'native-selector-unsupported', 'native-catalog-unsatisfying', 'capability-unresolved-or-unsupported', 'wrapper-payload-rejected', 'wrapper-launch-refused'];
|
|
10
10
|
export type QualifyingPreStartRejectionCode = (typeof QUALIFYING_PRE_START_REJECTION_CODES)[number];
|
|
11
|
-
/**
|
|
12
|
-
* Immutable configured controls across a fallback link.
|
|
13
|
-
*
|
|
14
|
-
* The rule, so a newly added generic field has a default: a field is immutable
|
|
15
|
-
* when it describes the configured selection, the authorization for that
|
|
16
|
-
* selection, or the evidence that justified it. A field is mutable when it
|
|
17
|
-
* describes this record's own identity, how the work is briefed to its own
|
|
18
|
-
* child, its own launch lifecycle, or its own child's observed behaviour. When
|
|
19
|
-
* a new field is ambiguous, treat it as immutable — a false "controls
|
|
20
|
-
* preserved" claim is worse than a false mismatch.
|
|
21
|
-
*
|
|
22
|
-
* All 46 generic fields are accounted for. The 31 immutable ones are listed
|
|
23
|
-
* below. The 15 mutable ones, each with its reason:
|
|
24
|
-
* - `request_id`: the fallback is a distinct request and must have its own ID.
|
|
25
|
-
* - `caller`: the adapter layer that launches the fallback may differ.
|
|
26
|
-
* - `objective`: a canonical-instruction fallback necessarily rebriefs the work
|
|
27
|
-
* for a generic child rather than a resolved role.
|
|
28
|
-
* - `role_name`, `role_selector`: the fallback deliberately targets a generic
|
|
29
|
-
* worker; substituting the role is the whole point of the approximation, and
|
|
30
|
-
* the resolved role identity is bound separately through `roleInstructions`.
|
|
31
|
-
* - `candidates_considered`: the fallback evaluated a different candidate set.
|
|
32
|
-
* - `selection_reason`: constrained separately — a fallback must declare
|
|
33
|
-
* `pre-start-rejection`, which by definition differs from the trigger's.
|
|
34
|
-
* - `launch_status`, `child_outcome`: each record's own lifecycle state.
|
|
35
|
-
* - `runtime_confirmation`: observation of that record's own child. The
|
|
36
|
-
* fallback is a different child, so equality would be a false assertion.
|
|
37
|
-
* - `diagnostics`: per-record narration. A fallback legitimately explains why
|
|
38
|
-
* it exists.
|
|
39
|
-
* - `continuation_events`: continuation linkage belongs to the record that
|
|
40
|
-
* owns the handle.
|
|
41
|
-
* - `expected_output`, `verification_evidence`, `escalate_when`: the brief
|
|
42
|
-
* given to this record's own child, in the same class as `objective`.
|
|
43
|
-
*
|
|
44
|
-
* Included even though they are evidence rather than controls, because they
|
|
45
|
-
* record why the preserved selection was allowed:
|
|
46
|
-
* - `configured_invocation_evidence`: names the configuration that authorized
|
|
47
|
-
* the preserved route.
|
|
48
|
-
* - `catalog_snapshot`: names the catalog the selection was made against.
|
|
49
|
-
* - `guidance_reference`, `guidance_version`, `guidance_verified_at`,
|
|
50
|
-
* `guidance_status`: name the dated model guidance behind the selection and
|
|
51
|
-
* how fresh it was; a fallback restating `stale` as `fresh` would misstate
|
|
52
|
-
* provenance for a preserved target.
|
|
53
|
-
* - `classification_reason`: the rationale for `task_class`, which is itself a
|
|
54
|
-
* compared authorization control.
|
|
55
|
-
*/
|
|
56
|
-
export declare const IMMUTABLE_FALLBACK_CONTROL_FIELDS: readonly ["provider", "selection_source", "model_selector", "model_selector_granularity", "effort_selector", "reasoning_mode_selector", "service_tier_selector", "selected_route", "authority", "authorization_scope", "deadline_seconds", "retry_limit", "payload", "fallback", "catalog_snapshot", "configured_invocation_evidence", "guidance_reference", "guidance_version", "guidance_verified_at", "guidance_status", "dispatch_context", "dispatch_policy", "dispatch_ceiling", "scope", "action", "role_class", "task_class", "model_class_floor", "classification_source", "classification_reason", "floor_satisfaction"];
|
|
57
|
-
/**
|
|
58
|
-
* The mutable complement, kept executable rather than only described above so a
|
|
59
|
-
* newly added generic field fails `covers every generic dispatch field` until
|
|
60
|
-
* somebody records a decision for it.
|
|
61
|
-
*/
|
|
62
|
-
export declare const MUTABLE_FALLBACK_CONTROL_FIELDS: readonly ["request_id", "caller", "objective", "role_name", "role_selector", "candidates_considered", "selection_reason", "launch_status", "child_outcome", "runtime_confirmation", "diagnostics", "continuation_events", "expected_output", "verification_evidence", "escalate_when"];
|
|
63
|
-
export declare function canonicalEvidenceJson(value: unknown): string;
|
|
64
|
-
export declare function configuredControlDigest(record: GenericDispatchRecord): string;
|
|
65
11
|
declare const exactTargetSchema: z.ZodObject<{
|
|
66
12
|
provider: z.ZodString;
|
|
67
13
|
modelSelector: z.ZodNullable<z.ZodString>;
|
|
@@ -395,9 +341,10 @@ export declare function buildRuntimeObservation(input: {
|
|
|
395
341
|
configured?: ConfiguredInvocationForObservation | null;
|
|
396
342
|
}): RuntimeObservation;
|
|
397
343
|
/**
|
|
398
|
-
* The
|
|
399
|
-
*
|
|
400
|
-
*
|
|
344
|
+
* Record shape only. The fallback claim and the fallback link were published
|
|
345
|
+
* through the removed dispatch journal; no event kind writes either now, so a
|
|
346
|
+
* validated record carries `fallbackClaim: null` and a `not-applicable`
|
|
347
|
+
* fallback. The fields stay so the validated output keeps its shape.
|
|
401
348
|
*/
|
|
402
349
|
declare const fallbackClaimSchema: z.ZodObject<{
|
|
403
350
|
fallbackRequestId: z.ZodString;
|
|
@@ -1561,304 +1508,6 @@ declare const oatDispatchEvidenceEventSchema: z.ZodDiscriminatedUnion<"kind", [z
|
|
|
1561
1508
|
rejectedAt: string;
|
|
1562
1509
|
provesNoChildStarted: true;
|
|
1563
1510
|
};
|
|
1564
|
-
}>, z.ZodObject<{
|
|
1565
|
-
kind: z.ZodLiteral<"fallback-claim">;
|
|
1566
|
-
requestId: z.ZodString;
|
|
1567
|
-
source: z.ZodLiteral<"provider-wrapper">;
|
|
1568
|
-
claim: z.ZodObject<{
|
|
1569
|
-
fallbackRequestId: z.ZodString;
|
|
1570
|
-
claimedAt: z.ZodString;
|
|
1571
|
-
}, "strict", z.ZodTypeAny, {
|
|
1572
|
-
fallbackRequestId: string;
|
|
1573
|
-
claimedAt: string;
|
|
1574
|
-
}, {
|
|
1575
|
-
fallbackRequestId: string;
|
|
1576
|
-
claimedAt: string;
|
|
1577
|
-
}>;
|
|
1578
|
-
}, "strict", z.ZodTypeAny, {
|
|
1579
|
-
kind: "fallback-claim";
|
|
1580
|
-
requestId: string;
|
|
1581
|
-
source: "provider-wrapper";
|
|
1582
|
-
claim: {
|
|
1583
|
-
fallbackRequestId: string;
|
|
1584
|
-
claimedAt: string;
|
|
1585
|
-
};
|
|
1586
|
-
}, {
|
|
1587
|
-
kind: "fallback-claim";
|
|
1588
|
-
requestId: string;
|
|
1589
|
-
source: "provider-wrapper";
|
|
1590
|
-
claim: {
|
|
1591
|
-
fallbackRequestId: string;
|
|
1592
|
-
claimedAt: string;
|
|
1593
|
-
};
|
|
1594
|
-
}>, z.ZodObject<{
|
|
1595
|
-
kind: z.ZodLiteral<"fallback-link">;
|
|
1596
|
-
requestId: z.ZodString;
|
|
1597
|
-
source: z.ZodLiteral<"provider-wrapper">;
|
|
1598
|
-
evidence: z.ZodObject<{
|
|
1599
|
-
status: z.ZodLiteral<"fallback-dispatch">;
|
|
1600
|
-
triggerRequestId: z.ZodString;
|
|
1601
|
-
fallbackRequestId: z.ZodString;
|
|
1602
|
-
trigger: z.ZodLiteral<"pre-start-rejection">;
|
|
1603
|
-
fallbackReason: z.ZodString;
|
|
1604
|
-
kind: z.ZodLiteral<"canonical-instruction-fresh-child">;
|
|
1605
|
-
approximation: z.ZodLiteral<true>;
|
|
1606
|
-
preservedTarget: z.ZodObject<{
|
|
1607
|
-
provider: z.ZodString;
|
|
1608
|
-
modelSelector: z.ZodNullable<z.ZodString>;
|
|
1609
|
-
effortSelector: z.ZodNullable<z.ZodString>;
|
|
1610
|
-
reasoningModeSelector: z.ZodNullable<z.ZodString>;
|
|
1611
|
-
serviceTierSelector: z.ZodNullable<z.ZodString>;
|
|
1612
|
-
selectedRoute: z.ZodString;
|
|
1613
|
-
}, "strict", z.ZodTypeAny, {
|
|
1614
|
-
provider: string;
|
|
1615
|
-
modelSelector: string | null;
|
|
1616
|
-
effortSelector: string | null;
|
|
1617
|
-
reasoningModeSelector: string | null;
|
|
1618
|
-
serviceTierSelector: string | null;
|
|
1619
|
-
selectedRoute: string;
|
|
1620
|
-
}, {
|
|
1621
|
-
provider: string;
|
|
1622
|
-
modelSelector: string | null;
|
|
1623
|
-
effortSelector: string | null;
|
|
1624
|
-
reasoningModeSelector: string | null;
|
|
1625
|
-
serviceTierSelector: string | null;
|
|
1626
|
-
selectedRoute: string;
|
|
1627
|
-
}>;
|
|
1628
|
-
rejection: z.ZodObject<{
|
|
1629
|
-
code: z.ZodEffects<z.ZodString, string, string>;
|
|
1630
|
-
rejectedAt: z.ZodString;
|
|
1631
|
-
provesNoChildStarted: z.ZodLiteral<true>;
|
|
1632
|
-
} & {
|
|
1633
|
-
source: z.ZodLiteral<"provider-wrapper">;
|
|
1634
|
-
}, "strict", z.ZodTypeAny, {
|
|
1635
|
-
code: string;
|
|
1636
|
-
rejectedAt: string;
|
|
1637
|
-
provesNoChildStarted: true;
|
|
1638
|
-
source: "provider-wrapper";
|
|
1639
|
-
}, {
|
|
1640
|
-
code: string;
|
|
1641
|
-
rejectedAt: string;
|
|
1642
|
-
provesNoChildStarted: true;
|
|
1643
|
-
source: "provider-wrapper";
|
|
1644
|
-
}>;
|
|
1645
|
-
roleInstructions: z.ZodObject<{
|
|
1646
|
-
status: z.ZodLiteral<"resolved">;
|
|
1647
|
-
dependency: z.ZodString;
|
|
1648
|
-
canonicalRole: z.ZodString;
|
|
1649
|
-
tier: z.ZodEnum<["loaded", "user", "project"]>;
|
|
1650
|
-
validation: z.ZodEnum<["direct-canonical", "exact-canonical-symlink"]>;
|
|
1651
|
-
canonicalPath: z.ZodString;
|
|
1652
|
-
selectedPath: z.ZodString;
|
|
1653
|
-
roleVersion: z.ZodString;
|
|
1654
|
-
contentDigest: z.ZodString;
|
|
1655
|
-
candidateMisses: z.ZodArray<z.ZodObject<{
|
|
1656
|
-
tier: z.ZodEnum<["loaded", "user", "project"]>;
|
|
1657
|
-
candidate: z.ZodString;
|
|
1658
|
-
outcome: z.ZodEnum<["missing", "broken-symlink", "escaping-symlink", "noncanonical-copy", "wrong-target", "invalid-role"]>;
|
|
1659
|
-
}, "strict", z.ZodTypeAny, {
|
|
1660
|
-
tier: "loaded" | "project" | "user";
|
|
1661
|
-
candidate: string;
|
|
1662
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1663
|
-
}, {
|
|
1664
|
-
tier: "loaded" | "project" | "user";
|
|
1665
|
-
candidate: string;
|
|
1666
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1667
|
-
}>, "many">;
|
|
1668
|
-
}, "strict", z.ZodTypeAny, {
|
|
1669
|
-
status: "resolved";
|
|
1670
|
-
dependency: string;
|
|
1671
|
-
canonicalRole: string;
|
|
1672
|
-
tier: "loaded" | "project" | "user";
|
|
1673
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1674
|
-
canonicalPath: string;
|
|
1675
|
-
selectedPath: string;
|
|
1676
|
-
roleVersion: string;
|
|
1677
|
-
contentDigest: string;
|
|
1678
|
-
candidateMisses: {
|
|
1679
|
-
tier: "loaded" | "project" | "user";
|
|
1680
|
-
candidate: string;
|
|
1681
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1682
|
-
}[];
|
|
1683
|
-
}, {
|
|
1684
|
-
status: "resolved";
|
|
1685
|
-
dependency: string;
|
|
1686
|
-
canonicalRole: string;
|
|
1687
|
-
tier: "loaded" | "project" | "user";
|
|
1688
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1689
|
-
canonicalPath: string;
|
|
1690
|
-
selectedPath: string;
|
|
1691
|
-
roleVersion: string;
|
|
1692
|
-
contentDigest: string;
|
|
1693
|
-
candidateMisses: {
|
|
1694
|
-
tier: "loaded" | "project" | "user";
|
|
1695
|
-
candidate: string;
|
|
1696
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1697
|
-
}[];
|
|
1698
|
-
}>;
|
|
1699
|
-
}, "strict", z.ZodTypeAny, {
|
|
1700
|
-
status: "fallback-dispatch";
|
|
1701
|
-
triggerRequestId: string;
|
|
1702
|
-
fallbackRequestId: string;
|
|
1703
|
-
trigger: "pre-start-rejection";
|
|
1704
|
-
fallbackReason: string;
|
|
1705
|
-
kind: "canonical-instruction-fresh-child";
|
|
1706
|
-
approximation: true;
|
|
1707
|
-
preservedTarget: {
|
|
1708
|
-
provider: string;
|
|
1709
|
-
modelSelector: string | null;
|
|
1710
|
-
effortSelector: string | null;
|
|
1711
|
-
reasoningModeSelector: string | null;
|
|
1712
|
-
serviceTierSelector: string | null;
|
|
1713
|
-
selectedRoute: string;
|
|
1714
|
-
};
|
|
1715
|
-
rejection: {
|
|
1716
|
-
code: string;
|
|
1717
|
-
rejectedAt: string;
|
|
1718
|
-
provesNoChildStarted: true;
|
|
1719
|
-
source: "provider-wrapper";
|
|
1720
|
-
};
|
|
1721
|
-
roleInstructions: {
|
|
1722
|
-
status: "resolved";
|
|
1723
|
-
dependency: string;
|
|
1724
|
-
canonicalRole: string;
|
|
1725
|
-
tier: "loaded" | "project" | "user";
|
|
1726
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1727
|
-
canonicalPath: string;
|
|
1728
|
-
selectedPath: string;
|
|
1729
|
-
roleVersion: string;
|
|
1730
|
-
contentDigest: string;
|
|
1731
|
-
candidateMisses: {
|
|
1732
|
-
tier: "loaded" | "project" | "user";
|
|
1733
|
-
candidate: string;
|
|
1734
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1735
|
-
}[];
|
|
1736
|
-
};
|
|
1737
|
-
}, {
|
|
1738
|
-
status: "fallback-dispatch";
|
|
1739
|
-
triggerRequestId: string;
|
|
1740
|
-
fallbackRequestId: string;
|
|
1741
|
-
trigger: "pre-start-rejection";
|
|
1742
|
-
fallbackReason: string;
|
|
1743
|
-
kind: "canonical-instruction-fresh-child";
|
|
1744
|
-
approximation: true;
|
|
1745
|
-
preservedTarget: {
|
|
1746
|
-
provider: string;
|
|
1747
|
-
modelSelector: string | null;
|
|
1748
|
-
effortSelector: string | null;
|
|
1749
|
-
reasoningModeSelector: string | null;
|
|
1750
|
-
serviceTierSelector: string | null;
|
|
1751
|
-
selectedRoute: string;
|
|
1752
|
-
};
|
|
1753
|
-
rejection: {
|
|
1754
|
-
code: string;
|
|
1755
|
-
rejectedAt: string;
|
|
1756
|
-
provesNoChildStarted: true;
|
|
1757
|
-
source: "provider-wrapper";
|
|
1758
|
-
};
|
|
1759
|
-
roleInstructions: {
|
|
1760
|
-
status: "resolved";
|
|
1761
|
-
dependency: string;
|
|
1762
|
-
canonicalRole: string;
|
|
1763
|
-
tier: "loaded" | "project" | "user";
|
|
1764
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1765
|
-
canonicalPath: string;
|
|
1766
|
-
selectedPath: string;
|
|
1767
|
-
roleVersion: string;
|
|
1768
|
-
contentDigest: string;
|
|
1769
|
-
candidateMisses: {
|
|
1770
|
-
tier: "loaded" | "project" | "user";
|
|
1771
|
-
candidate: string;
|
|
1772
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1773
|
-
}[];
|
|
1774
|
-
};
|
|
1775
|
-
}>;
|
|
1776
|
-
}, "strict", z.ZodTypeAny, {
|
|
1777
|
-
kind: "fallback-link";
|
|
1778
|
-
requestId: string;
|
|
1779
|
-
source: "provider-wrapper";
|
|
1780
|
-
evidence: {
|
|
1781
|
-
status: "fallback-dispatch";
|
|
1782
|
-
triggerRequestId: string;
|
|
1783
|
-
fallbackRequestId: string;
|
|
1784
|
-
trigger: "pre-start-rejection";
|
|
1785
|
-
fallbackReason: string;
|
|
1786
|
-
kind: "canonical-instruction-fresh-child";
|
|
1787
|
-
approximation: true;
|
|
1788
|
-
preservedTarget: {
|
|
1789
|
-
provider: string;
|
|
1790
|
-
modelSelector: string | null;
|
|
1791
|
-
effortSelector: string | null;
|
|
1792
|
-
reasoningModeSelector: string | null;
|
|
1793
|
-
serviceTierSelector: string | null;
|
|
1794
|
-
selectedRoute: string;
|
|
1795
|
-
};
|
|
1796
|
-
rejection: {
|
|
1797
|
-
code: string;
|
|
1798
|
-
rejectedAt: string;
|
|
1799
|
-
provesNoChildStarted: true;
|
|
1800
|
-
source: "provider-wrapper";
|
|
1801
|
-
};
|
|
1802
|
-
roleInstructions: {
|
|
1803
|
-
status: "resolved";
|
|
1804
|
-
dependency: string;
|
|
1805
|
-
canonicalRole: string;
|
|
1806
|
-
tier: "loaded" | "project" | "user";
|
|
1807
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1808
|
-
canonicalPath: string;
|
|
1809
|
-
selectedPath: string;
|
|
1810
|
-
roleVersion: string;
|
|
1811
|
-
contentDigest: string;
|
|
1812
|
-
candidateMisses: {
|
|
1813
|
-
tier: "loaded" | "project" | "user";
|
|
1814
|
-
candidate: string;
|
|
1815
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1816
|
-
}[];
|
|
1817
|
-
};
|
|
1818
|
-
};
|
|
1819
|
-
}, {
|
|
1820
|
-
kind: "fallback-link";
|
|
1821
|
-
requestId: string;
|
|
1822
|
-
source: "provider-wrapper";
|
|
1823
|
-
evidence: {
|
|
1824
|
-
status: "fallback-dispatch";
|
|
1825
|
-
triggerRequestId: string;
|
|
1826
|
-
fallbackRequestId: string;
|
|
1827
|
-
trigger: "pre-start-rejection";
|
|
1828
|
-
fallbackReason: string;
|
|
1829
|
-
kind: "canonical-instruction-fresh-child";
|
|
1830
|
-
approximation: true;
|
|
1831
|
-
preservedTarget: {
|
|
1832
|
-
provider: string;
|
|
1833
|
-
modelSelector: string | null;
|
|
1834
|
-
effortSelector: string | null;
|
|
1835
|
-
reasoningModeSelector: string | null;
|
|
1836
|
-
serviceTierSelector: string | null;
|
|
1837
|
-
selectedRoute: string;
|
|
1838
|
-
};
|
|
1839
|
-
rejection: {
|
|
1840
|
-
code: string;
|
|
1841
|
-
rejectedAt: string;
|
|
1842
|
-
provesNoChildStarted: true;
|
|
1843
|
-
source: "provider-wrapper";
|
|
1844
|
-
};
|
|
1845
|
-
roleInstructions: {
|
|
1846
|
-
status: "resolved";
|
|
1847
|
-
dependency: string;
|
|
1848
|
-
canonicalRole: string;
|
|
1849
|
-
tier: "loaded" | "project" | "user";
|
|
1850
|
-
validation: "direct-canonical" | "exact-canonical-symlink";
|
|
1851
|
-
canonicalPath: string;
|
|
1852
|
-
selectedPath: string;
|
|
1853
|
-
roleVersion: string;
|
|
1854
|
-
contentDigest: string;
|
|
1855
|
-
candidateMisses: {
|
|
1856
|
-
tier: "loaded" | "project" | "user";
|
|
1857
|
-
candidate: string;
|
|
1858
|
-
outcome: "broken-symlink" | "escaping-symlink" | "invalid-role" | "missing" | "noncanonical-copy" | "wrong-target";
|
|
1859
|
-
}[];
|
|
1860
|
-
};
|
|
1861
|
-
};
|
|
1862
1511
|
}>, z.ZodObject<{
|
|
1863
1512
|
kind: z.ZodLiteral<"runtime-observation">;
|
|
1864
1513
|
requestId: z.ZodString;
|
|
@@ -1962,8 +1611,6 @@ export declare function parsePersistedOatDispatchRecord(value: unknown): Persist
|
|
|
1962
1611
|
export declare function augmentDispatchRecord(input: {
|
|
1963
1612
|
record: GenericDispatchRecord | PersistedOatDispatchRecordV1;
|
|
1964
1613
|
event: OatDispatchEvidenceEvent;
|
|
1965
|
-
triggerRecord?: PersistedOatDispatchRecordV1;
|
|
1966
|
-
relatedRecords?: readonly PersistedOatDispatchRecordV1[];
|
|
1967
1614
|
}): PersistedOatDispatchRecordV1;
|
|
1968
1615
|
export {};
|
|
1969
1616
|
//# sourceMappingURL=oat-dispatch-record.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oat-dispatch-record.d.ts","sourceRoot":"","sources":["../../../src/providers/identity/oat-dispatch-record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oat-dispatch-record.d.ts","sourceRoot":"","sources":["../../../src/providers/identity/oat-dispatch-record.ts"],"names":[],"mappings":"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"}
|