@farmslot/protocol 0.20.0 → 0.25.0
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/CHANGELOG.md +110 -0
- package/dist/contracts/agents.d.ts +18 -0
- package/dist/contracts/agents.d.ts.map +1 -1
- package/dist/contracts/backlog.d.ts +8 -0
- package/dist/contracts/backlog.d.ts.map +1 -1
- package/dist/contracts/backlog.js.map +1 -1
- package/dist/contracts/chat.d.ts +6 -1
- package/dist/contracts/chat.d.ts.map +1 -1
- package/dist/contracts/chat.js.map +1 -1
- package/dist/contracts/config.d.ts +9 -2
- package/dist/contracts/config.d.ts.map +1 -1
- package/dist/contracts/config.js.map +1 -1
- package/dist/contracts/device-inventory.d.ts +118 -0
- package/dist/contracts/device-inventory.d.ts.map +1 -0
- package/dist/contracts/device-inventory.js +51 -0
- package/dist/contracts/device-inventory.js.map +1 -0
- package/dist/contracts/dispatch.d.ts +2 -0
- package/dist/contracts/dispatch.d.ts.map +1 -1
- package/dist/contracts/execution-templates.d.ts +10 -0
- package/dist/contracts/execution-templates.d.ts.map +1 -1
- package/dist/contracts/gate-park.d.ts +284 -0
- package/dist/contracts/gate-park.d.ts.map +1 -0
- package/dist/contracts/gate-park.js +415 -0
- package/dist/contracts/gate-park.js.map +1 -0
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +5 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/pressure-admission.d.ts +175 -0
- package/dist/contracts/pressure-admission.d.ts.map +1 -0
- package/dist/contracts/pressure-admission.js +26 -0
- package/dist/contracts/pressure-admission.js.map +1 -0
- package/dist/contracts/resource-posture.d.ts +379 -0
- package/dist/contracts/resource-posture.d.ts.map +1 -0
- package/dist/contracts/resource-posture.js +293 -0
- package/dist/contracts/resource-posture.js.map +1 -0
- package/dist/contracts/resources.d.ts +27 -1
- package/dist/contracts/resources.d.ts.map +1 -1
- package/dist/contracts/resources.js +1 -1
- package/dist/contracts/resources.js.map +1 -1
- package/dist/contracts/reviews.d.ts +2 -0
- package/dist/contracts/reviews.d.ts.map +1 -1
- package/dist/contracts/reviews.js.map +1 -1
- package/dist/contracts/runs.d.ts +521 -6
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js +131 -2
- package/dist/contracts/runs.js.map +1 -1
- package/dist/contracts/runtime-capabilities.d.ts +386 -0
- package/dist/contracts/runtime-capabilities.d.ts.map +1 -0
- package/dist/contracts/runtime-capabilities.js +114 -0
- package/dist/contracts/runtime-capabilities.js.map +1 -0
- package/dist/contracts/slots.d.ts +53 -1
- package/dist/contracts/slots.d.ts.map +1 -1
- package/dist/recipes/step-io.d.ts +10 -1
- package/dist/recipes/step-io.d.ts.map +1 -1
- package/dist/rpc/chat.d.ts +2 -0
- package/dist/rpc/chat.d.ts.map +1 -1
- package/dist/rpc/config.d.ts +9 -1
- package/dist/rpc/config.d.ts.map +1 -1
- package/dist/rpc/copilot-runtime.d.ts +131 -0
- package/dist/rpc/copilot-runtime.d.ts.map +1 -0
- package/dist/rpc/copilot-runtime.js +12 -0
- package/dist/rpc/copilot-runtime.js.map +1 -0
- package/dist/rpc/dispatch.d.ts +39 -1
- package/dist/rpc/dispatch.d.ts.map +1 -1
- package/dist/rpc/dispatch.js +2 -0
- package/dist/rpc/dispatch.js.map +1 -1
- package/dist/rpc/git.d.ts +40 -0
- package/dist/rpc/git.d.ts.map +1 -1
- package/dist/rpc/index.d.ts +5 -0
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +5 -0
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/machine-pause.d.ts +158 -0
- package/dist/rpc/machine-pause.d.ts.map +1 -0
- package/dist/rpc/machine-pause.js +8 -0
- package/dist/rpc/machine-pause.js.map +1 -0
- package/dist/rpc/pr.d.ts +2 -0
- package/dist/rpc/pr.d.ts.map +1 -1
- package/dist/rpc/registry.d.ts +23 -0
- package/dist/rpc/registry.d.ts.map +1 -1
- package/dist/rpc/registry.js +25 -0
- package/dist/rpc/registry.js.map +1 -1
- package/dist/rpc/resource-posture.d.ts +36 -0
- package/dist/rpc/resource-posture.d.ts.map +1 -0
- package/dist/rpc/resource-posture.js +7 -0
- package/dist/rpc/resource-posture.js.map +1 -0
- package/dist/rpc/resource-pressure-selection.d.ts +4 -0
- package/dist/rpc/resource-pressure-selection.d.ts.map +1 -0
- package/dist/rpc/resource-pressure-selection.js +21 -0
- package/dist/rpc/resource-pressure-selection.js.map +1 -0
- package/dist/rpc/resources.d.ts +176 -1
- package/dist/rpc/resources.d.ts.map +1 -1
- package/dist/rpc/resources.js +6 -0
- package/dist/rpc/resources.js.map +1 -1
- package/dist/rpc/run.d.ts +122 -5
- package/dist/rpc/run.d.ts.map +1 -1
- package/dist/rpc/run.js +1 -0
- package/dist/rpc/run.js.map +1 -1
- package/dist/rpc/runtime-capabilities.d.ts +136 -0
- package/dist/rpc/runtime-capabilities.d.ts.map +1 -0
- package/dist/rpc/runtime-capabilities.js +19 -0
- package/dist/rpc/runtime-capabilities.js.map +1 -0
- package/dist/rpc/slot.d.ts +9 -1
- package/dist/rpc/slot.d.ts.map +1 -1
- package/dist/rpc/slot.js.map +1 -1
- package/dist/rpc/tmux.d.ts +4 -0
- package/dist/rpc/tmux.d.ts.map +1 -1
- package/dist/runs/decision-resolution.d.ts +7 -0
- package/dist/runs/decision-resolution.d.ts.map +1 -1
- package/dist/runs/decision-resolution.js +1 -0
- package/dist/runs/decision-resolution.js.map +1 -1
- package/dist/slots/tracking-branch.d.ts +12 -0
- package/dist/slots/tracking-branch.d.ts.map +1 -1
- package/dist/slots/tracking-branch.js +12 -0
- package/dist/slots/tracking-branch.js.map +1 -1
- package/dist/transport/events.d.ts +12 -1
- package/dist/transport/events.d.ts.map +1 -1
- package/dist/transport/events.js +4 -0
- package/dist/transport/events.js.map +1 -1
- package/dist/transport/signal.d.ts +13 -0
- package/dist/transport/signal.d.ts.map +1 -1
- package/dist/transport/signal.js +19 -1
- package/dist/transport/signal.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,116 @@ All notable changes to `@farmslot/protocol` are tracked here.
|
|
|
6
6
|
|
|
7
7
|
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
8
8
|
|
|
9
|
+
## 0.25.0 - 2026-09-08
|
|
10
|
+
|
|
11
|
+
- feat(parking): cross-slot re-dispatch contracts for a freed gate park. `MachineParkRecord.rehome`
|
|
12
|
+
(`MachineParkRehome`) records the slot a restore moved the run out of and the one it moved into,
|
|
13
|
+
so a client can say "restoring into B, was A" and a repair path can tell which slot the record is
|
|
14
|
+
homed to. `MachinePauseRestoreTarget` and `GateParkRestoreTargetView` gain `originalSlotId`
|
|
15
|
+
alongside the Gateway-chosen `slotId`, and the shared gate-park reading gains a `rehoming` slot
|
|
16
|
+
state with the label, summary line, and gate notice to match — each naming BOTH slots, because an
|
|
17
|
+
operator told only the new one reads it as where the park was taken and one told only the old
|
|
18
|
+
attaches to a pane the successor now owns. New eligibility codes: `ELIGIBLE_FREED_SLOT_REHOME`,
|
|
19
|
+
`RESTORE_REHOME_SESSION_NOT_PORTABLE`, and `RESTORE_NO_REHOME_TARGET`.
|
|
20
|
+
- feat(runtime): device inventory contracts. `resource.device.inventory`
|
|
21
|
+
(`DeviceInventoryParams`/`DeviceInventoryResult`) lists the devices a slot's machine has, as
|
|
22
|
+
`DeviceInventoryEntry` records carrying the re-target `key` (`DeviceInventoryKey`), the
|
|
23
|
+
`identity`, the device name, the tool's own `state`, and `configuredForSlots` — every slot that
|
|
24
|
+
configures it, a list because two slots legitimately share one physical device.
|
|
25
|
+
`DeviceInventorySource` says per tool (`DEVICE_INVENTORY_TOOLS`) whether it answered, and
|
|
26
|
+
`DEVICE_INVENTORY_KEY_TOOL` / `DEVICE_INVENTORY_KEY_LISTS_EXISTENCE` / `deviceInventoryCovers` say
|
|
27
|
+
which tool answers for which key and whether that tool enumerates what EXISTS or only what is
|
|
28
|
+
currently connected — so a partial read is usable, silence is never read as absence, and an
|
|
29
|
+
`adb_serial` is never refused, because `adb devices` lists live transports and booting the device
|
|
30
|
+
is what the provider acquire does next. `DeviceInventoryRefusal` is the
|
|
31
|
+
typed refusal for a target the machine does not have, naming the machine and the nearest known
|
|
32
|
+
identities, and `ResourcePostureRejection` gains a matching `device-unknown` member.
|
|
33
|
+
|
|
34
|
+
- feat(runtime): contracts for opt-in host-pressure admission. `ProjectRuntimeCapabilitiesConfig`
|
|
35
|
+
gains `hostPressureAdmission` (`ProjectHostPressureAdmissionConfig`: a `HostPressureAdmissionMode`
|
|
36
|
+
from `HOST_PRESSURE_ADMISSION_MODES` — `off` | `refuse` | `queue` — plus optional
|
|
37
|
+
`load1CriticalMultiplier`, `cpuCriticalPercent`, `memoryCriticalPercent`, `diskCriticalPercent`).
|
|
38
|
+
Absent means `off`. `RuntimeCapabilityPressureConflict` gains `enforced?: false`, present only when
|
|
39
|
+
the gate was not enforced: the acquire went through and the conflict is advisory, carried on the
|
|
40
|
+
granted lease. On the dispatch side, `PressureAdmissionAdmitted` gains `enforced?: false` and
|
|
41
|
+
`advisory` (`PressureAdmissionAdvisory`: the code, reason, and causes an enabled gate would have
|
|
42
|
+
rejected with), and `PressureAdmissionControlState` gains `envOverride` for the
|
|
43
|
+
`FARMSLOT_DISPATCH_PRESSURE_ADMISSION` value that wins over the durable state. `state: 'disabled'`
|
|
44
|
+
is now the default posture rather than a kill-switch exception. `DispatchPressureAdmissionMode`
|
|
45
|
+
(`off` | `refuse`, with `DISPATCH_PRESSURE_ADMISSION_MODES`) names the dispatch half of that
|
|
46
|
+
vocabulary so clients stop re-hardcoding the literals. Unenforced pressure is a
|
|
47
|
+
SEPARATE type: `RuntimeCapabilityPressureAdvisory` (`kind: 'host-pressure-advisory'`), which is
|
|
48
|
+
deliberately not a member of `RuntimeCapabilityAcquireConflict`, so a client matching
|
|
49
|
+
`kind === 'host-pressure'` cannot paint an admitted acquire as a block and the compiler refuses any
|
|
50
|
+
code path that tries to return one as a refusal. It carries a required `observedAt` because it is
|
|
51
|
+
pinned to a lease at acquire time and never refreshed. `RuntimeCapabilityLease.pressure` and
|
|
52
|
+
`RuntimeCapabilityStatusResult.pressure` are now `RuntimeCapabilityLeasePressure`, the union of the
|
|
53
|
+
two. The dispatch side's discriminant is the existing required `state: 'disabled'`, which every
|
|
54
|
+
consumer already guards on.
|
|
55
|
+
- feat(runtime): resource claims carry a scope. `RuntimeCapabilityResourceClaim` gains `scope` (`slot` | `machine` | `fleet`, absent means `slot`), with `runtimeCapabilityClaimScope` and `widerRuntimeCapabilityClaimScope` as the only places the default and the symmetric widening are applied. A lease records the `machine` and the `claims` it was taken with, so arbitration across slots reads the snapshot instead of every foreign slot's catalog; a lease with no `claims` predates scopes and stays slot-scoped. `RuntimeCapabilityAcquireParams` gains `queueOnConflict`, deliberately separate from `queueOnPressure` because host pressure and claim contention drain differently. A queued lease carries `wait` (`RuntimeCapabilityScopedClaimWait`) with the blocking owner, which is usually on another slot; the acquire is refused with the new `scoped-wait` conflict naming the claim, the holder, the queued lease and the place in line. `RuntimeCapabilityStatusResult` gains `claimWaiters` (`RuntimeCapabilityClaimWaiter[]`), the fleet-wide queue derived on read from enqueue time, since the slot-filtered lease list cannot say how many runs are ahead. `RunResourcePostureState` gains `resourceWait` (`RunResourceWait`) so a run's durable place in line survives a reconnect; the Gateway derives it from the run's own lease on every read, so it clears itself the moment the reservation is completed. `RunResourceWait` carries a `phase` (`RunResourceWaitPhase`: `queued` behind a holder, or `granted` — the claim reserved for this run with no provider started yet, reported at position 0). Both are waits: a `granted` one that never clears is a claim held with nothing behind it, and reporting only the queued half is what made that invisible on every client.
|
|
56
|
+
- feat(posture): device-identity acquire parameters for runtime capability providers (ADR-054 item 3). `RUNTIME_CAPABILITY_TARGET_KEYS` names the five keys a provider may accept (`platform`, `udid`, `simulator`, `avd`, `adb_serial`), `RUNTIME_CAPABILITY_TARGET_VALUE_PATTERN` is the charset an identity must match because the value is substituted into a project hook command, and `runtimeCapabilityTargetFromParameters`/`formatRuntimeCapabilityTarget` let every client read and label the device a lease resolved to from one derivation. `RecipeRerunParams` gains `target` and `ResourcePostureCapabilityState` gains `target`. An identity may not start with a dash: `-x` passes a shell-safety check but is still an argument to whatever the provider hook runs. `RuntimeCapabilityAcquireParams` also gains `dependencyParameters`, so a caller reconciling a whole proof plan can say which device each dependency should be acquired with rather than letting the order it walks the plan decide.
|
|
57
|
+
- feat(parking): `MachineParkEligibilityCodes` gains `RUNNER_LIVENESS_PROBE_TIMEOUT` and `MACHINE_PAUSE_PREVIEW_STALE`, and `MachinePauseEligibility` gains an optional `details` (`MachinePauseEligibilityDetails`, currently `probeBudgetMs`) that `ResourcePostureRejection`'s `park-ineligible` variant passes through. The two codes name transient races — a liveness probe that ran out of budget, a preview digest that moved between preview and execute — that previously shared a code with genuine verdicts about the run, so a client or validation harness had to read the reason prose to tell them apart. `CompleteStepOutput.slotDisposition` also gains `release-deferred`, for the terminal-flow case where COMPLETE chooses the release but the engine performs it after the run publishes; it used to report `released` for a teardown that had not happened yet.
|
|
58
|
+
|
|
59
|
+
- feat(posture): `MachineParkRecord` gains `restoreEffects` (`MachineParkRestoreEffect[]`, with `MachineParkRestoreAction` = `verified` | `booted` | `stopped` | `skipped`), the lifecycle effects a restore actually performed per resource, emitted by the Gateway code path that performs them — the single function that runs a resource's boot, shutdown, or relaunch hook, which a capability acquire reaches too, and attributed to the restore that initiated it rather than to the slot it touched — and reset at the start of each attempt. A boot that succeeds leaves no error behind, so an absence of boot errors could never prove no boot happened; this states what was done instead of leaving it to be inferred. Absent on records written before restore recorded its effects.
|
|
60
|
+
- feat(runtime): `RuntimeCapabilityProviderConfig` gains optional `affectedResources` (`RuntimeCapabilityAffectedResource[]`, with `RUNTIME_CAPABILITY_AFFECTED_OWNERSHIPS` and `RUNTIME_CAPABILITY_AFFECTED_RELEASE_EFFECTS`), which flows onto the catalog entry. A provider declares which slot resources it touches, whether the lease owns that resource or only rides on a slot-lifecycle one, and whether releasing it stops or retains the resource. Absent keeps the old derivation from resource-kind action refs, so no existing catalog changes meaning; an empty array is the distinct claim that the provider touches no watched resource. `MachineParkResource` gains `releaseEffect`, so a park manifest records which resources it will stop and which it deliberately leaves running for restore to verify instead of boot.
|
|
61
|
+
- feat(posture): `RunResourcePostureState` gains `gateChoiceSuppressedForGeneration`, the run generation a `machine.pause.restore` replay took ownership at when it re-presented a gate. Without it a run whose stored choice is `free-slot` re-parks itself the moment its gate comes back, before the operator ever sees it; the restored gate falls back to the framework default once and the choice stays available to make explicitly. Keyed on the generation rather than a bare flag so a suppression cannot outlive the gate it was set for.
|
|
62
|
+
- feat(slots): `SlotStatus` gains `headSha`, the commit the last fleet refresh saw HEAD on. A detached checkout reports `branch` as the literal `HEAD`, which identifies nothing, so the commit is what tells one detached slot from another. It is written by the fleet refresh, so it is absent on a cached row until the first refresh after a deploy; a park-freed slot simply scores stale until then, which is transient and self-healing.
|
|
63
|
+
- feat(slots): export `DETACHED_HEAD_BRANCH`, the literal `HEAD` that `git rev-parse --abbrev-ref` reports for a detached checkout. `isSlotIdleBranch` deliberately still calls a detached slot stale, because the predicate is shared with the unmerged-work release refusal and fleet health, where a detached HEAD can hold real unpushed commits; only dispatch scoring makes an exception, and only for a slot a park record proves is preserved.
|
|
64
|
+
- feat(posture): `MachineParkRecord` gains `slotDisposition` (`retained` | `freed`) and `slotFreedAt`, and `MachinePausePreviewRun` gains `slotDisposition`, so clients can tell a park that frees the run's slot from one that keeps it bound and can tell the intent apart from the release actually landing. `MachineParkRecord.preservedWorkspace` (`MachineParkWorkspace`) carries the branch and tip a freeing park detached, so clients can show what was preserved and restore can check it out again. `MachineParkEligibilityCodes` names the gate-park verdicts clients render: `ELIGIBLE_GATE_RELEASE_PAUSE`, `RUNNER_RELOAD_UNSUPPORTED`, `GATE_PARK_REQUIRES_RELEASE`, `WORKSPACE_NOT_PRESERVABLE`, `GATE_PARK_IN_FLIGHT`, and the restore verdicts `FREED_SLOT_RESTORE_REQUIRED`, `RESTORE_SLOT_TAKEN`, `RESTORE_WORKSPACE_UNAVAILABLE`, `RESTORE_RUNNER_RELOAD_FAILED`, and `RESTORE_GATE_REPLAYED`. Restoring a freed park adds `MachineParkRecord.slotReboundAt` (when the slot came back, as a fact rather than an intent) and `restoreRefusal` (`MachineParkRestoreRefusal`: the typed code and reason the last attempt refused, so a reconnecting client can still explain a gate that would not answer), `MachinePauseRestorePreviewRun.restoreTarget` (`MachinePauseRestoreTarget`: the ORIGINAL slot, its disposition, and whether it can take the run back right now — there is deliberately no alternative target, because cross-slot re-dispatch is a separate decision), and `RunResolveDecisionResult.gateParkRestore`, present only when answering the gate had to restore the run first, so a client can tell that apart from answering a live gate. `MachineParkRecord.restoreProgress` (`MachineParkRestoreProgress` over `MACHINE_PARK_RESTORE_STAGES` = `rebind` | `reattach` | `reacquire` | `reload`, with `machineParkRestoreComplete`) tracks what a restore still owes, written before each stage and completed after. It is deliberately independent of occupancy: a restore that re-bound the slot and booted its resources and then failed to get an acknowledged reload leaves an occupied slot and a running process, and reading those as progress is how a retry skipped the restore. `slotReboundAt` is now the occupancy fact and `slotFreedAt` survives until every stage lands. `MachineParkRecord.recoveryProof.acknowledgement.kind` widens from `'structured'` to `'structured' | 'adopted'`: `structured` is a relaunch the runner acknowledged, with a turn delivered and started, while `adopted` is a worker that was ALREADY running this run's persisted session when the restore reached it — proven by the live-binding check rather than by a prompt, and carrying no `turnToken`. **A client narrowing on `kind === 'structured'` stops recognizing an adopted proof**, so both kinds must be accepted wherever a restored worker counts as back. The single client reading of all of this is `gateParkView` / `liveGateParkView` with `gateParkStateLabel`, `gateParkSummaryLine`, and `gateParkGateNotice`: it turns a run plus its park record into the slot state (`retained` | `freeing` | `freed` | `restoring` | `settled`), the freed slot, the preserved branch and tip, the restore stages still owed, the typed refusal, and whether answering the gate restores the run first — with restore-target availability carried in from a Gateway verdict and reported as not known when nothing supplied one, never derived. `isSlotFreedByPark`, `needsGateParkRestore`, `isGateParkInFlightOrFreed`, and `hasLiveParkRecord` move here from the Gateway so clients read the exact predicates the Gateway acts on instead of approximations of them. A `partial` park is split into `partial-answerable` and `partial-needs-restore` off that same fence rather than lumped in with a park still landing: a partial has settled and will not finish, so telling the operator to wait is advice that cannot work, and a partial that detached nothing and left a live worker is answerable exactly where it stands. `GateParkGateNotice` carries `blocking` so no client re-derives that from `kind`, and `refusalSuperseded` so an `available` verdict is allowed to overtake a refusal from an earlier attempt instead of being outranked by it.
|
|
65
|
+
- feat(posture): add the shared post-resolution transition contract — `correlateResourcePostureTransition`, `resourcePostureTransitionBaseline`, `resourcePostureTransitions`, `isTerminalResourcePostureOutcome`, `RESOURCE_POSTURE_TERMINAL_OUTCOMES`, and `RESOURCE_POSTURE_TRANSITION_POLL_LIMIT`. `run.resolveDecision` returns before reconciliation finishes, so a client must tell the resulting transition apart from the one that was already there: correlate on id novelty, on recency measured Gateway-clock to Gateway-clock, and on gate choice only where the record carries one, preferring a record the Gateway attributed over one the client inferred. Terminal outcomes are an allowlist, so a new outcome is a wait until it is considered rather than silently terminal.
|
|
66
|
+
- feat(runtime): export `RUNTIME_CAPABILITY_PROOF_MODES` and `isRuntimeCapabilityProofMode` beside `RuntimeCapabilityProofMode`, so clients build option lists and validators from the protocol instead of retyping the union.
|
|
67
|
+
- feat(posture): add `runtime.capability.stopWarm` (`RuntimeCapabilityStopWarmParams`/`Result`) for stopping one provider that a released lease is still keeping warm. The result carries a typed outcome (`stopped`, `deferred`, `not-warm`, `failed`), the resulting observed provider state, the reason a stop was deferred, and any cleanup failure; observed state is never `stopped` unless the provider really stopped.
|
|
68
|
+
- feat(posture): add the ADR-054 run resource posture contract — `ResourcePosture` (`active`, `operator-wait`, `parked`, `terminal`), gate choices, dispatch `waitPolicy`, per-capability desired disposition versus observed provider state, policy source, transition outcomes, and the `runtime.posture.status|preview|apply` RPCs. Runtime capability providers gain per-posture `retention` and projects a `runtime_capabilities.posture` default; `runtime.capability.release` gains `keepWarm` so stopping a provider no longer requires `force`, which keeps its narrower meaning of bypassing the provenance guard. Backlog dispatch settings, queue items, `run.create`, and `Run` carry `waitPolicy`, `Run` carries `resourcePosture`, and `run.resolveDecision` takes a typed `resourcePosture` gate choice, which `buildRunResolveDecisionParams` now carries so every operator client sends it the same way. `observedStateForLease` moves here from the Gateway, so the Gateway and every client derive a provider's observed state from one function. `runtime.capability.acquire` gains `revalidateHealth`, which re-checks a lease the caller already holds and cleans up a dead provider before reuse, a posture transition can report the `failed` outcome when reconciliation could not run, and `RunResourcePostureState.recentTransitions` keeps a bounded operation-id history so replaying an earlier operation returns its stored result instead of re-executing. `resourcePostureRowStatus`, `resourcePostureCounts`, and `resourcePostureTransitionFailuresToShow` join `observedStateForLease` here so Command Center, Companion, and the CLI compare desired against observed state, bucket the retained/warm/stopped/failed counts, and de-duplicate transition failures with one implementation instead of three.
|
|
69
|
+
- feat(tmux): add `tmux.pasteText` (`TmuxPasteTextParams`) for atomic bracketed-paste delivery, and `TmuxPane.currentCommand` / `paneId` / `panePid` carrying tmux's `#{pane_current_command}`, `#{pane_id}`, and `#{pane_pid}` so callers can identify a pane and its process tree. `tmux.newWindow` now returns the created `paneId`, `windowIndex`, `windowName`, and `sessionName` instead of a bare ok.
|
|
70
|
+
- feat(run): add `run.sessionCommand` (`RunSessionCommandParams`/`RunSessionCommandResult`) for reopening an agent context's runner session, selected by exact `contextId` (with `role` as a fallback), and `AgentContext.runnerSessionCapturedAt` recording when that session identity was bound. `RunSessionCommandResult.rediscoveredTarget` marks a `tmuxTarget` recovered by scanning the slot's tmux session, `interrupt` carries the runner's registry-declared graceful exit so callers never hardcode runner-specific stop syntax, and `ownership` (`owned` | `transferred` | `unknown`) / `ownerRunId` / `paneId` report whether the requesting run still owns the slot and which exact pane holds the session.
|
|
71
|
+
- fix(run): allow recovery replays to replace a runner and compatible model without replacing the task or worktree.
|
|
72
|
+
- fix(run): version publication-review counting and let an operator replay an ambiguous retained handoff as an explicit fresh dispatch.
|
|
73
|
+
- feat(dispatch): identify ready slots with unowned live runners as `replaceableWarm`, allowing an explicit fresh dispatch while active-run workers remain protected.
|
|
74
|
+
- fix(run): add `RunMonitorState.budgetNudgeAttempts`, `RunMonitorBudgetUsageState.skippedOversizedRecords`, `RunMonitorBudgetUsageState.lastCumulative` (the reference reading for runners that restate session totals), `RunMonitorBudgetUsageState.discardNextRecord`, and `RunBudgetDeliveryState` on `RunMonitorState.budgetDelivery`, which supersedes the `budgetWarned` / `budgetNudgeSent` / `budgetNudgeAttempts` / `budgetFirstDeferredAt` flags (still read for migration). `baselineTurns`/`baselineTotalTokens` remain only as legacy fields migrated on restore. All are restored on monitor recovery.
|
|
75
|
+
- fix(agents): persist prompt-delivery boundaries and their source ref so restart recovery never guesses whether a destructive runner handoff began.
|
|
76
|
+
- feat(dispatch): `dispatch.candidates` may omit `project` to return every enabled slot, each tagged with `project`, and accepts `forceRefresh` to bypass the branch-refresh TTL.
|
|
77
|
+
- feat(execution-templates): catalog options may carry `sourceDomains`, `shadowedBy`, and `defaults`; `config.templateOptions` accepts `unfiltered` so a client can load one full project catalog and filter locally.
|
|
78
|
+
- fix(run): persist `RunMonitorState.lastStructuredProgressAt` so a gateway restart does not reset an idle runner's stuck clock.
|
|
79
|
+
- fix(run): `run.forceComplete` accepts optional `prNumber` so an operator can attach an already-opened PR when marking a failed run done.
|
|
80
|
+
- fix(run): `RunEngineState.operatorForceCompleted` marks an operator hatch so replay cannot treat it as ordinary done.
|
|
81
|
+
- fix(run): `run.forceComplete` returns advisory `effects` (same envelope as cancel) so a failed slot release is visible after the run is already `done`.
|
|
82
|
+
|
|
83
|
+
## 0.24.0 - 2026-08-21
|
|
84
|
+
|
|
85
|
+
- feat(pressure): add the gateway-owned pressure-admission kill switch contract: `PressureAdmissionControlState`, `dispatch.pressureAdmission.get/setEnabled`, and the admitted `state: 'disabled'` decision variant (MANUAL-000109).
|
|
86
|
+
- feat(pressure): add `historyFreshness` (live/restored + explicit staleness) to `resource.pressure.snapshot` machines so rehydrated history is usable immediately after a gateway restart (MANUAL-000109).
|
|
87
|
+
- feat(pressure): add the sustained-pressure dispatch admission contract with admission states, stable rejection codes, normalized sample evidence, attributed causes, preview identity (`PressureAdmissionReference`), and the principal-audited one-dispatch override; add `pressureAdmission` on dispatch preview/candidate results and `pressureOverride`/`pressureAdmissionRef` on run creation (MANUAL-000109).
|
|
88
|
+
|
|
89
|
+
## 0.23.0 - 2026-08-20
|
|
90
|
+
|
|
91
|
+
- feat(machine-pause): add typed machine-scoped pause, release, durable park, and restore contracts.
|
|
92
|
+
|
|
93
|
+
## 0.22.0 - 2026-08-20
|
|
94
|
+
|
|
95
|
+
- feat(resources): add bounded normalized pressure history, ownership-safe process inventory and attribution contracts, cleanup-impact preview metadata, plus the typed `resource.pressure.snapshot` RPC.
|
|
96
|
+
- perf(resources): add backward-compatible typed shared-poll provider hints and aggregate execution/fan-out/failure telemetry to resource-watch contracts.
|
|
97
|
+
- fix(runners): default standalone Grok runs to the available `grok-4.6` model.
|
|
98
|
+
- perf(resources): expose aggregate node watch pressure in the existing machine-metrics stream.
|
|
99
|
+
- fix(ci): carry full bot-comment fingerprints so edited findings cannot be hidden by preview truncation.
|
|
100
|
+
- fix(runs): share active-run and authoritative Co-Pilot terminal identity across gateway and clients.
|
|
101
|
+
- feat(copilot): configure persisted runtime runner, model, and gateway autostart policy through the shared protocol.
|
|
102
|
+
- feat(review): carry normalized per-step checklist timing on worker signals and review attempts.
|
|
103
|
+
- fix(review): carry a gateway-derived task identity so clients match active tasks across configured roots.
|
|
104
|
+
|
|
105
|
+
## 0.21.0 - 2026-08-14
|
|
106
|
+
|
|
107
|
+
- fix(runtime-capabilities): retain queued admission pressure in status results and document forced provenance cleanup.
|
|
108
|
+
- feat(runtime-capabilities): add typed catalog, proof-plan, provider provenance, durable lease, pressure conflict, lifecycle event, and list/acquire/status/release RPC contracts.
|
|
109
|
+
- fix(runners): default Cursor Agent runs to the installed `cursor-grok-4.6-high-fast` model.
|
|
110
|
+
- fix(git): let review clients request an exact frozen base/head diff instead of implicitly comparing against live `HEAD`.
|
|
111
|
+
- fix(review): identify worker signal attempts independently of machine clocks so retained reviewer recovery cannot consume an earlier attempt.
|
|
112
|
+
- feat(copilot): add the client-neutral singleton runtime lifecycle, checkout/workload/safety metadata, structured delivery, and runtime-update event contracts.
|
|
113
|
+
- fix(review): carry review transport failure reasons separately from review findings so clients do not present an unavailable reviewer as a clean zero-finding pass.
|
|
114
|
+
|
|
115
|
+
## 0.20.1 - 2026-08-11
|
|
116
|
+
|
|
117
|
+
- feat(monitor): `MonitorViolation.type` gains `budget`; monitor state persists warning, confirmed nudge delivery, warm-handoff outcome, and bounded usage-sampler integrity state (MANUAL-000096).
|
|
118
|
+
|
|
9
119
|
## 0.20.0 - 2026-08-10
|
|
10
120
|
|
|
11
121
|
- feat(backlog): allow pre-dispatch backlog updates to change the owning project.
|
|
@@ -6,6 +6,8 @@ export interface AgentContextTarget {
|
|
|
6
6
|
session: string;
|
|
7
7
|
window?: string | null;
|
|
8
8
|
pane?: string | null;
|
|
9
|
+
/** Stable tmux pane identity (`%N`); required by destructive runner lifecycle operations. */
|
|
10
|
+
paneId?: string | null;
|
|
9
11
|
target: string;
|
|
10
12
|
}
|
|
11
13
|
export interface AgentContext {
|
|
@@ -28,6 +30,12 @@ export interface AgentContext {
|
|
|
28
30
|
target?: AgentContextTarget | null;
|
|
29
31
|
runnerSessionId?: string | null;
|
|
30
32
|
runnerSessionPath?: string | null;
|
|
33
|
+
/**
|
|
34
|
+
* When the runner-layer session hook last bound this role to the id/path pair
|
|
35
|
+
* above. Written only alongside a complete binding, so it also dates the
|
|
36
|
+
* evidence an operator reopens the session from.
|
|
37
|
+
*/
|
|
38
|
+
runnerSessionCapturedAt?: string;
|
|
31
39
|
nudgeCount?: number;
|
|
32
40
|
/** Runner context-window usage percentage (0-100). See {@link AgentContextSummary.ctxPct}. */
|
|
33
41
|
ctxPct?: number | null;
|
|
@@ -39,6 +47,14 @@ export interface AgentContext {
|
|
|
39
47
|
* current attempt", which restart recovery needs.
|
|
40
48
|
*/
|
|
41
49
|
attemptStartedAt?: string;
|
|
50
|
+
/** Durable boundary recorded immediately before a task prompt may mutate the runner. */
|
|
51
|
+
promptDeliveryStartedAt?: string;
|
|
52
|
+
/** Optional source ref captured with the delivery boundary, such as the pre-fix HEAD. */
|
|
53
|
+
deliveryBaselineRef?: string;
|
|
54
|
+
/** Tmux pane PID captured before a destructive delivery, used to prove whether respawn occurred. */
|
|
55
|
+
deliveryBaselinePanePid?: string;
|
|
56
|
+
/** Attempt identity last observed from the worker signal contract. */
|
|
57
|
+
signalAttemptId?: string;
|
|
42
58
|
updatedAt?: string;
|
|
43
59
|
completedAt?: string;
|
|
44
60
|
lastSignalAt?: string;
|
|
@@ -50,6 +66,8 @@ export interface AgentContextSummary {
|
|
|
50
66
|
status: AgentContextStatus;
|
|
51
67
|
runId?: string | null;
|
|
52
68
|
taskFile?: string | null;
|
|
69
|
+
/** Run-relative task identity derived by the gateway, independent of the configured task root. */
|
|
70
|
+
taskIdentity?: string | null;
|
|
53
71
|
signalFile?: string | null;
|
|
54
72
|
runner?: string | null;
|
|
55
73
|
model?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ScriptedRunnerConfig } from './agents.js';
|
|
2
2
|
import type { QueueItem } from './dispatch.js';
|
|
3
3
|
import type { TaskTemplateSelection } from './evals.js';
|
|
4
|
+
import type { ResourcePostureWaitPolicy } from './resource-posture.js';
|
|
4
5
|
import type { DevInteractiveProfile, FlowType, ReviewDepthPolicy, ReviewLoopRequest, RunStatus } from './runs.js';
|
|
5
6
|
export declare const BACKLOG_STATUSES: readonly ["candidate", "ready", "queued", "dispatching", "running", "done", "failed", "needs-attention", "archived"];
|
|
6
7
|
export type BacklogStatus = (typeof BACKLOG_STATUSES)[number];
|
|
@@ -98,6 +99,11 @@ export interface BacklogItem {
|
|
|
98
99
|
mode?: 'interactive' | 'autonomous';
|
|
99
100
|
devInteractiveProfile?: DevInteractiveProfile;
|
|
100
101
|
reviewDepth?: ReviewDepthPolicy;
|
|
102
|
+
/**
|
|
103
|
+
* Dispatch-time resource posture preset copied onto every run created from
|
|
104
|
+
* this item; presets the gate choice for each durable wait (ADR-054).
|
|
105
|
+
*/
|
|
106
|
+
waitPolicy?: ResourcePostureWaitPolicy;
|
|
101
107
|
pendingReviewPlan?: ReviewLoopRequest[];
|
|
102
108
|
launchPlan?: BacklogLaunchPlan;
|
|
103
109
|
launchPlanState?: BacklogLaunchPlanState;
|
|
@@ -144,6 +150,7 @@ export interface BacklogCreateInput {
|
|
|
144
150
|
mode?: 'interactive' | 'autonomous';
|
|
145
151
|
devInteractiveProfile?: DevInteractiveProfile;
|
|
146
152
|
reviewDepth?: ReviewDepthPolicy;
|
|
153
|
+
waitPolicy?: ResourcePostureWaitPolicy;
|
|
147
154
|
pendingReviewPlan?: ReviewLoopRequest[];
|
|
148
155
|
launchPlan?: BacklogLaunchPlan;
|
|
149
156
|
status?: Extract<BacklogStatus, 'candidate' | 'ready'>;
|
|
@@ -173,6 +180,7 @@ export interface BacklogUpdateInput {
|
|
|
173
180
|
mode?: 'interactive' | 'autonomous' | null;
|
|
174
181
|
devInteractiveProfile?: DevInteractiveProfile | null;
|
|
175
182
|
reviewDepth?: ReviewDepthPolicy | null;
|
|
183
|
+
waitPolicy?: ResourcePostureWaitPolicy | null;
|
|
176
184
|
pendingReviewPlan?: ReviewLoopRequest[] | null;
|
|
177
185
|
launchPlan?: BacklogLaunchPlan | null;
|
|
178
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,OAAO;IACP,QAAQ;IACR,aAAa;IACb,SAAS;IACT,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,UAAU;CACF,CAAC;AAIX,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAA+B,IAAI,GAAG,CAAC;IAC7E,MAAM;IACN,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yDAAyD;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAA+B,IAAI,GAAG,CAAC;IAC3E,WAAW;IACX,OAAO;IACP,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAiE1E,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAe,EACf,IAAY;IAEZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gCAAgC,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EACvD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yDAAyD,CAAC,CAAC;QACpF,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;gBAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4DAA4D,CAAC,CAAC;QACvF,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iDAAiD,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,yBAAyB,KAAK,GAAG,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;QAC7E,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,aAAa,IAAI,CAAC,CAAC;YACnB,IACE,SAAS,CAAC,OAAO,KAAK,SAAS;gBAC/B,SAAS,CAAC,OAAO,KAAK,IAAI;gBAC1B,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAChC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;YACvF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;YACpE,IACE,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS;gBAC9B,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI;gBACzB,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,KAAK,mBAAmB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,gBAAgB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,IAAI,aAAa,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACjG,CAAC"}
|
package/dist/contracts/chat.d.ts
CHANGED
|
@@ -164,6 +164,10 @@ export interface ChatMessage {
|
|
|
164
164
|
costUsd?: number;
|
|
165
165
|
};
|
|
166
166
|
toolTrace?: ChatToolTraceEntry[];
|
|
167
|
+
/** Client-neutral origin inside the shared Co-Pilot transcript. */
|
|
168
|
+
source?: 'command-center' | 'tmux' | 'gateway';
|
|
169
|
+
/** Stable delivery identity when the message entered through a runner transport. */
|
|
170
|
+
deliveryId?: string;
|
|
167
171
|
}
|
|
168
172
|
export interface ChatSuggestedAction {
|
|
169
173
|
actionId?: string;
|
|
@@ -195,7 +199,8 @@ export interface MonitorViolation {
|
|
|
195
199
|
role?: AgentRole;
|
|
196
200
|
contextId?: string;
|
|
197
201
|
target?: string;
|
|
198
|
-
|
|
202
|
+
/** `budget` = per-flow turn/token soft ceiling (warn-once; does not hard-kill). */
|
|
203
|
+
type: 'stuck' | 'skipped' | 'idle' | 'waiting' | 'error' | 'budget';
|
|
199
204
|
message: string;
|
|
200
205
|
nudgeSent: string | null;
|
|
201
206
|
timestamp: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/contracts/chat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/contracts/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/contracts/chat.ts"],"names":[],"mappings":"AAkLA,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,OAAO;IACP,OAAO;IACP,WAAW;IACX,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GACzC,IAAI,GAAG,CAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/contracts/chat.ts"],"names":[],"mappings":"AAkLA,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,OAAO;IACP,OAAO;IACP,WAAW;IACX,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GACzC,IAAI,GAAG,CAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAqEvE,MAAM,CAAC,MAAM,0BAA0B,GAAsC;IAC3E,SAAS;IACT,SAAS;IACT,UAAU;IACV,eAAe;IACf,mBAAmB;IACnB,mBAAmB;CACpB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAA8B;IACjE,OAAO,sBAAsB,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -4,6 +4,7 @@ import type { FailureCategory } from './chat.js';
|
|
|
4
4
|
import type { ProjectExecutionTemplatesConfig } from './execution-templates.js';
|
|
5
5
|
import type { ResourceDefinition, SlotActionDefinition } from './resources.js';
|
|
6
6
|
import type { FlowType } from './runs.js';
|
|
7
|
+
import type { ProjectRuntimeCapabilitiesConfig } from './runtime-capabilities.js';
|
|
7
8
|
import type { PoolSlotMode } from './slots.js';
|
|
8
9
|
import type { TaskSchema } from './task.js';
|
|
9
10
|
export interface PoolConfig {
|
|
@@ -111,9 +112,13 @@ export interface PrepareProfileConfig {
|
|
|
111
112
|
fallback?: string;
|
|
112
113
|
}
|
|
113
114
|
export interface ProjectPrepareConfig {
|
|
114
|
-
/**
|
|
115
|
+
/** Lightweight default used when no profile is explicitly selected. */
|
|
116
|
+
core?: PrepareProfileConfig;
|
|
117
|
+
/** Legacy profile operators may explicitly select during migration. */
|
|
118
|
+
compatibilityProfile?: string;
|
|
119
|
+
/** Legacy default used only when `core` is absent. */
|
|
115
120
|
default?: string;
|
|
116
|
-
profiles
|
|
121
|
+
profiles?: Record<string, PrepareProfileConfig>;
|
|
117
122
|
}
|
|
118
123
|
export interface ProjectConfig {
|
|
119
124
|
name: string;
|
|
@@ -192,6 +197,8 @@ export interface ProjectConfig {
|
|
|
192
197
|
backlog?: ProjectBacklogConfig;
|
|
193
198
|
roadmap?: ProjectRoadmapConfig;
|
|
194
199
|
prepare?: ProjectPrepareConfig;
|
|
200
|
+
/** Project-owned resources that may be leased after core prepare. */
|
|
201
|
+
runtimeCapabilities?: ProjectRuntimeCapabilitiesConfig;
|
|
195
202
|
/** Project-owned non-LLM commands addressable by scripted.commandRef. */
|
|
196
203
|
scripted?: ProjectScriptedConfig;
|
|
197
204
|
/** When true, UI may offer slow playback and gateway appends --slow to recipe_run. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AA0FA,qCAAqC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAG1F;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc;IACd,eAAe;IACf,WAAW;IACX,oBAAoB;CACZ,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The devices a slot's machine actually has (MANUAL-000124).
|
|
3
|
+
*
|
|
4
|
+
* ADR-054 item 3 shipped device re-targeting with no inventory: an identity was
|
|
5
|
+
* validated only by the provider's own acquire action, which happens AFTER the
|
|
6
|
+
* posture has released the device the run was holding. A typo therefore cost a
|
|
7
|
+
* run its device and gave it nothing back. This contract is what lets a
|
|
8
|
+
* re-target be refused first, and what feeds the operator a list to pick from
|
|
9
|
+
* instead of a free-text field.
|
|
10
|
+
*
|
|
11
|
+
* Read-only and machine-scoped: a device name identifies a device on ONE
|
|
12
|
+
* machine, so every entry here belongs to `machine` and nothing compares across
|
|
13
|
+
* machines.
|
|
14
|
+
*/
|
|
15
|
+
import type { RuntimeCapabilityTargetKey } from './runtime-capabilities.js';
|
|
16
|
+
/** Which provider family an entry belongs to. */
|
|
17
|
+
export declare const DEVICE_INVENTORY_PLATFORMS: readonly ["ios", "android"];
|
|
18
|
+
export type DeviceInventoryPlatform = (typeof DEVICE_INVENTORY_PLATFORMS)[number];
|
|
19
|
+
/**
|
|
20
|
+
* The device-identity key an entry can be named by.
|
|
21
|
+
*
|
|
22
|
+
* A subset of the re-target keys: `platform` selects a provider rather than a
|
|
23
|
+
* device, so it is never an inventory entry.
|
|
24
|
+
*/
|
|
25
|
+
export type DeviceInventoryKey = Exclude<RuntimeCapabilityTargetKey, 'platform'>;
|
|
26
|
+
/**
|
|
27
|
+
* The tools an inventory is built from. Each answers for exactly the keys it
|
|
28
|
+
* knows, which is what makes a partial read usable: `simctl` being absent says
|
|
29
|
+
* nothing about whether an `avd` exists.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEVICE_INVENTORY_TOOLS: readonly ["simctl", "adb", "emulator"];
|
|
32
|
+
export type DeviceInventoryTool = (typeof DEVICE_INVENTORY_TOOLS)[number];
|
|
33
|
+
/** Which tool answers for a given identity key. */
|
|
34
|
+
export declare const DEVICE_INVENTORY_KEY_TOOL: Record<DeviceInventoryKey, DeviceInventoryTool>;
|
|
35
|
+
/**
|
|
36
|
+
* Whether a tool's silence about an identity is evidence that it does not
|
|
37
|
+
* EXIST, as opposed to evidence that it is not running right now.
|
|
38
|
+
*
|
|
39
|
+
* `simctl list devices` and `emulator -list-avds` enumerate what is installed,
|
|
40
|
+
* whatever state it is in, so an identity they omit does not exist. `adb
|
|
41
|
+
* devices -l` enumerates currently CONNECTED transports: an unplugged phone and
|
|
42
|
+
* an unbooted emulator are both absent from it, and booting them is exactly
|
|
43
|
+
* what the provider acquire would do. Treating that absence as nonexistence
|
|
44
|
+
* refused every legitimate re-target to a device that was not already up.
|
|
45
|
+
*
|
|
46
|
+
* So `adb_serial` is never refused on absence. The provider's own `adb
|
|
47
|
+
* get-state` remains the closed door behind it, as it was before this inventory
|
|
48
|
+
* existed.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DEVICE_INVENTORY_KEY_LISTS_EXISTENCE: Record<DeviceInventoryKey, boolean>;
|
|
51
|
+
export interface DeviceInventoryEntry {
|
|
52
|
+
platform: DeviceInventoryPlatform;
|
|
53
|
+
/** The re-target key this identity may be sent as. */
|
|
54
|
+
key: DeviceInventoryKey;
|
|
55
|
+
/** The value a `target` would carry — a simulator name, a udid, an avd, a serial. */
|
|
56
|
+
identity: string;
|
|
57
|
+
/** Human name of the device, which for `simulator`/`avd` equals the identity. */
|
|
58
|
+
name: string;
|
|
59
|
+
/**
|
|
60
|
+
* The tool's own word for the device's state, passed through unchanged
|
|
61
|
+
* (`Booted`, `Shutdown`, `device`, `offline`, `available`). Not normalized:
|
|
62
|
+
* every normalization we tried lost the distinction an operator needed.
|
|
63
|
+
*/
|
|
64
|
+
state: string;
|
|
65
|
+
/**
|
|
66
|
+
* Every slot on this machine whose configured resources name this identity,
|
|
67
|
+
* sorted.
|
|
68
|
+
*
|
|
69
|
+
* A list, not one slot: two slots legitimately share one physical device —
|
|
70
|
+
* that is the contention fleet-scoped claims exist for — and naming only the
|
|
71
|
+
* first would tell an operator the device is free on the slot it hides.
|
|
72
|
+
* Absent when no slot configures it.
|
|
73
|
+
*/
|
|
74
|
+
configuredForSlots?: string[];
|
|
75
|
+
}
|
|
76
|
+
/** Whether one tool answered, and why not when it did not. */
|
|
77
|
+
export interface DeviceInventorySource {
|
|
78
|
+
tool: DeviceInventoryTool;
|
|
79
|
+
ok: boolean;
|
|
80
|
+
/** The tool's own failure text, when it failed. */
|
|
81
|
+
detail?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface DeviceInventoryResult {
|
|
84
|
+
/** The machine the slot runs on; every entry belongs to it. */
|
|
85
|
+
machine: string;
|
|
86
|
+
slotId: string;
|
|
87
|
+
devices: DeviceInventoryEntry[];
|
|
88
|
+
sources: DeviceInventorySource[];
|
|
89
|
+
/** When this inventory was collected. A cached read repeats the original time. */
|
|
90
|
+
collectedAt: string;
|
|
91
|
+
/** True when this result came from the per-machine cache rather than the tools. */
|
|
92
|
+
cached: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A re-target refused because the machine's inventory does not have the device.
|
|
96
|
+
*
|
|
97
|
+
* Typed rather than a bare string so a client can offer `nearest` as choices
|
|
98
|
+
* instead of reprinting a sentence.
|
|
99
|
+
*/
|
|
100
|
+
export interface DeviceInventoryRefusal {
|
|
101
|
+
code: 'device-not-in-inventory';
|
|
102
|
+
machine: string;
|
|
103
|
+
key: DeviceInventoryKey;
|
|
104
|
+
identity: string;
|
|
105
|
+
/** Identities of the same key the machine does have, nearest first. */
|
|
106
|
+
nearest: string[];
|
|
107
|
+
reason: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Whether this inventory can say an identity of `key` does not exist.
|
|
111
|
+
*
|
|
112
|
+
* Two conditions, and both are load-bearing: the tool that answers for the key
|
|
113
|
+
* actually answered, AND that tool enumerates existence rather than current
|
|
114
|
+
* connectivity. Either one missing means silence proves nothing, and the caller
|
|
115
|
+
* must not refuse.
|
|
116
|
+
*/
|
|
117
|
+
export declare function deviceInventoryCovers(sources: readonly DeviceInventorySource[], key: DeviceInventoryKey): boolean;
|
|
118
|
+
//# sourceMappingURL=device-inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-inventory.d.ts","sourceRoot":"","sources":["../../src/contracts/device-inventory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,6BAA8B,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,wCAAyC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,mDAAmD;AACnD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAKrF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oCAAoC,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAKpF,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,sDAAsD;IACtD,GAAG,EAAE,kBAAkB,CAAC;IACxB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,kBAAkB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAIT"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Which provider family an entry belongs to. */
|
|
2
|
+
export const DEVICE_INVENTORY_PLATFORMS = ['ios', 'android'];
|
|
3
|
+
/**
|
|
4
|
+
* The tools an inventory is built from. Each answers for exactly the keys it
|
|
5
|
+
* knows, which is what makes a partial read usable: `simctl` being absent says
|
|
6
|
+
* nothing about whether an `avd` exists.
|
|
7
|
+
*/
|
|
8
|
+
export const DEVICE_INVENTORY_TOOLS = ['simctl', 'adb', 'emulator'];
|
|
9
|
+
/** Which tool answers for a given identity key. */
|
|
10
|
+
export const DEVICE_INVENTORY_KEY_TOOL = {
|
|
11
|
+
simulator: 'simctl',
|
|
12
|
+
udid: 'simctl',
|
|
13
|
+
avd: 'emulator',
|
|
14
|
+
adb_serial: 'adb',
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Whether a tool's silence about an identity is evidence that it does not
|
|
18
|
+
* EXIST, as opposed to evidence that it is not running right now.
|
|
19
|
+
*
|
|
20
|
+
* `simctl list devices` and `emulator -list-avds` enumerate what is installed,
|
|
21
|
+
* whatever state it is in, so an identity they omit does not exist. `adb
|
|
22
|
+
* devices -l` enumerates currently CONNECTED transports: an unplugged phone and
|
|
23
|
+
* an unbooted emulator are both absent from it, and booting them is exactly
|
|
24
|
+
* what the provider acquire would do. Treating that absence as nonexistence
|
|
25
|
+
* refused every legitimate re-target to a device that was not already up.
|
|
26
|
+
*
|
|
27
|
+
* So `adb_serial` is never refused on absence. The provider's own `adb
|
|
28
|
+
* get-state` remains the closed door behind it, as it was before this inventory
|
|
29
|
+
* existed.
|
|
30
|
+
*/
|
|
31
|
+
export const DEVICE_INVENTORY_KEY_LISTS_EXISTENCE = {
|
|
32
|
+
simulator: true,
|
|
33
|
+
udid: true,
|
|
34
|
+
avd: true,
|
|
35
|
+
adb_serial: false,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Whether this inventory can say an identity of `key` does not exist.
|
|
39
|
+
*
|
|
40
|
+
* Two conditions, and both are load-bearing: the tool that answers for the key
|
|
41
|
+
* actually answered, AND that tool enumerates existence rather than current
|
|
42
|
+
* connectivity. Either one missing means silence proves nothing, and the caller
|
|
43
|
+
* must not refuse.
|
|
44
|
+
*/
|
|
45
|
+
export function deviceInventoryCovers(sources, key) {
|
|
46
|
+
if (!DEVICE_INVENTORY_KEY_LISTS_EXISTENCE[key])
|
|
47
|
+
return false;
|
|
48
|
+
const tool = DEVICE_INVENTORY_KEY_TOOL[key];
|
|
49
|
+
return sources.some((source) => source.tool === tool && source.ok);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=device-inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-inventory.js","sourceRoot":"","sources":["../../src/contracts/device-inventory.ts"],"names":[],"mappings":"AAgBA,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,SAAS,CAAU,CAAC;AAWtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAU,CAAC;AAG7E,mDAAmD;AACnD,MAAM,CAAC,MAAM,yBAAyB,GAAoD;IACxF,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,UAAU;IACf,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAwC;IACvF,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,UAAU,EAAE,KAAK;CAClB,CAAC;AAgEF;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyC,EACzC,GAAuB;IAEvB,IAAI,CAAC,oCAAoC,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -52,6 +52,8 @@ export interface QueueItem {
|
|
|
52
52
|
app?: string;
|
|
53
53
|
/** Named prepare profile persisted for queued dispatch parity (ADR-037). */
|
|
54
54
|
prepareProfile?: string;
|
|
55
|
+
/** ADR-054 resource posture preset carried from backlog dispatch settings to the run. */
|
|
56
|
+
waitPolicy?: import('./resource-posture.js').ResourcePostureWaitPolicy;
|
|
55
57
|
model?: string;
|
|
56
58
|
runner?: string;
|
|
57
59
|
/** Worker scripted-runner config when runner='scripted'. */
|