@farmslot/protocol 0.21.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.
Files changed (117) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/dist/contracts/agents.d.ts +16 -0
  3. package/dist/contracts/agents.d.ts.map +1 -1
  4. package/dist/contracts/backlog.d.ts +8 -0
  5. package/dist/contracts/backlog.d.ts.map +1 -1
  6. package/dist/contracts/backlog.js.map +1 -1
  7. package/dist/contracts/device-inventory.d.ts +118 -0
  8. package/dist/contracts/device-inventory.d.ts.map +1 -0
  9. package/dist/contracts/device-inventory.js +51 -0
  10. package/dist/contracts/device-inventory.js.map +1 -0
  11. package/dist/contracts/dispatch.d.ts +2 -0
  12. package/dist/contracts/dispatch.d.ts.map +1 -1
  13. package/dist/contracts/execution-templates.d.ts +10 -0
  14. package/dist/contracts/execution-templates.d.ts.map +1 -1
  15. package/dist/contracts/gate-park.d.ts +284 -0
  16. package/dist/contracts/gate-park.d.ts.map +1 -0
  17. package/dist/contracts/gate-park.js +415 -0
  18. package/dist/contracts/gate-park.js.map +1 -0
  19. package/dist/contracts/index.d.ts +4 -0
  20. package/dist/contracts/index.d.ts.map +1 -1
  21. package/dist/contracts/index.js +4 -0
  22. package/dist/contracts/index.js.map +1 -1
  23. package/dist/contracts/pressure-admission.d.ts +175 -0
  24. package/dist/contracts/pressure-admission.d.ts.map +1 -0
  25. package/dist/contracts/pressure-admission.js +26 -0
  26. package/dist/contracts/pressure-admission.js.map +1 -0
  27. package/dist/contracts/resource-posture.d.ts +379 -0
  28. package/dist/contracts/resource-posture.d.ts.map +1 -0
  29. package/dist/contracts/resource-posture.js +293 -0
  30. package/dist/contracts/resource-posture.js.map +1 -0
  31. package/dist/contracts/resources.d.ts +27 -1
  32. package/dist/contracts/resources.d.ts.map +1 -1
  33. package/dist/contracts/resources.js +1 -1
  34. package/dist/contracts/resources.js.map +1 -1
  35. package/dist/contracts/reviews.d.ts +2 -0
  36. package/dist/contracts/reviews.d.ts.map +1 -1
  37. package/dist/contracts/reviews.js.map +1 -1
  38. package/dist/contracts/runs.d.ts +480 -7
  39. package/dist/contracts/runs.d.ts.map +1 -1
  40. package/dist/contracts/runs.js +130 -1
  41. package/dist/contracts/runs.js.map +1 -1
  42. package/dist/contracts/runtime-capabilities.d.ts +255 -3
  43. package/dist/contracts/runtime-capabilities.d.ts.map +1 -1
  44. package/dist/contracts/runtime-capabilities.js +113 -1
  45. package/dist/contracts/runtime-capabilities.js.map +1 -1
  46. package/dist/contracts/slots.d.ts +53 -1
  47. package/dist/contracts/slots.d.ts.map +1 -1
  48. package/dist/recipes/step-io.d.ts +10 -1
  49. package/dist/recipes/step-io.d.ts.map +1 -1
  50. package/dist/rpc/config.d.ts +9 -1
  51. package/dist/rpc/config.d.ts.map +1 -1
  52. package/dist/rpc/copilot-runtime.d.ts +17 -0
  53. package/dist/rpc/copilot-runtime.d.ts.map +1 -1
  54. package/dist/rpc/copilot-runtime.js +5 -0
  55. package/dist/rpc/copilot-runtime.js.map +1 -1
  56. package/dist/rpc/dispatch.d.ts +39 -1
  57. package/dist/rpc/dispatch.d.ts.map +1 -1
  58. package/dist/rpc/dispatch.js +2 -0
  59. package/dist/rpc/dispatch.js.map +1 -1
  60. package/dist/rpc/git.d.ts +35 -0
  61. package/dist/rpc/git.d.ts.map +1 -1
  62. package/dist/rpc/index.d.ts +3 -0
  63. package/dist/rpc/index.d.ts.map +1 -1
  64. package/dist/rpc/index.js +3 -0
  65. package/dist/rpc/index.js.map +1 -1
  66. package/dist/rpc/machine-pause.d.ts +158 -0
  67. package/dist/rpc/machine-pause.d.ts.map +1 -0
  68. package/dist/rpc/machine-pause.js +8 -0
  69. package/dist/rpc/machine-pause.js.map +1 -0
  70. package/dist/rpc/registry.d.ts +16 -0
  71. package/dist/rpc/registry.d.ts.map +1 -1
  72. package/dist/rpc/registry.js +17 -0
  73. package/dist/rpc/registry.js.map +1 -1
  74. package/dist/rpc/resource-posture.d.ts +36 -0
  75. package/dist/rpc/resource-posture.d.ts.map +1 -0
  76. package/dist/rpc/resource-posture.js +7 -0
  77. package/dist/rpc/resource-posture.js.map +1 -0
  78. package/dist/rpc/resource-pressure-selection.d.ts +4 -0
  79. package/dist/rpc/resource-pressure-selection.d.ts.map +1 -0
  80. package/dist/rpc/resource-pressure-selection.js +21 -0
  81. package/dist/rpc/resource-pressure-selection.js.map +1 -0
  82. package/dist/rpc/resources.d.ts +176 -1
  83. package/dist/rpc/resources.d.ts.map +1 -1
  84. package/dist/rpc/resources.js +6 -0
  85. package/dist/rpc/resources.js.map +1 -1
  86. package/dist/rpc/run.d.ts +122 -5
  87. package/dist/rpc/run.d.ts.map +1 -1
  88. package/dist/rpc/run.js +1 -0
  89. package/dist/rpc/run.js.map +1 -1
  90. package/dist/rpc/runtime-capabilities.d.ts +73 -3
  91. package/dist/rpc/runtime-capabilities.d.ts.map +1 -1
  92. package/dist/rpc/runtime-capabilities.js +11 -0
  93. package/dist/rpc/runtime-capabilities.js.map +1 -1
  94. package/dist/rpc/slot.d.ts +9 -1
  95. package/dist/rpc/slot.d.ts.map +1 -1
  96. package/dist/rpc/slot.js.map +1 -1
  97. package/dist/rpc/tmux.d.ts +4 -0
  98. package/dist/rpc/tmux.d.ts.map +1 -1
  99. package/dist/runs/decision-resolution.d.ts +7 -0
  100. package/dist/runs/decision-resolution.d.ts.map +1 -1
  101. package/dist/runs/decision-resolution.js +1 -0
  102. package/dist/runs/decision-resolution.js.map +1 -1
  103. package/dist/slots/tracking-branch.d.ts +12 -0
  104. package/dist/slots/tracking-branch.d.ts.map +1 -1
  105. package/dist/slots/tracking-branch.js +12 -0
  106. package/dist/slots/tracking-branch.js.map +1 -1
  107. package/dist/transport/events.d.ts +7 -1
  108. package/dist/transport/events.d.ts.map +1 -1
  109. package/dist/transport/events.js +2 -0
  110. package/dist/transport/events.js.map +1 -1
  111. package/dist/transport/signal.d.ts +11 -0
  112. package/dist/transport/signal.d.ts.map +1 -1
  113. package/dist/transport/signal.js +19 -1
  114. package/dist/transport/signal.js.map +1 -1
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.js +1 -1
  117. package/package.json +6 -1
