agent-hitch 0.2.0 → 0.2.2
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 +88 -250
- package/README.zh-CN.md +84 -230
- package/dist/bin/hitch.js +1 -1
- package/dist/bin/hitch.js.map +1 -1
- package/dist/scripts/check-architecture.js +159 -0
- package/dist/scripts/check-architecture.js.map +1 -0
- package/dist/scripts/check-release.js +1 -1
- package/dist/scripts/check-release.js.map +1 -1
- package/dist/src/adapters/catalog.js +55 -0
- package/dist/src/adapters/catalog.js.map +1 -0
- package/dist/src/adapters/contract.js +2 -0
- package/dist/src/adapters/contract.js.map +1 -0
- package/dist/src/adapters/discovery.js +22 -0
- package/dist/src/adapters/discovery.js.map +1 -0
- package/dist/src/adapters/index.js +3 -0
- package/dist/src/adapters/index.js.map +1 -0
- package/dist/src/adapters/providers/claude.js +69 -0
- package/dist/src/adapters/providers/claude.js.map +1 -0
- package/dist/src/adapters/providers/codex.js +74 -0
- package/dist/src/adapters/providers/codex.js.map +1 -0
- package/dist/src/adapters/providers/deepseek.js +51 -0
- package/dist/src/adapters/providers/deepseek.js.map +1 -0
- package/dist/src/adapters/providers/opencode.js +73 -0
- package/dist/src/adapters/providers/opencode.js.map +1 -0
- package/dist/src/adapters/providers/pi.js +82 -0
- package/dist/src/adapters/providers/pi.js.map +1 -0
- package/dist/src/adapters/providers/shared.js +82 -0
- package/dist/src/adapters/providers/shared.js.map +1 -0
- package/dist/src/artifacts/handoff.js +12 -0
- package/dist/src/artifacts/handoff.js.map +1 -0
- package/dist/src/artifacts/index.js +5 -0
- package/dist/src/artifacts/index.js.map +1 -0
- package/dist/src/artifacts/integrity.js +188 -0
- package/dist/src/artifacts/integrity.js.map +1 -0
- package/dist/src/artifacts/preparer.js +379 -0
- package/dist/src/artifacts/preparer.js.map +1 -0
- package/dist/src/artifacts/store.js +157 -0
- package/dist/src/artifacts/store.js.map +1 -0
- package/dist/src/artifacts/types.js +2 -0
- package/dist/src/artifacts/types.js.map +1 -0
- package/dist/src/backends/contract.js +2 -0
- package/dist/src/backends/contract.js.map +1 -0
- package/dist/src/{harbor-backend.js → backends/harbor/backend.js} +52 -14
- package/dist/src/backends/harbor/backend.js.map +1 -0
- package/dist/src/backends/harbor/index.js +4 -0
- package/dist/src/backends/harbor/index.js.map +1 -0
- package/dist/src/backends/harbor/local-git-transport.js +447 -0
- package/dist/src/backends/harbor/local-git-transport.js.map +1 -0
- package/dist/src/{eval-tools.js → backends/harbor/tools.js} +2 -6
- package/dist/src/backends/harbor/tools.js.map +1 -0
- package/dist/src/backends/index.js +4 -0
- package/dist/src/backends/index.js.map +1 -0
- package/dist/src/cli/arguments.js +123 -0
- package/dist/src/cli/arguments.js.map +1 -0
- package/dist/src/cli/commands/compare.js +55 -0
- package/dist/src/cli/commands/compare.js.map +1 -0
- package/dist/src/cli/commands/daemon.js +106 -0
- package/dist/src/cli/commands/daemon.js.map +1 -0
- package/dist/src/cli/commands/eval.js +126 -0
- package/dist/src/cli/commands/eval.js.map +1 -0
- package/dist/src/cli/commands/feedback.js +84 -0
- package/dist/src/cli/commands/feedback.js.map +1 -0
- package/dist/src/cli/commands/inspect.js +20 -0
- package/dist/src/cli/commands/inspect.js.map +1 -0
- package/dist/src/cli/commands/list.js +17 -0
- package/dist/src/cli/commands/list.js.map +1 -0
- package/dist/src/cli/commands/prepare.js +21 -0
- package/dist/src/cli/commands/prepare.js.map +1 -0
- package/dist/src/cli/commands/resolve.js +17 -0
- package/dist/src/cli/commands/resolve.js.map +1 -0
- package/dist/src/cli/commands/run.js +145 -0
- package/dist/src/cli/commands/run.js.map +1 -0
- package/dist/src/cli/commands/runs.js +45 -0
- package/dist/src/cli/commands/runs.js.map +1 -0
- package/dist/src/cli/commands/trajectory.js +31 -0
- package/dist/src/cli/commands/trajectory.js.map +1 -0
- package/dist/src/cli/commands/workspace.js +44 -0
- package/dist/src/cli/commands/workspace.js.map +1 -0
- package/dist/src/cli/index.js +2 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/main.js +48 -0
- package/dist/src/cli/main.js.map +1 -0
- package/dist/src/cli/output.js +96 -0
- package/dist/src/cli/output.js.map +1 -0
- package/dist/src/controller-runtime/index.js +3 -0
- package/dist/src/controller-runtime/index.js.map +1 -0
- package/dist/src/controller-runtime/store.js +2 -7
- package/dist/src/controller-runtime/store.js.map +1 -1
- package/dist/src/daemon/auth.js +108 -0
- package/dist/src/daemon/auth.js.map +1 -0
- package/dist/src/daemon/client.js +76 -0
- package/dist/src/daemon/client.js.map +1 -0
- package/dist/src/daemon/index.js +5 -0
- package/dist/src/daemon/index.js.map +1 -0
- package/dist/src/daemon/launcher.js +24 -0
- package/dist/src/daemon/launcher.js.map +1 -0
- package/dist/src/{scheduler.js → daemon/scheduler.js} +6 -7
- package/dist/src/daemon/scheduler.js.map +1 -0
- package/dist/src/{daemon.js → daemon/server.js} +10 -155
- package/dist/src/daemon/server.js.map +1 -0
- package/dist/src/domain/artifacts.js +2 -0
- package/dist/src/domain/artifacts.js.map +1 -0
- package/dist/src/domain/controller-runtime.js +2 -0
- package/dist/src/domain/controller-runtime.js.map +1 -0
- package/dist/src/domain/eval-records.js +2 -0
- package/dist/src/domain/eval-records.js.map +1 -0
- package/dist/src/domain/evals.js +2 -0
- package/dist/src/domain/evals.js.map +1 -0
- package/dist/src/domain/feedback.js +2 -0
- package/dist/src/domain/feedback.js.map +1 -0
- package/dist/src/domain/{types.js → ids.js} +1 -1
- package/dist/src/domain/ids.js.map +1 -0
- package/dist/src/domain/index.js +11 -0
- package/dist/src/domain/index.js.map +1 -0
- package/dist/src/domain/revisions.js +2 -0
- package/dist/src/domain/revisions.js.map +1 -0
- package/dist/src/domain/runs.js +3 -0
- package/dist/src/domain/runs.js.map +1 -0
- package/dist/src/domain/trajectories.js +2 -0
- package/dist/src/domain/trajectories.js.map +1 -0
- package/dist/src/domain/{validate.js → validation.js} +194 -5
- package/dist/src/domain/validation.js.map +1 -0
- package/dist/src/domain/workspaces.js +2 -0
- package/dist/src/domain/workspaces.js.map +1 -0
- package/dist/src/evals/events.js +67 -0
- package/dist/src/evals/events.js.map +1 -0
- package/dist/src/evals/index.js +5 -0
- package/dist/src/evals/index.js.map +1 -0
- package/dist/src/evals/records.js +55 -0
- package/dist/src/evals/records.js.map +1 -0
- package/dist/src/evals/request.js +109 -0
- package/dist/src/evals/request.js.map +1 -0
- package/dist/src/evals/service.js +280 -0
- package/dist/src/evals/service.js.map +1 -0
- package/dist/src/evals/trial-import.js +394 -0
- package/dist/src/evals/trial-import.js.map +1 -0
- package/dist/src/feedback/index.js +2 -0
- package/dist/src/feedback/index.js.map +1 -0
- package/dist/src/feedback/service.js +3 -4
- package/dist/src/feedback/service.js.map +1 -1
- package/dist/src/{config.js → foundation/config.js} +1 -0
- package/dist/src/foundation/config.js.map +1 -0
- package/dist/src/foundation/errors.js.map +1 -0
- package/dist/src/foundation/executable.js +135 -0
- package/dist/src/foundation/executable.js.map +1 -0
- package/dist/src/foundation/fs.js.map +1 -0
- package/dist/src/foundation/hash.js +24 -0
- package/dist/src/foundation/hash.js.map +1 -0
- package/dist/src/foundation/index.js +11 -0
- package/dist/src/foundation/index.js.map +1 -0
- package/dist/src/foundation/line-stream.js.map +1 -0
- package/dist/src/foundation/locks.js +114 -0
- package/dist/src/foundation/locks.js.map +1 -0
- package/dist/src/{package-root.js → foundation/package-root.js} +3 -2
- package/dist/src/foundation/package-root.js.map +1 -0
- package/dist/src/foundation/process.js.map +1 -0
- package/dist/src/revisions/index.js +4 -0
- package/dist/src/revisions/index.js.map +1 -0
- package/dist/src/{harness-reference.js → revisions/reference.js} +16 -2
- package/dist/src/revisions/reference.js.map +1 -0
- package/dist/src/revisions/resolver.js +25 -0
- package/dist/src/revisions/resolver.js.map +1 -0
- package/dist/src/revisions/sources/git.js +180 -0
- package/dist/src/revisions/sources/git.js.map +1 -0
- package/dist/src/revisions/sources/installed.js +45 -0
- package/dist/src/revisions/sources/installed.js.map +1 -0
- package/dist/src/revisions/sources/npm.js +97 -0
- package/dist/src/revisions/sources/npm.js.map +1 -0
- package/dist/src/runs/compare.js +132 -0
- package/dist/src/runs/compare.js.map +1 -0
- package/dist/src/{events.js → runs/events.js} +1 -2
- package/dist/src/runs/events.js.map +1 -0
- package/dist/src/{engine.js → runs/executor.js} +172 -151
- package/dist/src/runs/executor.js.map +1 -0
- package/dist/src/runs/finalizer.js +22 -0
- package/dist/src/runs/finalizer.js.map +1 -0
- package/dist/src/runs/identity.js +35 -0
- package/dist/src/runs/identity.js.map +1 -0
- package/dist/src/runs/index.js +11 -0
- package/dist/src/runs/index.js.map +1 -0
- package/dist/src/runs/manifest.js +70 -0
- package/dist/src/runs/manifest.js.map +1 -0
- package/dist/src/runs/outcome.js +49 -0
- package/dist/src/runs/outcome.js.map +1 -0
- package/dist/src/runs/query.js +104 -0
- package/dist/src/runs/query.js.map +1 -0
- package/dist/src/runs/queued.js +54 -0
- package/dist/src/runs/queued.js.map +1 -0
- package/dist/src/runs/records.js +288 -0
- package/dist/src/runs/records.js.map +1 -0
- package/dist/src/runs/request.js +169 -0
- package/dist/src/runs/request.js.map +1 -0
- package/dist/src/trajectories/format.js +1 -1
- package/dist/src/trajectories/format.js.map +1 -1
- package/dist/src/trajectories/index.js +7 -0
- package/dist/src/trajectories/index.js.map +1 -0
- package/dist/src/trajectories/projector.js +1 -1
- package/dist/src/trajectories/projector.js.map +1 -1
- package/dist/src/trajectories/provider-capture.js +133 -0
- package/dist/src/trajectories/provider-capture.js.map +1 -0
- package/dist/src/trajectories/providers/deepseek.js +179 -0
- package/dist/src/trajectories/providers/deepseek.js.map +1 -0
- package/dist/src/trajectories/store.js +148 -8
- package/dist/src/trajectories/store.js.map +1 -1
- package/dist/src/workspaces/copy.js +142 -0
- package/dist/src/workspaces/copy.js.map +1 -0
- package/dist/src/workspaces/digest.js +47 -0
- package/dist/src/workspaces/digest.js.map +1 -0
- package/dist/src/workspaces/git.js +164 -0
- package/dist/src/workspaces/git.js.map +1 -0
- package/dist/src/workspaces/index.js +6 -0
- package/dist/src/workspaces/index.js.map +1 -0
- package/dist/src/workspaces/lifecycle.js +313 -0
- package/dist/src/workspaces/lifecycle.js.map +1 -0
- package/dist/src/workspaces/planner.js +80 -0
- package/dist/src/workspaces/planner.js.map +1 -0
- package/dist/src/workspaces/store.js +25 -0
- package/dist/src/workspaces/store.js.map +1 -0
- package/dist/src/workspaces/types.js +4 -0
- package/dist/src/workspaces/types.js.map +1 -0
- package/dist/src/workspaces/utils.js +56 -0
- package/dist/src/workspaces/utils.js.map +1 -0
- package/docs/schemas/eval-request.schema.json +2 -0
- package/docs/schemas/eval-result.schema.json +50 -1
- package/docs/schemas/local-git-transport-manifest.schema.json +34 -0
- package/docs/schemas/result.schema.json +9 -0
- package/docs/schemas/run-context.schema.json +39 -0
- package/docs/schemas/run-manifest.schema.json +81 -0
- package/docs/schemas/run-request.schema.json +16 -1
- package/docs/schemas/trajectory-ref.schema.json +66 -23
- package/integrations/harbor/hitch_harbor_agent.py +482 -10
- package/package.json +21 -3
- package/dist/src/adapters.js +0 -461
- package/dist/src/adapters.js.map +0 -1
- package/dist/src/artifacts.js +0 -1081
- package/dist/src/artifacts.js.map +0 -1
- package/dist/src/cli.js +0 -699
- package/dist/src/cli.js.map +0 -1
- package/dist/src/config.js.map +0 -1
- package/dist/src/daemon.js.map +0 -1
- package/dist/src/domain/types.js.map +0 -1
- package/dist/src/domain/validate.js.map +0 -1
- package/dist/src/engine.js.map +0 -1
- package/dist/src/errors.js.map +0 -1
- package/dist/src/eval-tools.js.map +0 -1
- package/dist/src/evals.js +0 -313
- package/dist/src/evals.js.map +0 -1
- package/dist/src/events.js.map +0 -1
- package/dist/src/fs.js.map +0 -1
- package/dist/src/harbor-backend.js.map +0 -1
- package/dist/src/harness-reference.js.map +0 -1
- package/dist/src/line-stream.js.map +0 -1
- package/dist/src/locks.js +0 -38
- package/dist/src/locks.js.map +0 -1
- package/dist/src/package-root.js.map +0 -1
- package/dist/src/process.js.map +0 -1
- package/dist/src/registry.js +0 -81
- package/dist/src/registry.js.map +0 -1
- package/dist/src/scheduler.js.map +0 -1
- package/dist/src/workspaces.js +0 -858
- package/dist/src/workspaces.js.map +0 -1
- /package/dist/src/{errors.js → foundation/errors.js} +0 -0
- /package/dist/src/{fs.js → foundation/fs.js} +0 -0
- /package/dist/src/{line-stream.js → foundation/line-stream.js} +0 -0
- /package/dist/src/{process.js → foundation/process.js} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/local-git-transport-manifest.schema.json",
|
|
4
|
+
"title": "Hitch local Git commit transport manifest",
|
|
5
|
+
"description": "Proof for a size-limited Git object pack containing one exact local commit and its checkout tree. The Git commit remains the harness revision identity; payload_sha256 only proves transport integrity.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"schema_version",
|
|
10
|
+
"kind",
|
|
11
|
+
"harness_id",
|
|
12
|
+
"resolution_identity",
|
|
13
|
+
"commit",
|
|
14
|
+
"tree",
|
|
15
|
+
"payload_sha256",
|
|
16
|
+
"payload_bytes",
|
|
17
|
+
"object_count",
|
|
18
|
+
"file_count",
|
|
19
|
+
"created_at"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"schema_version": { "const": "1" },
|
|
23
|
+
"kind": { "const": "local-git-commit" },
|
|
24
|
+
"harness_id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
|
|
25
|
+
"resolution_identity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
26
|
+
"commit": { "type": "string", "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$" },
|
|
27
|
+
"tree": { "type": "string", "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$" },
|
|
28
|
+
"payload_sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
29
|
+
"payload_bytes": { "type": "integer", "minimum": 0 },
|
|
30
|
+
"object_count": { "type": "integer", "minimum": 0 },
|
|
31
|
+
"file_count": { "type": "integer", "minimum": 0 },
|
|
32
|
+
"created_at": { "type": "string", "format": "date-time" }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -32,6 +32,15 @@
|
|
|
32
32
|
},
|
|
33
33
|
"additionalProperties": true
|
|
34
34
|
},
|
|
35
|
+
"trajectory_warning": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": ["code", "message"],
|
|
38
|
+
"properties": {
|
|
39
|
+
"code": { "const": "trajectory_recording_failed" },
|
|
40
|
+
"message": { "type": "string" }
|
|
41
|
+
},
|
|
42
|
+
"additionalProperties": true
|
|
43
|
+
},
|
|
35
44
|
"started_at": {
|
|
36
45
|
"type": "string",
|
|
37
46
|
"format": "date-time"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/run-context.schema.json",
|
|
4
|
+
"title": "Hitch run context V1",
|
|
5
|
+
"oneOf": [
|
|
6
|
+
{
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"required": ["kind"],
|
|
10
|
+
"properties": { "kind": { "const": "ad_hoc" } }
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": ["kind", "seed_task_id", "seed_task_digest"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"kind": { "const": "seed_task" },
|
|
18
|
+
"seed_task_id": { "type": "string", "minLength": 1 },
|
|
19
|
+
"seed_task_digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
20
|
+
"seed_set_id": { "type": "string", "minLength": 1 },
|
|
21
|
+
"seed_set_revision": { "type": "string", "minLength": 1 },
|
|
22
|
+
"iteration_id": { "type": "string", "minLength": 1 }
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["kind", "benchmark_id", "benchmark_revision", "task_id", "task_digest", "verifier_identity"],
|
|
29
|
+
"properties": {
|
|
30
|
+
"kind": { "const": "benchmark_task" },
|
|
31
|
+
"benchmark_id": { "type": "string", "minLength": 1 },
|
|
32
|
+
"benchmark_revision": { "type": "string", "minLength": 1, "not": { "pattern": "^[Ll][Aa][Tt][Ee][Ss][Tt]$" } },
|
|
33
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
34
|
+
"task_digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
35
|
+
"verifier_identity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/run-manifest.schema.json",
|
|
4
|
+
"title": "Hitch RunRecord manifest V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": true,
|
|
7
|
+
"required": ["schema_version", "run_id", "context", "status", "harness", "model", "protocol", "request_ref", "resolution_ref", "created_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
11
|
+
"context": { "$ref": "run-context.schema.json" },
|
|
12
|
+
"parent": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": ["kind", "eval_id", "trial_id", "attempt"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"kind": { "const": "eval" },
|
|
18
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
19
|
+
"trial_id": { "type": "string", "minLength": 1 },
|
|
20
|
+
"attempt": { "type": "integer", "minimum": 1 }
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"status": { "enum": ["queued", "preparing", "running", "succeeded", "failed", "timed_out", "cancelled"] },
|
|
24
|
+
"harness": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"additionalProperties": false,
|
|
27
|
+
"required": ["harness_id", "requested_ref", "revision_identity"],
|
|
28
|
+
"properties": {
|
|
29
|
+
"harness_id": { "type": "string", "minLength": 1 },
|
|
30
|
+
"requested_ref": { "type": "string", "minLength": 1 },
|
|
31
|
+
"revision_identity": { "type": ["string", "null"], "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
32
|
+
"artifact_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
33
|
+
"agent_args_sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"model": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"required": ["requested_id", "effective_id"],
|
|
40
|
+
"properties": {
|
|
41
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
42
|
+
"requested_id": { "type": "string" },
|
|
43
|
+
"effective_id": { "type": "string" },
|
|
44
|
+
"parameters_sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
45
|
+
"identity_resolved": { "type": "boolean" }
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"protocol": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"additionalProperties": false,
|
|
51
|
+
"required": ["timeout_ms", "workspace_mode"],
|
|
52
|
+
"properties": {
|
|
53
|
+
"timeout_ms": { "type": "number", "minimum": 0 },
|
|
54
|
+
"workspace_mode": { "type": "string", "minLength": 1 },
|
|
55
|
+
"initial_workspace_digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
56
|
+
"environment_identity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
57
|
+
"tool_policy_sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"observation": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"required": ["status"],
|
|
64
|
+
"properties": {
|
|
65
|
+
"status": { "enum": ["valid", "invalid"] },
|
|
66
|
+
"reward": { "type": "number" },
|
|
67
|
+
"verifier_result_ref": { "$ref": "#/$defs/relativePath" },
|
|
68
|
+
"invalid_reason": { "type": "string", "minLength": 1 }
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"request_ref": { "$ref": "#/$defs/relativePath" },
|
|
72
|
+
"resolution_ref": { "$ref": "#/$defs/relativePath" },
|
|
73
|
+
"result_ref": { "$ref": "#/$defs/relativePath" },
|
|
74
|
+
"trajectory_ref": { "$ref": "#/$defs/relativePath" },
|
|
75
|
+
"created_at": { "type": "string", "format": "date-time" },
|
|
76
|
+
"completed_at": { "type": "string", "format": "date-time" }
|
|
77
|
+
},
|
|
78
|
+
"$defs": {
|
|
79
|
+
"relativePath": { "type": "string", "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\).+$" }
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -51,6 +51,21 @@
|
|
|
51
51
|
"items": {
|
|
52
52
|
"type": "string"
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
|
+
"context": { "$ref": "run-context.schema.json" },
|
|
56
|
+
"parent": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": ["kind", "eval_id", "trial_id", "attempt"],
|
|
60
|
+
"properties": {
|
|
61
|
+
"kind": { "const": "eval" },
|
|
62
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
63
|
+
"trial_id": { "type": "string", "minLength": 1 },
|
|
64
|
+
"attempt": { "type": "integer", "minimum": 1 }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"model_identity": { "type": "object" },
|
|
68
|
+
"protocol_identity": { "type": "object" },
|
|
69
|
+
"defer_benchmark_observation": { "type": "boolean" }
|
|
55
70
|
}
|
|
56
71
|
}
|
|
@@ -1,30 +1,73 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
3
|
-
"$id": "https://
|
|
4
|
-
"title": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
"additionalProperties": false,
|
|
8
|
-
"required": ["schema_version", "run_id", "session_id", "format", "fidelity", "path"],
|
|
9
|
-
"properties": {
|
|
10
|
-
"schema_version": { "const": "1" },
|
|
11
|
-
"run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
12
|
-
"session_id": { "type": "string", "minLength": 1 },
|
|
13
|
-
"provider_session_id": { "type": "string" },
|
|
14
|
-
"format": {
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/trajectory-ref.schema.json",
|
|
4
|
+
"title": "Hitch trajectory reference",
|
|
5
|
+
"oneOf": [
|
|
6
|
+
{
|
|
15
7
|
"type": "object",
|
|
16
8
|
"additionalProperties": false,
|
|
17
|
-
"required": ["
|
|
9
|
+
"required": ["schema_version", "run_id", "session_id", "format", "fidelity", "path"],
|
|
18
10
|
"properties": {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
11
|
+
"schema_version": { "const": "1" },
|
|
12
|
+
"run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
13
|
+
"session_id": { "type": "string", "minLength": 1 },
|
|
14
|
+
"provider_session_id": { "type": "string" },
|
|
15
|
+
"format": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": ["family", "version", "contract_commit", "compression", "pack_chunks"],
|
|
19
|
+
"properties": {
|
|
20
|
+
"family": { "const": "dsh-session" },
|
|
21
|
+
"version": { "const": 0 },
|
|
22
|
+
"contract_commit": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
|
|
23
|
+
"compression": { "const": "none" },
|
|
24
|
+
"pack_chunks": { "const": false }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"fidelity": { "enum": ["native", "normalized", "minimal"] },
|
|
28
|
+
"path": { "type": "string", "minLength": 1 },
|
|
29
|
+
"sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }
|
|
24
30
|
}
|
|
25
31
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": ["schema_version", "run_id", "fidelity", "files"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"schema_version": { "const": "2" },
|
|
38
|
+
"run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
39
|
+
"fidelity": { "enum": ["provider_native", "normalized", "minimal"] },
|
|
40
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
41
|
+
"provider_session_id": { "type": "string", "minLength": 1 },
|
|
42
|
+
"files": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"minItems": 1,
|
|
45
|
+
"items": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"required": ["role", "path", "media_type", "sha256", "bytes"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"role": { "enum": ["provider_events", "provider_transcript", "provider_artifact", "canonical_session"] },
|
|
51
|
+
"path": { "type": "string", "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\).+$" },
|
|
52
|
+
"media_type": { "type": "string", "minLength": 1 },
|
|
53
|
+
"sha256": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
54
|
+
"bytes": { "type": "integer", "minimum": 0 }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"redactions": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"required": ["rule_id", "count"],
|
|
64
|
+
"properties": {
|
|
65
|
+
"rule_id": { "type": "string", "minLength": 1 },
|
|
66
|
+
"count": { "type": "integer", "minimum": 1 }
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]
|
|
30
73
|
}
|