@orkestrel/scaffold 0.0.103 → 0.0.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/skills/orkestrel-dispatch/scripts/helpers.js +84 -1
- package/dist/agents/skills/orkestrel-dispatch/scripts/launch.js +21 -6
- package/dist/agents/skills/orkestrel-harden/scripts/titles.js +338 -0
- package/dist/agents/skills/orkestrel-publish/scripts/swap.js +3 -39
- package/dist/agents/skills/orkestrel-publish/scripts/wave.js +433 -47
- package/dist/agents/skills/orkestrel-publish/scripts/window.js +2 -1
- package/dist/bin/main.js +17 -10
- package/dist/bin/main.js.map +1 -1
- package/dist/host/agents/orchestration.md +6 -6
- package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +2 -2
- package/dist/host/agents/skills/enterprise-bootstrap/references/inspection.md +1 -1
- package/dist/host/agents/skills/orkestrel-build/SKILL.md +2 -2
- package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +2 -2
- package/dist/host/agents/skills/orkestrel-debrief/references/field-testing.md +1 -1
- package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
- package/dist/host/agents/skills/orkestrel-dispatch/SKILL.md +10 -10
- package/dist/host/agents/skills/orkestrel-dispatch/references/launch.md +1 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/helpers.ts +100 -1
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/launch.ts +27 -6
- package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +4 -4
- package/dist/host/agents/skills/orkestrel-falsify/agents/openai.yaml +1 -1
- package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +8 -7
- package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +6 -6
- package/dist/host/agents/skills/orkestrel-harden/SKILL.md +6 -1
- package/dist/host/agents/skills/orkestrel-harden/references/bindings.md +1700 -0
- package/dist/host/agents/skills/orkestrel-harden/references/contract.md +2 -2
- package/dist/host/agents/skills/orkestrel-harden/references/equivalence.md +48 -0
- package/dist/host/agents/skills/orkestrel-harden/references/hardening.md +4 -2
- package/dist/host/agents/skills/orkestrel-harden/scripts/titles.ts +425 -0
- package/dist/host/agents/skills/orkestrel-journey/SKILL.md +2 -2
- package/dist/host/agents/skills/orkestrel-journey/references/captures.md +9 -8
- package/dist/host/agents/skills/orkestrel-parallel/SKILL.md +72 -0
- package/dist/host/agents/skills/orkestrel-parallel/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-parallel/references/harnesses.md +12 -0
- package/dist/host/agents/skills/orkestrel-polish/SKILL.md +3 -3
- package/dist/host/agents/skills/orkestrel-publish/SKILL.md +2 -2
- package/dist/host/agents/skills/orkestrel-publish/references/release.md +1 -0
- package/dist/host/agents/skills/orkestrel-publish/references/wave.md +56 -13
- package/dist/host/agents/skills/orkestrel-publish/references/window.md +6 -6
- package/dist/host/agents/skills/orkestrel-publish/scripts/swap.ts +5 -49
- package/dist/host/agents/skills/orkestrel-publish/scripts/wave.ts +646 -49
- package/dist/host/agents/skills/orkestrel-publish/scripts/window.ts +2 -1
- package/dist/host/agents/transports/codex.md +1 -1
- package/dist/host/claude/agents/orkestrel.md +54 -53
- package/dist/host/claude/agents/reviewer.md +4 -4
- package/dist/host/claude/agents/verifier.md +1 -1
- package/dist/host/claude/rules/documentation.md +2 -1
- package/dist/host/claude/rules/patterns.md +1 -1
- package/dist/host/claude/rules/quality.md +2 -2
- package/dist/host/claude/rules/styles.md +1 -1
- package/dist/host/claude/rules/tests.md +34 -8
- package/dist/host/claude/rules/typescript.md +29 -0
- package/dist/host/claude/rules/workspace.md +32 -22
- package/dist/host/claude/rules/writing.md +34 -26
- package/dist/host/claude/settings.json +2 -0
- package/dist/host/claude/skills/orkestrel-debrief/SKILL.md +1 -1
- package/dist/host/claude/skills/orkestrel-falsify/SKILL.md +1 -1
- package/dist/host/claude/skills/orkestrel-parallel/SKILL.md +11 -0
- package/dist/host/codex/agents/analyst.toml +3 -3
- package/dist/host/codex/agents/reviewer.toml +4 -4
- package/dist/host/codex/agents/verifier.toml +3 -1
- package/dist/host/configs/policy.ts +13 -2
- package/dist/host/dotfiles/editorconfig +0 -1
- package/dist/host/dotfiles/gitattributes +0 -1
- package/dist/host/dotfiles/gitignore +0 -1
- package/dist/host/dotfiles/oxlintrc.json +24 -0
- package/dist/host/guides/agent.md +1674 -598
- package/dist/host/guides/budget.md +89 -29
- package/dist/host/guides/form.md +485 -99
- package/dist/host/guides/mcp.md +14 -2
- package/dist/host/guides/ollama.md +367 -86
- package/dist/host/guides/probe.md +1 -1
- package/dist/host/guides/scaffold.md +158 -101
- package/dist/host/guides/study.md +3185 -0
- package/dist/host/guides/table.md +239 -29
- package/dist/host/guides/terminal.md +22 -20
- package/dist/host/guides/test.md +776 -315
- package/dist/host/manifest.json +117 -65
- package/dist/host/tests/config.test.ts +136 -82
- package/dist/host/tests/policy.test.ts +41 -3
- package/dist/host/tests/setupPolicy.ts +87 -29
- package/dist/src/core/index.cjs +1389 -612
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +35 -20
- package/dist/src/core/index.d.ts +35 -20
- package/dist/src/core/index.js +1387 -613
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +12 -12
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.d.cts +12 -12
- package/dist/src/server/index.d.ts +12 -12
- package/dist/src/server/index.js +12 -12
- package/dist/src/server/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,3185 @@
|
|
|
1
|
+
# Study
|
|
2
|
+
|
|
3
|
+
> Bounded comparative execution with captured artifacts and separate grading.
|
|
4
|
+
|
|
5
|
+
The host-independent engine is exported from `@orkestrel/study`; custody and native workers are exported from `@orkestrel/study/server`. Study requires Node.js 22.18.0 or later. TypeScript consumers of the server entry must install `@types/node` because its declarations import `node:` modules. The core entry needs no Node.js types.
|
|
6
|
+
|
|
7
|
+
## Execution and evidence
|
|
8
|
+
|
|
9
|
+
Declare the question, purpose, arms, scenarios, repetition order, and rubric before execution. Each repetition row names every arm exactly once. The engine opens fresh state for each trial and retains state between that trial's ordered goals. It executes the declared schedule once; retries are disabled.
|
|
10
|
+
|
|
11
|
+
The request meter reserves token and byte ceilings before an adapter dispatches work. Request, goal, trial, and series limits bound enclosing work. Missing actual usage remains unknown and consumes the admitted ceiling. Capacity, infrastructure, deadline, and interruption are operational outcomes; a product never awards its own task verdict. An error that carries a failure keeps that attribution; a study error without one reads as capacity for the `CAPACITY` code and as deadline for the `DEADLINE` code. A branded `BudgetError` from any module copy reads as capacity with a `budget` stop and retains its source readings. Every other rejection reads as infrastructure, including an unbranded budget lookalike.
|
|
12
|
+
|
|
13
|
+
A study error stamps an own, non-enumerable, non-writable `STUDY_ERROR_BRAND` descriptor whose value is the error itself. `isStudyError` requires that descriptor with an `Error` subclass, a declared code, and valid optional failure attribution. Subclasses can replace the name. The guard validates the Error name, message, and optional stack. Failure stop readings retain their declared number type, including nonfinite values; serialized admission and the standalone stop guard require finite readings. Failure stops are checked structurally, including class instances and inherited fields; serialized admission retains its exact-record checks. The guard reads through the contract package's captured reflection inside its never-throw boundary, so a study error thrown by another package, ESM, CommonJS, or captured module copy keeps its code and attribution. The brand uses the global symbol registry: the brand recognizes the contract without proving its origin. An unbranded older copy, an inherited or borrowed brand, a transparent proxy, malformed failure attribution, and a property-only lookalike read as infrastructure.
|
|
14
|
+
|
|
15
|
+
The `ArtifactError` class stamps `ARTIFACT_ERROR_BRAND` under the global key `@orkestrel/study.ArtifactError`. Its guard recognizes subclasses and other installed or module copies through the identity stamp, a code from `ARTIFACT_ERROR_CODES`, and the declared Error members. A look-alike without the brand, a transparent proxy, a plain branded object, and malformed members return false.
|
|
16
|
+
|
|
17
|
+
Within one module format, the root and server entries share one `StudyError` class, so both `instanceof StudyError` and `isStudyError` recognize server errors. The ESM and CommonJS builds carry separate classes. Across module formats, recognize a server error with `isStudyError`; `instanceof StudyError` is false.
|
|
18
|
+
|
|
19
|
+
A product that exceeds its goal, trial, or series output allowance is omitted from custody with a capacity failure. Previously admitted products remain retained, and the remaining horizon is explicitly unexecuted. A genuine custody write or metadata-capacity failure still rejects execution and leaves the result unsealed.
|
|
20
|
+
|
|
21
|
+
Each observation and attempt records an explicit execution fact. An observation is executed when the engine dispatched its goal to the session, and unexecuted when it fills the horizon after a terminal failure; an unexecuted observation holds a failure and no product, usage, or duration. An attempt is executed when it entered trial execution without an inherited terminal series failure, including a failure before the driver opened, so the fact does not claim that the driver was opened. Executed goals form a prefix of the horizon, and an executed goal that fails ends it. Both facts are required booleans, never inferred from a product, usage, duration, or failure message, and custody refuses an attempt that omits one or contradicts them. A terminal attempt holds a failure whenever a goal failed or went unexecuted. Study carries no format counter; the artifact inventory records the exact implementation fingerprints, and the definition, rubric, and label versions are caller-authored metadata that identify supplied content.
|
|
22
|
+
|
|
23
|
+
A ticket reports `settled` from its own settlement, never from `signal.aborted`: a worker ticket whose signal aborted is unsettled locally because the parent owns that failure. After work throws, call `failStudyTicket` with the caught value. It leaves a ticket that already settled or aborted untouched, so no request is accounted twice. Otherwise it fails the ticket once with the reading `readStudyFailure` gives the value; an optional role replaces any role that reading carries, and without one the carried role, then the ticket's admitted role, applies. A refusal thrown by the ticket's own settlement propagates. A consumer that must account known bytes when an operation throws, or finish an expected refusal, keeps that choice in its own code.
|
|
24
|
+
|
|
25
|
+
The driver receives a borrowed admission interface and an evidence sink. The concrete engine owns the meter's closing lifecycle. Native workers await parent admission and acknowledge request settlement; each trial runs in a fresh child. Trusted adapters can access native resources, so process supervision is not a sandbox for untrusted code.
|
|
26
|
+
|
|
27
|
+
Execution custody creates a result directory exclusively, appends evidence, retains terminal attempts, and seals only a complete scheduled population. A result without a seal remains interrupted. Offline reading verifies the seal's exact file inventory and digests. Changed execution bytes refuse custody verification.
|
|
28
|
+
|
|
29
|
+
Grading uses a sealed result and independently selected rubric bytes. Immutable grading versions retain their own rubric, packet, mapping, and imported label bytes. Semantic criteria remain unknown until accountable labels are imported. Reports select an exact grading identity and retain unknown criteria in whole-horizon intervals.
|
|
30
|
+
|
|
31
|
+
Report operations partition trial records and goal records separately into executed and unexecuted by their explicit fact. The trial and goal counts overlap and are never added. Each fault row counts the affected trial or goal records for one cause, not independent failure events. The `content` cause names a request that completed but whose consumer refused the content as unusable. It claims no model or decoder cause and grades no semantic quality. Study bans no arbitrary substantive content: each consumer decides what it refuses, and generic Study only transports the explicit cause. A consumer that refuses content from a request it already settled leaves that accounting settled and does not fail the ticket again; it throws a `StudyError` with the `FAULT` code and an attached failure carrying `content` and its role. The first failed goal and the later unexecuted goals, including those of subsequent trials, keep the cause `content` and the role, and only the explicit executed fact tells them apart. A completed goal holds a non-partial product and no failure, and a completed trial holds no failure and only completed goals. Completion is an operational count, neither task success nor the qualification gate, and a partial product is retained and counted separately.
|
|
32
|
+
|
|
33
|
+
### Admit a bounded request
|
|
34
|
+
|
|
35
|
+
Admit the ceiling before work, then settle the actual measurements. Close the owned resources after the goal ends.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { StudyControl, StudyScope, StudyMeter } from '@orkestrel/study'
|
|
39
|
+
|
|
40
|
+
const control = new StudyControl()
|
|
41
|
+
const limit = { duration: 1000, calls: 1, tokens: 8, bytes: 64 }
|
|
42
|
+
const scope = new StudyScope({ limit, control, label: 'Goal' })
|
|
43
|
+
const meter = new StudyMeter({ request: limit, scopes: [scope], control })
|
|
44
|
+
try {
|
|
45
|
+
const ticket = meter.admit({ role: 'tool', tokens: 8, bytes: 64 })
|
|
46
|
+
ticket.finish({ role: 'tool', calls: 1, tokens: 3, bytes: 12, duration: 1 })
|
|
47
|
+
const usage = meter.usage // [{ role: 'tool', calls: 1, tokens: 3, bytes: 12, duration: 1 }]
|
|
48
|
+
} finally {
|
|
49
|
+
meter.close()
|
|
50
|
+
scope.close()
|
|
51
|
+
control.close()
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Retain complete execution custody
|
|
56
|
+
|
|
57
|
+
Supply a validated manifest, a nonexistent directory, and terminal attempts for every scheduled trial. This example's scenarios declare a goal named write. The caller supplies observations; custody validates and retains them without executing the domain driver. Each attempt and observation carries its execution fact.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
import type { StudyAttempt, StudyManifest } from '@orkestrel/study'
|
|
61
|
+
import { StudyResultStore, readStudyResult } from '@orkestrel/study/server'
|
|
62
|
+
|
|
63
|
+
declare const directory: string
|
|
64
|
+
declare const manifest: StudyManifest
|
|
65
|
+
declare const attempts: readonly StudyAttempt[]
|
|
66
|
+
|
|
67
|
+
const results = new StudyResultStore({ directory, manifest })
|
|
68
|
+
await results.create()
|
|
69
|
+
for (const attempt of attempts) {
|
|
70
|
+
const sink = await results.start(attempt.trial)
|
|
71
|
+
await sink.append({ event: 'saved', goal: 'write', value: 'remember' })
|
|
72
|
+
await results.finish(attempt)
|
|
73
|
+
}
|
|
74
|
+
const seal = await results.seal()
|
|
75
|
+
const reading = await readStudyResult(directory)
|
|
76
|
+
const status = reading.status // 'sealed'
|
|
77
|
+
const sealed = reading.status === 'sealed' && reading.seal.id === seal.id // true
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Limits
|
|
81
|
+
|
|
82
|
+
Captured identities bind admitted files, module selections, and Node runtime settings. Recorded replay reproduces exact application HTTP bodies through the declared collaborator; it identifies neither the entire machine nor the external service, TLS records, or transfer framing. Neutral semantic identifiers omit treatment and model names, but input and product text can reveal design details. This guide's executable examples prove local admission and custody; they do not establish GPU capacity or model quality.
|
|
83
|
+
|
|
84
|
+
## Captured loading
|
|
85
|
+
|
|
86
|
+
Select canonical absolute package roots and built ESM entries under each package's dist directory. Inspection captures bytes without evaluating modules. Verification compares captured bytes to disk. Loading evaluates the selected entry through captured-byte hooks and verifies again after evaluation.
|
|
87
|
+
|
|
88
|
+
Admit every package root reached by native dependency resolution, including installed copies alongside a selected local package. Distinct canonical roots may share a package name; each root and its captured bytes retain their own identity. Repeated roots refuse inspection, and imports into omitted roots refuse loading before evaluation.
|
|
89
|
+
|
|
90
|
+
Select a consumer-owned source directory separately when the adapter needs strip-only TypeScript. Its graph cannot overlap a built package graph. Source JSON files cannot be executable imports. Explicit assets retain exact file bytes in custody without granting import eligibility. Fixture and rubric bytes retain separate execution identities. Native package exports and extension rules still govern resolution. The inventory records package manifests, captured files, explicit assets, selected entries, Node version, and runtime settings.
|
|
91
|
+
|
|
92
|
+
Select excluded built files to refuse every import edge that reaches them; exclusion leaves the inventory identity unchanged. Run loading in a disposable worker and terminate the worker afterwards. A process admits one loaded inventory. Trusted code can use native process APIs, evaluation, and external services; the loader does not replay those resources or sandbox untrusted code.
|
|
93
|
+
|
|
94
|
+
Call the `materialize` method with an absent absolute destination under an existing physical parent. Materialization preserves the admitted physical forest, including nested node_modules and duplicate package copies. It copies exact bytes and verifies source before and after copying and the entire destination before returning. Explicit assets join the existing aggregate capture limits. Different source or destination volumes, overlap, occupied destinations, links and redirected ancestors, aliases, unsafe names, duplicate keys, and stale source references refuse before copying through them. A refusal before copying writes nothing; an occupied destination stays unchanged. A refusal during copying, including source drift or a link added mid-copy, can leave an incomplete destination without closure.json.
|
|
95
|
+
|
|
96
|
+
The portable closure digest binds sorted member keys, byte digests, sizes, and relative package identities. It excludes source provenance and the destination path. The relocated loader identity retains its canonical paths and runtime settings separately. Path checks and reads do not provide an atomic filesystem snapshot, concurrent hardlink-race resistance, or crash recovery.
|
|
97
|
+
|
|
98
|
+
### Inspect selected bytes
|
|
99
|
+
|
|
100
|
+
Supply a canonical named ESM package root and an admitted built entry. The returned inventory identifies the selected bytes without executing the entry.
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
import { ArtifactLoader } from '@orkestrel/study/server'
|
|
104
|
+
|
|
105
|
+
declare const root: string
|
|
106
|
+
declare const entry: string
|
|
107
|
+
|
|
108
|
+
const artifacts = new ArtifactLoader({ roots: [root], entries: [entry] })
|
|
109
|
+
const inventory = artifacts.inspect()
|
|
110
|
+
const selected = inventory.entries.includes(entry) // true
|
|
111
|
+
artifacts.verify()
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Consumer boundary
|
|
115
|
+
|
|
116
|
+
An authored consumer module exports a factory named createStudyAdapter. The factory returns an adapter with validation, driver construction, and retained-evidence grading. Validation receives generic declarations before agent, subject, or provider modules execute. During validation, an import edge that reaches the selected agent, subject, or provider entry, directly or through another module, refuses the check; other admitted modules still load. A driver receives admitted module namespaces, its execution profile, and exclusive scratch resources.
|
|
117
|
+
|
|
118
|
+
Keep grading criteria outside public goal input. Grade retained observations and evidence independently of execution. Return unknown judgments when evidence is unavailable; preserve the criterion's declared method. Adapter code runs as trusted instrumentation in bounded child work and is not a security sandbox.
|
|
119
|
+
|
|
120
|
+
Call `gradeStudyEvidence` from an adapter's grade method to traverse the declared schedule and criteria. The traversal validates the manifest, rubric, attempts, evidence, and every declared goal when called directly, so a public grading helper keeps that validation. It calls the supplied `StudyGradeFunction` for every trial and criterion of that trial's scenario, in schedule then rubric order, and a trial without a retained attempt still receives a judgment with no attempt and no evidence. The predicate returns the verdict, method, reason, and `StudyReference` citations. The traversal renders each citation as a retained path, with a one-based position for an evidence row, and refuses a citation of a trial that was not retained or a row that does not exist. Domain predicates, whole-attempt or per-goal success, and expected refusals remain in the consumer.
|
|
121
|
+
|
|
122
|
+
## Agent instrumentation
|
|
123
|
+
|
|
124
|
+
An Agent-backed consumer passes the admitted Agent namespace to the shared instrumentation, which imports Agent types only and constructs nothing from an installed Agent copy. Request measurements, the nominal Agent error, and daemon timing keep the types their owning Agent and Ollama packages export; Study declares no copy of them. The `StudyAgentObserver` class delegates every provider call unchanged and records one size reading before each dispatch. The gauge is explicit: without one, a reading carries no projection. The enforced option selects the usage policy separately from observation, so a passive reading refuses no return. The `StudyAgentJudge` class binds a real judge to a `StudyLatchInterface` owner, so a caught classification failure stays visible to the study.
|
|
125
|
+
|
|
126
|
+
The `StudyOllamaTransport` class admits model requests through the goal's meter and metadata through an independent declared budget for calls, bytes, and duration. Metadata has no model-meter parent. Each response retains its byte and duration limits, actual usage precedes a policy refusal, and the first operational failure keeps its identity. Each model role declares its exact Ollama options, think allowance, strict truncate and shift fields, and length-finish policy. Maintenance attribution carries no generation policy. The transport refuses an undeclared role and keeps unreported usage unknown. The `prepare` method binds later requests to one goal until the `clear` or `close` method ends it, and refuses with the `FAULT` code while a goal is bound or a response is open. The `fetch` and `verify` methods refuse with the `FAULT` code when no goal is bound, and `verify` retains that refusal. A request admitted before `clear` keeps its goal, and each goal's checkpoint joins only that goal's first observed dispatch.
|
|
127
|
+
|
|
128
|
+
Recording requires version, procedure, and exchange sink together. Preflight and postflight verify version, tags, and show for each distinct pinned model. Ordered exact steps compare UTF-8 bytes and verify their declared SHA-256 receipt; capture steps require their declared positive safe byte length and forbid body or input members. Goal, role, route, policy, and order are checked before sending. A second request and verification during request admission refuse. The sink supplies each HTTP ordinal, which joins dispatch and wire evidence even without passive observation. An attempt retains request bytes before sending. A validated response retains native status, selected headers, exact bytes, and chunk lengths; a failure retains bounded partial bytes and cannot produce completion. Successful postflight appends completion after every declared step has finished. The worker owns the preceding declaration and any maintenance prefix.
|
|
129
|
+
|
|
130
|
+
The transport owns its configuration before validation and snapshots each outbound URL, settings, headers, and request correlation before awaiting admission. Later caller mutation cannot change the admitted request. Cancellation signals, the timing callback, and the optional fetch collaborator retain their live identity.
|
|
131
|
+
|
|
132
|
+
The `StudyOllamaTransportOptions` interface accepts an optional `fetch` collaborator with the `StudyOllamaFetchFunction` signature. Omit the option to keep native fetch. When supplied, the collaborator receives the validated Study role, URL, encoded body, headers, bounded signal, and `redirect: 'error'` at the send boundary. Agent and summary keep distinct roles even when they share a model. Construction refuses a present non-callable collaborator with the `CONFIG` code.
|
|
133
|
+
|
|
134
|
+
The collaborator returns a native `Response` and never settles a Study ticket. Study keeps request validation, admission, dispatch evidence, response status and byte bounds, terminal and timing checks, cancellation, accounting, and the failure latch. A synchronous throw, HTTP refusal, incomplete stream, abort, or cap follows the existing accounting path. Caller abort, the request deadline, and the `close` method settle a pending collaborator wait with the signal's reason even if the collaborator ignores cancellation; Study accounts the request once, retains the failure, and cancels a response that arrives later.
|
|
135
|
+
|
|
136
|
+
### Forward admitted requests by role
|
|
137
|
+
|
|
138
|
+
Supply the forwarding function inside the process that constructs the transport. This example retains the roles and delegates the supplied request settings to native fetch.
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
import type { StudyRole } from '@orkestrel/study'
|
|
142
|
+
import type { StudyOllamaTransportOptions } from '@orkestrel/study/server'
|
|
143
|
+
import { StudyOllamaTransport } from '@orkestrel/study/server'
|
|
144
|
+
|
|
145
|
+
declare const configured: StudyOllamaTransportOptions
|
|
146
|
+
const roles: StudyRole[] = []
|
|
147
|
+
const transport = new StudyOllamaTransport({
|
|
148
|
+
...configured,
|
|
149
|
+
fetch: (role, input, init) => {
|
|
150
|
+
roles.push(role)
|
|
151
|
+
return globalThis.fetch(input, init)
|
|
152
|
+
},
|
|
153
|
+
})
|
|
154
|
+
// Prepare the goal, then use transport.fetch or transport.verify as usual.
|
|
155
|
+
// Study reads each returned response before completing its accounting.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The server entry adds a trace, a gauged summary, and a scripted provider over the same admitted Agent capabilities. The consumer passes those capabilities as `runtime`; none of the three imports an Agent runtime. The consumer keeps its model prompts, treatment options, origin joins, and grade policy.
|
|
159
|
+
|
|
160
|
+
The `StudyAgentTrace` class numbers each measured request and retains its context, estimate, and capacity-refusal rows for the active goal. Ordinals, dispatch numbers, and role identities continue across a trial's goals. The `observe` option selects those measurement and refusal rows. When it is `false`, `append` still retains a domain row for an active goal, and a row outside a goal is dropped. The `start` method refuses with the `CONFIG` code while a goal is active and leaves that goal and its rows unchanged. The `flush` method appends the rows to a `StudySinkInterface` in order, keeps rows appended during the flush, and ends the goal and clears its rows, including when custody refuses a row. A `flush` with no active goal does nothing, and a `flush` while another is pending refuses with the `CONFIG` code and leaves the pending one untouched. The `origins` handler joins each measured message to its consumer origin.
|
|
161
|
+
|
|
162
|
+
The `StudyAgentSummary` class measures one canonical array, the folded messages followed by the instruction, and sends the very same array to the provider. Construction refuses with the `CONFIG` code unless `limit` is a positive safe integer and the copied gauge passes `isStudyAgentGauge`: its `scale` is finite and greater than 0 and its `overhead` is finite and at least 0. The summary reads each gauge field once and keeps that validated copy. The guard admits extra members; a consumer that requires exact settings keys composes its own key check. A projection that reaches `limit` fails with the `CAPACITY` code before any request is sent. A summary outside an active goal, or with blank content after its evidence row, fails with the `FAULT` code.
|
|
163
|
+
|
|
164
|
+
The `StudyAgentScript` class serves declared inert responses through the Agent provider boundary. Its constructor takes an explicit encoded `bytes` bound and refuses a value that is not a nonnegative safe integer. The `prepare` method keeps an owned snapshot of a goal's responses, so later caller mutation cannot change a served call. The `prepare` method refuses with the `CONFIG` code while a goal is prepared, and the `clear` method ends the prepared goal. A stream refuses with the `CONFIG` code when no goal is prepared, and a stream already running when `clear` is called finishes under its own goal. The `isStudyAgentResponse` guard accepts a response with JSON calls and sets no limit on content, call count, or `consume`; the consumer composes its own workload bounds. A stream abandoned after admission accounts for an Agent budget cut without latching a failure. Other abandoned streams fail the admitted request with the run signal's reason, or a `FAULT` when the signal carries none.
|
|
165
|
+
|
|
166
|
+
The `readStudyAgentMessages` function projects provider messages onto the role, content, and call fields a workload reads. The `buildStudyAgentReadings` function projects a Ledger result's readings onto JSON. The `buildStudyOllamaModels` function pins the model, and the judge when the provider declares both its name and digest. The `buildStudyOllamaOptions` function projects a role policy onto provider options and adds `truncate` and `shift` as `false` only for a strict policy.
|
|
167
|
+
|
|
168
|
+
The `buildStudyAgentToolResult` function projects an executed Agent tool call into its `id`, `name`, owned JSON `arguments`, boolean `success`, and owned JSON `value` or string `error`. The `buildStudyAgentToolDenial` function projects a denied call into its `id` and `name`, with a `reason` only when it is a string. Both refuse a malformed call with the `FAULT` code. The result projection also refuses a missing boolean `success`, non-JSON arguments or value, and a malformed failure error. Tool accounting, expected refusals, and workload grading remain in the consumer.
|
|
169
|
+
|
|
170
|
+
Both projections use `readStudyAgentToolCall` to read each foreign call field once and validate the fresh envelope. The reader retains the arguments record by reference; the result projection owns its JSON copy.
|
|
171
|
+
|
|
172
|
+
### Read an Agent tool call
|
|
173
|
+
|
|
174
|
+
Read the envelope before projecting executed or denied evidence.
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
import { readStudyAgentToolCall } from '@orkestrel/study/server'
|
|
178
|
+
|
|
179
|
+
const call = readStudyAgentToolCall({ id: 'c1', name: 'write', arguments: { path: 'note.txt' } })
|
|
180
|
+
// { id: 'c1', name: 'write', arguments: { path: 'note.txt' } }
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Inspect Agent tool evidence
|
|
184
|
+
|
|
185
|
+
Validate the gauge independently of settings keys, then retain the Agent's executed or denied call.
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
import { isStudyAgentGauge } from '@orkestrel/study'
|
|
189
|
+
import { buildStudyAgentToolResult, buildStudyAgentToolDenial } from '@orkestrel/study/server'
|
|
190
|
+
|
|
191
|
+
const gauge = isStudyAgentGauge({ scale: 1, overhead: -0, label: 'summary' }) // true
|
|
192
|
+
const call = { id: 'c1', name: 'write', arguments: { path: 'note.txt' } }
|
|
193
|
+
const result = buildStudyAgentToolResult(call, { success: true, value: 'stored' })
|
|
194
|
+
// { id: 'c1', name: 'write', arguments: { path: 'note.txt' }, success: true, value: 'stored' }
|
|
195
|
+
const denial = buildStudyAgentToolDenial(call, 'refused')
|
|
196
|
+
// { id: 'c1', name: 'write', reason: 'refused' }
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Stop attribution
|
|
200
|
+
|
|
201
|
+
A `StudyFailure` record carries an optional reading under `stop`. The `StudyStop` record names the ceiling's `layer`, its `id`, its `max`, and the `consumed` tally including the refused charge. The `StudyLayer` union admits `scope`, `window`, `custody`, `meter`, `budget`, and `model`. A deadline has cause `deadline` and layer `scope`; its id names the duration allowance. An absent reading stays undefined in memory and projects to null through `studyStopToJSON`. The `isStudyStop` guard admits finite source readings, including negative and fractional values. Translation, IPC admission, and custody admission preserve those readings without clamping or relabelling them.
|
|
202
|
+
|
|
203
|
+
The `translateStudyAgentStop` function translates Agent's own result record. A consumer that refuses that stop throws the returned error. Meter and budget stops leave the Agent run partial; a model truncation can remain a complete answer when the consumer's policy admits it. Provider adapters finish a request cut by a branded budget error with unknown tokens so Agent's eventual record can attribute the layer. The scripted provider appends no row while closing a cut generator. An unbranded lookalike remains an infrastructure failure. A `StudyAgentResponse` declaration can set `truncated: true` to report the model's own token limit.
|
|
204
|
+
|
|
205
|
+
The report keeps `faults` by cause and adds `attributions` under both trial and goal operations. Each group partitions affected records by cause, role, layer, and execution fact. Groups follow `STUDY_CAUSES`, `STUDY_ROLES`, and `STUDY_LAYERS`, with absent role and layer last. Each group's `readings` preserves source order and carries the trial, the goal at goal level, and the ceiling's id, max, and consumed values. Unexecuted goals inherit the trial's stop and retain their own reading.
|
|
206
|
+
|
|
207
|
+
The Ollama transport appends a `stop` evidence row after its `wire` row when completion policy refuses a model cap or context room. The nested stop keeps its ceiling id separate from the observed wire id. Observation adds the canonical dispatch, revision, and wire timeline. A budget cut writes a `cut` row with the budget context and finishes the request with known wire bytes and unknown tokens. A failure sealed without a stop stays in the report with a null layer and an empty readings array. Study infers no layer from the old message or evidence.
|
|
208
|
+
|
|
209
|
+
## Native command
|
|
210
|
+
|
|
211
|
+
Recording declares `record.bytes` on the profile. The manifest retains the same declaration, and the parent reserves that complete allowance separately for each trial before starting workers. The allowance covers every serialized sidecar byte, including base64 expansion, opening and terminal rows, and LF framing. It consumes series custody without consuming goal evidence or model quota. Recording profiles explicitly supply `settings.version`, `settings.metadata`, and `settings.procedure`; the worker validates those declarations before constructing the adapter driver.
|
|
212
|
+
|
|
213
|
+
The `StudyExchangeSink` class owns the trial's exclusive exchanges.jsonl descriptor. Its `next` property derives the next HTTP ordinal from accepted attempts, including a verified maintenance prefix. Callers await every append before sending or appending another row. The sink reserves failure-terminal space before an attempt and retains its first refusal. A failure omits response when no reply arrived or its bytes did not fit the sidecar allowance; the reason names which. Caught refusals prevent successful completion.
|
|
214
|
+
|
|
215
|
+
The store admits exchanges.jsonl only when recording is declared. Sealing requires each scheduled trial's complete sidecar, exact declaration order, paired identities, valid raw-body receipts, and one ordered dispatch and wire evidence row per HTTP ordinal. Duplicate, orphaned, reordered, failed, partial, missing, and unrequested histories refuse with the CUSTODY code. Every other unknown file remains refused. The `readStudyExchanges` function reverifies the complete seal and this evidence join before returning a replay history.
|
|
216
|
+
|
|
217
|
+
Replay execution requires `--replay <result> --prefix <JSON trial counts> --offline <true|false>`. Each positive prefix counts complete HTTP exchanges, including metadata and maintenance. The command verifies every selected trial before adapter validation or worker startup, and each worker rechecks its selected history. Replay requires the recording's exact Node runtime identity; another Node version, including a patch release, refuses before any worker starts. The executing profile supplies replay bounds. A supervisor fingerprint also pins changed execution bounds before dependent replay work.
|
|
218
|
+
|
|
219
|
+
The `StudyOllamaReplay` class validates the complete retained history before construction succeeds. Its projected procedure supplies recorded exact bodies inside the prefix, including bodies originally admitted as capture. A capture declaration without a sealed completed history cannot replay. A changed request inside the prefix refuses without forwarding. After the prefix, only an explicit live collaborator can send requests. Offline replay consumes the complete recorded population and constructs no daemon or native sender. Recorded maintenance consumes prefix positions without sending unload requests. Its `check` method refuses an incomplete prefix, unread responses, or a retained mismatch; its `close` method releases response readers.
|
|
220
|
+
|
|
221
|
+
The process driver accepts `StudyProcessDriverOptions`. Its optional `prepare` callback runs in the parent before session construction, preserves the reserved destination and allowance, and never crosses structured cloning or IPC. Offline replay refuses a preparation callback. A worker verifies any retained maintenance prefix before resuming the sidecar and projects those ordinals into its first goal's evidence.
|
|
222
|
+
|
|
223
|
+
A provider's optional `daemon` declaration makes live execution own a dedicated Ollama session at the provider URL. The declaration pins a canonical absolute executable, its SHA-256 digest, the exact version, explicit environment overrides, and distinct model names and inventory digests equal to the provider's model and judge pins. A shared model and judge pin requires one entry. A maintenance-only model, a relative executable, port 11434, a missing model digest, or conflicting environment-name casing refuses at profile load. The daemon owns the effective OLLAMA_HOST value. Without this declaration, the provider URL selects an external daemon.
|
|
224
|
+
|
|
225
|
+
The `StudyDaemonSession` class starts and verifies the daemon before trial execution. The manifest's `host.daemon` string retains the verified startup identity; startup version and inventory probes belong to no trial sidecar. Before each trial worker opens, preparation unloads the declared models in order. The `StudyDaemonTrial` class synchronizes each maintenance attempt before sending, retains status, allowed headers, original sender chunk lengths, and exact body bytes, and closes the prefix after daemon validation. A failed exchange retains a failure row. The worker joins the maintenance ordinals to the scenario's first declared goal. Every execution ending awaits daemon stop and process-tree join; an unconfirmed cleanup refuses completion. Offline replay constructs no daemon or preparation callback and sends no maintenance request.
|
|
226
|
+
|
|
227
|
+
Install the package in the consumer workspace, then run the study executable from that workspace. The selected declaration lives at studies/<name>/study.json, and its declared rubric path resolves inside that same directory. Its driver field selects a bundle at studies/<driver>/ containing scenarios/<scenario>.json, profiles/<profile>.json, and the adapter module index.ts. Several declarations can share one driver bundle while each keeps its own rubric. The profile defaults to local. JSON declarations use the public definition, scenario, profile, and rubric contracts.
|
|
228
|
+
|
|
229
|
+
The `readStudyDeclaration` function reads the selected definition, scenarios in declared order, and the rubric the definition names. It returns a `StudyDeclaration` record with the driver bundle and each scenario's bundle-relative fixture path and exact byte digest. It refuses a definition name or scenario identity that differs from its selection. The command uses this reader before reading the selected profile, so the refusal order is definition, scenarios, rubric, profile. The `StudyPreparation` record carries the driver's directory as `bundle`.
|
|
230
|
+
|
|
231
|
+
The `readStudyDeclarationBytes` function reads an already resolved, contained declaration path under the custody metadata allowance. A missing declaration, scenario, rubric, or profile, or a declaration path reached through a symbolic link or junction, refuses with the `CONFIG` code and exit code 64. The reader refuses a link before traversing it. Its diagnostic names the missing path or linked component relative to the consumer root with forward slashes. A missing result refuses with the `CUSTODY` code and exit code 1, naming the result selector as supplied. Result and grading storage retain their custody refusals.
|
|
232
|
+
|
|
233
|
+
The `matchesSystemError` predicate matches a system code only on an `Error` from this realm and returns false for a throwing code accessor. Structured cloning, such as a worker's `postMessage`, drops a Node error's system code, so the cloned error does not match.
|
|
234
|
+
|
|
235
|
+
A profile selects the Agent runtime entry in its required agent field and the package under study in its required subject field. The two fields can name the same entry or two entries, including entries from different installed copies of Agent. Each selected entry is captured and loaded once, and the driver receives both namespaces under the declared roles. The selected entries and their bytes are part of the execution identity.
|
|
236
|
+
|
|
237
|
+
The recap allowance of the room and the judge of the provider are optional. A study that produces no recap omits the recap allowance. A provider declares its judge model and its judge digest together or omits both; declaring only one refuses the profile. A declared recap and a declared judge keep their finite bounds.
|
|
238
|
+
|
|
239
|
+
A profile may carry an optional settings object of JSON values. The selected driver owns its interpretation; Study only validates the object, keeps an independent frozen copy, and refuses arrays, primitives, non-JSON values, and cycles. Settings are part of the resolved profile bytes, so changing one value changes the profile identity and the execution fingerprint. A profile without settings keeps the identity it had before the field existed.
|
|
240
|
+
|
|
241
|
+
The command supports explicit operations with operation-specific flags. Every flag takes a value and can appear once.
|
|
242
|
+
|
|
243
|
+
| Operation | Command | Result |
|
|
244
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
|
|
245
|
+
| Validate | study check <study> [--profile <name>] [--closure <directory>] | Fingerprint and suggested pinned execution arguments |
|
|
246
|
+
| Execute | study execute <study> [--profile <name>] [--out <path>] [--expected <sha256>] [--closure <directory>] [--replay <result> --prefix <JSON trial counts> --offline <true\|false>] | Execution result identity and suggested independent grading arguments |
|
|
247
|
+
| Grade | study grade <result> --rubric <path> | Immutable grading identity and suggested report arguments |
|
|
248
|
+
| Import labels | study label <result> --grading <sha256> --labels <path> | Another immutable grading identity and suggested report arguments |
|
|
249
|
+
| Report | study report <result> --grading <sha256> | Whole-horizon results for the selected grading |
|
|
250
|
+
| Freeze | study freeze <study> --profile <name> --to <directory> | Verified closure publication and relocated check fingerprint |
|
|
251
|
+
|
|
252
|
+
Success writes a JSON document. The next field contains suggested argv and never executes it automatically. Execution returns a result identity independently of the original study selector. Result selection accepts an identity under tmp/studies, a contained root-relative path, or an absolute path. Relative output paths stay inside the consumer working directory; existing output directories refuse execution. A relative result, --out, --rubric or --labels path, and a declared rubric path, separates its names with forward slashes and names no . or .. segment; profile paths resolve against the consumer root. Without --out, execution writes its result under tmp/studies by its new identity; the suggested execution arguments a check returns carry no --out.
|
|
253
|
+
|
|
254
|
+
Freeze retains the selected declarations, exact scenario and profile bytes, the adapter graph, every admitted package member, and the trusted runtime entry. It validates the relocated selection in a fresh captured child, rechecks source and destination, and writes closure.json exclusively after those checks pass. The publication retains the original execution identity, the relocated identity, and the relocated fingerprint separately. A validation-time write leaves the destination available for inspection with no publication marker; retry with an absent destination.
|
|
255
|
+
|
|
256
|
+
Check and execute accept --closure <directory>. Each operation verifies the published member census and bytes, uses the relocated root, entry, profile, and adapter, and compares the fresh check to the retained relocated identity. Only the root closure.json marker sits outside the copied-member census. An added file, omitted member, or changed non-entry dependency or asset refuses validation. The suggested execution arguments retain the closure selection for the supervisor.
|
|
257
|
+
|
|
258
|
+
Check returns a fingerprint for the declared execution selection. Pass that fingerprint through --expected to pin execution. Both check and execute require a quality profile to declare a qualification path. Execute then requires that path to select a sealed capacity result with the same identity, bounds, schedule, and scenarios and no operational failures. Check validates the declaration offline without opening the capacity result. Capacity and mechanism studies execute without a qualification. Grade names an exact independent rubric path. Label and report require an exact grading identity; no operation guesses a grading version. Imported labels are caller-supplied bytes, not a labeler invoked by this command. A labeled grading binds the preceding grading's instrument, so equal labels over different gradings retain different identities.
|
|
259
|
+
|
|
260
|
+
The `validateStudyInputs` function enforces the quality qualification requirement after the existing population, profile, room, reference, and coverage checks. Direct callers receive the same `CONFIG` refusal as the command when a quality profile omits its qualification. Capacity and mechanism inputs require no qualification.
|
|
261
|
+
|
|
262
|
+
A labeled grading's instrument combines the executable entry's byte hash with the inventory digest for its owning Study package. The inventory binds the exact bytes of `package.json` and every `.js`, `.mjs`, `.cjs`, and `.json` file under `dist`, including the server and core entries, with the selected entry, canonical paths, package identity, file sizes, Node version, runtime arguments, `NODE_OPTIONS`, platform, and architecture. Declaration and source-map files are excluded from module capture unless explicitly selected as custody-only assets. Changing an admitted manifest, module, or explicit asset changes its inventory digest. Label identities are host-sensitive, as grading identities are.
|
|
263
|
+
|
|
264
|
+
Help succeeds on stdout when --help appears anywhere. Empty arguments and invalid public grammar report on stderr with exit code 64. Operational diagnostics carry a study:CODE prefix and the refused token or path when applicable. Other exits are 0 for success, 124 for deadline, 130 for interruption, and 1 for operational failure. Private child routes require the native IPC boundary.
|
|
265
|
+
|
|
266
|
+
The `study --version` command prints the installed Study package's version and a newline without reading consumer declarations or starting child work. The `readStudyVersion` function reads that package's manifest at run time, independently of the consumer's manifest. Additional version arguments refuse with exit code 64; `--help` still takes precedence. A missing or empty runtime version refuses with the `CONFIG` code.
|
|
267
|
+
|
|
268
|
+
An adapter error response preserves the `CONFIG` code and translates other returned codes to `FAULT`.
|
|
269
|
+
|
|
270
|
+
Check, freeze, grade, label, and report have a fixed 60-second allowance. Execution checks first with the selected closure, then forwards the complete closure and replay selections unchanged and uses the declared series duration with a 15-second cleanup allowance. The command supervises process trees; consumer adapters remain trusted code.
|
|
271
|
+
|
|
272
|
+
## Guide parity
|
|
273
|
+
|
|
274
|
+
Run read-only parity before choosing a rewrite direction. An explicit direction updates compared summaries and titled examples, then reports unresolved drift.
|
|
275
|
+
|
|
276
|
+
```ts
|
|
277
|
+
// Run in the package checkout:
|
|
278
|
+
// npm run test:guides
|
|
279
|
+
// npm run test:guides -- --to guide
|
|
280
|
+
// npm run test:guides -- --to source
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Surface
|
|
284
|
+
|
|
285
|
+
The following declarations describe this concept.
|
|
286
|
+
|
|
287
|
+
| Name | Kind | Summary |
|
|
288
|
+
| ---------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
289
|
+
| `ARTIFACT_BYTES` | const | Bounds all captured input bytes to 128 MiB. |
|
|
290
|
+
| `ARTIFACT_ERROR_BRAND` | const | Marks artifact errors across module formats and installations. |
|
|
291
|
+
| `ARTIFACT_ERROR_CODES` | const | Lists the artifact refusal codes. |
|
|
292
|
+
| `ARTIFACT_DEPTH` | const | Bounds directory nesting below each selected root. |
|
|
293
|
+
| `ARTIFACT_FILES` | const | Bounds admitted files before another capture is allocated. |
|
|
294
|
+
| `ARTIFACT_FILE_BYTES` | const | Bounds one captured input file to 16 MiB. |
|
|
295
|
+
| `ARTIFACT_ROOTS` | const | Bounds selected package roots before traversal begins. |
|
|
296
|
+
| `ARTIFACT_VISITS` | const | Bounds all visited directory entries, including ignored assets. |
|
|
297
|
+
| `ArtifactError` | class | Reports an invalid or drifted artifact inventory. |
|
|
298
|
+
| `ArtifactFile` | interface | Records the exact bytes admitted at one absolute file path. |
|
|
299
|
+
| `ArtifactHookInput` | interface | Supplies the private namespace and separate source selection to resolution. |
|
|
300
|
+
| `ArtifactInventory` | interface | Records all admitted module bytes, selections, and native runtime identity. |
|
|
301
|
+
| `ArtifactLoadHandler` | type | Names Node's synchronous loading continuation. |
|
|
302
|
+
| `ArtifactLoader` | class | Captures built ESM and a separate strip-only consumer adapter in a fresh worker. |
|
|
303
|
+
| `ArtifactLoaderOptions` | interface | Selects built packages and an optional separate consumer source graph. |
|
|
304
|
+
| `ArtifactPackage` | interface | Records the identity declared by an admitted package manifest. |
|
|
305
|
+
| `ArtifactResolveHandler` | type | Names Node's synchronous resolution continuation. |
|
|
306
|
+
| `ArtifactRuntime` | interface | Binds native conditions and host-sensitive builtin behavior to the inventory. |
|
|
307
|
+
| `ArtifactSource` | interface | Retains captured bytes for the native loader. |
|
|
308
|
+
| `ArtifactSourceOptions` | interface | Selects a consumer-owned executable source directory and its exact adapter entry. |
|
|
309
|
+
| `ArtifactTally` | interface | Counts the directory entries visited and the file bytes admitted so far in one capture. |
|
|
310
|
+
| `Resolution` | class | Enforces captured inventory membership at every synchronous native import edge. |
|
|
311
|
+
| `STUDY_CAUSES` | const | Lists every operational ending in report order. |
|
|
312
|
+
| `STUDY_COMMAND_DURATION` | const | Caps declared execution duration at the native supervisor's host ceiling. |
|
|
313
|
+
| `STUDY_COMMAND_GRADER` | const | Names the trusted command's independent offline predicate. |
|
|
314
|
+
| `STUDY_COMMAND_HELP` | const | Defines the complete public CLI reference shared by help and grammar diagnostics. |
|
|
315
|
+
| `STUDY_COMMAND_OPERATION` | const | Names the command route beneath the native supervisor. |
|
|
316
|
+
| `STUDY_CUSTODY_BYTES` | const | Limits untrusted metadata before JSON parsing or file allocation. |
|
|
317
|
+
| `STUDY_DRAIN_DURATION` | const | Bounds how long inherited output handles stay open after native exit, in milliseconds. |
|
|
318
|
+
| `STUDY_ERROR_BRAND` | const | Keys the own self-identity every study error stamps on itself. |
|
|
319
|
+
| `STUDY_FRAME_BYTES` | const | Limits each serialized IPC envelope, including its JSON framing. |
|
|
320
|
+
| `STUDY_GOALS` | const | Caps a declared scenario horizon before execution. |
|
|
321
|
+
| `STUDY_LAUNCH_BYTES` | const | Bounds combined supervised command output to 16 MiB before terminating the tree. |
|
|
322
|
+
| `STUDY_LAUNCH_CLEANUP` | const | Extends supervised execution beyond its declared series duration for cleanup. |
|
|
323
|
+
| `STUDY_LAUNCH_DURATION` | const | Bounds each supervised operation other than execution to 60 seconds. |
|
|
324
|
+
| `STUDY_LOG_BYTES` | const | Limits combined worker stdout and stderr before termination. |
|
|
325
|
+
| `STUDY_NAME` | const | Restricts identifiers to portable path-safe names. |
|
|
326
|
+
| `STUDY_PACKET_DISCLOSURE` | const | Discloses the limits of neutral identifiers when public text remains visible. |
|
|
327
|
+
| `STUDY_PENDING_LIMIT` | const | Limits outstanding bidirectional protocol work per process. |
|
|
328
|
+
| `STUDY_PROCESS_LABEL` | const | Attributes an expired process handshake or cleanup deadline. |
|
|
329
|
+
| `STUDY_RESERVED_NAME` | const | Rejects names that Windows reserves even on other hosts. |
|
|
330
|
+
| `STUDY_ROLES` | const | Lists every measured request role in report order. |
|
|
331
|
+
| `STUDY_TASK_DURATION` | const | Caps pure domain work independently of its event loop. |
|
|
332
|
+
| `STUDY_TASK_OPERATION` | const | Names the private bounded validation and grading route. |
|
|
333
|
+
| `STUDY_TRIALS` | const | Caps a declared trial population before schedule allocation. |
|
|
334
|
+
| `STUDY_WORKER_OPERATION` | const | Names the worker operation routed by the built application entry. |
|
|
335
|
+
| `StudyAdapterInterface` | interface | Defines the consumer's domain checks, driver construction, and retained-evidence grading. |
|
|
336
|
+
| `StudyAdjudication` | interface | Holds retained observations and independent criteria for a grading operation. |
|
|
337
|
+
| `StudyAdmissionInterface` | interface | Admits requests against enclosing limits before an adapter dispatches them. |
|
|
338
|
+
| `StudyAgentDispatch` | interface | Holds the trial-local canonical dispatch identity a wire request joins to. |
|
|
339
|
+
| `StudyAgentJudge` | class | Latches a real judge's failure before an enclosing runtime can treat it as absent. |
|
|
340
|
+
| `StudyAgentObserver` | class | Reads each Agent request's size before delegating it unchanged to the real provider. |
|
|
341
|
+
| `StudyAgentObserverOptions` | interface | Holds the observing provider's delegate, measurement seam and explicit policies. |
|
|
342
|
+
| `StudyAgentOriginHandler` | type | Joins each message of a measured request to its origin, one JSON entry per message in order. |
|
|
343
|
+
| `StudyAgentPlan` | interface | Holds one goal's scripted replies and the resources the provider charges and cancels through. |
|
|
344
|
+
| `StudyAgentReading` | interface | Holds one dispatched request's explicit size reading. |
|
|
345
|
+
| `StudyAgentRecordHandler` | type | Receives one reading and the exact pre-encoding request it measured. |
|
|
346
|
+
| `StudyAgentResponse` | interface | Declares one scripted reply. |
|
|
347
|
+
| `StudyAgentRole` | type | Names the model responsibilities whose requests the trace and summary measure. |
|
|
348
|
+
| `StudyAgentRuntime` | interface | Holds the admitted Agent namespace capabilities the shared instrumentation invokes. |
|
|
349
|
+
| `StudyAgentScript` | class | Serves declared inert responses through the actual Agent provider boundary. |
|
|
350
|
+
| `StudyAgentScriptOptions` | interface | Holds the scripted provider's fixed byte bound; the admitted token count defaults to one. |
|
|
351
|
+
| `StudyAgentStage` | type | Names where a measurement was taken. |
|
|
352
|
+
| `StudyAgentStamp` | interface | Holds the ordinal and revision one measurement received. |
|
|
353
|
+
| `StudyAgentSummary` | class | Folds a conversation through the real provider under an explicit gauge and prompt limit. |
|
|
354
|
+
| `StudyAgentSummaryOptions` | interface | Holds the gauged summary's delegate, measurement seam, explicit limits and cancellation. |
|
|
355
|
+
| `StudyAgentTrace` | class | Correlates measured Agent requests and retains their evidence across a trial's goals. |
|
|
356
|
+
| `StudyAgentTraceOptions` | interface | Holds the trace's measuring runtime, failure owner and consumer origin join. |
|
|
357
|
+
| `StudyArtifactIdentity` | interface | Holds the separately bound instrument and selected module inventory identities. |
|
|
358
|
+
| `StudyArtifactLoader` | class | Binds consumer instrumentation separately from selected executable identities. |
|
|
359
|
+
| `StudyArtifactLoaderOptions` | interface | Holds the trusted instrument and caller-selected built artifact locations. |
|
|
360
|
+
| `StudyArtifactModule` | interface | Holds actual namespaces loaded only during worker execution. |
|
|
361
|
+
| `StudyAttempt` | interface | Holds a terminal trial record, including goals never dispatched. |
|
|
362
|
+
| `StudyBounds` | interface | Holds nested execution allowances; each request also has a deadline. |
|
|
363
|
+
| `StudyCLI` | class | Dispatches private child routes before the public native supervisor. |
|
|
364
|
+
| `StudyCause` | type | Names an operational ending separately from task achievement. |
|
|
365
|
+
| `StudyChannel` | class | Correlates bounded IPC work and rejects every outstanding request on transport failure. |
|
|
366
|
+
| `StudyChannelOptions` | interface | Holds one native IPC endpoint and its domain handlers. |
|
|
367
|
+
| `StudyCharge` | interface | Holds a request's pre-dispatch upper bounds. |
|
|
368
|
+
| `StudyCommand` | class | Executes validated study operations with execution and grading custody kept independent. |
|
|
369
|
+
| `StudyCommandArtifact` | interface | Holds one bounded source artifact retained during offline validation. |
|
|
370
|
+
| `StudyCommandOptions` | interface | Holds the trusted application entry and repository location. |
|
|
371
|
+
| `StudyCommandRequest` | type | Names the independently dispatched study command operation. |
|
|
372
|
+
| `StudyContext` | interface | Holds the resources visible to one running goal. |
|
|
373
|
+
| `StudyControl` | class | Retains the first operational failure while bounding asynchronous waits. |
|
|
374
|
+
| `StudyControlInterface` | interface | Owns the first operational failure and cancellation of enclosing work. |
|
|
375
|
+
| `StudyCriterion` | interface | Holds a grader-owned criterion outside the driver's public input. |
|
|
376
|
+
| `StudyCustodyBudget` | interface | Holds the evidence sink's shared admission budget. |
|
|
377
|
+
| `StudyCustodyPhase` | type | Names the execution custody lifecycle without inferring seal completeness. |
|
|
378
|
+
| `StudyCustodySinkInterface` | interface | Closes evidence admission and drains already admitted appends. |
|
|
379
|
+
| `StudyDeadline` | class | Bounds each independent operation with a fresh failure owner and deadline. |
|
|
380
|
+
| `StudyDeadlineInterface` | interface | Bounds one independent asynchronous operation under its own deadline. |
|
|
381
|
+
| `StudyDeadlineOptions` | interface | Supplies one bounded operation's finite deadline and diagnostic label. |
|
|
382
|
+
| `StudyDefinition` | interface | Holds the frozen study question, population and explicit repetition orders. |
|
|
383
|
+
| `StudyDriverInterface` | interface | Creates isolated domain state through a concrete package consumer. |
|
|
384
|
+
| `StudyDriverOptions` | interface | Supplies admitted modules and an exclusive scratch parent without grader truth. |
|
|
385
|
+
| `StudyError` | class | Reports a study contract or operational failure with a stable code. |
|
|
386
|
+
| `StudyErrorCode` | type | Names malformed configuration, evidence, custody and operational failures. |
|
|
387
|
+
| `StudyEvidence` | interface | Holds append-only domain evidence in a JSON-compatible form. |
|
|
388
|
+
| `StudyEvidenceSink` | class | Retains admitted evidence in order and closes admission before terminal records. |
|
|
389
|
+
| `StudyEvidenceSinkOptions` | interface | Holds the owned evidence descriptor and byte admission constraints. |
|
|
390
|
+
| `StudyExecutionRequest` | interface | Holds a checked execution selection with optional output custody. |
|
|
391
|
+
| `StudyFailure` | interface | Holds an attributable operational fault without awarding a task verdict. |
|
|
392
|
+
| `StudyFile` | interface | Holds the exact byte identity of one execution file. |
|
|
393
|
+
| `StudyFrame` | interface | Holds a correlated JSON request, reply or cancellation notification. |
|
|
394
|
+
| `StudyGoal` | interface | Holds a declared goal's public input without its grading truth. |
|
|
395
|
+
| `StudyGradeFunction` | type | Reads one declared target against the consumer's domain predicate. |
|
|
396
|
+
| `StudyGradeReading` | interface | Holds a consumer predicate's reading of one target, citing only retained files and rows. |
|
|
397
|
+
| `StudyGradeRequest` | interface | Holds an offline predicate grading request. |
|
|
398
|
+
| `StudyGradeTarget` | interface | Holds one declared trial and criterion pair with its retained observations. |
|
|
399
|
+
| `StudyGrading` | interface | Holds a grading identity that cannot replace or mutate execution bytes. |
|
|
400
|
+
| `StudyGradingContext` | interface | Holds artifacts already verified inside a selected immutable grading directory. |
|
|
401
|
+
| `StudyGradingStore` | class | Retains immutable deterministic grading versions independently of execution bytes. |
|
|
402
|
+
| `StudyGradingStoreOptions` | interface | Holds imported grading artifacts independently of execution. |
|
|
403
|
+
| `StudyIdentity` | interface | Holds byte identities that qualification and comparisons must agree on. |
|
|
404
|
+
| `StudyInterruptedResult` | interface | Holds inspected execution metadata that is never gradeable before sealing. |
|
|
405
|
+
| `StudyJudgment` | interface | Holds an evidence-backed verdict; missing evidence stays unknown. |
|
|
406
|
+
| `StudyLabelRequest` | interface | Holds an imported-label grading request. |
|
|
407
|
+
| `StudyLabeling` | interface | Holds imported semantic judgments and their accountable origin. |
|
|
408
|
+
| `StudyLatchInterface` | interface | Retains the first operational failure of instrumented work and refuses work after it. |
|
|
409
|
+
| `StudyLaunchOptions` | interface | Selects the native command entry and the caller's consumer root. |
|
|
410
|
+
| `StudyLaunchResult` | interface | Retains the bounded command exit and captured output. |
|
|
411
|
+
| `StudyLauncher` | class | Supervises finite command trees and binds offline check to execution. |
|
|
412
|
+
| `StudyLimit` | interface | Holds finite allowances in milliseconds, calls, tokens and bytes. |
|
|
413
|
+
| `StudyManifest` | interface | Holds the execution declaration sealed before any trial begins. |
|
|
414
|
+
| `StudyMessageHandler` | type | Handles validated transport requests at their owning domain boundary. |
|
|
415
|
+
| `StudyMeter` | class | Admits request ceilings across every enclosing scope before dispatch. |
|
|
416
|
+
| `StudyMeterInterface` | interface | Owns request admission and the goal's terminal lifecycle. |
|
|
417
|
+
| `StudyMeterOptions` | interface | Supplies the request allowance and all enclosing admission scopes. |
|
|
418
|
+
| `StudyObservation` | interface | Holds the retained outcome of a scheduled goal. |
|
|
419
|
+
| `StudyOllamaActivity` | interface | Holds one active goal's accounting and attribution. |
|
|
420
|
+
| `StudyOllamaFetchFunction` | type | Sends one validated, admitted request under its Study role and returns the native response. |
|
|
421
|
+
| `StudyOllamaModel` | interface | Pins one served model identity the inventory verifies. |
|
|
422
|
+
| `StudyOllamaOptions` | type | Holds the Ollama provider options one role's declared policy determines. |
|
|
423
|
+
| `StudyOllamaPolicy` | interface | Declares one model role's exact wire policy. |
|
|
424
|
+
| `StudyOllamaRequest` | interface | Holds validated wire dispatch facts without retaining payload text. |
|
|
425
|
+
| `StudyOllamaRole` | type | Names the model roles an Ollama study transport dispatches under a declared policy. |
|
|
426
|
+
| `StudyOllamaSnapshot` | interface | Holds one outbound request's facts as owned at admission. |
|
|
427
|
+
| `StudyOllamaTerminal` | interface | Holds a validated terminal's finish reason and actual usage, unknown when unreported. |
|
|
428
|
+
| `StudyOllamaTransport` | class | Admits and accounts Ollama wire requests under declared policies and latches failure. |
|
|
429
|
+
| `StudyOllamaTransportOptions` | interface | Holds the Ollama study transport's immutable configuration. |
|
|
430
|
+
| `StudyOllamaWire` | interface | Tracks one owned HTTP response until its end or cancellation. |
|
|
431
|
+
| `StudyOperation` | type | Names the bounded transport's domain operations. |
|
|
432
|
+
| `StudyPacketBundle` | interface | Holds exact neutral public packet bytes and private mapping bytes. |
|
|
433
|
+
| `StudyPacketEntry` | interface | Holds one neutral semantic grading input without treatment or model identifiers. |
|
|
434
|
+
| `StudyPacketLink` | interface | Holds the neutral identity mapping to a sealed semantic trial-criterion pair. |
|
|
435
|
+
| `StudyParentTicket` | interface | Holds an authoritative parent ticket and its transport listener lifetime. |
|
|
436
|
+
| `StudyPreparation` | interface | Holds checked public declarations and reproducible executable identities. |
|
|
437
|
+
| `StudyProcessDriver` | class | Opens one fresh native child for each scheduled trial. |
|
|
438
|
+
| `StudyProcessOptions` | interface | Holds the parent-owned fresh trial process configuration. |
|
|
439
|
+
| `StudyProcessGoal` | class | Holds one goal's parent context and the worker admission sequence it issues while the goal runs. |
|
|
440
|
+
| `StudyProcessSession` | class | Keeps admission and evidence custody in the parent of one fresh trial process. |
|
|
441
|
+
| `StudyProcessSessionOptions` | interface | Holds one fresh child trial's launch parameters and cancellation. |
|
|
442
|
+
| `StudyProduct` | interface | Holds observed output and partial completion, never self-awarded success. |
|
|
443
|
+
| `StudyProfile` | interface | Holds execution settings independently of scenario and grading declarations. |
|
|
444
|
+
| `StudyProvider` | interface | Holds caller-selected provider artifacts and model identities. |
|
|
445
|
+
| `StudyPurpose` | type | Names the evidence a study can establish. |
|
|
446
|
+
| `StudyReference` | interface | Cites a retained trial file, or one evidence row of it by its zero-based position. |
|
|
447
|
+
| `StudyReferenceFile` | type | Names a retained file of one trial that a judgment cites. |
|
|
448
|
+
| `StudyRemoteMeter` | class | Waits for authoritative parent admission and drains acknowledged settlements. |
|
|
449
|
+
| `StudyRemoteMeterInterface` | interface | Owns transported admission, parent cancellation, and settlement drainage. |
|
|
450
|
+
| `StudyRemoteMeterOptions` | interface | Holds the worker meter's parent-authorized transport and failure latch. |
|
|
451
|
+
| `StudyRemoteTicket` | class | Transmits one settlement without inventing local admission authority. |
|
|
452
|
+
| `StudyRemoteTicketOptions` | interface | Holds one transported ticket's identity and settlement owner. |
|
|
453
|
+
| `StudyReportRequest` | interface | Holds a selected immutable report request. |
|
|
454
|
+
| `StudyRequest` | class | Settles an admitted request once and propagates operational failure to its owner. |
|
|
455
|
+
| `StudyRequestOptions` | interface | Supplies one admitted request with its shared failure owner and settlement sink. |
|
|
456
|
+
| `StudyResponse` | interface | Holds an outstanding bounded IPC response. |
|
|
457
|
+
| `StudyResultReading` | type | Holds an offline execution reading discriminated by custody completeness. |
|
|
458
|
+
| `StudyResultStore` | class | Owns append-only execution bytes and seals only a complete terminal population. |
|
|
459
|
+
| `StudyResultStoreInterface` | interface | Owns execution custody from exclusive creation through complete sealing. |
|
|
460
|
+
| `StudyResultStoreOptions` | interface | Holds the inert execution store configuration. |
|
|
461
|
+
| `StudyRole` | type | Names a request's measured responsibility. |
|
|
462
|
+
| `StudyRoom` | interface | Holds the model context and generation allowance as separate measurements. |
|
|
463
|
+
| `StudyRubric` | interface | Holds a versioned grading declaration independently of execution. |
|
|
464
|
+
| `StudyScenario` | interface | Holds ordered goals sharing state within an isolated trial. |
|
|
465
|
+
| `StudyScope` | class | Reserves finite request ceilings around cumulative actual budgets and one deadline. |
|
|
466
|
+
| `StudyScopeInterface` | interface | Holds cumulative admission ceilings for one timed execution scope. |
|
|
467
|
+
| `StudyScopeOptions` | interface | Supplies one deadline and its shared failure owner. |
|
|
468
|
+
| `StudyScore` | interface | Holds an arm's whole-horizon counts without hiding unresolved criteria. |
|
|
469
|
+
| `StudySeal` | interface | Holds a complete execution inventory and its deterministic identity. |
|
|
470
|
+
| `StudySealedResult` | interface | Holds independently verified sealed execution bytes. |
|
|
471
|
+
| `StudySeries` | class | Executes a frozen serial study schedule with finite admission and sticky failures. |
|
|
472
|
+
| `StudySeriesOptions` | interface | Holds the common engine's fixed execution inputs. |
|
|
473
|
+
| `StudySessionInterface` | interface | Owns domain state across a trial and releases it before the next trial. |
|
|
474
|
+
| `StudySettlementHandler` | type | Records the settlement of one admitted request. |
|
|
475
|
+
| `StudySinkInterface` | interface | Holds an evidence sink whose implementation owns byte limits and custody. |
|
|
476
|
+
| `StudyStoreInterface` | interface | Appends terminal records without overwriting a prior attempt. |
|
|
477
|
+
| `StudyTask` | class | Bounds adapter evaluation by an independent native parent timer. |
|
|
478
|
+
| `StudyTaskOptions` | interface | Holds a bounded adapter-only native operation. |
|
|
479
|
+
| `StudyTaskRequest` | type | Carries only declarations or sealed evidence to an adapter child. |
|
|
480
|
+
| `StudyTaskResult` | interface | Returns adapter output with the exact active instrumentation digest. |
|
|
481
|
+
| `StudyTaskWorker` | class | Evaluates only admitted instrumentation in a disposable native child. |
|
|
482
|
+
| `StudyTicket` | interface | Holds one admitted request until its actual charge is recorded. |
|
|
483
|
+
| `StudyTrial` | interface | Holds a scheduled trajectory, with a fresh state for each repetition and arm. |
|
|
484
|
+
| `StudyTrialCustody` | interface | Holds the trial sink's admitted writes and terminal lifecycle. |
|
|
485
|
+
| `StudyUsage` | interface | Holds actual request measurements; absent token usage remains unknown. |
|
|
486
|
+
| `StudyValidation` | interface | Holds declarations for domain validation before agent, subject or provider execution. |
|
|
487
|
+
| `StudyWorker` | class | Executes one verified trial behind parent-authorized admission and custody. |
|
|
488
|
+
| `buildStudyAgentDispatch` | function | Builds the evidence join of a wire request to its canonical dispatch. |
|
|
489
|
+
| `buildStudyAgentParts` | function | Projects a request's structural components onto plain JSON without storing a total. |
|
|
490
|
+
| `readStudyAgentToolCall` | function | Reads an Agent tool call into a validated envelope from one read of each foreign field. |
|
|
491
|
+
| `buildStudyAgentToolResult` | function | Builds the JSON evidence form of an Agent tool call and its executed result. |
|
|
492
|
+
| `buildStudyAgentToolDenial` | function | Builds the JSON evidence form of an Agent tool call the Agent denied before dispatch. |
|
|
493
|
+
| `buildStudyAgentReadings` | function | Builds the JSON evidence form of a Ledger result's logical classifier readings. |
|
|
494
|
+
| `buildStudyAgentRevision` | function | Builds a request revision by hashing its canonical rendering exactly as rendered. |
|
|
495
|
+
| `buildStudyOllamaModels` | function | Declares the pinned serving identities the Ollama transport verifies, keyed by the label their inventory evidence carries. |
|
|
496
|
+
| `buildStudyOllamaBytes` | function | Encodes exact application bytes with their decoded size and SHA-256 identity. |
|
|
497
|
+
| `buildStudyOllamaOptions` | function | Builds the provider options one role's declared wire policy determines. |
|
|
498
|
+
| `buildStudyOllamaRaw` | function | Builds a reading of the raw prompt text an encoded request body carries, as sent. |
|
|
499
|
+
| `buildStudyOllamaSnapshot` | function | Builds an owned snapshot of one outbound request before anything is awaited. |
|
|
500
|
+
| `buildStudyOllamaTiming` | function | Builds the JSON evidence form of a timing observation with raw nanoseconds and counts. |
|
|
501
|
+
| `buildStudyOllamaTransportOptions` | function | Builds a frozen owned copy of transport configuration that later caller mutation cannot reach. |
|
|
502
|
+
| `buildStudyPacket` | function | Builds deterministic public semantic inputs and a separately retained private map. |
|
|
503
|
+
| `buildStudyPacketLinks` | function | Builds neutral semantic identities for the complete eligible sealed horizon. |
|
|
504
|
+
| `buildStudyReference` | function | Renders a citation of one retained trial file or evidence row. |
|
|
505
|
+
| `buildStudySchedule` | function | Builds a bounded schedule from explicit repetition rows and declared scenarios. |
|
|
506
|
+
| `checkStudyDirectory` | function | Refuses symbolic links and non-directory ancestors before custody operations. |
|
|
507
|
+
| `collectStudyAncestors` | function | Collects a directory and each of its ancestors up to the filesystem root, nearest first. |
|
|
508
|
+
| `collectStudyEntries` | function | Collects the executable entries a profile selects, each canonical path once. |
|
|
509
|
+
| `collectStudyEvidence` | function | Reads sealed evidence bytes through custody checks without loading executable code. |
|
|
510
|
+
| `computeStudyCommandFingerprint` | function | Computes the native supervisor's exact validated execution fingerprint. |
|
|
511
|
+
| `computeStudyFixtureDigest` | function | Computes public fixture identity from execution policy and exact scenario bytes. |
|
|
512
|
+
| `computeStudyInstrumentDigest` | function | Computes the instrument identity binding trusted runtime bytes to the adapter inventory. |
|
|
513
|
+
| `computeStudyPacketDigest` | function | Computes a bundle identity binding exact public packet and private map bytes. |
|
|
514
|
+
| `computeStudyPartition` | function | Partitions records by their explicit execution fact without inferring any. |
|
|
515
|
+
| `computeStudyProfileDigest` | function | Binds the canonical fully resolved execution profile carried over IPC. |
|
|
516
|
+
| `computeStudyReport` | function | Computes whole-horizon results with operational costs and repetitions kept distinct. |
|
|
517
|
+
| `computeStudyScores` | function | Computes arm intervals over the complete declared criterion horizon. |
|
|
518
|
+
| `computeStudySealId` | function | Computes an execution seal identity from its exact sorted inventory. |
|
|
519
|
+
| `containsArtifact` | function | Checks strict lexical containment under a selected directory. |
|
|
520
|
+
| `createStudyProcessFailure` | function | Creates attributable protocol infrastructure failure. |
|
|
521
|
+
| `decodeStudyJSON` | function | Decodes strict UTF-8 custody bytes and parses their JSON text. |
|
|
522
|
+
| `drainStudyChild` | function | Releases inherited output handles a bounded time after native exit. |
|
|
523
|
+
| `encodeStudyJSON` | function | Encodes deterministic JSON bytes without synthesizing execution metadata. |
|
|
524
|
+
| `failStudyTicket` | function | Records an error thrown by admitted work as the failure of its ticket. |
|
|
525
|
+
| `failureToStudyError` | function | Converts an operational reading to its throwable boundary. |
|
|
526
|
+
| `gradeStudyEvidence` | function | Grades every declared trial and criterion pair through the consumer's predicate. |
|
|
527
|
+
| `hashStudyBytes` | function | Computes the lowercase SHA-256 identity of exact bytes or UTF-8 text. |
|
|
528
|
+
| `isArtifactError` | function | Narrows a caught value to an artifact refusal. |
|
|
529
|
+
| `isStudyAdapter` | function | Checks whether a factory returned the complete consumer adapter contract. |
|
|
530
|
+
| `isStudyAgentResponse` | function | Checks whether a scripted response has JSON calls and workload controls. |
|
|
531
|
+
| `isStudyAgentGauge` | function | Checks whether a value is a gauge with a finite positive scale and a finite nonnegative overhead. |
|
|
532
|
+
| `isStudyAgentRuntime` | function | Checks whether a namespace exposes the Agent capabilities the instrumentation invokes. |
|
|
533
|
+
| `isStudyBounds` | function | Checks whether nested scopes admit no larger allowance than their parent. |
|
|
534
|
+
| `isStudyCause` | const | Checks whether a value names an operational ending. |
|
|
535
|
+
| `isStudyCharge` | function | Checks a request's declared role and finite cost ceilings. |
|
|
536
|
+
| `isStudyCriterion` | function | Checks whether a criterion declares exact grading inputs and references. |
|
|
537
|
+
| `isStudyCustodyAttempt` | function | Checks whether an attempt terminally accounts for the exact scheduled goal horizon. |
|
|
538
|
+
| `isStudyCustodyEvidence` | function | Checks whether evidence is exact JSON with a declared event and goal name. |
|
|
539
|
+
| `isStudyCustodyFailure` | function | Checks whether a failure carries exact attributable operational fields. |
|
|
540
|
+
| `isStudyCustodyFile` | function | Checks whether an execution file inventory entry is path-safe and bounded. |
|
|
541
|
+
| `isStudyCustodyManifest` | function | Checks whether a manifest exactly binds its declared population and identities. |
|
|
542
|
+
| `isStudyCustodyName` | function | Checks whether a trial name is portable on all supported hosts. |
|
|
543
|
+
| `isStudyCustodyObservation` | function | Checks whether an observation preserves output or an explicit unexecuted failure. |
|
|
544
|
+
| `isStudyCustodySeal` | function | Checks whether a seal has an exact unique execution inventory. |
|
|
545
|
+
| `isStudyCustodyTrial` | function | Checks whether a scheduled trial has exact valid identity fields. |
|
|
546
|
+
| `isStudyDefinition` | function | Checks whether a study freezes a complete arm order for every repetition. |
|
|
547
|
+
| `isStudyDigest` | function | Checks whether a byte identity is a lowercase SHA-256 digest. |
|
|
548
|
+
| `isStudyError` | function | Narrows a caught value to a branded study error with valid failure attribution. |
|
|
549
|
+
| `isStudyErrorCode` | function | Checks whether a value names a supported study error code. |
|
|
550
|
+
| `isStudyEvidence` | function | Checks append-only public evidence. |
|
|
551
|
+
| `isStudyFrame` | function | Checks the complete transport envelope before domain handling. |
|
|
552
|
+
| `isStudyGoal` | function | Checks whether a goal has a bounded identifier and exact JSON input. |
|
|
553
|
+
| `isStudyGrading` | function | Checks whether grading binds accountable judgments to unique attempt identities. |
|
|
554
|
+
| `isStudyIdentity` | function | Checks the exact digest fields carried by the execution declaration. |
|
|
555
|
+
| `isStudyJudgment` | function | Checks whether a judgment carries a supported verdict and evidence references. |
|
|
556
|
+
| `isStudyLabeling` | function | Checks whether imported semantic labels have accountable packet provenance. |
|
|
557
|
+
| `isStudyLimit` | function | Checks whether all allowances are positive safe integers within timer bounds. |
|
|
558
|
+
| `isStudyName` | function | Checks whether an identifier is portable and bounded. |
|
|
559
|
+
| `isStudyProcessFailure` | function | Checks operational failure attribution arriving over IPC. |
|
|
560
|
+
| `isStudyProduct` | function | Checks a retained public product without awarding task achievement. |
|
|
561
|
+
| `isStudyProfile` | function | Checks whether a profile carries finite bounds and an optional explicit provider. |
|
|
562
|
+
| `isStudyProvider` | function | Checks whether a provider declaration names artifacts, an HTTP origin and models. |
|
|
563
|
+
| `isStudyRole` | const | Checks whether a value names a measured request role. |
|
|
564
|
+
| `isStudyRoom` | function | Checks whether generation room leaves positive context for input. |
|
|
565
|
+
| `isStudyRubric` | function | Checks whether a rubric declares nonempty criteria with unique identities. |
|
|
566
|
+
| `isStudyScenario` | function | Checks whether a scenario declares a nonempty horizon with unique goal ids. |
|
|
567
|
+
| `isStudyTimestamp` | function | Checks whether a timestamp is a canonical UTC millisecond instant. |
|
|
568
|
+
| `isStudyTrial` | function | Checks a fresh trial's declared identifiers. |
|
|
569
|
+
| `isStudyUsage` | function | Checks whether request usage contains nonnegative safe measurements. |
|
|
570
|
+
| `iterateArtifactEntries` | function | Iterates the remaining entries of an open directory handle lazily, in read order. |
|
|
571
|
+
| `matchesStudyKeys` | function | Matches exact own enumerable data keys without evaluating accessors. |
|
|
572
|
+
| `normalizeStudyProfile` | function | Omits every undefined optional declaration so the profile has one JSON form. |
|
|
573
|
+
| `omitStudyAbsent` | function | Copies the own entries of a record that hold a value, in their original order. |
|
|
574
|
+
| `parseStudyArguments` | function | Parses public command tokens with operation-specific grammar diagnostics. |
|
|
575
|
+
| `parseStudyDefinition` | function | Parses a definition into an independent frozen validated snapshot. |
|
|
576
|
+
| `parseStudyGrading` | function | Parses grading into an independent frozen validated evidence snapshot. |
|
|
577
|
+
| `parseStudyLabeling` | function | Parses semantic labels into an independent frozen validated evidence snapshot. |
|
|
578
|
+
| `parseStudyProfile` | function | Parses a profile into an independent frozen validated snapshot. |
|
|
579
|
+
| `parseStudyRubric` | function | Parses a rubric into an independent frozen validated snapshot. |
|
|
580
|
+
| `parseStudyScenario` | function | Parses a scenario into an independent frozen validated snapshot. |
|
|
581
|
+
| `projectStudyAgentRequest` | function | Prices a runtime estimate through an explicit gauge. |
|
|
582
|
+
| `readArtifact` | function | Reads a bounded regular file only through its canonical absolute path. |
|
|
583
|
+
| `readArtifactBytes` | function | Fills a buffer from an open descriptor, one positioned read at a time. |
|
|
584
|
+
| `readStudyAdapter` | function | Reads a complete adapter from an admitted module namespace. |
|
|
585
|
+
| `readStudyAgentMessages` | function | Projects foreign provider messages onto the exact fields the workload reads. |
|
|
586
|
+
| `readStudyAgentResult` | function | Drains a scripted provider stream into its assembled result. |
|
|
587
|
+
| `readStudyBytes` | function | Reads bounded regular-file bytes without following a symbolic link. |
|
|
588
|
+
| `readStudyFailure` | function | Reads an operational error without inventing a task verdict. |
|
|
589
|
+
| `readStudyHandle` | function | Reads from an open file handle into a buffer until the buffer is full or the file ends. |
|
|
590
|
+
| `readStudyOllamaDigest` | function | Reads the pinned serving digest of an admitted request's model. |
|
|
591
|
+
| `readStudyOllamaFailure` | function | Reads a native Ollama error member as the attributable failure it names, without usage. |
|
|
592
|
+
| `readStudyOllamaRequest` | function | Reads exact outbound Ollama facts and refuses a request outside its declared policy. |
|
|
593
|
+
| `readStudyOllamaSupport` | function | Reads the declared model context ceiling without claiming daemon allocation. |
|
|
594
|
+
| `readStudyOllamaTerminal` | function | Reads one Ollama response row without inventing absent usage. |
|
|
595
|
+
| `readStudyOllamaTiming` | function | Reads daemon timing from a terminal row without letting an observation fail the request. |
|
|
596
|
+
| `readStudyResult` | function | Inspects custody bytes offline and verifies complete execution before grading. |
|
|
597
|
+
| `resolveStudyAgentContent` | function | Resolves the content a scripted response serves, from its declaration or from a prior tool message. |
|
|
598
|
+
| `resolveStudyInstrument` | function | Resolves the actual host package from its trusted executable entry. |
|
|
599
|
+
| `resolveStudyPath` | function | Resolves a portable relative artifact path strictly inside its selected directory. |
|
|
600
|
+
| `resolveStudyProfile` | function | Resolves the execution profile's caller-selected built artifact paths. |
|
|
601
|
+
| `scanStudyExecution` | function | Scans regular execution files while refusing unknown directories and linked paths. |
|
|
602
|
+
| `scanStudyTree` | function | Scans one execution directory and the subdirectories it admits, reading each admitted file under the series bytes that remain. |
|
|
603
|
+
| `terminateStudyChild` | function | Terminates the recorded native process tree under a finite cleanup allowance. |
|
|
604
|
+
| `translateStudyAgentError` | function | Translates only a nominal Agent window refusal into the attributable capacity failure. |
|
|
605
|
+
| `translateStudyPacketLabeling` | function | Translates bound neutral imported labels through the sealed semantic horizon. |
|
|
606
|
+
| `validateStudyAgentUsage` | function | Checks that a successful provider call reported a usable actual prompt count. |
|
|
607
|
+
| `validateStudyEvidenceBytes` | function | Validates complete evidence lines and per-goal encoded evidence bounds. |
|
|
608
|
+
| `validateStudyInputs` | function | Validates grading coverage and request room against the declared study inputs. |
|
|
609
|
+
| `validateStudyOllamaCompletion` | function | Checks terminal policy after the actual wire cost has been retained. |
|
|
610
|
+
| `validateStudyOllamaInventory` | function | Verifies that each pinned name resolves to one inventory entry with its pinned digest. |
|
|
611
|
+
| `validateStudyOllamaRoles` | function | Validates declared role policies against the pinned inventory before any dispatch. |
|
|
612
|
+
| `validateStudyOllamaRecording` | function | Validates independent metadata bounds and the complete optional recording group. |
|
|
613
|
+
| `validateStudyOllamaStep` | function | Admits one model request against its next exact or capture declaration. |
|
|
614
|
+
| `isStudyOllamaMetadata` | function | Checks whether a value declares independent positive metadata allowances. |
|
|
615
|
+
| `isStudyOllamaModel` | function | Checks whether a value pins a served model name and SHA-256 digest. |
|
|
616
|
+
| `isStudyOllamaPolicy` | function | Checks whether a value declares a complete finite model-generation policy. |
|
|
617
|
+
| `isStudyOllamaStep` | function | Checks whether a value declares exclusive exact or capture admission with a valid receipt. |
|
|
618
|
+
| `validateStudyRuntime` | function | Refuses a profile that omits the actual host runtime's declared dependency bytes. |
|
|
619
|
+
| `valueToWire` | function | Projects optional domain fields into the JSON wire representation. |
|
|
620
|
+
| `writeStudyBytes` | function | Writes an exclusive regular record and synchronizes it before reporting success. |
|
|
621
|
+
| `STUDY_LAYERS` | const | Lists every ceiling a run can stop at in report order. |
|
|
622
|
+
| `StudyLayer` | type | Names the ceiling that stopped a run. |
|
|
623
|
+
| `StudyStop` | interface | Holds the ceiling that stopped a run and the readings it crossed. |
|
|
624
|
+
| `StudyAttributionSource` | interface | Holds one failed record the report groups by cause, role, and layer. |
|
|
625
|
+
| `isStudyLayer` | const | Checks whether a value names a ceiling a run can stop at. |
|
|
626
|
+
| `isStudyStop` | function | Checks whether a value is the exact record of a ceiling that stopped a run. |
|
|
627
|
+
| `studyStopToJSON` | function | Projects a stop onto JSON with every unreported reading as null. |
|
|
628
|
+
| `translateStudyAgentStop` | function | Translates an Agent run's stop record into the attributable capacity failure of the layer that stopped it. |
|
|
629
|
+
| `computeStudyAttributions` | function | Groups failed records by cause, role, and layer, each group carrying its source readings. |
|
|
630
|
+
| `parseStudyReading` | function | Parses a foreign reading into a number a stop can retain. |
|
|
631
|
+
| `computeStudyAdmittedStop` | function | Computes the stop of a request whose actual usage crossed the ceiling it was admitted under. |
|
|
632
|
+
| `computeStudyOutputStop` | function | Computes the stop of a product the output allowances cannot hold. |
|
|
633
|
+
| `StudyDeclaration` | interface | Holds a parsed study declaration with its driver bundle, scenarios, scenario fixtures, and rubric. |
|
|
634
|
+
| `readStudyDeclaration` | function | Reads a study declaration, its driver's scenarios, and its rubric as the command resolves them. |
|
|
635
|
+
| `readStudyDeclarationBytes` | function | Reads one declaration file and refuses a missing or linked path with its root-relative path. |
|
|
636
|
+
| `readStudyVersion` | function | Reads the version of the study package that owns an executable entry. |
|
|
637
|
+
| `matchesSystemError` | function | Reports whether a caught value is a Node error carrying the given system code. |
|
|
638
|
+
| `StudyDaemon` | interface | Pins an executable and the model population an execution owns until cleanup. |
|
|
639
|
+
| `StudyDaemonModel` | interface | Pins one model the declared daemon verifies and unloads before each trial. |
|
|
640
|
+
| `StudyRecord` | interface | Bounds the serialized exchange sidecar retained for each scheduled trial. |
|
|
641
|
+
| `ArtifactErrorCode` | type | Names the refused boundary of a captured or materialized artifact graph. |
|
|
642
|
+
| `ArtifactMember` | interface | Maps one admitted physical file to its exact bytes inside a materialized forest. |
|
|
643
|
+
| `ArtifactClosure` | interface | Binds a verified physical forest to its relocated selections and complete membership. |
|
|
644
|
+
| `ArtifactLoaderInterface` | interface | Captures, verifies, loads, and materializes one admitted physical artifact graph. |
|
|
645
|
+
| `computeArtifactClosureDigest` | function | Computes a destination-independent digest of members and relative package identities. |
|
|
646
|
+
| `isArtifactClosure` | function | Checks a bounded materialization record before any path is used. |
|
|
647
|
+
| `isArtifactKey` | function | Checks whether a key names portable, non-credential members within a closure. |
|
|
648
|
+
| `isArtifactLoaderOptions` | function | Checks the bounded loader selections retained in a publication. |
|
|
649
|
+
| `isArtifactMember` | function | Checks the exact file identity and provenance of a closure member. |
|
|
650
|
+
| `isStudyClosure` | function | Checks a closure publication before using its command inputs. |
|
|
651
|
+
| `matchesArtifactCredential` | function | Checks whether a portable segment identifies credentials. |
|
|
652
|
+
| `readArtifactPhysical` | function | Checks every existing physical ancestor before using a canonical absolute path. |
|
|
653
|
+
| `readStudyClosure` | function | Reads and independently verifies an exclusively published closure. |
|
|
654
|
+
| `relocateArtifactPath` | function | Relocates an original path through a closure's retained physical forest. |
|
|
655
|
+
| `resolveArtifactBase` | function | Finds the common physical parent that preserves every selected path's relative resolution. |
|
|
656
|
+
| `resolveArtifactMember` | function | Resolves a portable member key without traversing outside its destination. |
|
|
657
|
+
| `resolveStudyClosurePath` | function | Resolves a profile path through a retained physical relocation when selected. |
|
|
658
|
+
| `verifyArtifactClosure` | function | Verifies complete copied membership, path safety, exact bytes, and portable identity. |
|
|
659
|
+
| `StudyOllamaMetadata` | interface | Bounds metadata calls, encoded bytes, and elapsed milliseconds outside model quotas. |
|
|
660
|
+
| `StudyOllamaStage` | type | Names the ordered verification, model work, and daemon maintenance stages. |
|
|
661
|
+
| `StudyOllamaStepIdentity` | interface | Declares an ordered model request's goal, responsibility, route, and wire policy. |
|
|
662
|
+
| `StudyOllamaExactStep` | interface | Declares an exact UTF-8 request body and its SHA-256 input receipt. |
|
|
663
|
+
| `StudyOllamaCaptureStep` | interface | Declares a captured request's positive safe byte length without predicting its content. |
|
|
664
|
+
| `StudyOllamaStep` | type | Separates exact request admission from length-declared capture admission. |
|
|
665
|
+
| `StudyOllamaReplaySelection` | interface | Selects a sealed recording and an explicit replay prefix for every scheduled trial. |
|
|
666
|
+
| `StudyOllamaReplayOptions` | interface | Configures exact recorded replies and optional live continuation after a declared prefix. |
|
|
667
|
+
| `StudyOllamaReplayInterface` | interface | Answers an exact recorded prefix through the role-aware transport collaborator. |
|
|
668
|
+
| `StudyExchangeDestination` | interface | Holds the parent-reserved destination of one trial's exchange sidecar. |
|
|
669
|
+
| `StudyExchangeBytes` | interface | Retains an application HTTP body's exact bytes independently of text decoding. |
|
|
670
|
+
| `StudyExchangeIdentity` | interface | Binds one HTTP exchange to its trial-local position and declared execution stage. |
|
|
671
|
+
| `StudyExchangeDeclaration` | interface | Declares the complete trial procedure before any exchange attempt is appended. |
|
|
672
|
+
| `StudyExchangeAttempt` | interface | Retains admitted request bytes durably before the corresponding send begins. |
|
|
673
|
+
| `StudyExchangeReply` | interface | Retains response status, headers, and original application-body chunk lengths. |
|
|
674
|
+
| `StudyExchangeResponse` | interface | Retains a fully consumed response only after status and terminal validation succeed. |
|
|
675
|
+
| `StudyExchangeFailure` | interface | Retains an attempted exchange's failure and any bounded response bytes already observed. |
|
|
676
|
+
| `StudyExchangeCompletion` | interface | Closes a sidecar after the declared procedure and postflight have fully completed. |
|
|
677
|
+
| `StudyExchangeRow` | type | Names every admitted row of the bounded per-trial exchange sidecar. |
|
|
678
|
+
| `StudyRecordedExchange` | interface | Holds a strictly verified successful request and response pair. |
|
|
679
|
+
| `StudyExchangeHistory` | interface | Binds complete ordered exchanges to a verified sealed sidecar and its declaration. |
|
|
680
|
+
| `StudyExchangeSinkInterface` | interface | Owns serialized exchange appends under a reserved trial byte allowance. |
|
|
681
|
+
| `StudyExchangeSinkOptions` | interface | Supplies an exclusive sidecar descriptor and its parent-reserved byte allowance. |
|
|
682
|
+
| `StudyFreezeRequest` | interface | Requests exclusive materialization and captured validation before publishing closure.json. |
|
|
683
|
+
| `StudyClosure` | interface | Publishes a validated closure with relocated command inputs and execution provenance. |
|
|
684
|
+
| `StudyTrialPreparationFunction` | type | Prepares one trial's external resources before its worker starts. |
|
|
685
|
+
| `StudyProcessDriverOptions` | interface | Supplies parent-only trial preparation separately from serializable worker options. |
|
|
686
|
+
| `StudyExchangeSink` | class | Retains ordered exchange rows under a parent-reserved serialized byte allowance. |
|
|
687
|
+
| `StudyOllamaReplay` | class | Answers declared HTTP prefixes from complete ordered recorded application bytes. |
|
|
688
|
+
| `isStudyRecord` | function | Checks whether a recording declaration bounds every serialized sidecar byte. |
|
|
689
|
+
| `isStudyExchangeBytes` | function | Checks whether encoded body bytes have their exact canonical base64 and SHA-256 identity. |
|
|
690
|
+
| `isStudyExchangeIdentity` | function | Checks whether an exchange carries an admissible ordered HTTP identity. |
|
|
691
|
+
| `isStudyExchangeReply` | function | Checks whether a retained reply describes bounded successful application bytes and chunks. |
|
|
692
|
+
| `isStudyExchangeDeclaration` | function | Checks whether the opening row declares a finite ordered procedure and serving identities. |
|
|
693
|
+
| `isStudyExchangeRow` | function | Checks whether a sidecar row has exactly its declared fields and verified byte identities. |
|
|
694
|
+
| `isStudyExchangeHistory` | function | Checks whether a history has verified row shapes before its complete relational validation. |
|
|
695
|
+
| `buildStudyExchangeSequence` | function | Projects the declaration onto its complete ordered HTTP identity population. |
|
|
696
|
+
| `projectStudyExchangeIdentity` | function | Projects only the repeated identity fields of a retained HTTP exchange. |
|
|
697
|
+
| `validateStudyExchangeRequest` | function | Validates the exact declaration order and request bytes of an admitted exchange. |
|
|
698
|
+
| `validateStudyExchangeRows` | function | Validates a serialized journal prefix or its complete successful population. |
|
|
699
|
+
| `readStudyExchangeRows` | function | Reads strict complete LF-framed exchange rows with verified bodies and declaration joins. |
|
|
700
|
+
| `validateStudyExchangeHistory` | function | Validates complete history envelopes again before a replay may perform dependent work. |
|
|
701
|
+
| `validateStudyExchangeEvidence` | function | Joins recorded exchanges to exactly one dispatch and wire evidence identity per ordinal. |
|
|
702
|
+
| `readStudyTrialExchanges` | function | Reads and joins a complete trial sidecar before or after sealing. |
|
|
703
|
+
| `readStudyExchanges` | function | Reads a sealed trial's exact complete exchange history after reverifying its entire result. |
|
|
704
|
+
| `isStudyExchangeDestination` | function | Checks whether a worker destination has an absolute sidecar path and finite reservation. |
|
|
705
|
+
| `isStudyReplaySelection` | function | Checks whether replay explicitly selects a sealed directory and per-trial prefix counts. |
|
|
706
|
+
| `readStudyRecordingDeclaration` | function | Reads the executing profile's explicit recording declarations before a worker starts. |
|
|
707
|
+
| `readStudyPreparedDestination` | function | Validates parent preparation output without permitting a destination or allowance substitution. |
|
|
708
|
+
| `readStudyReplayHistory` | function | Rechecks the sealed source and this trial's prefix under the executing profile declaration. |
|
|
709
|
+
|
|
710
|
+
| API | Kind | Summary |
|
|
711
|
+
| --------------------------- | --------- | ------------------------------------------------------------------------------------------- |
|
|
712
|
+
| `StudyDaemonSession` | class | Owns the declared daemon and its serial trial preparation through permanent cleanup. |
|
|
713
|
+
| `StudyDaemonTrial` | class | Records one trial's daemon maintenance before handing its verified prefix to a worker. |
|
|
714
|
+
| `StudyDaemonSessionOptions` | interface | Supplies the resolved provider, trial population, workspace, and execution cancellation. |
|
|
715
|
+
| `StudyDaemonTrialOptions` | interface | Supplies one reserved sidecar and its complete maintenance declaration. |
|
|
716
|
+
| `isStudyDaemon` | function | Checks whether an owned daemon declaration pins an absolute executable and distinct models. |
|
|
717
|
+
|
|
718
|
+
## Methods
|
|
719
|
+
|
|
720
|
+
#### `StudyDaemonSession`
|
|
721
|
+
|
|
722
|
+
The execution host composes these methods.
|
|
723
|
+
|
|
724
|
+
| Method | Summary |
|
|
725
|
+
| --------- | ------------------------------------------------------------------ |
|
|
726
|
+
| `start` | Starts the daemon and returns its verified execution provenance. |
|
|
727
|
+
| `prepare` | Unloads the declared population before opening one trial worker. |
|
|
728
|
+
| `stop` | Stops and joins the owned tree and refuses an unconfirmed cleanup. |
|
|
729
|
+
|
|
730
|
+
#### `StudyDaemonTrial`
|
|
731
|
+
|
|
732
|
+
The preparation sender composes these methods.
|
|
733
|
+
|
|
734
|
+
| Method | Summary |
|
|
735
|
+
| --------- | -------------------------------------------------------------------------------------- |
|
|
736
|
+
| `execute` | Unloads declared models, drains the journal, and returns its exact retained identity. |
|
|
737
|
+
| `fetch` | Retains each request before sending and preserves the sender's native response chunks. |
|
|
738
|
+
|
|
739
|
+
The following tables name the callable members.
|
|
740
|
+
|
|
741
|
+
#### `ArtifactLoader`
|
|
742
|
+
|
|
743
|
+
The declaration exposes these methods.
|
|
744
|
+
|
|
745
|
+
| Method | Summary |
|
|
746
|
+
| ------------- | -------------------------------------------------------------------------- |
|
|
747
|
+
| `inspect` | Reads and identifies admitted files without evaluating selected modules. |
|
|
748
|
+
| `load` | Imports one selected entry through synchronous captured-byte hooks. |
|
|
749
|
+
| `materialize` | Copies the inspected physical forest into an exclusive absent destination. |
|
|
750
|
+
| `verify` | Refuses byte and population drift since inspection. |
|
|
751
|
+
|
|
752
|
+
#### `ArtifactLoaderInterface`
|
|
753
|
+
|
|
754
|
+
The declaration exposes these methods.
|
|
755
|
+
|
|
756
|
+
| Method | Summary |
|
|
757
|
+
| ------------- | -------------------------------------------------------------------------- |
|
|
758
|
+
| `inspect` | Captures the complete admitted population without evaluating modules. |
|
|
759
|
+
| `verify` | Refuses changed bytes or membership after inspection. |
|
|
760
|
+
| `load` | Loads an admitted entry through captured-byte hooks in a fresh process. |
|
|
761
|
+
| `materialize` | Copies the inspected physical forest into an exclusive absent destination. |
|
|
762
|
+
|
|
763
|
+
#### `Resolution`
|
|
764
|
+
|
|
765
|
+
The declaration exposes these methods.
|
|
766
|
+
|
|
767
|
+
| Method | Summary |
|
|
768
|
+
| --------- | ------------------------------------------------------------------------------ |
|
|
769
|
+
| `load` | Returns captured bytes after verifying their live disk identity. |
|
|
770
|
+
| `resolve` | Resolves native edges with source-local JavaScript-to-TypeScript substitution. |
|
|
771
|
+
|
|
772
|
+
#### `StudyAdapterInterface`
|
|
773
|
+
|
|
774
|
+
The declaration exposes these methods.
|
|
775
|
+
|
|
776
|
+
| Method | Summary |
|
|
777
|
+
| ---------- | -------------------------------------------------------------------------------- |
|
|
778
|
+
| `driver` | Constructs the consumer's driver over admitted module namespaces. |
|
|
779
|
+
| `grade` | Judges retained evidence without changing the executed trajectory. |
|
|
780
|
+
| `validate` | Checks domain declarations before loading a selected agent, subject or provider. |
|
|
781
|
+
|
|
782
|
+
#### `StudyAdmissionInterface`
|
|
783
|
+
|
|
784
|
+
The declaration exposes these methods.
|
|
785
|
+
|
|
786
|
+
| Method | Summary |
|
|
787
|
+
| ------- | ------------------------------------------------------------------------------------- |
|
|
788
|
+
| `admit` | Resolves admission before dispatch; local meters may return the ticket synchronously. |
|
|
789
|
+
|
|
790
|
+
#### `StudyAgentJudge`
|
|
791
|
+
|
|
792
|
+
The declaration exposes these methods.
|
|
793
|
+
|
|
794
|
+
| Method | Summary |
|
|
795
|
+
| ------ | ----------------------------------------------------------------------------------------- |
|
|
796
|
+
| `ask` | Refuses dispatch after a retained failure and retains a thrown failure with its identity. |
|
|
797
|
+
|
|
798
|
+
#### `StudyAgentObserver`
|
|
799
|
+
|
|
800
|
+
The declaration exposes these methods.
|
|
801
|
+
|
|
802
|
+
| Method | Summary |
|
|
803
|
+
| ---------- | ----------------------------------------------------- |
|
|
804
|
+
| `generate` | Records one reading, then awaits the real generation. |
|
|
805
|
+
| `stream` | Records one reading, then relays the real stream. |
|
|
806
|
+
|
|
807
|
+
#### `StudyAgentScript`
|
|
808
|
+
|
|
809
|
+
The declaration exposes these methods.
|
|
810
|
+
|
|
811
|
+
| Method | Summary |
|
|
812
|
+
| ---------- | ------------------------------------------------------------------------------------------------------------ |
|
|
813
|
+
| `clear` | Ends the prepared goal so another goal can be prepared; a stream already running keeps serving its own goal. |
|
|
814
|
+
| `generate` | Consumes the same streaming response into its assembled provider result. |
|
|
815
|
+
| `prepare` | Prepares one goal's declared response sequence and metered operational boundary until `clear` ends the goal. |
|
|
816
|
+
| `stream` | Streams a declared response after authoritative admission and retains actual request bytes. |
|
|
817
|
+
|
|
818
|
+
#### `StudyAgentSummary`
|
|
819
|
+
|
|
820
|
+
The declaration exposes these methods.
|
|
821
|
+
|
|
822
|
+
| Method | Summary |
|
|
823
|
+
| ----------- | ------------------------------------------------------------------------------------------------------- |
|
|
824
|
+
| `summarize` | Measures one canonical request, refuses it at the limit, and sends the very same array to the provider. |
|
|
825
|
+
|
|
826
|
+
#### `StudyAgentTrace`
|
|
827
|
+
|
|
828
|
+
The declaration exposes these methods.
|
|
829
|
+
|
|
830
|
+
| Method | Summary |
|
|
831
|
+
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
832
|
+
| `admit` | Prices a window measurement and, when observing, retains it as the goal's admission. |
|
|
833
|
+
| `append` | Retains one domain row for the active goal, whether or not observation is enabled; a row outside a goal is dropped. |
|
|
834
|
+
| `canonical` | Reads the role's current dispatch identity for the wire request that follows it. |
|
|
835
|
+
| `dispatch` | Numbers a request about to be dispatched and retains it as its role's current dispatch; does nothing unless observing. |
|
|
836
|
+
| `flush` | Appends the retained rows in order, including rows added during the flush, and ends the goal even when custody refuses a row. |
|
|
837
|
+
| `measure` | Takes one synchronous measurement row; the goal's flush appends it, failure included. |
|
|
838
|
+
| `record` | Retains a dispatching agent request's reading, names it for the wire request that follows, and records its estimate. |
|
|
839
|
+
| `start` | Begins a goal's rows. Ordinals, dispatch numbers and role identities continue from earlier goals. |
|
|
840
|
+
| `translate` | Latches the study-level reading of a failure before an enclosing runtime can swallow it and retains one refusal row per refused identity in a goal. |
|
|
841
|
+
|
|
842
|
+
#### `StudyArtifactLoader`
|
|
843
|
+
|
|
844
|
+
The declaration exposes these methods.
|
|
845
|
+
|
|
846
|
+
| Method | Summary |
|
|
847
|
+
| --------- | -------------------------------------------------------- |
|
|
848
|
+
| `adapter` | Loads the adapter from the trial inventory. |
|
|
849
|
+
| `inspect` | Inventories bytes without importing selected code. |
|
|
850
|
+
| `load` | Loads admitted built namespaces inside the trial child. |
|
|
851
|
+
| `verify` | Refuses instrument and inventory drift after inspection. |
|
|
852
|
+
|
|
853
|
+
#### `StudyCLI`
|
|
854
|
+
|
|
855
|
+
The declaration exposes these methods.
|
|
856
|
+
|
|
857
|
+
| Method | Summary |
|
|
858
|
+
| --------- | ------------------------------------------------------- |
|
|
859
|
+
| `execute` | Executes one route with truthful public exit semantics. |
|
|
860
|
+
|
|
861
|
+
#### `StudyChannel`
|
|
862
|
+
|
|
863
|
+
The declaration exposes these methods.
|
|
864
|
+
|
|
865
|
+
| Method | Summary |
|
|
866
|
+
| --------- | ------------------------------------------------------------ |
|
|
867
|
+
| `abort` | Forwards cancellation without closing the cleanup transport. |
|
|
868
|
+
| `close` | Removes endpoint handlers and rejects all unresolved calls. |
|
|
869
|
+
| `request` | Sends one correlated domain request. |
|
|
870
|
+
|
|
871
|
+
#### `StudyCommand`
|
|
872
|
+
|
|
873
|
+
The declaration exposes these methods.
|
|
874
|
+
|
|
875
|
+
| Method | Summary |
|
|
876
|
+
| --------- | -------------------------------------------------------------------- |
|
|
877
|
+
| `execute` | Parses command tokens once and executes their independent operation. |
|
|
878
|
+
|
|
879
|
+
#### `StudyControl`
|
|
880
|
+
|
|
881
|
+
The declaration exposes these methods.
|
|
882
|
+
|
|
883
|
+
| Method | Summary |
|
|
884
|
+
| ------- | ----------------------------------------------------------------------------- |
|
|
885
|
+
| `close` | Removes the lifecycle listener without changing the retained failure. |
|
|
886
|
+
| `fail` | Latches an operational failure and cancels all linked work. |
|
|
887
|
+
| `wait` | Races work against cancellation and removes its listener after either ending. |
|
|
888
|
+
|
|
889
|
+
#### `StudyControlInterface`
|
|
890
|
+
|
|
891
|
+
The declaration exposes these methods.
|
|
892
|
+
|
|
893
|
+
| Method | Summary |
|
|
894
|
+
| ------- | ----------------------------------------------------------------------------- |
|
|
895
|
+
| `close` | Removes the lifecycle listener without changing the retained failure. |
|
|
896
|
+
| `fail` | Latches an operational failure and cancels all linked work. |
|
|
897
|
+
| `wait` | Races work against cancellation and removes its listener after either ending. |
|
|
898
|
+
|
|
899
|
+
#### `StudyCustodySinkInterface`
|
|
900
|
+
|
|
901
|
+
The declaration exposes these methods.
|
|
902
|
+
|
|
903
|
+
| Method | Summary |
|
|
904
|
+
| -------- | ----------------------------------------------------------------------------- |
|
|
905
|
+
| `append` | Appends bounded domain evidence to the owned execution record. |
|
|
906
|
+
| `close` | Closes admission immediately and synchronizes all previously admitted writes. |
|
|
907
|
+
|
|
908
|
+
#### `StudyDeadline`
|
|
909
|
+
|
|
910
|
+
The declaration exposes these methods.
|
|
911
|
+
|
|
912
|
+
| Method | Summary |
|
|
913
|
+
| ------ | ------------------------------------------------------------------------------- |
|
|
914
|
+
| `wait` | Waits for work under a fresh failure owner and releases its timer and listener. |
|
|
915
|
+
|
|
916
|
+
#### `StudyDeadlineInterface`
|
|
917
|
+
|
|
918
|
+
The declaration exposes these methods.
|
|
919
|
+
|
|
920
|
+
| Method | Summary |
|
|
921
|
+
| ------ | ------------------------------------------------------------------------------- |
|
|
922
|
+
| `wait` | Waits for work under a fresh failure owner and releases its timer and listener. |
|
|
923
|
+
|
|
924
|
+
#### `StudyDriverInterface`
|
|
925
|
+
|
|
926
|
+
The declaration exposes these methods.
|
|
927
|
+
|
|
928
|
+
| Method | Summary |
|
|
929
|
+
| ------ | --------------------------------------------------- |
|
|
930
|
+
| `open` | Creates fresh domain state for one scheduled trial. |
|
|
931
|
+
|
|
932
|
+
#### `StudyEvidenceSink`
|
|
933
|
+
|
|
934
|
+
The declaration exposes these methods.
|
|
935
|
+
|
|
936
|
+
| Method | Summary |
|
|
937
|
+
| -------- | ----------------------------------------------------------------------------- |
|
|
938
|
+
| `append` | Admits exact encoded bytes before queuing an append in call order. |
|
|
939
|
+
| `close` | Closes admission immediately and synchronizes all previously admitted writes. |
|
|
940
|
+
|
|
941
|
+
#### `StudyGradingStore`
|
|
942
|
+
|
|
943
|
+
The declaration exposes these methods.
|
|
944
|
+
|
|
945
|
+
| Method | Summary |
|
|
946
|
+
| ------- | ----------------------------------------------------------------------------- |
|
|
947
|
+
| `read` | Reads an immutable grading version and verifies every bound artifact byte. |
|
|
948
|
+
| `write` | Retains a deterministic grading version or verifies identical existing bytes. |
|
|
949
|
+
|
|
950
|
+
#### `StudyLatchInterface`
|
|
951
|
+
|
|
952
|
+
The declaration exposes these methods.
|
|
953
|
+
|
|
954
|
+
| Method | Summary |
|
|
955
|
+
| ------- | ------------------------------------------------------------------------- |
|
|
956
|
+
| `check` | Refuses work after a retained failure or cancellation. |
|
|
957
|
+
| `fail` | Retains an operational failure even when an enclosing runtime catches it. |
|
|
958
|
+
|
|
959
|
+
#### `StudyLauncher`
|
|
960
|
+
|
|
961
|
+
The declaration exposes these methods.
|
|
962
|
+
|
|
963
|
+
| Method | Summary |
|
|
964
|
+
| --------- | ------------------------------------------------------------------------------ |
|
|
965
|
+
| `execute` | Checks and supervises the requested command under its finite native allowance. |
|
|
966
|
+
|
|
967
|
+
#### `StudyMeter`
|
|
968
|
+
|
|
969
|
+
The declaration exposes these methods.
|
|
970
|
+
|
|
971
|
+
| Method | Summary |
|
|
972
|
+
| ------- | ----------------------------------------------------------------------- |
|
|
973
|
+
| `admit` | Reserves one request atomically across all enclosing allowances. |
|
|
974
|
+
| `close` | Refuses unfinished requests before closing a goal's admission boundary. |
|
|
975
|
+
|
|
976
|
+
#### `StudyMeterInterface`
|
|
977
|
+
|
|
978
|
+
The declaration exposes these methods.
|
|
979
|
+
|
|
980
|
+
| Method | Summary |
|
|
981
|
+
| ------- | ------------------------------------------------------------------------------------- |
|
|
982
|
+
| `admit` | Resolves admission before dispatch; local meters may return the ticket synchronously. |
|
|
983
|
+
| `close` | Refuses unfinished requests before closing a goal's admission boundary. |
|
|
984
|
+
|
|
985
|
+
#### `StudyOllamaTransport`
|
|
986
|
+
|
|
987
|
+
The declaration exposes these methods.
|
|
988
|
+
|
|
989
|
+
| Method | Summary |
|
|
990
|
+
| --------- | --------------------------------------------------------------------------------------------------- |
|
|
991
|
+
| `check` | Refuses work after any retained failure or cancellation. |
|
|
992
|
+
| `clear` | Ends the bound goal so another goal can be prepared; a request already admitted keeps its own goal. |
|
|
993
|
+
| `close` | Cancels every outstanding native reader and permanently closes the transport. |
|
|
994
|
+
| `fail` | Retains an operational failure even when an inner runtime catches it. |
|
|
995
|
+
| `fetch` | Dispatches exactly one admitted request with bounded streaming reads. |
|
|
996
|
+
| `prepare` | Binds subsequent wire requests to one live goal until `clear` or `close` ends it. |
|
|
997
|
+
| `verify` | Checks every pinned serving identity through admitted inventory and metadata requests. |
|
|
998
|
+
|
|
999
|
+
#### `StudyProcessDriver`
|
|
1000
|
+
|
|
1001
|
+
The declaration exposes these methods.
|
|
1002
|
+
|
|
1003
|
+
| Method | Summary |
|
|
1004
|
+
| ------ | ---------------------------------------------------------------- |
|
|
1005
|
+
| `open` | Opens isolated child state and waits for its verified readiness. |
|
|
1006
|
+
|
|
1007
|
+
#### `StudyProcessGoal`
|
|
1008
|
+
|
|
1009
|
+
The declaration exposes these methods.
|
|
1010
|
+
|
|
1011
|
+
| Method | Summary |
|
|
1012
|
+
| ------- | ---------------------------------------------------------------------------------------------- |
|
|
1013
|
+
| `issue` | Issues the identifier of the next worker admission when the worker asked for exactly that one. |
|
|
1014
|
+
|
|
1015
|
+
#### `StudyProcessSession`
|
|
1016
|
+
|
|
1017
|
+
The declaration exposes these methods.
|
|
1018
|
+
|
|
1019
|
+
| Method | Summary |
|
|
1020
|
+
| --------- | ----------------------------------------------------------------------------------- |
|
|
1021
|
+
| `close` | Requests verified cleanup, then terminates only this recorded process tree. |
|
|
1022
|
+
| `execute` | Runs one ordered goal through parent-authorized requests and acknowledged evidence. |
|
|
1023
|
+
| `start` | Starts the child and verifies its artifact-bound readiness. |
|
|
1024
|
+
|
|
1025
|
+
#### `StudyRemoteMeter`
|
|
1026
|
+
|
|
1027
|
+
The declaration exposes these methods.
|
|
1028
|
+
|
|
1029
|
+
| Method | Summary |
|
|
1030
|
+
| ------- | ------------------------------------------------------------------------ |
|
|
1031
|
+
| `abort` | Propagates the parent's ticket cancellation without changing its cause. |
|
|
1032
|
+
| `admit` | Requests and awaits the parent's dispatch grant. |
|
|
1033
|
+
| `close` | Closes admission and requires every ticket and acknowledgment to finish. |
|
|
1034
|
+
|
|
1035
|
+
#### `StudyRemoteMeterInterface`
|
|
1036
|
+
|
|
1037
|
+
The declaration exposes these methods.
|
|
1038
|
+
|
|
1039
|
+
| Method | Summary |
|
|
1040
|
+
| ------- | ------------------------------------------------------------------------------------- |
|
|
1041
|
+
| `abort` | Propagates the parent's ticket cancellation without changing its cause. |
|
|
1042
|
+
| `admit` | Resolves admission before dispatch; local meters may return the ticket synchronously. |
|
|
1043
|
+
| `close` | Closes admission and requires every ticket and acknowledgment to finish. |
|
|
1044
|
+
|
|
1045
|
+
#### `StudyRemoteTicket`
|
|
1046
|
+
|
|
1047
|
+
The declaration exposes these methods.
|
|
1048
|
+
|
|
1049
|
+
| Method | Summary |
|
|
1050
|
+
| -------- | --------------------------------------------------------------- |
|
|
1051
|
+
| `fail` | Sends operational failure while preserving unknown actual cost. |
|
|
1052
|
+
| `finish` | Sends actual usage for authoritative parent settlement. |
|
|
1053
|
+
|
|
1054
|
+
#### `StudyRequest`
|
|
1055
|
+
|
|
1056
|
+
The declaration exposes these methods.
|
|
1057
|
+
|
|
1058
|
+
| Method | Summary |
|
|
1059
|
+
| -------- | ------------------------------------------------------------------------------ |
|
|
1060
|
+
| `fail` | Retains unknown cost conservatively and latches the first operational failure. |
|
|
1061
|
+
| `finish` | Retains actual measurements and refuses invalid or excessive charges. |
|
|
1062
|
+
|
|
1063
|
+
#### `StudyResultStore`
|
|
1064
|
+
|
|
1065
|
+
The declaration exposes these methods.
|
|
1066
|
+
|
|
1067
|
+
| Method | Summary |
|
|
1068
|
+
| ----------- | --------------------------------------------------------------------------------- |
|
|
1069
|
+
| `create` | Exclusively creates the result directory and initial manifest bytes. |
|
|
1070
|
+
| `exchanges` | Reserves a trial's entire exchange allowance before any worker starts. |
|
|
1071
|
+
| `finish` | Closes evidence admission, drains admitted appends, and writes a terminal record. |
|
|
1072
|
+
| `seal` | Seals exact execution inventory after every scheduled trial has terminated. |
|
|
1073
|
+
| `start` | Exclusively creates the evidence sink for an exact scheduled trial. |
|
|
1074
|
+
|
|
1075
|
+
#### `StudyExchangeSink`
|
|
1076
|
+
|
|
1077
|
+
The declaration exposes these methods.
|
|
1078
|
+
|
|
1079
|
+
| Method | Summary |
|
|
1080
|
+
| -------- | ---------------------------------------------------------------------------------------- |
|
|
1081
|
+
| `append` | Appends one owned row after validating order and reserving its complete serialized size. |
|
|
1082
|
+
| `close` | Closes admission, drains accepted writes and synchronizes the owned descriptor. |
|
|
1083
|
+
|
|
1084
|
+
#### `StudyExchangeSinkInterface`
|
|
1085
|
+
|
|
1086
|
+
The declaration exposes these methods.
|
|
1087
|
+
|
|
1088
|
+
| Method | Summary |
|
|
1089
|
+
| -------- | ----------------------------------------------------------------------------------- |
|
|
1090
|
+
| `append` | Appends one validated row after reserving its complete serialized size. |
|
|
1091
|
+
| `close` | Closes admission and synchronizes all admitted writes without inventing completion. |
|
|
1092
|
+
|
|
1093
|
+
#### `StudyOllamaReplay`
|
|
1094
|
+
|
|
1095
|
+
The declaration exposes these methods.
|
|
1096
|
+
|
|
1097
|
+
| Method | Summary |
|
|
1098
|
+
| ------- | -------------------------------------------------------------------------- |
|
|
1099
|
+
| `check` | Refuses a mismatch, an unread response or an incompletely consumed prefix. |
|
|
1100
|
+
| `close` | Closes admission and cancels retained replay responses. |
|
|
1101
|
+
|
|
1102
|
+
#### `StudyOllamaReplayInterface`
|
|
1103
|
+
|
|
1104
|
+
The declaration exposes these methods.
|
|
1105
|
+
|
|
1106
|
+
| Method | Summary |
|
|
1107
|
+
| ------- | ----------------------------------------------------------------------------------- |
|
|
1108
|
+
| `check` | Refuses a latched mismatch, an unread response, or an incompletely consumed prefix. |
|
|
1109
|
+
| `close` | Closes admission and cancels or drains owned response readers. |
|
|
1110
|
+
|
|
1111
|
+
#### `StudyResultStoreInterface`
|
|
1112
|
+
|
|
1113
|
+
The declaration exposes these methods.
|
|
1114
|
+
|
|
1115
|
+
| Method | Summary |
|
|
1116
|
+
| ----------- | ------------------------------------------------------------------------------------------ |
|
|
1117
|
+
| `create` | Exclusively creates the result directory and initial manifest bytes. |
|
|
1118
|
+
| `exchanges` | Reserves a declared trial's sidecar allowance and returns its exclusive write destination. |
|
|
1119
|
+
| `finish` | Retains the terminal record for one scheduled trial. |
|
|
1120
|
+
| `seal` | Seals a complete terminal population with its exact execution-byte inventory. |
|
|
1121
|
+
| `start` | Opens append-only evidence custody for one scheduled trial. |
|
|
1122
|
+
|
|
1123
|
+
#### `StudyScope`
|
|
1124
|
+
|
|
1125
|
+
The declaration exposes these methods.
|
|
1126
|
+
|
|
1127
|
+
| Method | Summary |
|
|
1128
|
+
| --------- | ------------------------------------------------------------------------- |
|
|
1129
|
+
| `check` | Checks cumulative consumption and every pending ceiling before admission. |
|
|
1130
|
+
| `close` | Checks deadline attribution before clearing the timer. |
|
|
1131
|
+
| `reserve` | Reserves one request after the enclosing meter checked all scopes. |
|
|
1132
|
+
| `settle` | Commits known charges while retaining ceilings for missing measurements. |
|
|
1133
|
+
|
|
1134
|
+
#### `StudyScopeInterface`
|
|
1135
|
+
|
|
1136
|
+
The declaration exposes these methods.
|
|
1137
|
+
|
|
1138
|
+
| Method | Summary |
|
|
1139
|
+
| --------- | ------------------------------------------------------------------------- |
|
|
1140
|
+
| `check` | Checks cumulative consumption and every pending ceiling before admission. |
|
|
1141
|
+
| `close` | Checks deadline attribution before clearing the timer. |
|
|
1142
|
+
| `reserve` | Reserves one request after the enclosing meter checked all scopes. |
|
|
1143
|
+
| `settle` | Commits known charges while retaining ceilings for missing measurements. |
|
|
1144
|
+
|
|
1145
|
+
#### `StudySeries`
|
|
1146
|
+
|
|
1147
|
+
The declaration exposes these methods.
|
|
1148
|
+
|
|
1149
|
+
| Method | Summary |
|
|
1150
|
+
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1151
|
+
| `execute` | Runs every declared trial once and retains explicit unexecuted observations after failure. Custody rejection leaves the run unsealed; callers must seal only a fulfilled execution. |
|
|
1152
|
+
|
|
1153
|
+
#### `StudySessionInterface`
|
|
1154
|
+
|
|
1155
|
+
The declaration exposes these methods.
|
|
1156
|
+
|
|
1157
|
+
| Method | Summary |
|
|
1158
|
+
| --------- | ------------------------------------------------------------------- |
|
|
1159
|
+
| `close` | Releases the trial's domain resources. |
|
|
1160
|
+
| `execute` | Executes one public goal against the trial's retained domain state. |
|
|
1161
|
+
|
|
1162
|
+
#### `StudySinkInterface`
|
|
1163
|
+
|
|
1164
|
+
The declaration exposes these methods.
|
|
1165
|
+
|
|
1166
|
+
| Method | Summary |
|
|
1167
|
+
| -------- | -------------------------------------------------------------- |
|
|
1168
|
+
| `append` | Appends bounded domain evidence to the owned execution record. |
|
|
1169
|
+
|
|
1170
|
+
#### `StudyStoreInterface`
|
|
1171
|
+
|
|
1172
|
+
The declaration exposes these methods.
|
|
1173
|
+
|
|
1174
|
+
| Method | Summary |
|
|
1175
|
+
| -------- | ----------------------------------------------------------- |
|
|
1176
|
+
| `finish` | Retains the terminal record for one scheduled trial. |
|
|
1177
|
+
| `start` | Opens append-only evidence custody for one scheduled trial. |
|
|
1178
|
+
|
|
1179
|
+
#### `StudyTask`
|
|
1180
|
+
|
|
1181
|
+
The declaration exposes these methods.
|
|
1182
|
+
|
|
1183
|
+
| Method | Summary |
|
|
1184
|
+
| --------- | -------------------------------------------------------------- |
|
|
1185
|
+
| `execute` | Executes one validation or grading operation in a fresh child. |
|
|
1186
|
+
|
|
1187
|
+
Task and trial children settle on their close event, which waits for inherited output handles. After a child's native exit those handles are destroyed after `STUDY_DRAIN_DURATION` (1 second) elapses, so a descendant that holds the output cannot leave the parent unsettled. A task still rejects for a missing complete response, and a session still rejects its start and fulfills its close. This releases only the parent's read handles: a descendant that survives an exited root is outside discoverable-tree cleanup and is neither found nor terminated. Linux behavior is unverified.
|
|
1188
|
+
|
|
1189
|
+
#### `StudyTaskWorker`
|
|
1190
|
+
|
|
1191
|
+
The declaration exposes these methods.
|
|
1192
|
+
|
|
1193
|
+
| Method | Summary |
|
|
1194
|
+
| --------- | ----------------------------------------------------------------------- |
|
|
1195
|
+
| `execute` | Processes exactly one inherited request and returns a bounded response. |
|
|
1196
|
+
|
|
1197
|
+
#### `StudyTicket`
|
|
1198
|
+
|
|
1199
|
+
The declaration exposes these methods.
|
|
1200
|
+
|
|
1201
|
+
| Method | Summary |
|
|
1202
|
+
| -------- | --------------------------------------------------------- |
|
|
1203
|
+
| `fail` | Records an attributable failure for one admitted request. |
|
|
1204
|
+
| `finish` | Records actual measurements for one admitted request. |
|
|
1205
|
+
|
|
1206
|
+
#### `StudyWorker`
|
|
1207
|
+
|
|
1208
|
+
The declaration exposes these methods.
|
|
1209
|
+
|
|
1210
|
+
| Method | Summary |
|
|
1211
|
+
| --------- | -------------------------------------------------------------- |
|
|
1212
|
+
| `execute` | Serves the inherited IPC channel until its parent disconnects. |
|
|
1213
|
+
|
|
1214
|
+
## Examples
|
|
1215
|
+
|
|
1216
|
+
The following calls illustrate the declared contracts. Supply the arguments named by each declaration.
|
|
1217
|
+
|
|
1218
|
+
### isStudyError
|
|
1219
|
+
|
|
1220
|
+
Use the exported declaration with its documented arguments.
|
|
1221
|
+
|
|
1222
|
+
```ts
|
|
1223
|
+
import { isStudyError } from '@orkestrel/study'
|
|
1224
|
+
|
|
1225
|
+
isStudyError(new StudyError('CONFIG', 'missing definition')) // true
|
|
1226
|
+
```
|
|
1227
|
+
|
|
1228
|
+
### Check exact keys
|
|
1229
|
+
|
|
1230
|
+
Use the exported declaration with its documented arguments.
|
|
1231
|
+
|
|
1232
|
+
```ts
|
|
1233
|
+
import { matchesStudyKeys } from '@orkestrel/study'
|
|
1234
|
+
|
|
1235
|
+
matchesStudyKeys({ id: 'one' }, ['id']) // true
|
|
1236
|
+
```
|
|
1237
|
+
|
|
1238
|
+
### omitStudyAbsent
|
|
1239
|
+
|
|
1240
|
+
Use the exported declaration with its documented arguments.
|
|
1241
|
+
|
|
1242
|
+
```ts
|
|
1243
|
+
import { omitStudyAbsent } from '@orkestrel/study'
|
|
1244
|
+
|
|
1245
|
+
omitStudyAbsent({ context: 512, recap: undefined }) // { context: 512 }
|
|
1246
|
+
```
|
|
1247
|
+
|
|
1248
|
+
### normalizeStudyProfile
|
|
1249
|
+
|
|
1250
|
+
Use the exported declaration with its documented arguments.
|
|
1251
|
+
|
|
1252
|
+
```ts
|
|
1253
|
+
import { normalizeStudyProfile } from '@orkestrel/study'
|
|
1254
|
+
|
|
1255
|
+
normalizeStudyProfile(profile) // no `recap` key when the room declares none
|
|
1256
|
+
```
|
|
1257
|
+
|
|
1258
|
+
### buildStudySchedule
|
|
1259
|
+
|
|
1260
|
+
Use the exported declaration with its documented arguments.
|
|
1261
|
+
|
|
1262
|
+
```ts
|
|
1263
|
+
import { buildStudySchedule } from '@orkestrel/study'
|
|
1264
|
+
|
|
1265
|
+
buildStudySchedule(definition, scenarios)
|
|
1266
|
+
```
|
|
1267
|
+
|
|
1268
|
+
### validateStudyInputs
|
|
1269
|
+
|
|
1270
|
+
Use the exported declaration with its documented arguments.
|
|
1271
|
+
|
|
1272
|
+
```ts
|
|
1273
|
+
import { validateStudyInputs } from '@orkestrel/study'
|
|
1274
|
+
|
|
1275
|
+
validateStudyInputs(definition, scenarios, rubric, profile)
|
|
1276
|
+
```
|
|
1277
|
+
|
|
1278
|
+
### computeStudyScores
|
|
1279
|
+
|
|
1280
|
+
Use the exported declaration with its documented arguments.
|
|
1281
|
+
|
|
1282
|
+
```ts
|
|
1283
|
+
import { computeStudyScores } from '@orkestrel/study'
|
|
1284
|
+
|
|
1285
|
+
computeStudyScores(manifest, rubric, grading)
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
### parseStudyDefinition
|
|
1289
|
+
|
|
1290
|
+
Use the exported declaration with its documented arguments.
|
|
1291
|
+
|
|
1292
|
+
```ts
|
|
1293
|
+
import { parseStudyDefinition } from '@orkestrel/study'
|
|
1294
|
+
|
|
1295
|
+
parseStudyDefinition(configuration)
|
|
1296
|
+
```
|
|
1297
|
+
|
|
1298
|
+
### parseStudyScenario
|
|
1299
|
+
|
|
1300
|
+
Use the exported declaration with its documented arguments.
|
|
1301
|
+
|
|
1302
|
+
```ts
|
|
1303
|
+
import { parseStudyScenario } from '@orkestrel/study'
|
|
1304
|
+
|
|
1305
|
+
parseStudyScenario({ id: 'shift', goals: [{ id: 'write', input: {} }] })
|
|
1306
|
+
```
|
|
1307
|
+
|
|
1308
|
+
### parseStudyProfile
|
|
1309
|
+
|
|
1310
|
+
Use the exported declaration with its documented arguments.
|
|
1311
|
+
|
|
1312
|
+
```ts
|
|
1313
|
+
import { parseStudyProfile } from '@orkestrel/study'
|
|
1314
|
+
|
|
1315
|
+
parseStudyProfile(configuration)
|
|
1316
|
+
```
|
|
1317
|
+
|
|
1318
|
+
### parseStudyRubric
|
|
1319
|
+
|
|
1320
|
+
Use the exported declaration with its documented arguments.
|
|
1321
|
+
|
|
1322
|
+
```ts
|
|
1323
|
+
import { parseStudyRubric } from '@orkestrel/study'
|
|
1324
|
+
|
|
1325
|
+
parseStudyRubric(configuration)
|
|
1326
|
+
```
|
|
1327
|
+
|
|
1328
|
+
### parseStudyGrading
|
|
1329
|
+
|
|
1330
|
+
Use the exported declaration with its documented arguments.
|
|
1331
|
+
|
|
1332
|
+
```ts
|
|
1333
|
+
import { parseStudyGrading } from '@orkestrel/study'
|
|
1334
|
+
|
|
1335
|
+
parseStudyGrading(evidence)
|
|
1336
|
+
```
|
|
1337
|
+
|
|
1338
|
+
### parseStudyLabeling
|
|
1339
|
+
|
|
1340
|
+
Use the exported declaration with its documented arguments.
|
|
1341
|
+
|
|
1342
|
+
```ts
|
|
1343
|
+
import { parseStudyLabeling } from '@orkestrel/study'
|
|
1344
|
+
|
|
1345
|
+
parseStudyLabeling(evidence)
|
|
1346
|
+
```
|
|
1347
|
+
|
|
1348
|
+
### isStudyName
|
|
1349
|
+
|
|
1350
|
+
Use the exported declaration with its documented arguments.
|
|
1351
|
+
|
|
1352
|
+
```ts
|
|
1353
|
+
import { isStudyName } from '@orkestrel/study'
|
|
1354
|
+
|
|
1355
|
+
isStudyName('memory') // true
|
|
1356
|
+
```
|
|
1357
|
+
|
|
1358
|
+
### isStudyLimit
|
|
1359
|
+
|
|
1360
|
+
Use the exported declaration with its documented arguments.
|
|
1361
|
+
|
|
1362
|
+
```ts
|
|
1363
|
+
import { isStudyLimit } from '@orkestrel/study'
|
|
1364
|
+
|
|
1365
|
+
isStudyLimit({ duration: 1000, calls: 1, tokens: 100, bytes: 1024 }) // true
|
|
1366
|
+
```
|
|
1367
|
+
|
|
1368
|
+
### isStudyBounds
|
|
1369
|
+
|
|
1370
|
+
Use the exported declaration with its documented arguments.
|
|
1371
|
+
|
|
1372
|
+
```ts
|
|
1373
|
+
import { isStudyBounds } from '@orkestrel/study'
|
|
1374
|
+
|
|
1375
|
+
isStudyBounds({}) // false
|
|
1376
|
+
```
|
|
1377
|
+
|
|
1378
|
+
### isStudyGoal
|
|
1379
|
+
|
|
1380
|
+
Use the exported declaration with its documented arguments.
|
|
1381
|
+
|
|
1382
|
+
```ts
|
|
1383
|
+
import { isStudyGoal } from '@orkestrel/study'
|
|
1384
|
+
|
|
1385
|
+
isStudyGoal({ id: 'write', input: { text: 'hello' } }) // true
|
|
1386
|
+
```
|
|
1387
|
+
|
|
1388
|
+
### isStudyScenario
|
|
1389
|
+
|
|
1390
|
+
Use the exported declaration with its documented arguments.
|
|
1391
|
+
|
|
1392
|
+
```ts
|
|
1393
|
+
import { isStudyScenario } from '@orkestrel/study'
|
|
1394
|
+
|
|
1395
|
+
isStudyScenario({ id: 'shift', goals: [{ id: 'handoff', input: 'Prepare handoff' }] }) // true
|
|
1396
|
+
```
|
|
1397
|
+
|
|
1398
|
+
### isStudyDefinition
|
|
1399
|
+
|
|
1400
|
+
Use the exported declaration with its documented arguments.
|
|
1401
|
+
|
|
1402
|
+
```ts
|
|
1403
|
+
import { isStudyDefinition } from '@orkestrel/study'
|
|
1404
|
+
|
|
1405
|
+
isStudyDefinition({ name: 'tools' }) // false
|
|
1406
|
+
```
|
|
1407
|
+
|
|
1408
|
+
### isStudyRoom
|
|
1409
|
+
|
|
1410
|
+
Use the exported declaration with its documented arguments.
|
|
1411
|
+
|
|
1412
|
+
```ts
|
|
1413
|
+
import { isStudyRoom } from '@orkestrel/study'
|
|
1414
|
+
|
|
1415
|
+
isStudyRoom({ context: 20480, output: 8192, safety: 512, recap: 2048, think: true }) // true
|
|
1416
|
+
isStudyRoom({ context: 20480, output: 8192, safety: 512, think: true }) // true
|
|
1417
|
+
```
|
|
1418
|
+
|
|
1419
|
+
### isStudyProvider
|
|
1420
|
+
|
|
1421
|
+
Use the exported declaration with its documented arguments.
|
|
1422
|
+
|
|
1423
|
+
```ts
|
|
1424
|
+
import { isStudyProvider } from '@orkestrel/study'
|
|
1425
|
+
|
|
1426
|
+
isStudyProvider({ entry: 'dist/index.js' }) // false
|
|
1427
|
+
```
|
|
1428
|
+
|
|
1429
|
+
### isStudyProfile
|
|
1430
|
+
|
|
1431
|
+
Use the exported declaration with its documented arguments.
|
|
1432
|
+
|
|
1433
|
+
```ts
|
|
1434
|
+
import { isStudyProfile } from '@orkestrel/study'
|
|
1435
|
+
|
|
1436
|
+
isStudyProfile({ name: 'local' }) // false
|
|
1437
|
+
```
|
|
1438
|
+
|
|
1439
|
+
### isStudyDigest
|
|
1440
|
+
|
|
1441
|
+
Use the exported declaration with its documented arguments.
|
|
1442
|
+
|
|
1443
|
+
```ts
|
|
1444
|
+
import { isStudyDigest } from '@orkestrel/study'
|
|
1445
|
+
|
|
1446
|
+
isStudyDigest('a'.repeat(64)) // true
|
|
1447
|
+
```
|
|
1448
|
+
|
|
1449
|
+
### isStudyTimestamp
|
|
1450
|
+
|
|
1451
|
+
Use the exported declaration with its documented arguments.
|
|
1452
|
+
|
|
1453
|
+
```ts
|
|
1454
|
+
import { isStudyTimestamp } from '@orkestrel/study'
|
|
1455
|
+
|
|
1456
|
+
isStudyTimestamp('2026-10-14T12:00:00.000Z') // true
|
|
1457
|
+
```
|
|
1458
|
+
|
|
1459
|
+
### isStudyUsage
|
|
1460
|
+
|
|
1461
|
+
Use the exported declaration with its documented arguments.
|
|
1462
|
+
|
|
1463
|
+
```ts
|
|
1464
|
+
import { isStudyUsage } from '@orkestrel/study'
|
|
1465
|
+
|
|
1466
|
+
isStudyUsage({ role: 'tool', calls: 0, bytes: 0, duration: 0 }) // true
|
|
1467
|
+
```
|
|
1468
|
+
|
|
1469
|
+
### isStudyProduct
|
|
1470
|
+
|
|
1471
|
+
Use the exported declaration with its documented arguments.
|
|
1472
|
+
|
|
1473
|
+
```ts
|
|
1474
|
+
import { isStudyProduct } from '@orkestrel/study'
|
|
1475
|
+
|
|
1476
|
+
isStudyProduct({ value: { answer: 1 }, partial: true }) // true
|
|
1477
|
+
```
|
|
1478
|
+
|
|
1479
|
+
### isStudyCriterion
|
|
1480
|
+
|
|
1481
|
+
Use the exported declaration with its documented arguments.
|
|
1482
|
+
|
|
1483
|
+
```ts
|
|
1484
|
+
import { isStudyCriterion } from '@orkestrel/study'
|
|
1485
|
+
|
|
1486
|
+
isStudyCriterion({
|
|
1487
|
+
id: 'saved',
|
|
1488
|
+
scenario: 'shift',
|
|
1489
|
+
goal: 'write',
|
|
1490
|
+
method: 'state',
|
|
1491
|
+
critical: true,
|
|
1492
|
+
assertion: true,
|
|
1493
|
+
}) // true
|
|
1494
|
+
```
|
|
1495
|
+
|
|
1496
|
+
### isStudyRubric
|
|
1497
|
+
|
|
1498
|
+
Use the exported declaration with its documented arguments.
|
|
1499
|
+
|
|
1500
|
+
```ts
|
|
1501
|
+
import { isStudyRubric } from '@orkestrel/study'
|
|
1502
|
+
|
|
1503
|
+
isStudyRubric({ version: '1', criteria: [] }) // false
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
### isStudyJudgment
|
|
1507
|
+
|
|
1508
|
+
Use the exported declaration with its documented arguments.
|
|
1509
|
+
|
|
1510
|
+
```ts
|
|
1511
|
+
import { isStudyJudgment } from '@orkestrel/study'
|
|
1512
|
+
|
|
1513
|
+
isStudyJudgment({
|
|
1514
|
+
trial: 'r1-s1-a1',
|
|
1515
|
+
criterion: 'saved',
|
|
1516
|
+
verdict: 'unknown',
|
|
1517
|
+
method: 'state',
|
|
1518
|
+
reason: 'No evidence',
|
|
1519
|
+
references: [],
|
|
1520
|
+
}) // true
|
|
1521
|
+
```
|
|
1522
|
+
|
|
1523
|
+
### isStudyLabeling
|
|
1524
|
+
|
|
1525
|
+
Use the exported declaration with its documented arguments.
|
|
1526
|
+
|
|
1527
|
+
```ts
|
|
1528
|
+
import { isStudyLabeling } from '@orkestrel/study'
|
|
1529
|
+
|
|
1530
|
+
isStudyLabeling({}) // false
|
|
1531
|
+
```
|
|
1532
|
+
|
|
1533
|
+
### isStudyErrorCode
|
|
1534
|
+
|
|
1535
|
+
Use the exported declaration with its documented arguments.
|
|
1536
|
+
|
|
1537
|
+
```ts
|
|
1538
|
+
import { isStudyErrorCode } from '@orkestrel/study'
|
|
1539
|
+
|
|
1540
|
+
isStudyErrorCode('CONFIG') // true
|
|
1541
|
+
```
|
|
1542
|
+
|
|
1543
|
+
### isStudyGrading
|
|
1544
|
+
|
|
1545
|
+
Use the exported declaration with its documented arguments.
|
|
1546
|
+
|
|
1547
|
+
```ts
|
|
1548
|
+
import { isStudyGrading } from '@orkestrel/study'
|
|
1549
|
+
|
|
1550
|
+
isStudyGrading({}) // false
|
|
1551
|
+
```
|
|
1552
|
+
|
|
1553
|
+
### Refuse an incomplete adapter
|
|
1554
|
+
|
|
1555
|
+
Use the exported declaration with its documented arguments.
|
|
1556
|
+
|
|
1557
|
+
```ts
|
|
1558
|
+
import { isStudyAdapter } from '@orkestrel/study/server'
|
|
1559
|
+
|
|
1560
|
+
isStudyAdapter({}) // false
|
|
1561
|
+
```
|
|
1562
|
+
|
|
1563
|
+
### Fail an admitted request
|
|
1564
|
+
|
|
1565
|
+
Use the exported declaration with its documented arguments.
|
|
1566
|
+
|
|
1567
|
+
```ts
|
|
1568
|
+
import type { StudyTicket } from '@orkestrel/study'
|
|
1569
|
+
import { failStudyTicket } from '@orkestrel/study'
|
|
1570
|
+
|
|
1571
|
+
declare const ticket: StudyTicket
|
|
1572
|
+
|
|
1573
|
+
failStudyTicket(ticket, new Error('Provider refused'), 'tool')
|
|
1574
|
+
```
|
|
1575
|
+
|
|
1576
|
+
### Cite a retained evidence row
|
|
1577
|
+
|
|
1578
|
+
Use the exported declaration with its documented arguments.
|
|
1579
|
+
|
|
1580
|
+
```ts
|
|
1581
|
+
import type { StudyGradeTarget } from '@orkestrel/study/server'
|
|
1582
|
+
import { buildStudyReference } from '@orkestrel/study/server'
|
|
1583
|
+
|
|
1584
|
+
declare const target: StudyGradeTarget
|
|
1585
|
+
|
|
1586
|
+
buildStudyReference(target, { file: 'evidence', row: 0 }) // 'trials/r1-s1-a1/evidence.jsonl#1'
|
|
1587
|
+
```
|
|
1588
|
+
|
|
1589
|
+
### Grade retained evidence with a consumer predicate
|
|
1590
|
+
|
|
1591
|
+
Use the exported declaration with its documented arguments.
|
|
1592
|
+
|
|
1593
|
+
```ts
|
|
1594
|
+
import type { StudyAdjudication, StudyGradeFunction } from '@orkestrel/study/server'
|
|
1595
|
+
import { gradeStudyEvidence } from '@orkestrel/study/server'
|
|
1596
|
+
|
|
1597
|
+
declare const input: StudyAdjudication
|
|
1598
|
+
declare const grade: StudyGradeFunction
|
|
1599
|
+
|
|
1600
|
+
gradeStudyEvidence(input, grade)
|
|
1601
|
+
```
|
|
1602
|
+
|
|
1603
|
+
### resolveStudyPath
|
|
1604
|
+
|
|
1605
|
+
Use the exported declaration with its documented arguments.
|
|
1606
|
+
|
|
1607
|
+
```ts
|
|
1608
|
+
import { resolveStudyPath } from '@orkestrel/study/server'
|
|
1609
|
+
|
|
1610
|
+
resolveStudyPath(directory, 'profiles/local.json')
|
|
1611
|
+
```
|
|
1612
|
+
|
|
1613
|
+
### resolveStudyProfile
|
|
1614
|
+
|
|
1615
|
+
Use the exported declaration with its documented arguments.
|
|
1616
|
+
|
|
1617
|
+
```ts
|
|
1618
|
+
import { resolveStudyProfile } from '@orkestrel/study/server'
|
|
1619
|
+
|
|
1620
|
+
resolveStudyProfile(root, profile)
|
|
1621
|
+
```
|
|
1622
|
+
|
|
1623
|
+
### computeStudyCommandFingerprint
|
|
1624
|
+
|
|
1625
|
+
Use the exported declaration with its documented arguments.
|
|
1626
|
+
|
|
1627
|
+
```ts
|
|
1628
|
+
import { computeStudyCommandFingerprint } from '@orkestrel/study/server'
|
|
1629
|
+
|
|
1630
|
+
computeStudyCommandFingerprint(identity, bounds)
|
|
1631
|
+
```
|
|
1632
|
+
|
|
1633
|
+
### computeStudyFixtureDigest
|
|
1634
|
+
|
|
1635
|
+
Use the exported declaration with its documented arguments.
|
|
1636
|
+
|
|
1637
|
+
```ts
|
|
1638
|
+
import { computeStudyFixtureDigest } from '@orkestrel/study/server'
|
|
1639
|
+
|
|
1640
|
+
computeStudyFixtureDigest(definition, scenarios)
|
|
1641
|
+
```
|
|
1642
|
+
|
|
1643
|
+
### collectStudyEvidence
|
|
1644
|
+
|
|
1645
|
+
Use the exported declaration with its documented arguments.
|
|
1646
|
+
|
|
1647
|
+
```ts
|
|
1648
|
+
import { collectStudyEvidence } from '@orkestrel/study/server'
|
|
1649
|
+
|
|
1650
|
+
await collectStudyEvidence(result)
|
|
1651
|
+
```
|
|
1652
|
+
|
|
1653
|
+
### computeStudyReport
|
|
1654
|
+
|
|
1655
|
+
Use the exported declaration with its documented arguments.
|
|
1656
|
+
|
|
1657
|
+
```ts
|
|
1658
|
+
import { computeStudyReport } from '@orkestrel/study/server'
|
|
1659
|
+
|
|
1660
|
+
computeStudyReport(result, rubric, grading)
|
|
1661
|
+
```
|
|
1662
|
+
|
|
1663
|
+
### computeStudyPartition
|
|
1664
|
+
|
|
1665
|
+
Use the exported declaration with its documented arguments.
|
|
1666
|
+
|
|
1667
|
+
```ts
|
|
1668
|
+
import { computeStudyPartition } from '@orkestrel/study/server'
|
|
1669
|
+
|
|
1670
|
+
computeStudyPartition(attempts) // { executed: 2, unexecuted: 1 }
|
|
1671
|
+
```
|
|
1672
|
+
|
|
1673
|
+
### Parse a study command
|
|
1674
|
+
|
|
1675
|
+
Use the exported declaration with its documented arguments.
|
|
1676
|
+
|
|
1677
|
+
```ts
|
|
1678
|
+
import { parseStudyArguments } from '@orkestrel/study/server'
|
|
1679
|
+
|
|
1680
|
+
parseStudyArguments(['check', 'files', '--profile', 'local'])
|
|
1681
|
+
```
|
|
1682
|
+
|
|
1683
|
+
### Identify captured bytes
|
|
1684
|
+
|
|
1685
|
+
Use the exported declaration with its documented arguments.
|
|
1686
|
+
|
|
1687
|
+
```ts
|
|
1688
|
+
import { hashStudyBytes } from '@orkestrel/study/server'
|
|
1689
|
+
|
|
1690
|
+
hashStudyBytes('retained evidence')
|
|
1691
|
+
```
|
|
1692
|
+
|
|
1693
|
+
### Encode custody bytes
|
|
1694
|
+
|
|
1695
|
+
Use the exported declaration with its documented arguments.
|
|
1696
|
+
|
|
1697
|
+
```ts
|
|
1698
|
+
import { encodeStudyJSON } from '@orkestrel/study/server'
|
|
1699
|
+
|
|
1700
|
+
encodeStudyJSON({ id: 1 })
|
|
1701
|
+
```
|
|
1702
|
+
|
|
1703
|
+
### decodeStudyJSON
|
|
1704
|
+
|
|
1705
|
+
Use the exported declaration with its documented arguments.
|
|
1706
|
+
|
|
1707
|
+
```ts
|
|
1708
|
+
import { decodeStudyJSON } from '@orkestrel/study/server'
|
|
1709
|
+
|
|
1710
|
+
decodeStudyJSON(new TextEncoder().encode('{"id":1}')) // { id: 1 }
|
|
1711
|
+
```
|
|
1712
|
+
|
|
1713
|
+
### Project a wire value
|
|
1714
|
+
|
|
1715
|
+
Use the exported declaration with its documented arguments.
|
|
1716
|
+
|
|
1717
|
+
```ts
|
|
1718
|
+
import { valueToWire } from '@orkestrel/study/server'
|
|
1719
|
+
|
|
1720
|
+
valueToWire({ state: 'ready', failure: undefined }) // { state: 'ready' }
|
|
1721
|
+
```
|
|
1722
|
+
|
|
1723
|
+
### Issue worker admissions in sequence
|
|
1724
|
+
|
|
1725
|
+
Use the exported declaration with its documented arguments.
|
|
1726
|
+
|
|
1727
|
+
```ts
|
|
1728
|
+
import type { StudyContext } from '@orkestrel/study'
|
|
1729
|
+
import { StudyProcessGoal } from '@orkestrel/study/server'
|
|
1730
|
+
|
|
1731
|
+
declare const context: StudyContext
|
|
1732
|
+
|
|
1733
|
+
const goal = new StudyProcessGoal(context)
|
|
1734
|
+
goal.issue(2) // undefined
|
|
1735
|
+
goal.issue(1) // 1
|
|
1736
|
+
goal.issue(1) // undefined
|
|
1737
|
+
goal.issue(2) // 2
|
|
1738
|
+
```
|
|
1739
|
+
|
|
1740
|
+
### buildStudyPacketLinks
|
|
1741
|
+
|
|
1742
|
+
Use the exported declaration with its documented arguments.
|
|
1743
|
+
|
|
1744
|
+
```ts
|
|
1745
|
+
import { buildStudyPacketLinks } from '@orkestrel/study/server'
|
|
1746
|
+
|
|
1747
|
+
buildStudyPacketLinks(result, rubric)
|
|
1748
|
+
```
|
|
1749
|
+
|
|
1750
|
+
### buildStudyPacket
|
|
1751
|
+
|
|
1752
|
+
Use the exported declaration with its documented arguments.
|
|
1753
|
+
|
|
1754
|
+
```ts
|
|
1755
|
+
import { buildStudyPacket } from '@orkestrel/study/server'
|
|
1756
|
+
|
|
1757
|
+
buildStudyPacket(result, rubric, rubricDigest)
|
|
1758
|
+
```
|
|
1759
|
+
|
|
1760
|
+
### computeStudyPacketDigest
|
|
1761
|
+
|
|
1762
|
+
Use the exported declaration with its documented arguments.
|
|
1763
|
+
|
|
1764
|
+
```ts
|
|
1765
|
+
import { computeStudyPacketDigest } from '@orkestrel/study/server'
|
|
1766
|
+
|
|
1767
|
+
computeStudyPacketDigest(packet)
|
|
1768
|
+
```
|
|
1769
|
+
|
|
1770
|
+
### translateStudyPacketLabeling
|
|
1771
|
+
|
|
1772
|
+
Use the exported declaration with its documented arguments.
|
|
1773
|
+
|
|
1774
|
+
```ts
|
|
1775
|
+
import { translateStudyPacketLabeling } from '@orkestrel/study/server'
|
|
1776
|
+
|
|
1777
|
+
translateStudyPacketLabeling(result, rubric, rubricDigest, labels)
|
|
1778
|
+
```
|
|
1779
|
+
|
|
1780
|
+
### checkStudyDirectory
|
|
1781
|
+
|
|
1782
|
+
Use the exported declaration with its documented arguments.
|
|
1783
|
+
|
|
1784
|
+
```ts
|
|
1785
|
+
import { checkStudyDirectory } from '@orkestrel/study/server'
|
|
1786
|
+
|
|
1787
|
+
await checkStudyDirectory(directory)
|
|
1788
|
+
```
|
|
1789
|
+
|
|
1790
|
+
### readStudyBytes
|
|
1791
|
+
|
|
1792
|
+
Use the exported declaration with its documented arguments.
|
|
1793
|
+
|
|
1794
|
+
```ts
|
|
1795
|
+
import { readStudyBytes } from '@orkestrel/study/server'
|
|
1796
|
+
|
|
1797
|
+
await readStudyBytes(path, 1024)
|
|
1798
|
+
```
|
|
1799
|
+
|
|
1800
|
+
### writeStudyBytes
|
|
1801
|
+
|
|
1802
|
+
Use the exported declaration with its documented arguments.
|
|
1803
|
+
|
|
1804
|
+
```ts
|
|
1805
|
+
import { writeStudyBytes } from '@orkestrel/study/server'
|
|
1806
|
+
|
|
1807
|
+
await writeStudyBytes(path, bytes)
|
|
1808
|
+
```
|
|
1809
|
+
|
|
1810
|
+
### scanStudyExecution
|
|
1811
|
+
|
|
1812
|
+
Use the exported declaration with its documented arguments.
|
|
1813
|
+
|
|
1814
|
+
```ts
|
|
1815
|
+
import { scanStudyExecution } from '@orkestrel/study/server'
|
|
1816
|
+
|
|
1817
|
+
await scanStudyExecution(directory, manifest)
|
|
1818
|
+
```
|
|
1819
|
+
|
|
1820
|
+
### validateStudyEvidenceBytes
|
|
1821
|
+
|
|
1822
|
+
Use the exported declaration with its documented arguments.
|
|
1823
|
+
|
|
1824
|
+
```ts
|
|
1825
|
+
import { validateStudyEvidenceBytes } from '@orkestrel/study/server'
|
|
1826
|
+
|
|
1827
|
+
validateStudyEvidenceBytes(bytes, manifest, trial)
|
|
1828
|
+
```
|
|
1829
|
+
|
|
1830
|
+
### computeStudySealId
|
|
1831
|
+
|
|
1832
|
+
Use the exported declaration with its documented arguments.
|
|
1833
|
+
|
|
1834
|
+
```ts
|
|
1835
|
+
import { computeStudySealId } from '@orkestrel/study/server'
|
|
1836
|
+
|
|
1837
|
+
computeStudySealId('execution', files)
|
|
1838
|
+
```
|
|
1839
|
+
|
|
1840
|
+
### readStudyResult
|
|
1841
|
+
|
|
1842
|
+
Use the exported declaration with its documented arguments.
|
|
1843
|
+
|
|
1844
|
+
```ts
|
|
1845
|
+
import { readStudyResult } from '@orkestrel/study/server'
|
|
1846
|
+
|
|
1847
|
+
await readStudyResult(directory)
|
|
1848
|
+
```
|
|
1849
|
+
|
|
1850
|
+
### isStudyCustodyName
|
|
1851
|
+
|
|
1852
|
+
Use the exported declaration with its documented arguments.
|
|
1853
|
+
|
|
1854
|
+
```ts
|
|
1855
|
+
import { isStudyCustodyName } from '@orkestrel/study/server'
|
|
1856
|
+
|
|
1857
|
+
isStudyCustodyName('r1-s1-a1') // true
|
|
1858
|
+
```
|
|
1859
|
+
|
|
1860
|
+
### isStudyCustodyManifest
|
|
1861
|
+
|
|
1862
|
+
Use the exported declaration with its documented arguments.
|
|
1863
|
+
|
|
1864
|
+
```ts
|
|
1865
|
+
import { isStudyCustodyManifest } from '@orkestrel/study/server'
|
|
1866
|
+
|
|
1867
|
+
isStudyCustodyManifest({}) // false
|
|
1868
|
+
```
|
|
1869
|
+
|
|
1870
|
+
### isStudyCustodyTrial
|
|
1871
|
+
|
|
1872
|
+
Use the exported declaration with its documented arguments.
|
|
1873
|
+
|
|
1874
|
+
```ts
|
|
1875
|
+
import { isStudyCustodyTrial } from '@orkestrel/study/server'
|
|
1876
|
+
|
|
1877
|
+
isStudyCustodyTrial({}) // false
|
|
1878
|
+
```
|
|
1879
|
+
|
|
1880
|
+
### isStudyCustodyEvidence
|
|
1881
|
+
|
|
1882
|
+
Use the exported declaration with its documented arguments.
|
|
1883
|
+
|
|
1884
|
+
```ts
|
|
1885
|
+
import { isStudyCustodyEvidence } from '@orkestrel/study/server'
|
|
1886
|
+
|
|
1887
|
+
isStudyCustodyEvidence({ event: 'saved', goal: 'write', value: true }) // true
|
|
1888
|
+
```
|
|
1889
|
+
|
|
1890
|
+
### isStudyCustodyFailure
|
|
1891
|
+
|
|
1892
|
+
Use the exported declaration with its documented arguments.
|
|
1893
|
+
|
|
1894
|
+
```ts
|
|
1895
|
+
import { isStudyCustodyFailure } from '@orkestrel/study/server'
|
|
1896
|
+
|
|
1897
|
+
isStudyCustodyFailure({}) // false
|
|
1898
|
+
```
|
|
1899
|
+
|
|
1900
|
+
### isStudyCustodyObservation
|
|
1901
|
+
|
|
1902
|
+
Use the exported declaration with its documented arguments.
|
|
1903
|
+
|
|
1904
|
+
```ts
|
|
1905
|
+
import { isStudyCustodyObservation } from '@orkestrel/study/server'
|
|
1906
|
+
|
|
1907
|
+
isStudyCustodyObservation({}) // false
|
|
1908
|
+
```
|
|
1909
|
+
|
|
1910
|
+
### isStudyCustodyAttempt
|
|
1911
|
+
|
|
1912
|
+
Use the exported declaration with its documented arguments.
|
|
1913
|
+
|
|
1914
|
+
```ts
|
|
1915
|
+
import { isStudyCustodyAttempt } from '@orkestrel/study/server'
|
|
1916
|
+
|
|
1917
|
+
isStudyCustodyAttempt({}, manifest) // false
|
|
1918
|
+
```
|
|
1919
|
+
|
|
1920
|
+
### isStudyCustodyFile
|
|
1921
|
+
|
|
1922
|
+
Use the exported declaration with its documented arguments.
|
|
1923
|
+
|
|
1924
|
+
```ts
|
|
1925
|
+
import { isStudyCustodyFile } from '@orkestrel/study/server'
|
|
1926
|
+
|
|
1927
|
+
isStudyCustodyFile({}) // false
|
|
1928
|
+
```
|
|
1929
|
+
|
|
1930
|
+
### isStudyCustodySeal
|
|
1931
|
+
|
|
1932
|
+
Use the exported declaration with its documented arguments.
|
|
1933
|
+
|
|
1934
|
+
```ts
|
|
1935
|
+
import { isStudyCustodySeal } from '@orkestrel/study/server'
|
|
1936
|
+
|
|
1937
|
+
isStudyCustodySeal({}) // false
|
|
1938
|
+
```
|
|
1939
|
+
|
|
1940
|
+
### readStudyAgentMessages
|
|
1941
|
+
|
|
1942
|
+
Use the exported declaration with its documented arguments.
|
|
1943
|
+
|
|
1944
|
+
```ts
|
|
1945
|
+
import { readStudyAgentMessages } from '@orkestrel/study/server'
|
|
1946
|
+
|
|
1947
|
+
readStudyAgentMessages([{ id: 'm1', role: 'user', content: 'Hi' }]) // [{ role: 'user', content: 'Hi' }]
|
|
1948
|
+
```
|
|
1949
|
+
|
|
1950
|
+
### isStudyAgentResponse
|
|
1951
|
+
|
|
1952
|
+
Use the exported declaration with its documented arguments.
|
|
1953
|
+
|
|
1954
|
+
```ts
|
|
1955
|
+
import { isStudyAgentResponse } from '@orkestrel/study/server'
|
|
1956
|
+
|
|
1957
|
+
isStudyAgentResponse({ content: 'done', calls: [] }) // true
|
|
1958
|
+
```
|
|
1959
|
+
|
|
1960
|
+
### Retain a goal's rows in a trace
|
|
1961
|
+
|
|
1962
|
+
Construct the trace over the admitted Agent capabilities and the study's failure owner, then flush the active goal's rows into the evidence sink.
|
|
1963
|
+
|
|
1964
|
+
```ts
|
|
1965
|
+
import type { StudyAgentRuntime, StudyLatchInterface, StudySinkInterface } from '@orkestrel/study'
|
|
1966
|
+
import { StudyAgentTrace } from '@orkestrel/study/server'
|
|
1967
|
+
|
|
1968
|
+
declare const runtime: StudyAgentRuntime
|
|
1969
|
+
declare const latch: StudyLatchInterface
|
|
1970
|
+
declare const sink: StudySinkInterface
|
|
1971
|
+
|
|
1972
|
+
const trace = new StudyAgentTrace({
|
|
1973
|
+
runtime,
|
|
1974
|
+
latch,
|
|
1975
|
+
observe: false,
|
|
1976
|
+
origins: (messages) => messages.map((message) => ({ source: message.id })),
|
|
1977
|
+
})
|
|
1978
|
+
trace.append('note', 'dropped') // no active goal
|
|
1979
|
+
trace.start('count')
|
|
1980
|
+
trace.append('note', 'kept')
|
|
1981
|
+
trace.goal // 'count'
|
|
1982
|
+
await trace.flush(sink) // appends one `note` row for the goal `count`
|
|
1983
|
+
trace.goal // undefined
|
|
1984
|
+
```
|
|
1985
|
+
|
|
1986
|
+
### Validate recorded admission
|
|
1987
|
+
|
|
1988
|
+
Validate the owned recording group, then check its next model request before dispatch.
|
|
1989
|
+
|
|
1990
|
+
```ts
|
|
1991
|
+
import type { StudyOllamaTransportOptions, StudyOllamaRequest } from '@orkestrel/study/server'
|
|
1992
|
+
import {
|
|
1993
|
+
buildStudyOllamaBytes,
|
|
1994
|
+
isStudyOllamaMetadata,
|
|
1995
|
+
isStudyOllamaModel,
|
|
1996
|
+
isStudyOllamaPolicy,
|
|
1997
|
+
isStudyOllamaStep,
|
|
1998
|
+
validateStudyOllamaRecording,
|
|
1999
|
+
validateStudyOllamaStep,
|
|
2000
|
+
} from '@orkestrel/study/server'
|
|
2001
|
+
|
|
2002
|
+
declare const configured: StudyOllamaTransportOptions
|
|
2003
|
+
declare const request: StudyOllamaRequest
|
|
2004
|
+
declare const body: string
|
|
2005
|
+
validateStudyOllamaRecording(configured)
|
|
2006
|
+
isStudyOllamaMetadata(configured.metadata)
|
|
2007
|
+
isStudyOllamaModel(configured.models.model)
|
|
2008
|
+
isStudyOllamaPolicy(configured.roles.agent)
|
|
2009
|
+
isStudyOllamaStep(configured.procedure?.[0])
|
|
2010
|
+
validateStudyOllamaStep(configured.procedure?.[0], 'write', request, body)
|
|
2011
|
+
buildStudyOllamaBytes(new TextEncoder().encode(body))
|
|
2012
|
+
```
|
|
2013
|
+
|
|
2014
|
+
### Own transport inputs
|
|
2015
|
+
|
|
2016
|
+
Copy declared configuration and mutable request headers before asynchronous admission.
|
|
2017
|
+
|
|
2018
|
+
```ts
|
|
2019
|
+
import type { StudyOllamaTransportOptions } from '@orkestrel/study/server'
|
|
2020
|
+
import { buildStudyOllamaSnapshot, buildStudyOllamaTransportOptions } from '@orkestrel/study/server'
|
|
2021
|
+
|
|
2022
|
+
declare const configured: StudyOllamaTransportOptions
|
|
2023
|
+
const owned = buildStudyOllamaTransportOptions(configured)
|
|
2024
|
+
const headers = new Headers({ 'x-request': 'original' })
|
|
2025
|
+
const request = buildStudyOllamaSnapshot(new URL('/api/chat', owned.url), { headers }, undefined)
|
|
2026
|
+
headers.set('x-request', 'changed')
|
|
2027
|
+
new Headers(request.init?.headers).get('x-request') // 'original'
|
|
2028
|
+
owned.signal === configured.signal // true
|
|
2029
|
+
```
|
|
2030
|
+
|
|
2031
|
+
### isStudyStop
|
|
2032
|
+
|
|
2033
|
+
Validate an owned ceiling reading.
|
|
2034
|
+
|
|
2035
|
+
```ts
|
|
2036
|
+
import { isStudyStop } from '@orkestrel/study'
|
|
2037
|
+
|
|
2038
|
+
isStudyStop({ layer: 'scope', id: 'Goal tokens', max: 100, consumed: 120 }) // true
|
|
2039
|
+
```
|
|
2040
|
+
|
|
2041
|
+
### studyStopToJSON
|
|
2042
|
+
|
|
2043
|
+
Project unknown readings without inventing a value.
|
|
2044
|
+
|
|
2045
|
+
```ts
|
|
2046
|
+
import { studyStopToJSON } from '@orkestrel/study'
|
|
2047
|
+
|
|
2048
|
+
studyStopToJSON({ layer: 'model', id: 'num_predict', max: 2048, consumed: undefined })
|
|
2049
|
+
// { layer: 'model', id: 'num_predict', max: 2048, consumed: null }
|
|
2050
|
+
```
|
|
2051
|
+
|
|
2052
|
+
### translateStudyAgentStop
|
|
2053
|
+
|
|
2054
|
+
Translate the Agent record after the run settles.
|
|
2055
|
+
|
|
2056
|
+
```ts
|
|
2057
|
+
import { translateStudyAgentStop } from '@orkestrel/study'
|
|
2058
|
+
|
|
2059
|
+
translateStudyAgentStop({ layer: 'meter', id: 'meter', max: 2000, consumed: 2001 })
|
|
2060
|
+
// a CAPACITY StudyError whose failure.stop is { layer: 'meter', id: 'meter', max: 2000, consumed: 2001 }
|
|
2061
|
+
```
|
|
2062
|
+
|
|
2063
|
+
### computeStudyAttributions
|
|
2064
|
+
|
|
2065
|
+
Group failed records while retaining their source readings.
|
|
2066
|
+
|
|
2067
|
+
```ts
|
|
2068
|
+
import { computeStudyAttributions } from '@orkestrel/study/server'
|
|
2069
|
+
|
|
2070
|
+
computeStudyAttributions([{ trial: 'r1-s1-a1', goal: undefined, failure, executed: true }])
|
|
2071
|
+
```
|
|
2072
|
+
|
|
2073
|
+
### parseStudyReading
|
|
2074
|
+
|
|
2075
|
+
Keep only a finite foreign reading.
|
|
2076
|
+
|
|
2077
|
+
```ts
|
|
2078
|
+
import { parseStudyReading } from '@orkestrel/study'
|
|
2079
|
+
|
|
2080
|
+
parseStudyReading(2048) // 2048
|
|
2081
|
+
parseStudyReading(Number.NaN) // undefined
|
|
2082
|
+
```
|
|
2083
|
+
|
|
2084
|
+
### computeStudyAdmittedStop
|
|
2085
|
+
|
|
2086
|
+
Read the first admitted usage ceiling crossed.
|
|
2087
|
+
|
|
2088
|
+
```ts
|
|
2089
|
+
import { computeStudyAdmittedStop } from '@orkestrel/study'
|
|
2090
|
+
|
|
2091
|
+
computeStudyAdmittedStop({ role: 'agent', tokens: 10, bytes: 100 }, usage) // { layer: 'scope', id: 'Admitted tokens', max: 10, consumed: 12 }
|
|
2092
|
+
```
|
|
2093
|
+
|
|
2094
|
+
### computeStudyOutputStop
|
|
2095
|
+
|
|
2096
|
+
Read the first output allowance that refuses the encoded product.
|
|
2097
|
+
|
|
2098
|
+
```ts
|
|
2099
|
+
import { computeStudyOutputStop } from '@orkestrel/study'
|
|
2100
|
+
|
|
2101
|
+
computeStudyOutputStop(2048, 1024, []) // { layer: 'scope', id: 'Goal bytes', max: 1024, consumed: 2048 }
|
|
2102
|
+
```
|
|
2103
|
+
|
|
2104
|
+
### Read a study declaration
|
|
2105
|
+
|
|
2106
|
+
Read the selected declaration and its driver fixtures before selecting a profile.
|
|
2107
|
+
|
|
2108
|
+
```ts
|
|
2109
|
+
import type { StudyDeclaration } from '@orkestrel/study/server'
|
|
2110
|
+
import { readStudyDeclaration } from '@orkestrel/study/server'
|
|
2111
|
+
|
|
2112
|
+
declare const root: string
|
|
2113
|
+
const declaration: StudyDeclaration = await readStudyDeclaration(root, 'assessment')
|
|
2114
|
+
```
|
|
2115
|
+
|
|
2116
|
+
### Read declaration bytes
|
|
2117
|
+
|
|
2118
|
+
Pass an already resolved and contained declaration path.
|
|
2119
|
+
|
|
2120
|
+
```ts
|
|
2121
|
+
import { readStudyDeclarationBytes } from '@orkestrel/study/server'
|
|
2122
|
+
|
|
2123
|
+
declare const root: string
|
|
2124
|
+
declare const path: string
|
|
2125
|
+
await readStudyDeclarationBytes(root, path)
|
|
2126
|
+
```
|
|
2127
|
+
|
|
2128
|
+
### Read the installed version
|
|
2129
|
+
|
|
2130
|
+
Pass the installed executable entry to read its owning package's manifest.
|
|
2131
|
+
|
|
2132
|
+
```ts
|
|
2133
|
+
import { readStudyVersion } from '@orkestrel/study/server'
|
|
2134
|
+
|
|
2135
|
+
declare const entry: string
|
|
2136
|
+
readStudyVersion(entry)
|
|
2137
|
+
```
|
|
2138
|
+
|
|
2139
|
+
### Match a system error
|
|
2140
|
+
|
|
2141
|
+
Match a caught Error without accepting an unbranded record.
|
|
2142
|
+
|
|
2143
|
+
```ts
|
|
2144
|
+
import { matchesSystemError } from '@orkestrel/study/server'
|
|
2145
|
+
|
|
2146
|
+
const error = Object.assign(new Error('Missing declaration'), { code: 'ENOENT' })
|
|
2147
|
+
matchesSystemError(error, 'ENOENT') // true
|
|
2148
|
+
matchesSystemError({ code: 'ENOENT' }, 'ENOENT') // false
|
|
2149
|
+
```
|
|
2150
|
+
|
|
2151
|
+
### Helper calls
|
|
2152
|
+
|
|
2153
|
+
Supply the argument tuple from each helper's signature.
|
|
2154
|
+
|
|
2155
|
+
```ts
|
|
2156
|
+
import {
|
|
2157
|
+
buildStudyAgentDispatch,
|
|
2158
|
+
buildStudyAgentParts,
|
|
2159
|
+
failureToStudyError,
|
|
2160
|
+
isStudyAgentRuntime,
|
|
2161
|
+
projectStudyAgentRequest,
|
|
2162
|
+
readStudyFailure,
|
|
2163
|
+
translateStudyAgentError,
|
|
2164
|
+
validateStudyAgentUsage,
|
|
2165
|
+
} from '@orkestrel/study'
|
|
2166
|
+
import {
|
|
2167
|
+
buildStudyAgentReadings,
|
|
2168
|
+
buildStudyAgentRevision,
|
|
2169
|
+
buildStudyOllamaModels,
|
|
2170
|
+
buildStudyOllamaOptions,
|
|
2171
|
+
buildStudyOllamaRaw,
|
|
2172
|
+
buildStudyOllamaTiming,
|
|
2173
|
+
collectStudyAncestors,
|
|
2174
|
+
collectStudyEntries,
|
|
2175
|
+
computeStudyInstrumentDigest,
|
|
2176
|
+
computeStudyProfileDigest,
|
|
2177
|
+
containsArtifact,
|
|
2178
|
+
createStudyProcessFailure,
|
|
2179
|
+
drainStudyChild,
|
|
2180
|
+
isArtifactError,
|
|
2181
|
+
isStudyCharge,
|
|
2182
|
+
isStudyEvidence,
|
|
2183
|
+
isStudyFrame,
|
|
2184
|
+
isStudyIdentity,
|
|
2185
|
+
isStudyProcessFailure,
|
|
2186
|
+
isStudyTrial,
|
|
2187
|
+
iterateArtifactEntries,
|
|
2188
|
+
readArtifact,
|
|
2189
|
+
readArtifactBytes,
|
|
2190
|
+
readStudyAdapter,
|
|
2191
|
+
readStudyAgentResult,
|
|
2192
|
+
readStudyHandle,
|
|
2193
|
+
readStudyOllamaDigest,
|
|
2194
|
+
readStudyOllamaFailure,
|
|
2195
|
+
readStudyOllamaRequest,
|
|
2196
|
+
readStudyOllamaSupport,
|
|
2197
|
+
readStudyOllamaTerminal,
|
|
2198
|
+
readStudyOllamaTiming,
|
|
2199
|
+
resolveStudyAgentContent,
|
|
2200
|
+
resolveStudyInstrument,
|
|
2201
|
+
scanStudyTree,
|
|
2202
|
+
terminateStudyChild,
|
|
2203
|
+
validateStudyOllamaCompletion,
|
|
2204
|
+
validateStudyOllamaInventory,
|
|
2205
|
+
validateStudyOllamaRoles,
|
|
2206
|
+
validateStudyRuntime,
|
|
2207
|
+
} from '@orkestrel/study/server'
|
|
2208
|
+
|
|
2209
|
+
declare const collectStudyAncestorsArguments: Parameters<typeof collectStudyAncestors>
|
|
2210
|
+
collectStudyAncestors(...collectStudyAncestorsArguments)
|
|
2211
|
+
declare const collectStudyEntriesArguments: Parameters<typeof collectStudyEntries>
|
|
2212
|
+
collectStudyEntries(...collectStudyEntriesArguments)
|
|
2213
|
+
declare const buildStudyAgentDispatchArguments: Parameters<typeof buildStudyAgentDispatch>
|
|
2214
|
+
buildStudyAgentDispatch(...buildStudyAgentDispatchArguments)
|
|
2215
|
+
declare const buildStudyAgentPartsArguments: Parameters<typeof buildStudyAgentParts>
|
|
2216
|
+
buildStudyAgentParts(...buildStudyAgentPartsArguments)
|
|
2217
|
+
declare const buildStudyAgentReadingsArguments: Parameters<typeof buildStudyAgentReadings>
|
|
2218
|
+
buildStudyAgentReadings(...buildStudyAgentReadingsArguments)
|
|
2219
|
+
declare const buildStudyAgentRevisionArguments: Parameters<typeof buildStudyAgentRevision>
|
|
2220
|
+
buildStudyAgentRevision(...buildStudyAgentRevisionArguments)
|
|
2221
|
+
declare const buildStudyOllamaModelsArguments: Parameters<typeof buildStudyOllamaModels>
|
|
2222
|
+
buildStudyOllamaModels(...buildStudyOllamaModelsArguments)
|
|
2223
|
+
declare const buildStudyOllamaOptionsArguments: Parameters<typeof buildStudyOllamaOptions>
|
|
2224
|
+
buildStudyOllamaOptions(...buildStudyOllamaOptionsArguments)
|
|
2225
|
+
declare const buildStudyOllamaRawArguments: Parameters<typeof buildStudyOllamaRaw>
|
|
2226
|
+
buildStudyOllamaRaw(...buildStudyOllamaRawArguments)
|
|
2227
|
+
declare const buildStudyOllamaTimingArguments: Parameters<typeof buildStudyOllamaTiming>
|
|
2228
|
+
buildStudyOllamaTiming(...buildStudyOllamaTimingArguments)
|
|
2229
|
+
declare const computeStudyInstrumentDigestArguments: Parameters<typeof computeStudyInstrumentDigest>
|
|
2230
|
+
computeStudyInstrumentDigest(...computeStudyInstrumentDigestArguments)
|
|
2231
|
+
declare const computeStudyProfileDigestArguments: Parameters<typeof computeStudyProfileDigest>
|
|
2232
|
+
computeStudyProfileDigest(...computeStudyProfileDigestArguments)
|
|
2233
|
+
declare const containsArtifactArguments: Parameters<typeof containsArtifact>
|
|
2234
|
+
containsArtifact(...containsArtifactArguments)
|
|
2235
|
+
declare const createStudyProcessFailureArguments: Parameters<typeof createStudyProcessFailure>
|
|
2236
|
+
createStudyProcessFailure(...createStudyProcessFailureArguments)
|
|
2237
|
+
declare const drainStudyChildArguments: Parameters<typeof drainStudyChild>
|
|
2238
|
+
drainStudyChild(...drainStudyChildArguments)
|
|
2239
|
+
declare const failureToStudyErrorArguments: Parameters<typeof failureToStudyError>
|
|
2240
|
+
failureToStudyError(...failureToStudyErrorArguments)
|
|
2241
|
+
declare const isArtifactErrorArguments: Parameters<typeof isArtifactError>
|
|
2242
|
+
isArtifactError(...isArtifactErrorArguments)
|
|
2243
|
+
declare const isStudyAgentRuntimeArguments: Parameters<typeof isStudyAgentRuntime>
|
|
2244
|
+
isStudyAgentRuntime(...isStudyAgentRuntimeArguments)
|
|
2245
|
+
declare const isStudyChargeArguments: Parameters<typeof isStudyCharge>
|
|
2246
|
+
isStudyCharge(...isStudyChargeArguments)
|
|
2247
|
+
declare const isStudyEvidenceArguments: Parameters<typeof isStudyEvidence>
|
|
2248
|
+
isStudyEvidence(...isStudyEvidenceArguments)
|
|
2249
|
+
declare const isStudyFrameArguments: Parameters<typeof isStudyFrame>
|
|
2250
|
+
isStudyFrame(...isStudyFrameArguments)
|
|
2251
|
+
declare const isStudyIdentityArguments: Parameters<typeof isStudyIdentity>
|
|
2252
|
+
isStudyIdentity(...isStudyIdentityArguments)
|
|
2253
|
+
declare const isStudyProcessFailureArguments: Parameters<typeof isStudyProcessFailure>
|
|
2254
|
+
isStudyProcessFailure(...isStudyProcessFailureArguments)
|
|
2255
|
+
declare const isStudyTrialArguments: Parameters<typeof isStudyTrial>
|
|
2256
|
+
isStudyTrial(...isStudyTrialArguments)
|
|
2257
|
+
declare const iterateArtifactEntriesArguments: Parameters<typeof iterateArtifactEntries>
|
|
2258
|
+
iterateArtifactEntries(...iterateArtifactEntriesArguments)
|
|
2259
|
+
declare const projectStudyAgentRequestArguments: Parameters<typeof projectStudyAgentRequest>
|
|
2260
|
+
projectStudyAgentRequest(...projectStudyAgentRequestArguments)
|
|
2261
|
+
declare const readArtifactArguments: Parameters<typeof readArtifact>
|
|
2262
|
+
readArtifact(...readArtifactArguments)
|
|
2263
|
+
declare const readArtifactBytesArguments: Parameters<typeof readArtifactBytes>
|
|
2264
|
+
readArtifactBytes(...readArtifactBytesArguments)
|
|
2265
|
+
declare const readStudyAdapterArguments: Parameters<typeof readStudyAdapter>
|
|
2266
|
+
readStudyAdapter(...readStudyAdapterArguments)
|
|
2267
|
+
declare const readStudyAgentResultArguments: Parameters<typeof readStudyAgentResult>
|
|
2268
|
+
readStudyAgentResult(...readStudyAgentResultArguments)
|
|
2269
|
+
declare const readStudyHandleArguments: Parameters<typeof readStudyHandle>
|
|
2270
|
+
readStudyHandle(...readStudyHandleArguments)
|
|
2271
|
+
declare const readStudyFailureArguments: Parameters<typeof readStudyFailure>
|
|
2272
|
+
readStudyFailure(...readStudyFailureArguments)
|
|
2273
|
+
declare const readStudyOllamaDigestArguments: Parameters<typeof readStudyOllamaDigest>
|
|
2274
|
+
readStudyOllamaDigest(...readStudyOllamaDigestArguments)
|
|
2275
|
+
declare const readStudyOllamaFailureArguments: Parameters<typeof readStudyOllamaFailure>
|
|
2276
|
+
readStudyOllamaFailure(...readStudyOllamaFailureArguments)
|
|
2277
|
+
declare const readStudyOllamaRequestArguments: Parameters<typeof readStudyOllamaRequest>
|
|
2278
|
+
readStudyOllamaRequest(...readStudyOllamaRequestArguments)
|
|
2279
|
+
declare const readStudyOllamaSupportArguments: Parameters<typeof readStudyOllamaSupport>
|
|
2280
|
+
readStudyOllamaSupport(...readStudyOllamaSupportArguments)
|
|
2281
|
+
declare const readStudyOllamaTerminalArguments: Parameters<typeof readStudyOllamaTerminal>
|
|
2282
|
+
readStudyOllamaTerminal(...readStudyOllamaTerminalArguments)
|
|
2283
|
+
declare const readStudyOllamaTimingArguments: Parameters<typeof readStudyOllamaTiming>
|
|
2284
|
+
readStudyOllamaTiming(...readStudyOllamaTimingArguments)
|
|
2285
|
+
declare const resolveStudyAgentContentArguments: Parameters<typeof resolveStudyAgentContent>
|
|
2286
|
+
resolveStudyAgentContent(...resolveStudyAgentContentArguments)
|
|
2287
|
+
declare const resolveStudyInstrumentArguments: Parameters<typeof resolveStudyInstrument>
|
|
2288
|
+
resolveStudyInstrument(...resolveStudyInstrumentArguments)
|
|
2289
|
+
declare const scanStudyTreeArguments: Parameters<typeof scanStudyTree>
|
|
2290
|
+
scanStudyTree(...scanStudyTreeArguments)
|
|
2291
|
+
declare const terminateStudyChildArguments: Parameters<typeof terminateStudyChild>
|
|
2292
|
+
terminateStudyChild(...terminateStudyChildArguments)
|
|
2293
|
+
declare const translateStudyAgentErrorArguments: Parameters<typeof translateStudyAgentError>
|
|
2294
|
+
translateStudyAgentError(...translateStudyAgentErrorArguments)
|
|
2295
|
+
declare const validateStudyAgentUsageArguments: Parameters<typeof validateStudyAgentUsage>
|
|
2296
|
+
validateStudyAgentUsage(...validateStudyAgentUsageArguments)
|
|
2297
|
+
declare const validateStudyOllamaCompletionArguments: Parameters<
|
|
2298
|
+
typeof validateStudyOllamaCompletion
|
|
2299
|
+
>
|
|
2300
|
+
validateStudyOllamaCompletion(...validateStudyOllamaCompletionArguments)
|
|
2301
|
+
declare const validateStudyOllamaInventoryArguments: Parameters<typeof validateStudyOllamaInventory>
|
|
2302
|
+
validateStudyOllamaInventory(...validateStudyOllamaInventoryArguments)
|
|
2303
|
+
declare const validateStudyOllamaRolesArguments: Parameters<typeof validateStudyOllamaRoles>
|
|
2304
|
+
validateStudyOllamaRoles(...validateStudyOllamaRolesArguments)
|
|
2305
|
+
declare const validateStudyRuntimeArguments: Parameters<typeof validateStudyRuntime>
|
|
2306
|
+
validateStudyRuntime(...validateStudyRuntimeArguments)
|
|
2307
|
+
```
|
|
2308
|
+
|
|
2309
|
+
### Call closure helpers
|
|
2310
|
+
|
|
2311
|
+
Supply the declared selections, captured records, and physical paths.
|
|
2312
|
+
|
|
2313
|
+
```ts
|
|
2314
|
+
import {
|
|
2315
|
+
computeArtifactClosureDigest,
|
|
2316
|
+
isArtifactClosure,
|
|
2317
|
+
isArtifactKey,
|
|
2318
|
+
isArtifactLoaderOptions,
|
|
2319
|
+
isArtifactMember,
|
|
2320
|
+
isStudyClosure,
|
|
2321
|
+
matchesArtifactCredential,
|
|
2322
|
+
readArtifactPhysical,
|
|
2323
|
+
readStudyClosure,
|
|
2324
|
+
relocateArtifactPath,
|
|
2325
|
+
resolveArtifactBase,
|
|
2326
|
+
resolveArtifactMember,
|
|
2327
|
+
resolveStudyClosurePath,
|
|
2328
|
+
verifyArtifactClosure,
|
|
2329
|
+
} from '@orkestrel/study/server'
|
|
2330
|
+
|
|
2331
|
+
declare const digest: Parameters<typeof computeArtifactClosureDigest>
|
|
2332
|
+
computeArtifactClosureDigest(...digest)
|
|
2333
|
+
declare const closure: Parameters<typeof isArtifactClosure>
|
|
2334
|
+
isArtifactClosure(...closure)
|
|
2335
|
+
declare const key: Parameters<typeof isArtifactKey>
|
|
2336
|
+
isArtifactKey(...key)
|
|
2337
|
+
declare const options: Parameters<typeof isArtifactLoaderOptions>
|
|
2338
|
+
isArtifactLoaderOptions(...options)
|
|
2339
|
+
declare const member: Parameters<typeof isArtifactMember>
|
|
2340
|
+
isArtifactMember(...member)
|
|
2341
|
+
declare const publication: Parameters<typeof isStudyClosure>
|
|
2342
|
+
isStudyClosure(...publication)
|
|
2343
|
+
declare const credential: Parameters<typeof matchesArtifactCredential>
|
|
2344
|
+
matchesArtifactCredential(...credential)
|
|
2345
|
+
declare const physical: Parameters<typeof readArtifactPhysical>
|
|
2346
|
+
readArtifactPhysical(...physical)
|
|
2347
|
+
declare const reader: Parameters<typeof readStudyClosure>
|
|
2348
|
+
readStudyClosure(...reader)
|
|
2349
|
+
declare const relocation: Parameters<typeof relocateArtifactPath>
|
|
2350
|
+
relocateArtifactPath(...relocation)
|
|
2351
|
+
declare const base: Parameters<typeof resolveArtifactBase>
|
|
2352
|
+
resolveArtifactBase(...base)
|
|
2353
|
+
declare const target: Parameters<typeof resolveArtifactMember>
|
|
2354
|
+
resolveArtifactMember(...target)
|
|
2355
|
+
declare const selection: Parameters<typeof resolveStudyClosurePath>
|
|
2356
|
+
resolveStudyClosurePath(...selection)
|
|
2357
|
+
declare const verification: Parameters<typeof verifyArtifactClosure>
|
|
2358
|
+
verifyArtifactClosure(...verification)
|
|
2359
|
+
```
|
|
2360
|
+
|
|
2361
|
+
### Call ArtifactLoader methods
|
|
2362
|
+
|
|
2363
|
+
Supply an instance of the declared contract.
|
|
2364
|
+
|
|
2365
|
+
```ts
|
|
2366
|
+
import type { ArtifactLoader } from '@orkestrel/study/server'
|
|
2367
|
+
|
|
2368
|
+
declare const instance: ArtifactLoader
|
|
2369
|
+
declare const inspect: Parameters<ArtifactLoader['inspect']>
|
|
2370
|
+
instance.inspect(...inspect)
|
|
2371
|
+
declare const load: Parameters<ArtifactLoader['load']>
|
|
2372
|
+
instance.load(...load)
|
|
2373
|
+
declare const materialize: Parameters<ArtifactLoader['materialize']>
|
|
2374
|
+
instance.materialize(...materialize)
|
|
2375
|
+
declare const verify: Parameters<ArtifactLoader['verify']>
|
|
2376
|
+
instance.verify(...verify)
|
|
2377
|
+
```
|
|
2378
|
+
|
|
2379
|
+
### Call Resolution methods
|
|
2380
|
+
|
|
2381
|
+
Supply an instance of the declared contract.
|
|
2382
|
+
|
|
2383
|
+
```ts
|
|
2384
|
+
import type { Resolution } from '@orkestrel/study/server'
|
|
2385
|
+
|
|
2386
|
+
declare const instance: Resolution
|
|
2387
|
+
declare const load: Parameters<Resolution['load']>
|
|
2388
|
+
instance.load(...load)
|
|
2389
|
+
declare const resolve: Parameters<Resolution['resolve']>
|
|
2390
|
+
instance.resolve(...resolve)
|
|
2391
|
+
```
|
|
2392
|
+
|
|
2393
|
+
### Call StudyAdapterInterface methods
|
|
2394
|
+
|
|
2395
|
+
Supply an instance of the declared contract.
|
|
2396
|
+
|
|
2397
|
+
```ts
|
|
2398
|
+
import type { StudyAdapterInterface } from '@orkestrel/study/server'
|
|
2399
|
+
|
|
2400
|
+
declare const instance: StudyAdapterInterface
|
|
2401
|
+
declare const driver: Parameters<StudyAdapterInterface['driver']>
|
|
2402
|
+
instance.driver(...driver)
|
|
2403
|
+
declare const grade: Parameters<StudyAdapterInterface['grade']>
|
|
2404
|
+
instance.grade(...grade)
|
|
2405
|
+
declare const validate: Parameters<StudyAdapterInterface['validate']>
|
|
2406
|
+
instance.validate(...validate)
|
|
2407
|
+
```
|
|
2408
|
+
|
|
2409
|
+
### Call StudyAdmissionInterface methods
|
|
2410
|
+
|
|
2411
|
+
Supply an instance of the declared contract.
|
|
2412
|
+
|
|
2413
|
+
```ts
|
|
2414
|
+
import type { StudyAdmissionInterface } from '@orkestrel/study'
|
|
2415
|
+
|
|
2416
|
+
declare const instance: StudyAdmissionInterface
|
|
2417
|
+
declare const admit: Parameters<StudyAdmissionInterface['admit']>
|
|
2418
|
+
instance.admit(...admit)
|
|
2419
|
+
```
|
|
2420
|
+
|
|
2421
|
+
### Call StudyAgentJudge methods
|
|
2422
|
+
|
|
2423
|
+
Supply an instance of the declared contract.
|
|
2424
|
+
|
|
2425
|
+
```ts
|
|
2426
|
+
import type { StudyAgentJudge } from '@orkestrel/study'
|
|
2427
|
+
|
|
2428
|
+
declare const instance: StudyAgentJudge
|
|
2429
|
+
declare const ask: Parameters<StudyAgentJudge['ask']>
|
|
2430
|
+
instance.ask(...ask)
|
|
2431
|
+
```
|
|
2432
|
+
|
|
2433
|
+
### Call StudyAgentObserver methods
|
|
2434
|
+
|
|
2435
|
+
Supply an instance of the declared contract.
|
|
2436
|
+
|
|
2437
|
+
```ts
|
|
2438
|
+
import type { StudyAgentObserver } from '@orkestrel/study'
|
|
2439
|
+
|
|
2440
|
+
declare const instance: StudyAgentObserver
|
|
2441
|
+
declare const generate: Parameters<StudyAgentObserver['generate']>
|
|
2442
|
+
instance.generate(...generate)
|
|
2443
|
+
declare const stream: Parameters<StudyAgentObserver['stream']>
|
|
2444
|
+
instance.stream(...stream)
|
|
2445
|
+
```
|
|
2446
|
+
|
|
2447
|
+
### Call StudyAgentScript methods
|
|
2448
|
+
|
|
2449
|
+
Supply an instance of the declared contract.
|
|
2450
|
+
|
|
2451
|
+
```ts
|
|
2452
|
+
import type { StudyAgentScript } from '@orkestrel/study/server'
|
|
2453
|
+
|
|
2454
|
+
declare const instance: StudyAgentScript
|
|
2455
|
+
declare const clear: Parameters<StudyAgentScript['clear']>
|
|
2456
|
+
instance.clear(...clear)
|
|
2457
|
+
declare const generate: Parameters<StudyAgentScript['generate']>
|
|
2458
|
+
instance.generate(...generate)
|
|
2459
|
+
declare const prepare: Parameters<StudyAgentScript['prepare']>
|
|
2460
|
+
instance.prepare(...prepare)
|
|
2461
|
+
declare const stream: Parameters<StudyAgentScript['stream']>
|
|
2462
|
+
instance.stream(...stream)
|
|
2463
|
+
```
|
|
2464
|
+
|
|
2465
|
+
### Call StudyAgentSummary methods
|
|
2466
|
+
|
|
2467
|
+
Supply an instance of the declared contract.
|
|
2468
|
+
|
|
2469
|
+
```ts
|
|
2470
|
+
import type { StudyAgentSummary } from '@orkestrel/study/server'
|
|
2471
|
+
|
|
2472
|
+
declare const instance: StudyAgentSummary
|
|
2473
|
+
declare const summarize: Parameters<StudyAgentSummary['summarize']>
|
|
2474
|
+
instance.summarize(...summarize)
|
|
2475
|
+
```
|
|
2476
|
+
|
|
2477
|
+
### Call StudyAgentTrace methods
|
|
2478
|
+
|
|
2479
|
+
Supply an instance of the declared contract.
|
|
2480
|
+
|
|
2481
|
+
```ts
|
|
2482
|
+
import type { StudyAgentTrace } from '@orkestrel/study/server'
|
|
2483
|
+
|
|
2484
|
+
declare const instance: StudyAgentTrace
|
|
2485
|
+
declare const admit: Parameters<StudyAgentTrace['admit']>
|
|
2486
|
+
instance.admit(...admit)
|
|
2487
|
+
declare const append: Parameters<StudyAgentTrace['append']>
|
|
2488
|
+
instance.append(...append)
|
|
2489
|
+
declare const canonical: Parameters<StudyAgentTrace['canonical']>
|
|
2490
|
+
instance.canonical(...canonical)
|
|
2491
|
+
declare const dispatch: Parameters<StudyAgentTrace['dispatch']>
|
|
2492
|
+
instance.dispatch(...dispatch)
|
|
2493
|
+
declare const flush: Parameters<StudyAgentTrace['flush']>
|
|
2494
|
+
instance.flush(...flush)
|
|
2495
|
+
declare const measure: Parameters<StudyAgentTrace['measure']>
|
|
2496
|
+
instance.measure(...measure)
|
|
2497
|
+
declare const record: Parameters<StudyAgentTrace['record']>
|
|
2498
|
+
instance.record(...record)
|
|
2499
|
+
declare const start: Parameters<StudyAgentTrace['start']>
|
|
2500
|
+
instance.start(...start)
|
|
2501
|
+
declare const translate: Parameters<StudyAgentTrace['translate']>
|
|
2502
|
+
instance.translate(...translate)
|
|
2503
|
+
```
|
|
2504
|
+
|
|
2505
|
+
### Call StudyArtifactLoader methods
|
|
2506
|
+
|
|
2507
|
+
Supply an instance of the declared contract.
|
|
2508
|
+
|
|
2509
|
+
```ts
|
|
2510
|
+
import type { StudyArtifactLoader } from '@orkestrel/study/server'
|
|
2511
|
+
|
|
2512
|
+
declare const instance: StudyArtifactLoader
|
|
2513
|
+
declare const adapter: Parameters<StudyArtifactLoader['adapter']>
|
|
2514
|
+
instance.adapter(...adapter)
|
|
2515
|
+
declare const inspect: Parameters<StudyArtifactLoader['inspect']>
|
|
2516
|
+
instance.inspect(...inspect)
|
|
2517
|
+
declare const load: Parameters<StudyArtifactLoader['load']>
|
|
2518
|
+
instance.load(...load)
|
|
2519
|
+
declare const verify: Parameters<StudyArtifactLoader['verify']>
|
|
2520
|
+
instance.verify(...verify)
|
|
2521
|
+
```
|
|
2522
|
+
|
|
2523
|
+
### Call StudyCLI methods
|
|
2524
|
+
|
|
2525
|
+
Supply an instance of the declared contract.
|
|
2526
|
+
|
|
2527
|
+
```ts
|
|
2528
|
+
import type { StudyCLI } from '@orkestrel/study/server'
|
|
2529
|
+
|
|
2530
|
+
declare const instance: StudyCLI
|
|
2531
|
+
declare const execute: Parameters<StudyCLI['execute']>
|
|
2532
|
+
instance.execute(...execute)
|
|
2533
|
+
```
|
|
2534
|
+
|
|
2535
|
+
### Call StudyChannel methods
|
|
2536
|
+
|
|
2537
|
+
Supply an instance of the declared contract.
|
|
2538
|
+
|
|
2539
|
+
```ts
|
|
2540
|
+
import type { StudyChannel } from '@orkestrel/study/server'
|
|
2541
|
+
|
|
2542
|
+
declare const instance: StudyChannel
|
|
2543
|
+
declare const abort: Parameters<StudyChannel['abort']>
|
|
2544
|
+
instance.abort(...abort)
|
|
2545
|
+
declare const close: Parameters<StudyChannel['close']>
|
|
2546
|
+
instance.close(...close)
|
|
2547
|
+
declare const request: Parameters<StudyChannel['request']>
|
|
2548
|
+
instance.request(...request)
|
|
2549
|
+
```
|
|
2550
|
+
|
|
2551
|
+
### Call StudyCommand methods
|
|
2552
|
+
|
|
2553
|
+
Supply an instance of the declared contract.
|
|
2554
|
+
|
|
2555
|
+
```ts
|
|
2556
|
+
import type { StudyCommand } from '@orkestrel/study/server'
|
|
2557
|
+
|
|
2558
|
+
declare const instance: StudyCommand
|
|
2559
|
+
declare const execute: Parameters<StudyCommand['execute']>
|
|
2560
|
+
instance.execute(...execute)
|
|
2561
|
+
```
|
|
2562
|
+
|
|
2563
|
+
### Call StudyControl methods
|
|
2564
|
+
|
|
2565
|
+
Supply an instance of the declared contract.
|
|
2566
|
+
|
|
2567
|
+
```ts
|
|
2568
|
+
import type { StudyControl } from '@orkestrel/study'
|
|
2569
|
+
|
|
2570
|
+
declare const instance: StudyControl
|
|
2571
|
+
declare const close: Parameters<StudyControl['close']>
|
|
2572
|
+
instance.close(...close)
|
|
2573
|
+
declare const fail: Parameters<StudyControl['fail']>
|
|
2574
|
+
instance.fail(...fail)
|
|
2575
|
+
declare const wait: Parameters<StudyControl['wait']>
|
|
2576
|
+
instance.wait(...wait)
|
|
2577
|
+
```
|
|
2578
|
+
|
|
2579
|
+
### Call StudyControlInterface methods
|
|
2580
|
+
|
|
2581
|
+
Supply an instance of the declared contract.
|
|
2582
|
+
|
|
2583
|
+
```ts
|
|
2584
|
+
import type { StudyControlInterface } from '@orkestrel/study'
|
|
2585
|
+
|
|
2586
|
+
declare const instance: StudyControlInterface
|
|
2587
|
+
declare const close: Parameters<StudyControlInterface['close']>
|
|
2588
|
+
instance.close(...close)
|
|
2589
|
+
declare const fail: Parameters<StudyControlInterface['fail']>
|
|
2590
|
+
instance.fail(...fail)
|
|
2591
|
+
declare const wait: Parameters<StudyControlInterface['wait']>
|
|
2592
|
+
instance.wait(...wait)
|
|
2593
|
+
```
|
|
2594
|
+
|
|
2595
|
+
### Call StudyCustodySinkInterface methods
|
|
2596
|
+
|
|
2597
|
+
Supply an instance of the declared contract.
|
|
2598
|
+
|
|
2599
|
+
```ts
|
|
2600
|
+
import type { StudyCustodySinkInterface } from '@orkestrel/study/server'
|
|
2601
|
+
|
|
2602
|
+
declare const instance: StudyCustodySinkInterface
|
|
2603
|
+
declare const append: Parameters<StudyCustodySinkInterface['append']>
|
|
2604
|
+
instance.append(...append)
|
|
2605
|
+
declare const close: Parameters<StudyCustodySinkInterface['close']>
|
|
2606
|
+
instance.close(...close)
|
|
2607
|
+
```
|
|
2608
|
+
|
|
2609
|
+
### Call StudyDeadline methods
|
|
2610
|
+
|
|
2611
|
+
Supply an instance of the declared contract.
|
|
2612
|
+
|
|
2613
|
+
```ts
|
|
2614
|
+
import type { StudyDeadline } from '@orkestrel/study'
|
|
2615
|
+
|
|
2616
|
+
declare const instance: StudyDeadline
|
|
2617
|
+
declare const wait: Parameters<StudyDeadline['wait']>
|
|
2618
|
+
instance.wait(...wait)
|
|
2619
|
+
```
|
|
2620
|
+
|
|
2621
|
+
### Call StudyDeadlineInterface methods
|
|
2622
|
+
|
|
2623
|
+
Supply an instance of the declared contract.
|
|
2624
|
+
|
|
2625
|
+
```ts
|
|
2626
|
+
import type { StudyDeadlineInterface } from '@orkestrel/study'
|
|
2627
|
+
|
|
2628
|
+
declare const instance: StudyDeadlineInterface
|
|
2629
|
+
declare const wait: Parameters<StudyDeadlineInterface['wait']>
|
|
2630
|
+
instance.wait(...wait)
|
|
2631
|
+
```
|
|
2632
|
+
|
|
2633
|
+
### Call StudyDriverInterface methods
|
|
2634
|
+
|
|
2635
|
+
Supply an instance of the declared contract.
|
|
2636
|
+
|
|
2637
|
+
```ts
|
|
2638
|
+
import type { StudyDriverInterface } from '@orkestrel/study'
|
|
2639
|
+
|
|
2640
|
+
declare const instance: StudyDriverInterface
|
|
2641
|
+
declare const open: Parameters<StudyDriverInterface['open']>
|
|
2642
|
+
instance.open(...open)
|
|
2643
|
+
```
|
|
2644
|
+
|
|
2645
|
+
### Call StudyEvidenceSink methods
|
|
2646
|
+
|
|
2647
|
+
Supply an instance of the declared contract.
|
|
2648
|
+
|
|
2649
|
+
```ts
|
|
2650
|
+
import type { StudyEvidenceSink } from '@orkestrel/study/server'
|
|
2651
|
+
|
|
2652
|
+
declare const instance: StudyEvidenceSink
|
|
2653
|
+
declare const append: Parameters<StudyEvidenceSink['append']>
|
|
2654
|
+
instance.append(...append)
|
|
2655
|
+
declare const close: Parameters<StudyEvidenceSink['close']>
|
|
2656
|
+
instance.close(...close)
|
|
2657
|
+
```
|
|
2658
|
+
|
|
2659
|
+
### Call StudyGradingStore methods
|
|
2660
|
+
|
|
2661
|
+
Supply an instance of the declared contract.
|
|
2662
|
+
|
|
2663
|
+
```ts
|
|
2664
|
+
import type { StudyGradingStore } from '@orkestrel/study/server'
|
|
2665
|
+
|
|
2666
|
+
declare const instance: StudyGradingStore
|
|
2667
|
+
declare const read: Parameters<StudyGradingStore['read']>
|
|
2668
|
+
instance.read(...read)
|
|
2669
|
+
declare const write: Parameters<StudyGradingStore['write']>
|
|
2670
|
+
instance.write(...write)
|
|
2671
|
+
```
|
|
2672
|
+
|
|
2673
|
+
### Call StudyLatchInterface methods
|
|
2674
|
+
|
|
2675
|
+
Supply an instance of the declared contract.
|
|
2676
|
+
|
|
2677
|
+
```ts
|
|
2678
|
+
import type { StudyLatchInterface } from '@orkestrel/study'
|
|
2679
|
+
|
|
2680
|
+
declare const instance: StudyLatchInterface
|
|
2681
|
+
declare const check: Parameters<StudyLatchInterface['check']>
|
|
2682
|
+
instance.check(...check)
|
|
2683
|
+
declare const fail: Parameters<StudyLatchInterface['fail']>
|
|
2684
|
+
instance.fail(...fail)
|
|
2685
|
+
```
|
|
2686
|
+
|
|
2687
|
+
### Call StudyLauncher methods
|
|
2688
|
+
|
|
2689
|
+
Supply an instance of the declared contract.
|
|
2690
|
+
|
|
2691
|
+
```ts
|
|
2692
|
+
import type { StudyLauncher } from '@orkestrel/study/server'
|
|
2693
|
+
|
|
2694
|
+
declare const instance: StudyLauncher
|
|
2695
|
+
declare const execute: Parameters<StudyLauncher['execute']>
|
|
2696
|
+
instance.execute(...execute)
|
|
2697
|
+
```
|
|
2698
|
+
|
|
2699
|
+
### Call StudyMeter methods
|
|
2700
|
+
|
|
2701
|
+
Supply an instance of the declared contract.
|
|
2702
|
+
|
|
2703
|
+
```ts
|
|
2704
|
+
import type { StudyMeter } from '@orkestrel/study'
|
|
2705
|
+
|
|
2706
|
+
declare const instance: StudyMeter
|
|
2707
|
+
declare const admit: Parameters<StudyMeter['admit']>
|
|
2708
|
+
instance.admit(...admit)
|
|
2709
|
+
declare const close: Parameters<StudyMeter['close']>
|
|
2710
|
+
instance.close(...close)
|
|
2711
|
+
```
|
|
2712
|
+
|
|
2713
|
+
### Call StudyMeterInterface methods
|
|
2714
|
+
|
|
2715
|
+
Supply an instance of the declared contract.
|
|
2716
|
+
|
|
2717
|
+
```ts
|
|
2718
|
+
import type { StudyMeterInterface } from '@orkestrel/study'
|
|
2719
|
+
|
|
2720
|
+
declare const instance: StudyMeterInterface
|
|
2721
|
+
declare const admit: Parameters<StudyMeterInterface['admit']>
|
|
2722
|
+
instance.admit(...admit)
|
|
2723
|
+
declare const close: Parameters<StudyMeterInterface['close']>
|
|
2724
|
+
instance.close(...close)
|
|
2725
|
+
```
|
|
2726
|
+
|
|
2727
|
+
### Call StudyOllamaTransport methods
|
|
2728
|
+
|
|
2729
|
+
Supply an instance of the declared contract.
|
|
2730
|
+
|
|
2731
|
+
```ts
|
|
2732
|
+
import type { StudyOllamaTransport } from '@orkestrel/study/server'
|
|
2733
|
+
|
|
2734
|
+
declare const instance: StudyOllamaTransport
|
|
2735
|
+
declare const check: Parameters<StudyOllamaTransport['check']>
|
|
2736
|
+
instance.check(...check)
|
|
2737
|
+
declare const clear: Parameters<StudyOllamaTransport['clear']>
|
|
2738
|
+
instance.clear(...clear)
|
|
2739
|
+
declare const close: Parameters<StudyOllamaTransport['close']>
|
|
2740
|
+
instance.close(...close)
|
|
2741
|
+
declare const fail: Parameters<StudyOllamaTransport['fail']>
|
|
2742
|
+
instance.fail(...fail)
|
|
2743
|
+
declare const fetch: Parameters<StudyOllamaTransport['fetch']>
|
|
2744
|
+
instance.fetch(...fetch)
|
|
2745
|
+
declare const prepare: Parameters<StudyOllamaTransport['prepare']>
|
|
2746
|
+
instance.prepare(...prepare)
|
|
2747
|
+
declare const verify: Parameters<StudyOllamaTransport['verify']>
|
|
2748
|
+
instance.verify(...verify)
|
|
2749
|
+
```
|
|
2750
|
+
|
|
2751
|
+
### Call StudyProcessDriver methods
|
|
2752
|
+
|
|
2753
|
+
Supply an instance of the declared contract.
|
|
2754
|
+
|
|
2755
|
+
```ts
|
|
2756
|
+
import type { StudyProcessDriver } from '@orkestrel/study/server'
|
|
2757
|
+
|
|
2758
|
+
declare const instance: StudyProcessDriver
|
|
2759
|
+
declare const open: Parameters<StudyProcessDriver['open']>
|
|
2760
|
+
instance.open(...open)
|
|
2761
|
+
```
|
|
2762
|
+
|
|
2763
|
+
### Call StudyProcessGoal methods
|
|
2764
|
+
|
|
2765
|
+
Supply an instance of the declared contract.
|
|
2766
|
+
|
|
2767
|
+
```ts
|
|
2768
|
+
import type { StudyProcessGoal } from '@orkestrel/study/server'
|
|
2769
|
+
|
|
2770
|
+
declare const instance: StudyProcessGoal
|
|
2771
|
+
declare const issue: Parameters<StudyProcessGoal['issue']>
|
|
2772
|
+
instance.issue(...issue)
|
|
2773
|
+
```
|
|
2774
|
+
|
|
2775
|
+
### Call StudyProcessSession methods
|
|
2776
|
+
|
|
2777
|
+
Supply an instance of the declared contract.
|
|
2778
|
+
|
|
2779
|
+
```ts
|
|
2780
|
+
import type { StudyProcessSession } from '@orkestrel/study/server'
|
|
2781
|
+
|
|
2782
|
+
declare const instance: StudyProcessSession
|
|
2783
|
+
declare const close: Parameters<StudyProcessSession['close']>
|
|
2784
|
+
instance.close(...close)
|
|
2785
|
+
declare const execute: Parameters<StudyProcessSession['execute']>
|
|
2786
|
+
instance.execute(...execute)
|
|
2787
|
+
declare const start: Parameters<StudyProcessSession['start']>
|
|
2788
|
+
instance.start(...start)
|
|
2789
|
+
```
|
|
2790
|
+
|
|
2791
|
+
### Call StudyRemoteMeter methods
|
|
2792
|
+
|
|
2793
|
+
Supply an instance of the declared contract.
|
|
2794
|
+
|
|
2795
|
+
```ts
|
|
2796
|
+
import type { StudyRemoteMeter } from '@orkestrel/study/server'
|
|
2797
|
+
|
|
2798
|
+
declare const instance: StudyRemoteMeter
|
|
2799
|
+
declare const abort: Parameters<StudyRemoteMeter['abort']>
|
|
2800
|
+
instance.abort(...abort)
|
|
2801
|
+
declare const admit: Parameters<StudyRemoteMeter['admit']>
|
|
2802
|
+
instance.admit(...admit)
|
|
2803
|
+
declare const close: Parameters<StudyRemoteMeter['close']>
|
|
2804
|
+
instance.close(...close)
|
|
2805
|
+
```
|
|
2806
|
+
|
|
2807
|
+
### Call StudyRemoteMeterInterface methods
|
|
2808
|
+
|
|
2809
|
+
Supply an instance of the declared contract.
|
|
2810
|
+
|
|
2811
|
+
```ts
|
|
2812
|
+
import type { StudyRemoteMeterInterface } from '@orkestrel/study/server'
|
|
2813
|
+
|
|
2814
|
+
declare const instance: StudyRemoteMeterInterface
|
|
2815
|
+
declare const abort: Parameters<StudyRemoteMeterInterface['abort']>
|
|
2816
|
+
instance.abort(...abort)
|
|
2817
|
+
declare const admit: Parameters<StudyRemoteMeterInterface['admit']>
|
|
2818
|
+
instance.admit(...admit)
|
|
2819
|
+
declare const close: Parameters<StudyRemoteMeterInterface['close']>
|
|
2820
|
+
instance.close(...close)
|
|
2821
|
+
```
|
|
2822
|
+
|
|
2823
|
+
### Call StudyRemoteTicket methods
|
|
2824
|
+
|
|
2825
|
+
Supply an instance of the declared contract.
|
|
2826
|
+
|
|
2827
|
+
```ts
|
|
2828
|
+
import type { StudyRemoteTicket } from '@orkestrel/study/server'
|
|
2829
|
+
|
|
2830
|
+
declare const instance: StudyRemoteTicket
|
|
2831
|
+
declare const fail: Parameters<StudyRemoteTicket['fail']>
|
|
2832
|
+
instance.fail(...fail)
|
|
2833
|
+
declare const finish: Parameters<StudyRemoteTicket['finish']>
|
|
2834
|
+
instance.finish(...finish)
|
|
2835
|
+
```
|
|
2836
|
+
|
|
2837
|
+
### Call StudyRequest methods
|
|
2838
|
+
|
|
2839
|
+
Supply an instance of the declared contract.
|
|
2840
|
+
|
|
2841
|
+
```ts
|
|
2842
|
+
import type { StudyRequest } from '@orkestrel/study'
|
|
2843
|
+
|
|
2844
|
+
declare const instance: StudyRequest
|
|
2845
|
+
declare const fail: Parameters<StudyRequest['fail']>
|
|
2846
|
+
instance.fail(...fail)
|
|
2847
|
+
declare const finish: Parameters<StudyRequest['finish']>
|
|
2848
|
+
instance.finish(...finish)
|
|
2849
|
+
```
|
|
2850
|
+
|
|
2851
|
+
### Call StudyResultStore methods
|
|
2852
|
+
|
|
2853
|
+
Supply an instance of the declared contract.
|
|
2854
|
+
|
|
2855
|
+
```ts
|
|
2856
|
+
import type { StudyResultStore } from '@orkestrel/study/server'
|
|
2857
|
+
|
|
2858
|
+
declare const instance: StudyResultStore
|
|
2859
|
+
declare const exchanges: Parameters<StudyResultStore['exchanges']>
|
|
2860
|
+
instance.exchanges(...exchanges)
|
|
2861
|
+
declare const create: Parameters<StudyResultStore['create']>
|
|
2862
|
+
instance.create(...create)
|
|
2863
|
+
declare const finish: Parameters<StudyResultStore['finish']>
|
|
2864
|
+
instance.finish(...finish)
|
|
2865
|
+
declare const seal: Parameters<StudyResultStore['seal']>
|
|
2866
|
+
instance.seal(...seal)
|
|
2867
|
+
declare const start: Parameters<StudyResultStore['start']>
|
|
2868
|
+
instance.start(...start)
|
|
2869
|
+
```
|
|
2870
|
+
|
|
2871
|
+
### Call StudyResultStoreInterface methods
|
|
2872
|
+
|
|
2873
|
+
Supply an instance of the declared contract.
|
|
2874
|
+
|
|
2875
|
+
```ts
|
|
2876
|
+
import type { StudyResultStoreInterface } from '@orkestrel/study/server'
|
|
2877
|
+
|
|
2878
|
+
declare const instance: StudyResultStoreInterface
|
|
2879
|
+
declare const exchanges: Parameters<StudyResultStoreInterface['exchanges']>
|
|
2880
|
+
instance.exchanges(...exchanges)
|
|
2881
|
+
declare const create: Parameters<StudyResultStoreInterface['create']>
|
|
2882
|
+
instance.create(...create)
|
|
2883
|
+
declare const finish: Parameters<StudyResultStoreInterface['finish']>
|
|
2884
|
+
instance.finish(...finish)
|
|
2885
|
+
declare const seal: Parameters<StudyResultStoreInterface['seal']>
|
|
2886
|
+
instance.seal(...seal)
|
|
2887
|
+
declare const start: Parameters<StudyResultStoreInterface['start']>
|
|
2888
|
+
instance.start(...start)
|
|
2889
|
+
```
|
|
2890
|
+
|
|
2891
|
+
### Call StudyScope methods
|
|
2892
|
+
|
|
2893
|
+
Supply an instance of the declared contract.
|
|
2894
|
+
|
|
2895
|
+
```ts
|
|
2896
|
+
import type { StudyScope } from '@orkestrel/study'
|
|
2897
|
+
|
|
2898
|
+
declare const instance: StudyScope
|
|
2899
|
+
declare const check: Parameters<StudyScope['check']>
|
|
2900
|
+
instance.check(...check)
|
|
2901
|
+
declare const close: Parameters<StudyScope['close']>
|
|
2902
|
+
instance.close(...close)
|
|
2903
|
+
declare const reserve: Parameters<StudyScope['reserve']>
|
|
2904
|
+
instance.reserve(...reserve)
|
|
2905
|
+
declare const settle: Parameters<StudyScope['settle']>
|
|
2906
|
+
instance.settle(...settle)
|
|
2907
|
+
```
|
|
2908
|
+
|
|
2909
|
+
### Call StudyScopeInterface methods
|
|
2910
|
+
|
|
2911
|
+
Supply an instance of the declared contract.
|
|
2912
|
+
|
|
2913
|
+
```ts
|
|
2914
|
+
import type { StudyScopeInterface } from '@orkestrel/study'
|
|
2915
|
+
|
|
2916
|
+
declare const instance: StudyScopeInterface
|
|
2917
|
+
declare const check: Parameters<StudyScopeInterface['check']>
|
|
2918
|
+
instance.check(...check)
|
|
2919
|
+
declare const close: Parameters<StudyScopeInterface['close']>
|
|
2920
|
+
instance.close(...close)
|
|
2921
|
+
declare const reserve: Parameters<StudyScopeInterface['reserve']>
|
|
2922
|
+
instance.reserve(...reserve)
|
|
2923
|
+
declare const settle: Parameters<StudyScopeInterface['settle']>
|
|
2924
|
+
instance.settle(...settle)
|
|
2925
|
+
```
|
|
2926
|
+
|
|
2927
|
+
### Call StudySeries methods
|
|
2928
|
+
|
|
2929
|
+
Supply an instance of the declared contract.
|
|
2930
|
+
|
|
2931
|
+
```ts
|
|
2932
|
+
import type { StudySeries } from '@orkestrel/study'
|
|
2933
|
+
|
|
2934
|
+
declare const instance: StudySeries
|
|
2935
|
+
declare const execute: Parameters<StudySeries['execute']>
|
|
2936
|
+
instance.execute(...execute)
|
|
2937
|
+
```
|
|
2938
|
+
|
|
2939
|
+
### Call StudySessionInterface methods
|
|
2940
|
+
|
|
2941
|
+
Supply an instance of the declared contract.
|
|
2942
|
+
|
|
2943
|
+
```ts
|
|
2944
|
+
import type { StudySessionInterface } from '@orkestrel/study'
|
|
2945
|
+
|
|
2946
|
+
declare const instance: StudySessionInterface
|
|
2947
|
+
declare const close: Parameters<StudySessionInterface['close']>
|
|
2948
|
+
instance.close(...close)
|
|
2949
|
+
declare const execute: Parameters<StudySessionInterface['execute']>
|
|
2950
|
+
instance.execute(...execute)
|
|
2951
|
+
```
|
|
2952
|
+
|
|
2953
|
+
### Call StudySinkInterface methods
|
|
2954
|
+
|
|
2955
|
+
Supply an instance of the declared contract.
|
|
2956
|
+
|
|
2957
|
+
```ts
|
|
2958
|
+
import type { StudySinkInterface } from '@orkestrel/study'
|
|
2959
|
+
|
|
2960
|
+
declare const instance: StudySinkInterface
|
|
2961
|
+
declare const append: Parameters<StudySinkInterface['append']>
|
|
2962
|
+
instance.append(...append)
|
|
2963
|
+
```
|
|
2964
|
+
|
|
2965
|
+
### Call StudyStoreInterface methods
|
|
2966
|
+
|
|
2967
|
+
Supply an instance of the declared contract.
|
|
2968
|
+
|
|
2969
|
+
```ts
|
|
2970
|
+
import type { StudyStoreInterface } from '@orkestrel/study'
|
|
2971
|
+
|
|
2972
|
+
declare const instance: StudyStoreInterface
|
|
2973
|
+
declare const finish: Parameters<StudyStoreInterface['finish']>
|
|
2974
|
+
instance.finish(...finish)
|
|
2975
|
+
declare const start: Parameters<StudyStoreInterface['start']>
|
|
2976
|
+
instance.start(...start)
|
|
2977
|
+
```
|
|
2978
|
+
|
|
2979
|
+
### Call StudyTask methods
|
|
2980
|
+
|
|
2981
|
+
Supply an instance of the declared contract.
|
|
2982
|
+
|
|
2983
|
+
```ts
|
|
2984
|
+
import type { StudyTask } from '@orkestrel/study/server'
|
|
2985
|
+
|
|
2986
|
+
declare const instance: StudyTask
|
|
2987
|
+
declare const execute: Parameters<StudyTask['execute']>
|
|
2988
|
+
instance.execute(...execute)
|
|
2989
|
+
```
|
|
2990
|
+
|
|
2991
|
+
### Call StudyTaskWorker methods
|
|
2992
|
+
|
|
2993
|
+
Supply an instance of the declared contract.
|
|
2994
|
+
|
|
2995
|
+
```ts
|
|
2996
|
+
import type { StudyTaskWorker } from '@orkestrel/study/server'
|
|
2997
|
+
|
|
2998
|
+
declare const instance: StudyTaskWorker
|
|
2999
|
+
declare const execute: Parameters<StudyTaskWorker['execute']>
|
|
3000
|
+
instance.execute(...execute)
|
|
3001
|
+
```
|
|
3002
|
+
|
|
3003
|
+
### Call StudyTicket methods
|
|
3004
|
+
|
|
3005
|
+
Supply an instance of the declared contract.
|
|
3006
|
+
|
|
3007
|
+
```ts
|
|
3008
|
+
import type { StudyTicket } from '@orkestrel/study'
|
|
3009
|
+
|
|
3010
|
+
declare const instance: StudyTicket
|
|
3011
|
+
declare const fail: Parameters<StudyTicket['fail']>
|
|
3012
|
+
instance.fail(...fail)
|
|
3013
|
+
declare const finish: Parameters<StudyTicket['finish']>
|
|
3014
|
+
instance.finish(...finish)
|
|
3015
|
+
```
|
|
3016
|
+
|
|
3017
|
+
### Call StudyWorker methods
|
|
3018
|
+
|
|
3019
|
+
Supply an instance of the declared contract.
|
|
3020
|
+
|
|
3021
|
+
```ts
|
|
3022
|
+
import type { StudyWorker } from '@orkestrel/study/server'
|
|
3023
|
+
|
|
3024
|
+
declare const instance: StudyWorker
|
|
3025
|
+
declare const execute: Parameters<StudyWorker['execute']>
|
|
3026
|
+
instance.execute(...execute)
|
|
3027
|
+
```
|
|
3028
|
+
|
|
3029
|
+
### Declare and compose daemon staging
|
|
3030
|
+
|
|
3031
|
+
The command owns staging for ordinary execution. A custom execution host can compose the same session and preparation contracts.
|
|
3032
|
+
|
|
3033
|
+
```ts
|
|
3034
|
+
import { isStudyDaemon } from '@orkestrel/study'
|
|
3035
|
+
import { StudyDaemonSession, StudyDaemonTrial } from '@orkestrel/study/server'
|
|
3036
|
+
import { createOllamaDaemon } from '@orkestrel/ollama/server'
|
|
3037
|
+
import type { StudyDaemonSessionOptions, StudyDaemonTrialOptions } from '@orkestrel/study/server'
|
|
3038
|
+
|
|
3039
|
+
isStudyDaemon({ executable: 'ollama' }) // false
|
|
3040
|
+
declare const options: StudyDaemonSessionOptions
|
|
3041
|
+
const session = new StudyDaemonSession(options)
|
|
3042
|
+
declare const prepare: Parameters<StudyDaemonSession['prepare']>
|
|
3043
|
+
try {
|
|
3044
|
+
await session.start()
|
|
3045
|
+
await session.prepare(...prepare)
|
|
3046
|
+
} finally {
|
|
3047
|
+
await session.stop()
|
|
3048
|
+
}
|
|
3049
|
+
|
|
3050
|
+
declare const trialOptions: StudyDaemonTrialOptions
|
|
3051
|
+
const trial = new StudyDaemonTrial(trialOptions)
|
|
3052
|
+
declare const declaration: Parameters<typeof createOllamaDaemon>[0]
|
|
3053
|
+
const daemon = createOllamaDaemon({
|
|
3054
|
+
...declaration,
|
|
3055
|
+
fetch: (input, init) =>
|
|
3056
|
+
new URL(new Request(input, init).url).pathname === '/api/generate'
|
|
3057
|
+
? trial.fetch(input, init)
|
|
3058
|
+
: globalThis.fetch(input, init),
|
|
3059
|
+
})
|
|
3060
|
+
try {
|
|
3061
|
+
await daemon.start()
|
|
3062
|
+
await trial.execute(daemon)
|
|
3063
|
+
} finally {
|
|
3064
|
+
await daemon.destroy()
|
|
3065
|
+
}
|
|
3066
|
+
```
|
|
3067
|
+
|
|
3068
|
+
## Tests
|
|
3069
|
+
|
|
3070
|
+
The staging proofs drive the real command and worker over a Node protocol daemon on an ephemeral loopback port. The daemon records whether each unload's attempt was already readable on disk. The source suite proves repeated maintenance prefixes, exact ordinal joins, offline replay without a daemon or request, and startup, trial, unload, and cancellation cleanup while an unrelated sentinel survives. Setup proofs validate fixture declarations without starting a child.
|
|
3071
|
+
|
|
3072
|
+
### Call exchange and replay helpers
|
|
3073
|
+
|
|
3074
|
+
Supply validated declarations, retained bytes, or a selected sealed result as each contract requires.
|
|
3075
|
+
|
|
3076
|
+
```ts
|
|
3077
|
+
import { isStudyRecord } from '@orkestrel/study'
|
|
3078
|
+
import {
|
|
3079
|
+
buildStudyExchangeSequence,
|
|
3080
|
+
isStudyExchangeBytes,
|
|
3081
|
+
isStudyExchangeDeclaration,
|
|
3082
|
+
isStudyExchangeDestination,
|
|
3083
|
+
isStudyExchangeHistory,
|
|
3084
|
+
isStudyExchangeIdentity,
|
|
3085
|
+
isStudyExchangeReply,
|
|
3086
|
+
isStudyExchangeRow,
|
|
3087
|
+
isStudyReplaySelection,
|
|
3088
|
+
projectStudyExchangeIdentity,
|
|
3089
|
+
readStudyExchangeRows,
|
|
3090
|
+
readStudyExchanges,
|
|
3091
|
+
readStudyPreparedDestination,
|
|
3092
|
+
readStudyRecordingDeclaration,
|
|
3093
|
+
readStudyReplayHistory,
|
|
3094
|
+
readStudyTrialExchanges,
|
|
3095
|
+
validateStudyExchangeEvidence,
|
|
3096
|
+
validateStudyExchangeHistory,
|
|
3097
|
+
validateStudyExchangeRequest,
|
|
3098
|
+
validateStudyExchangeRows,
|
|
3099
|
+
} from '@orkestrel/study/server'
|
|
3100
|
+
|
|
3101
|
+
declare const isStudyRecordArguments: Parameters<typeof isStudyRecord>
|
|
3102
|
+
isStudyRecord(...isStudyRecordArguments)
|
|
3103
|
+
declare const buildStudyExchangeSequenceArguments: Parameters<typeof buildStudyExchangeSequence>
|
|
3104
|
+
buildStudyExchangeSequence(...buildStudyExchangeSequenceArguments)
|
|
3105
|
+
declare const isStudyExchangeBytesArguments: Parameters<typeof isStudyExchangeBytes>
|
|
3106
|
+
isStudyExchangeBytes(...isStudyExchangeBytesArguments)
|
|
3107
|
+
declare const isStudyExchangeDeclarationArguments: Parameters<typeof isStudyExchangeDeclaration>
|
|
3108
|
+
isStudyExchangeDeclaration(...isStudyExchangeDeclarationArguments)
|
|
3109
|
+
declare const isStudyExchangeDestinationArguments: Parameters<typeof isStudyExchangeDestination>
|
|
3110
|
+
isStudyExchangeDestination(...isStudyExchangeDestinationArguments)
|
|
3111
|
+
declare const isStudyExchangeHistoryArguments: Parameters<typeof isStudyExchangeHistory>
|
|
3112
|
+
isStudyExchangeHistory(...isStudyExchangeHistoryArguments)
|
|
3113
|
+
declare const isStudyExchangeIdentityArguments: Parameters<typeof isStudyExchangeIdentity>
|
|
3114
|
+
isStudyExchangeIdentity(...isStudyExchangeIdentityArguments)
|
|
3115
|
+
declare const isStudyExchangeReplyArguments: Parameters<typeof isStudyExchangeReply>
|
|
3116
|
+
isStudyExchangeReply(...isStudyExchangeReplyArguments)
|
|
3117
|
+
declare const isStudyExchangeRowArguments: Parameters<typeof isStudyExchangeRow>
|
|
3118
|
+
isStudyExchangeRow(...isStudyExchangeRowArguments)
|
|
3119
|
+
declare const isStudyReplaySelectionArguments: Parameters<typeof isStudyReplaySelection>
|
|
3120
|
+
isStudyReplaySelection(...isStudyReplaySelectionArguments)
|
|
3121
|
+
declare const projectStudyExchangeIdentityArguments: Parameters<typeof projectStudyExchangeIdentity>
|
|
3122
|
+
projectStudyExchangeIdentity(...projectStudyExchangeIdentityArguments)
|
|
3123
|
+
declare const readStudyExchangeRowsArguments: Parameters<typeof readStudyExchangeRows>
|
|
3124
|
+
readStudyExchangeRows(...readStudyExchangeRowsArguments)
|
|
3125
|
+
declare const readStudyExchangesArguments: Parameters<typeof readStudyExchanges>
|
|
3126
|
+
readStudyExchanges(...readStudyExchangesArguments)
|
|
3127
|
+
declare const readStudyPreparedDestinationArguments: Parameters<typeof readStudyPreparedDestination>
|
|
3128
|
+
readStudyPreparedDestination(...readStudyPreparedDestinationArguments)
|
|
3129
|
+
declare const readStudyRecordingDeclarationArguments: Parameters<
|
|
3130
|
+
typeof readStudyRecordingDeclaration
|
|
3131
|
+
>
|
|
3132
|
+
readStudyRecordingDeclaration(...readStudyRecordingDeclarationArguments)
|
|
3133
|
+
declare const readStudyReplayHistoryArguments: Parameters<typeof readStudyReplayHistory>
|
|
3134
|
+
readStudyReplayHistory(...readStudyReplayHistoryArguments)
|
|
3135
|
+
declare const readStudyTrialExchangesArguments: Parameters<typeof readStudyTrialExchanges>
|
|
3136
|
+
readStudyTrialExchanges(...readStudyTrialExchangesArguments)
|
|
3137
|
+
declare const validateStudyExchangeEvidenceArguments: Parameters<
|
|
3138
|
+
typeof validateStudyExchangeEvidence
|
|
3139
|
+
>
|
|
3140
|
+
validateStudyExchangeEvidence(...validateStudyExchangeEvidenceArguments)
|
|
3141
|
+
declare const validateStudyExchangeHistoryArguments: Parameters<typeof validateStudyExchangeHistory>
|
|
3142
|
+
validateStudyExchangeHistory(...validateStudyExchangeHistoryArguments)
|
|
3143
|
+
declare const validateStudyExchangeRequestArguments: Parameters<typeof validateStudyExchangeRequest>
|
|
3144
|
+
validateStudyExchangeRequest(...validateStudyExchangeRequestArguments)
|
|
3145
|
+
declare const validateStudyExchangeRowsArguments: Parameters<typeof validateStudyExchangeRows>
|
|
3146
|
+
validateStudyExchangeRows(...validateStudyExchangeRowsArguments)
|
|
3147
|
+
```
|
|
3148
|
+
|
|
3149
|
+
### Call exchange sink methods
|
|
3150
|
+
|
|
3151
|
+
Supply the worker-owned sink or its declared interface.
|
|
3152
|
+
|
|
3153
|
+
```ts
|
|
3154
|
+
import type { StudyExchangeSink, StudyExchangeSinkInterface } from '@orkestrel/study/server'
|
|
3155
|
+
|
|
3156
|
+
declare const sink: StudyExchangeSink
|
|
3157
|
+
declare const append: Parameters<StudyExchangeSink['append']>
|
|
3158
|
+
sink.append(...append)
|
|
3159
|
+
sink.close()
|
|
3160
|
+
declare const contract: StudyExchangeSinkInterface
|
|
3161
|
+
declare const row: Parameters<StudyExchangeSinkInterface['append']>
|
|
3162
|
+
contract.append(...row)
|
|
3163
|
+
contract.close()
|
|
3164
|
+
```
|
|
3165
|
+
|
|
3166
|
+
### Call replay methods
|
|
3167
|
+
|
|
3168
|
+
Supply a replay over a completely verified selected history.
|
|
3169
|
+
|
|
3170
|
+
```ts
|
|
3171
|
+
import type { StudyOllamaReplay, StudyOllamaReplayInterface } from '@orkestrel/study/server'
|
|
3172
|
+
|
|
3173
|
+
declare const replay: StudyOllamaReplay
|
|
3174
|
+
replay.check()
|
|
3175
|
+
replay.close()
|
|
3176
|
+
declare const contract: StudyOllamaReplayInterface
|
|
3177
|
+
contract.check()
|
|
3178
|
+
contract.close()
|
|
3179
|
+
```
|
|
3180
|
+
|
|
3181
|
+
See the behavioral proofs in the following directories.
|
|
3182
|
+
|
|
3183
|
+
- [tests/src/core](../tests/src/core)
|
|
3184
|
+
- [tests/src/server](../tests/src/server)
|
|
3185
|
+
- [tests/src/bin](../tests/src/bin)
|