@@ -39,6 +39,8 @@ export const Methods = {
39
39
  FLEET_PR_SUMMARY: 'fleet.prSummary',
40
40
  // Dispatch
41
41
  DISPATCH_PREVIEW: 'dispatch.preview',
42
+ DISPATCH_PRESSURE_ADMISSION_GET: 'dispatch.pressureAdmission.get',
43
+ DISPATCH_PRESSURE_ADMISSION_SET_ENABLED: 'dispatch.pressureAdmission.setEnabled',
42
44
  DISPATCH_MATCH_PROJECT: 'dispatch.matchProject',
43
45
  DISPATCH_CANDIDATES: 'dispatch.candidates',
44
46
  DISPATCH_QUEUE_ADD: 'dispatch.queue.add',
@@ -145,6 +147,7 @@ export const Methods = {
145
147
  TMUX_WORKER_RESTORE: 'tmux.worker.restore',
146
148
  TMUX_RENAME_WINDOW: 'tmux.renameWindow',
147
149
  TMUX_SEND_KEYS: 'tmux.sendKeys',
150
+ TMUX_PASTE_TEXT: 'tmux.pasteText',
148
151
  TMUX_SYNCHRONIZE_PANES: 'tmux.synchronizePanes',
149
152
  // Editor
150
153
  SLOT_OPEN_EDITOR: 'slot.openEditor',
@@ -201,13 +204,25 @@ export const Methods = {
201
204
  RESOURCE_HEALTH: 'resource.health',
202
205
  RESOURCE_CLEANUP: 'resource.cleanup',
203
206
  RESOURCE_WATCH_SET_ENABLED: 'resource.watch.setEnabled',
207
+ RESOURCE_PRESSURE_SNAPSHOT: 'resource.pressure.snapshot',
208
+ RESOURCE_PRESSURE_HISTORY: 'resource.pressure.history',
209
+ RESOURCE_DEVICE_INVENTORY: 'resource.device.inventory',
204
210
  SLOT_ACTION_LIST: 'slot.action.list',
205
211
  SLOT_ACTION_RUN: 'slot.action.run',
212
+ // Machine-scoped run parking
213
+ MACHINE_PAUSE_PREVIEW: 'machine.pause.preview',
214
+ MACHINE_PAUSE_EXECUTE: 'machine.pause.execute',
215
+ MACHINE_PAUSE_STATUS: 'machine.pause.status',
216
+ MACHINE_PAUSE_RESTORE: 'machine.pause.restore',
206
217
  // Proof-plan-driven runtime capability leases
207
218
  RUNTIME_CAPABILITY_LIST: 'runtime.capability.list',
208
219
  RUNTIME_CAPABILITY_ACQUIRE: 'runtime.capability.acquire',
209
220
  RUNTIME_CAPABILITY_RELEASE: 'runtime.capability.release',
210
221
  RUNTIME_CAPABILITY_STATUS: 'runtime.capability.status',
222
+ RUNTIME_CAPABILITY_STOP_WARM: 'runtime.capability.stopWarm',
223
+ RUNTIME_POSTURE_STATUS: 'runtime.posture.status',
224
+ RUNTIME_POSTURE_PREVIEW: 'runtime.posture.preview',
225
+ RUNTIME_POSTURE_APPLY: 'runtime.posture.apply',
211
226
  // Runs
212
227
  RUN_BUNDLE_EXPORT: 'run.bundle.export',
213
228
  RUN_BUNDLE_IMPORT: 'run.bundle.import',
@@ -234,6 +249,7 @@ export const Methods = {
234
249
  RUN_FOR_SLOT: 'run.forSlot',
235
250
  RUN_RESOLVE_DECISION: 'run.resolveDecision',
236
251
  RUN_PROBE_WORKER_SIGNAL: 'run.probeWorkerSignal',
252
+ RUN_SESSION_COMMAND: 'run.sessionCommand',
237
253
  RUN_GRADE: 'run.grade',
238
254
  RUN_GET_GRADE: 'run.getGrade',
239
255
  RUN_PROPOSE_IMPROVEMENT: 'run.proposeImprovement',
@@ -297,6 +313,7 @@ export const Methods = {
297
313
  CHAT_SESSION_CONTEXT: 'chat.sessionContext',
298
314
  COPILOT_FORMAT_INSTRUCTION: 'copilot.formatInstruction',
299
315
  COPILOT_STATUS: 'copilot.status',
316
+ COPILOT_CONFIGURE: 'copilot.configure',
300
317
  COPILOT_START: 'copilot.start',
301
318
  COPILOT_STOP: 'copilot.stop',
302
319
  // Node Health
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/rpc/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/rpc/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { ResourcePosture, ResourcePostureGateChoice, ResourcePosturePlan, ResourcePostureTransition, RunResourcePostureState } from '../contracts/resource-posture.js';
2
+ import type { RuntimeCapabilityProofRequirement } from '../contracts/runtime-capabilities.js';
3
+ export declare const RuntimePostureMethods: {
4
+ readonly status: "runtime.posture.status";
5
+ readonly preview: "runtime.posture.preview";
6
+ readonly apply: "runtime.posture.apply";
7
+ };
8
+ export interface RuntimePostureStatusParams {
9
+ runId: string;
10
+ }
11
+ export interface RuntimePostureStatusResult {
12
+ runId: string;
13
+ slotId: string | null;
14
+ /** Persisted desired policy re-merged with live lease and provider state. */
15
+ state: RunResourcePostureState;
16
+ }
17
+ export interface RuntimePosturePreviewParams {
18
+ runId: string;
19
+ /** Omit to preview the run's currently persisted posture. */
20
+ posture?: ResourcePosture;
21
+ /** Operator vocabulary; wins over `posture` at an operator wait. */
22
+ gateChoice?: ResourcePostureGateChoice;
23
+ /** Overrides the registry's stored proof plan for an `active` preview. */
24
+ proofRequirements?: RuntimeCapabilityProofRequirement[];
25
+ }
26
+ export type RuntimePosturePreviewResult = ResourcePosturePlan;
27
+ export interface RuntimePostureApplyParams extends RuntimePosturePreviewParams {
28
+ /** Replaying the same id returns the stored transition without provider actions. */
29
+ operationId?: string;
30
+ }
31
+ export interface RuntimePostureApplyResult {
32
+ ok: boolean;
33
+ status: RunResourcePostureState;
34
+ transition: ResourcePostureTransition;
35
+ }
36
+ //# sourceMappingURL=resource-posture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-posture.d.ts","sourceRoot":"","sources":["../../src/rpc/resource-posture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAI9F,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,6EAA6E;IAC7E,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,iCAAiC,EAAE,CAAC;CACzD;AAED,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAE9D,MAAM,WAAW,yBAA0B,SAAQ,2BAA2B;IAC5E,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,yBAAyB,CAAC;CACvC"}
@@ -0,0 +1,7 @@
1
+ import { Methods } from './registry.js';
2
+ export const RuntimePostureMethods = {
3
+ status: Methods.RUNTIME_POSTURE_STATUS,
4
+ preview: Methods.RUNTIME_POSTURE_PREVIEW,
5
+ apply: Methods.RUNTIME_POSTURE_APPLY,
6
+ };
7
+ //# sourceMappingURL=resource-posture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-posture.js","sourceRoot":"","sources":["../../src/rpc/resource-posture.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,OAAO,CAAC,sBAAsB;IACtC,OAAO,EAAE,OAAO,CAAC,uBAAuB;IACxC,KAAK,EAAE,OAAO,CAAC,qBAAqB;CAC5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ProcessAttributionGroup } from './resources.js';
2
+ /** Keep the hottest tree plus managed ownership evidence within a bounded display budget. */
3
+ export declare function selectResourcePressureGroups(groups: ProcessAttributionGroup[], limit: number): ProcessAttributionGroup[];
4
+ //# sourceMappingURL=resource-pressure-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-pressure-selection.d.ts","sourceRoot":"","sources":["../../src/rpc/resource-pressure-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE9D,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,EAAE,EACjC,KAAK,EAAE,MAAM,GACZ,uBAAuB,EAAE,CAqB3B"}
@@ -0,0 +1,21 @@
1
+ /** Keep the hottest tree plus managed ownership evidence within a bounded display budget. */
2
+ export function selectResourcePressureGroups(groups, limit) {
3
+ if (limit <= 0)
4
+ return [];
5
+ const keyFor = (group) => `${group.rootPid}:${group.classification}:${group.slotId ?? ''}:${group.runId ?? ''}:${group.resourceId ?? ''}`;
6
+ const indexByKey = new Map(groups.map((group, index) => [keyFor(group), index]));
7
+ const hottest = groups[0] ? [groups[0]] : [];
8
+ const hottestKeys = new Set(hottest.map(keyFor));
9
+ const managedCandidates = groups.filter((group) => !hottestKeys.has(keyFor(group)) &&
10
+ ['active', 'retained', 'stale'].includes(group.classification));
11
+ const managed = managedCandidates.slice(0, Math.max(0, limit - hottest.length));
12
+ const pinned = [...hottest, ...managed];
13
+ const pinnedKeys = new Set(pinned.map(keyFor));
14
+ return [
15
+ ...groups
16
+ .filter((group) => !pinnedKeys.has(keyFor(group)))
17
+ .slice(0, Math.max(0, limit - pinned.length)),
18
+ ...pinned,
19
+ ].sort((a, b) => (indexByKey.get(keyFor(a)) ?? 0) - (indexByKey.get(keyFor(b)) ?? 0));
20
+ }
21
+ //# sourceMappingURL=resource-pressure-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-pressure-selection.js","sourceRoot":"","sources":["../../src/rpc/resource-pressure-selection.ts"],"names":[],"mappings":"AAEA,6FAA6F;AAC7F,MAAM,UAAU,4BAA4B,CAC1C,MAAiC,EACjC,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,CAAC,KAA8B,EAAE,EAAE,CAChD,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;IAClH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CACjE,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,MAAM;aACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACjD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,GAAG,MAAM;KACV,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC"}
@@ -5,6 +5,9 @@ export declare const ResourceMethods: {
5
5
  readonly health: "resource.health";
6
6
  readonly cleanup: "resource.cleanup";
7
7
  readonly watchSetEnabled: "resource.watch.setEnabled";
8
+ readonly pressureSnapshot: "resource.pressure.snapshot";
9
+ readonly pressureHistory: "resource.pressure.history";
10
+ readonly deviceInventory: "resource.device.inventory";
8
11
  readonly streamSubscribe: "stream.subscribe";
9
12
  readonly streamUnsubscribe: "stream.unsubscribe";
10
13
  readonly streamSnapshot: "stream.snapshot";
@@ -12,6 +15,19 @@ export declare const ResourceMethods: {
12
15
  readonly screenUnsubscribe: "screen.unsubscribe";
13
16
  readonly screenThumbnail: "screen.thumbnail";
14
17
  };
18
+ /**
19
+ * The devices available to a slot's machine (MANUAL-000124).
20
+ *
21
+ * Slot-scoped rather than machine-scoped on purpose: a client holding a slot
22
+ * never has to learn which machine it sits on, and the Gateway resolves that
23
+ * itself — the same resolution the re-target guard uses, so the two can never
24
+ * read different machines for one slot.
25
+ */
26
+ export interface DeviceInventoryParams {
27
+ slotId: string;
28
+ /** Bypass the short per-machine cache and re-run the tools. */
29
+ refresh?: boolean;
30
+ }
15
31
  export interface NodeHealthParams {
16
32
  machine: string;
17
33
  }
@@ -90,11 +106,18 @@ export interface ResourceHealthResult {
90
106
  }
91
107
  export interface ResourceCleanupParams {
92
108
  dryRun?: boolean;
93
- includeBusy?: boolean;
94
109
  machine?: string;
110
+ machines?: string[];
95
111
  project?: string;
112
+ projects?: string[];
96
113
  slotIds?: string[];
97
114
  resourceIds?: string[];
115
+ /** Exact reviewed targets. Required when dryRun=false; cleanup cannot widen beyond these triples. */
116
+ targets?: Array<{
117
+ machine: string;
118
+ slotId: string;
119
+ resourceId: string;
120
+ }>;
98
121
  statuses?: import('../contracts/index.js').ResourceStatus[];
99
122
  }
100
123
  export interface ResourceCleanupTarget {
@@ -112,6 +135,7 @@ export interface ResourceCleanupResult {
112
135
  ok: boolean;
113
136
  dryRun: boolean;
114
137
  targets: ResourceCleanupTarget[];
138
+ omittedTargets: number;
115
139
  stopped: number;
116
140
  failed: number;
117
141
  }
@@ -125,4 +149,155 @@ export interface ResourceWatchSetEnabledResult {
125
149
  affectedSlots: string[];
126
150
  detail?: string;
127
151
  }
152
+ export type ResourcePressureSeverity = 'ok' | 'warn' | 'critical';
153
+ export type ProcessOwnershipClass = 'active' | 'retained' | 'stale' | 'manual' | 'unknown';
154
+ export type ProcessAttributionConfidence = 'high' | 'medium' | 'low';
155
+ export interface NodePressureHistorySample {
156
+ generation?: string;
157
+ sampleId?: number;
158
+ collectedAt: string;
159
+ pressure: import('../contracts/index.js').NodePressureRatios;
160
+ cpuPercent: number;
161
+ memoryPercent: number;
162
+ diskPercent: number;
163
+ loadAvg1: number;
164
+ loadAvg5: number;
165
+ }
166
+ /** Shared default freshness window for the pressure ring: a newest sample
167
+ * older than this counts as stale, both here and for dispatch admission. */
168
+ export declare const DEFAULT_PRESSURE_STALE_AFTER_MS = 150000;
169
+ /** Freshness of a machine's bounded pressure history. `restored` means the
170
+ * ring was rehydrated from the gateway's persisted store after a restart and
171
+ * no live sample has arrived yet this boot; consumers get the history
172
+ * immediately instead of waiting for three live 30s samples, with staleness
173
+ * stated explicitly. `none` means the machine has no samples at all. */
174
+ export interface NodePressureHistoryFreshness {
175
+ source: 'live' | 'restored' | 'none';
176
+ latestSampleAt: string | null;
177
+ ageMs: number | null;
178
+ /** True when the newest sample is older than the admission staleness window. */
179
+ stale: boolean;
180
+ }
181
+ export interface ResourcePressureHistoryParams {
182
+ machine?: string;
183
+ machines?: string[];
184
+ }
185
+ export interface ResourcePressureHistoryMachine {
186
+ machine: string;
187
+ online: boolean | null;
188
+ history: NodePressureHistorySample[];
189
+ historyFreshness: NodePressureHistoryFreshness;
190
+ }
191
+ export interface ResourcePressureHistoryResult {
192
+ checkedAt: string;
193
+ machines: ResourcePressureHistoryMachine[];
194
+ }
195
+ export interface ProcessAttributionGroup {
196
+ rootPid: number;
197
+ processCount: number;
198
+ executable: string;
199
+ topPid: number;
200
+ topExecutable: string;
201
+ topCpuPercent: number;
202
+ topRssBytes: number;
203
+ cpuPercent: number;
204
+ rssBytes: number;
205
+ classification: ProcessOwnershipClass;
206
+ confidence: ProcessAttributionConfidence;
207
+ evidence: string[];
208
+ slotId?: string;
209
+ runId?: string;
210
+ resourceId?: string;
211
+ tmuxTarget?: string;
212
+ }
213
+ export interface ResourcePressureSnapshotParams {
214
+ machine?: string;
215
+ machines?: string[];
216
+ project?: string;
217
+ projects?: string[];
218
+ }
219
+ export interface ResourcePressureConcern {
220
+ severity: Exclude<ResourcePressureSeverity, 'ok'>;
221
+ reason: string;
222
+ }
223
+ export interface ResourcePressureMachine {
224
+ machine: string;
225
+ online: boolean | null;
226
+ headroom: import('../contracts/index.js').MachineHealth['headroom'] | 'unknown';
227
+ severity: ResourcePressureSeverity;
228
+ concerns: ResourcePressureConcern[];
229
+ system?: import('../contracts/index.js').MachineHealth['system'];
230
+ capacity?: import('../contracts/index.js').MachineHealth['capacity'];
231
+ history: NodePressureHistorySample[];
232
+ historyFreshness?: NodePressureHistoryFreshness;
233
+ processAttribution: {
234
+ sampledAt?: string;
235
+ unavailableReason?: string;
236
+ degradedReason?: string;
237
+ generation?: string;
238
+ sampleId?: number;
239
+ truncated: boolean;
240
+ ancestryTruncated: boolean;
241
+ sampledProcesses: number;
242
+ totalProcesses: number;
243
+ maxEntries: number;
244
+ omittedGroups: number;
245
+ classCounts: Record<ProcessOwnershipClass, number>;
246
+ managedGroupCount: number;
247
+ managedClassCounts: Record<ProcessOwnershipClass, number>;
248
+ groups: ProcessAttributionGroup[];
249
+ sampler?: import('../contracts/index.js').NodeProcessSamplerHealth;
250
+ };
251
+ slots: {
252
+ total: number;
253
+ ready: number;
254
+ busy: number;
255
+ working: number;
256
+ manual: number;
257
+ disabled: number;
258
+ };
259
+ resources: {
260
+ total: number;
261
+ byStatus: Record<import('../contracts/index.js').ResourceStatus, number>;
262
+ cleanupCandidates: number;
263
+ };
264
+ }
265
+ export interface ResourcePressureCleanupCandidate extends ResourceCleanupTarget {
266
+ slotLifecycle: import('../contracts/index.js').SlotLifecycle;
267
+ currentRunId: string | null;
268
+ effect: 'configured-shutdown-hook';
269
+ activeWorkExcluded: true;
270
+ processImpact?: {
271
+ scope: 'resource';
272
+ process: string;
273
+ processCount: number;
274
+ treeCpuPercent: number;
275
+ hotRssBytes: number;
276
+ classification: ProcessOwnershipClass;
277
+ confidence: ProcessAttributionConfidence;
278
+ };
279
+ }
280
+ export interface ResourcePressureSnapshotResult {
281
+ checkedAt: string;
282
+ watchState: {
283
+ enabled: boolean;
284
+ updatedAt: string | null;
285
+ };
286
+ watchAutoStartEnabled: boolean;
287
+ cleanupScope: 'non-active-slots-only';
288
+ filters: ResourcePressureSnapshotParams;
289
+ summary: {
290
+ machines: number;
291
+ omittedMachines: number;
292
+ severity: ResourcePressureSeverity;
293
+ cleanupCandidates: number;
294
+ omittedCleanupCandidates: number;
295
+ runningResources: number;
296
+ staleResources: number;
297
+ busySlots: number;
298
+ workingSlots: number;
299
+ };
300
+ machines: ResourcePressureMachine[];
301
+ cleanupCandidates: ResourcePressureCleanupCandidate[];
302
+ }
128
303
  //# sourceMappingURL=resources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/rpc/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/rpc/resources.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export const ResourceMethods = {
5
5
  health: Methods.RESOURCE_HEALTH,
6
6
  cleanup: Methods.RESOURCE_CLEANUP,
7
7
  watchSetEnabled: Methods.RESOURCE_WATCH_SET_ENABLED,
8
+ pressureSnapshot: Methods.RESOURCE_PRESSURE_SNAPSHOT,
9
+ pressureHistory: Methods.RESOURCE_PRESSURE_HISTORY,
10
+ deviceInventory: Methods.RESOURCE_DEVICE_INVENTORY,
8
11
  streamSubscribe: Methods.STREAM_SUBSCRIBE,
9
12
  streamUnsubscribe: Methods.STREAM_UNSUBSCRIBE,
10
13
  streamSnapshot: Methods.STREAM_SNAPSHOT,
@@ -12,4 +15,7 @@ export const ResourceMethods = {
12
15
  screenUnsubscribe: Methods.SCREEN_UNSUBSCRIBE,
13
16
  screenThumbnail: Methods.SCREEN_THUMBNAIL,
14
17
  };
18
+ /** Shared default freshness window for the pressure ring: a newest sample
19
+ * older than this counts as stale, both here and for dispatch admission. */
20
+ export const DEFAULT_PRESSURE_STALE_AFTER_MS = 150_000;
15
21
  //# sourceMappingURL=resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/rpc/resources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,aAAa;IAC3B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,MAAM,EAAE,OAAO,CAAC,eAAe;IAC/B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,eAAe,EAAE,OAAO,CAAC,0BAA0B;IACnD,eAAe,EAAE,OAAO,CAAC,gBAAgB;IACzC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;IAC7C,cAAc,EAAE,OAAO,CAAC,eAAe;IACvC,eAAe,EAAE,OAAO,CAAC,gBAAgB;IACzC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;IAC7C,eAAe,EAAE,OAAO,CAAC,gBAAgB;CACjC,CAAC"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/rpc/resources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC,aAAa;IAC3B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,MAAM,EAAE,OAAO,CAAC,eAAe;IAC/B,OAAO,EAAE,OAAO,CAAC,gBAAgB;IACjC,eAAe,EAAE,OAAO,CAAC,0BAA0B;IACnD,gBAAgB,EAAE,OAAO,CAAC,0BAA0B;IACpD,eAAe,EAAE,OAAO,CAAC,yBAAyB;IAClD,eAAe,EAAE,OAAO,CAAC,yBAAyB;IAClD,eAAe,EAAE,OAAO,CAAC,gBAAgB;IACzC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;IAC7C,cAAc,EAAE,OAAO,CAAC,eAAe;IACvC,eAAe,EAAE,OAAO,CAAC,gBAAgB;IACzC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB;IAC7C,eAAe,EAAE,OAAO,CAAC,gBAAgB;CACjC,CAAC;AA+KX;4EAC4E;AAC5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAAC"}
package/dist/rpc/run.d.ts CHANGED
@@ -22,6 +22,7 @@ export declare const RunMethods: {
22
22
  readonly forSlot: "run.forSlot";
23
23
  readonly resolveDecision: "run.resolveDecision";
24
24
  readonly probeWorkerSignal: "run.probeWorkerSignal";
25
+ readonly sessionCommand: "run.sessionCommand";
25
26
  readonly grade: "run.grade";
26
27
  readonly getGrade: "run.getGrade";
27
28
  readonly proposeImprovement: "run.proposeImprovement";
@@ -94,6 +95,8 @@ export interface RunCreateParams {
94
95
  startRefSkipPrepareVerified?: boolean;
95
96
  /** Named prepare profile from the project's prepare.profiles (ADR-037). */
96
97
  prepareProfile?: string;
98
+ /** ADR-054 resource posture preset for every durable operator wait of this run. */
99
+ waitPolicy?: import('../contracts/index.js').ResourcePostureWaitPolicy;
97
100
  /**
98
101
  * Branch-update strategy for `update-branch` runs (rebase | merge |
99
102
  * project-default). Ignored for other flows. Persisted on the run and
@@ -106,11 +109,11 @@ export interface RunCreateParams {
106
109
  * DISPATCH through `nudgeDispatch` (send-keys into the existing tmux session) instead of
107
110
  * relaunching. Requires `slotId` to be set in the same request. */
108
111
  nudgeReuse?: boolean;
109
- /** Branch-affinity fresh-reuse — operator picked "Kill & dispatch fresh" for a busy slot
110
- * already on this PR's branch. Engine binds `slotId`, hard-kills the prior worker BEFORE
111
- * PREPARE so git reset / checkout / dependency install don't race the worker writing in
112
- * the same worktree, then proceeds with normal PREPARE + DISPATCH. Requires `slotId` to
113
- * be set in the same request. Mutually exclusive with `nudgeReuse`. */
112
+ /** Fresh replacement — operator picked a busy branch-affinity worker or an unowned warm
113
+ * slot. Engine binds `slotId`, hard-kills the prior worker BEFORE PREPARE so git reset /
114
+ * checkout / dependency install don't race the worker writing in the same worktree, then
115
+ * proceeds with normal PREPARE + DISPATCH. Requires `slotId`; mutually exclusive with
116
+ * `nudgeReuse`. */
114
117
  freshReuse?: boolean;
115
118
  /** Force a review tier for review-pr flow. '' or omitted = auto (LLM picks strategy).
116
119
  * light → smoke; standard → smoke|targeted; full → targeted|full-qa. */
@@ -125,6 +128,14 @@ export interface RunCreateParams {
125
128
  pendingReviewPlan?: import('../contracts/index.js').ReviewLoopRequest[];
126
129
  /** Runner execution safety tier (ADR-023). Overrides runner/project defaults. */
127
130
  safetyTier?: import('../contracts/index.js').SafetyTier;
131
+ /** Deliberate one-dispatch pressure override. The gateway stamps the
132
+ * authenticated principal into the audit record; execution recomputes the
133
+ * decision and rejects the override when the pressure generation moved. */
134
+ pressureOverride?: import('../contracts/index.js').PressureDispatchOverride;
135
+ /** Preview identity from the admitted decision the client rendered.
136
+ * Execution recomputes and rejects with PRESSURE_PREVIEW_STALE when the
137
+ * machine/generation no longer matches current evidence. */
138
+ pressureAdmissionRef?: import('../contracts/index.js').PressureAdmissionReference;
128
139
  /**
129
140
  * Restrict FIND_SLOT (and any affinity reuse) to this set of slot IDs. The UI
130
141
  * resolves its filters against the live fleet before dispatch so the server
@@ -234,9 +245,13 @@ export interface RunCancelResult {
234
245
  export declare function failedRunCancelEffects(effects?: RunCancelEffect[]): RunCancelEffect[];
235
246
  export interface RunForceCompleteParams {
236
247
  runId: string;
248
+ /** Optional PR number to persist when force-completing a failed run. */
249
+ prNumber?: number;
237
250
  }
238
251
  export interface RunForceCompleteResult {
239
252
  run: Run;
253
+ /** Additive: omitted by older gateways. Non-`ok` entries mean partial application after the run is already `done`. */
254
+ effects?: RunCancelEffect[];
240
255
  }
241
256
  export interface RunPauseParams {
242
257
  runId: string;
@@ -253,10 +268,16 @@ export interface RunResumeResult {
253
268
  export interface RunReplayStepParams {
254
269
  runId: string;
255
270
  stepName: string;
271
+ /** Replace the run's runner before replaying this step, preserving task and worktree state. */
272
+ runner?: string;
273
+ /** Model paired with `runner`; defaults to that runner's configured default when omitted. */
274
+ model?: string;
256
275
  /** Skip slot prepare on replay entirely — operator owns slot state (ADR-037 §5). */
257
276
  skipPrepare?: boolean;
258
277
  /** Replay PREPARE with this named profile; persisted on the run before the engine restarts. */
259
278
  prepareProfile?: string;
279
+ /** Explicitly abandon an ambiguous retained-session handoff and relaunch fresh. Dispatch only. */
280
+ freshDispatch?: boolean;
260
281
  triggeredBy?: 'operator' | 'auto-recovery';
261
282
  intelligenceActionId?: string;
262
283
  }
@@ -417,14 +438,110 @@ export interface RunResolveDecisionParams {
417
438
  decisionId: string;
418
439
  actionId: string;
419
440
  selectionData?: Record<string, unknown>;
441
+ /**
442
+ * Operator resource-posture choice for the wait this decision ends (ADR-054).
443
+ * Typed rather than free-form selectionData so clients cannot invent a policy;
444
+ * copied into `selectionData.resourcePosture` for the run engine to read.
445
+ */
446
+ resourcePosture?: import('../contracts/index.js').ResourcePostureGateChoice;
420
447
  }
421
448
  export interface RunResolveDecisionResult {
422
449
  run: Run;
450
+ /**
451
+ * ADR-054 `free-slot`: the gate park this resolution had to restore before it
452
+ * could consume the decision. Present only when a restore actually ran, so a
453
+ * client can tell "answered a live gate" from "brought the run back, then
454
+ * answered it". A refused restore never reaches this result — it surfaces as
455
+ * a typed error and leaves the decision pending.
456
+ */
457
+ gateParkRestore?: {
458
+ runId: string;
459
+ /** The original slot the run was restored into. */
460
+ slotId: string;
461
+ /** Generation after the restore; unchanged when the gate loop was still alive. */
462
+ restoredGeneration: number;
463
+ /** The persisted runner session that was reloaded, with structured acceptance. */
464
+ reloadedSessionId: string;
465
+ };
423
466
  }
424
467
  export interface RunProbeWorkerSignalParams {
425
468
  runId: string;
426
469
  }
427
470
  export type RunProbeWorkerSignalResult = import('../transport/signal.js').WorkerSignalProbeResult;
471
+ export interface RunSessionCommandParams {
472
+ runId: string;
473
+ /**
474
+ * Exact agent context to reopen. Preferred over `role`: several contexts can
475
+ * share one role (reviewer loops), and only the id identifies which session
476
+ * the caller means.
477
+ */
478
+ contextId?: string;
479
+ /** Agent context role to reopen. Defaults to the run's primary worker role. */
480
+ role?: import('../contracts/index.js').AgentRole;
481
+ }
482
+ /**
483
+ * Structured runner liveness for the persisted session's pane. `unknown` means
484
+ * the probe could not decide (unreachable machine, tmux query failure) — it is
485
+ * never derived from rendered pane text.
486
+ */
487
+ export type RunSessionLiveness = 'live' | 'dead' | 'unknown';
488
+ export type RunSessionCommandUnsupportedReason = 'no-agent-context' | 'no-slot' | 'unknown-runner' | 'session-reload-unsupported' | 'session-not-captured';
489
+ export interface RunSessionCommandSupportedResult {
490
+ supported: true;
491
+ runId: string;
492
+ role: import('../contracts/index.js').AgentRole;
493
+ contextId: string;
494
+ runner: string;
495
+ model: string | null;
496
+ sessionId: string;
497
+ sessionPath: string;
498
+ capturedAt: string | null;
499
+ slotId: string;
500
+ machine: string;
501
+ tmuxTarget: string | null;
502
+ /**
503
+ * True when `tmuxTarget` came from scanning the slot's tmux session rather
504
+ * than the agent context. A reopened session usually lives in a new window,
505
+ * because dispatch destroys a role window when its runner exits.
506
+ */
507
+ rediscoveredTarget?: true;
508
+ /**
509
+ * Who owns the slot this session runs on. `owned` means the requesting run
510
+ * still holds the slot, so a rediscovered target may be written back to its
511
+ * agent context. `transferred` means a warm handoff moved the session to
512
+ * `ownerRunId`: the command and liveness are still reported, but nothing is
513
+ * rebound, because steering a successor run's pane from a historical run is
514
+ * exactly the accident this guards.
515
+ */
516
+ ownership?: 'owned' | 'transferred' | 'unknown';
517
+ /** The run that now owns the slot, when `ownership` is `transferred`. */
518
+ ownerRunId?: string;
519
+ /** Exact tmux pane that owns the session, when rediscovery proved one. */
520
+ paneId?: string;
521
+ /**
522
+ * The runner's own declared graceful-exit input, from the runner capability
523
+ * registry. Null when the runner declares none. Callers that need to stop the
524
+ * session use this instead of hardcoding runner-specific text.
525
+ */
526
+ interrupt: {
527
+ command: string;
528
+ submitDelayMs?: number;
529
+ } | null;
530
+ /** Built by the gateway runner layer. Clients never assemble runner CLI syntax. */
531
+ reopenCommand: string;
532
+ attachCommand: string | null;
533
+ liveness: RunSessionLiveness;
534
+ /** Why liveness is `unknown`, when the probe could not decide. */
535
+ livenessReason?: string;
536
+ }
537
+ export interface RunSessionCommandUnsupportedResult {
538
+ supported: false;
539
+ runId: string;
540
+ role: import('../contracts/index.js').AgentRole | null;
541
+ reason: RunSessionCommandUnsupportedReason;
542
+ detail: string;
543
+ }
544
+ export type RunSessionCommandResult = RunSessionCommandSupportedResult | RunSessionCommandUnsupportedResult;
428
545
  export interface RunGradeParams {
429
546
  runId: string;
430
547
  grade: import('../contracts/index.js').HumanGrade;