@farmslot/protocol 0.38.0 → 0.40.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 (183) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/agents/reviewer-context.d.ts +4 -4
  3. package/dist/agents/reviewer-context.d.ts.map +1 -1
  4. package/dist/agents/reviewer-context.js +10 -10
  5. package/dist/agents/reviewer-context.js.map +1 -1
  6. package/dist/agents/roles.d.ts +2 -2
  7. package/dist/agents/roles.d.ts.map +1 -1
  8. package/dist/agents/roles.js +5 -9
  9. package/dist/agents/roles.js.map +1 -1
  10. package/dist/checklist-target.d.ts +6 -6
  11. package/dist/checklist-target.d.ts.map +1 -1
  12. package/dist/checklist-target.js +11 -11
  13. package/dist/checklist-target.js.map +1 -1
  14. package/dist/contracts/acceptance.d.ts +19 -34
  15. package/dist/contracts/acceptance.d.ts.map +1 -1
  16. package/dist/contracts/acceptance.js +11 -156
  17. package/dist/contracts/acceptance.js.map +1 -1
  18. package/dist/contracts/agents.d.ts +7 -2
  19. package/dist/contracts/agents.d.ts.map +1 -1
  20. package/dist/contracts/agents.js +13 -2
  21. package/dist/contracts/agents.js.map +1 -1
  22. package/dist/contracts/analytics.d.ts +2 -2
  23. package/dist/contracts/analytics.d.ts.map +1 -1
  24. package/dist/contracts/backlog.d.ts +16 -7
  25. package/dist/contracts/backlog.d.ts.map +1 -1
  26. package/dist/contracts/backlog.js.map +1 -1
  27. package/dist/contracts/config.d.ts +12 -3
  28. package/dist/contracts/config.d.ts.map +1 -1
  29. package/dist/contracts/config.js +32 -0
  30. package/dist/contracts/config.js.map +1 -1
  31. package/dist/contracts/dispatch.d.ts +7 -4
  32. package/dist/contracts/dispatch.d.ts.map +1 -1
  33. package/dist/contracts/family.d.ts +2 -2
  34. package/dist/contracts/family.d.ts.map +1 -1
  35. package/dist/contracts/index.d.ts +3 -0
  36. package/dist/contracts/index.d.ts.map +1 -1
  37. package/dist/contracts/index.js +3 -0
  38. package/dist/contracts/index.js.map +1 -1
  39. package/dist/contracts/pr-monitoring.d.ts +8 -8
  40. package/dist/contracts/pr-monitoring.d.ts.map +1 -1
  41. package/dist/contracts/pr-rules.d.ts +5 -7
  42. package/dist/contracts/pr-rules.d.ts.map +1 -1
  43. package/dist/contracts/pr-rules.js +4 -6
  44. package/dist/contracts/pr-rules.js.map +1 -1
  45. package/dist/contracts/qa.d.ts +2 -2
  46. package/dist/contracts/qa.d.ts.map +1 -1
  47. package/dist/contracts/qa.js +5 -9
  48. package/dist/contracts/qa.js.map +1 -1
  49. package/dist/contracts/recipe-conformance.d.ts +51 -0
  50. package/dist/contracts/recipe-conformance.d.ts.map +1 -1
  51. package/dist/contracts/recipe-conformance.js +134 -1
  52. package/dist/contracts/recipe-conformance.js.map +1 -1
  53. package/dist/contracts/resources.d.ts +1 -1
  54. package/dist/contracts/resources.d.ts.map +1 -1
  55. package/dist/contracts/resources.js.map +1 -1
  56. package/dist/contracts/reviews.d.ts +19 -3
  57. package/dist/contracts/reviews.d.ts.map +1 -1
  58. package/dist/contracts/reviews.js +2 -2
  59. package/dist/contracts/reviews.js.map +1 -1
  60. package/dist/contracts/run-gate-readiness.d.ts +26 -0
  61. package/dist/contracts/run-gate-readiness.d.ts.map +1 -0
  62. package/dist/contracts/run-gate-readiness.js +5 -0
  63. package/dist/contracts/run-gate-readiness.js.map +1 -0
  64. package/dist/contracts/run-lifecycle-view.d.ts +17 -0
  65. package/dist/contracts/run-lifecycle-view.d.ts.map +1 -0
  66. package/dist/contracts/run-lifecycle-view.js +70 -0
  67. package/dist/contracts/run-lifecycle-view.js.map +1 -0
  68. package/dist/contracts/runner-mobile-keys.d.ts +217 -0
  69. package/dist/contracts/runner-mobile-keys.d.ts.map +1 -0
  70. package/dist/contracts/runner-mobile-keys.js +189 -0
  71. package/dist/contracts/runner-mobile-keys.js.map +1 -0
  72. package/dist/contracts/runs.d.ts +109 -91
  73. package/dist/contracts/runs.d.ts.map +1 -1
  74. package/dist/contracts/runs.js +12 -14
  75. package/dist/contracts/runs.js.map +1 -1
  76. package/dist/contracts/runtime-capabilities.d.ts +2 -0
  77. package/dist/contracts/runtime-capabilities.d.ts.map +1 -1
  78. package/dist/contracts/runtime-capabilities.js.map +1 -1
  79. package/dist/contracts/template-placeholders.d.ts +0 -6
  80. package/dist/contracts/template-placeholders.d.ts.map +1 -1
  81. package/dist/contracts/template-placeholders.js +22 -4
  82. package/dist/contracts/template-placeholders.js.map +1 -1
  83. package/dist/contracts/worker-terminal.d.ts +19 -0
  84. package/dist/contracts/worker-terminal.d.ts.map +1 -1
  85. package/dist/contracts/worker-terminal.js.map +1 -1
  86. package/dist/index.d.ts +4 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +4 -0
  89. package/dist/index.js.map +1 -1
  90. package/dist/integrations/pr-monitoring.d.ts.map +1 -1
  91. package/dist/integrations/pr-monitoring.js +9 -3
  92. package/dist/integrations/pr-monitoring.js.map +1 -1
  93. package/dist/integrations/pr-rule-config.d.ts.map +1 -1
  94. package/dist/integrations/pr-rule-config.js +21 -25
  95. package/dist/integrations/pr-rule-config.js.map +1 -1
  96. package/dist/integrations/pr-workflow-defaults.d.ts.map +1 -1
  97. package/dist/integrations/pr-workflow-defaults.js +2 -5
  98. package/dist/integrations/pr-workflow-defaults.js.map +1 -1
  99. package/dist/recipe/artifact.d.ts.map +1 -1
  100. package/dist/recipe/artifact.js +20 -4
  101. package/dist/recipe/artifact.js.map +1 -1
  102. package/dist/recipe/document.d.ts +5 -1
  103. package/dist/recipe/document.d.ts.map +1 -1
  104. package/dist/recipe/document.js +66 -37
  105. package/dist/recipe/document.js.map +1 -1
  106. package/dist/recipe/evidence.d.ts +128 -0
  107. package/dist/recipe/evidence.d.ts.map +1 -0
  108. package/dist/recipe/evidence.js +141 -0
  109. package/dist/recipe/evidence.js.map +1 -0
  110. package/dist/recipe/hud-intent.d.ts +56 -0
  111. package/dist/recipe/hud-intent.d.ts.map +1 -0
  112. package/dist/recipe/hud-intent.js +46 -0
  113. package/dist/recipe/hud-intent.js.map +1 -0
  114. package/dist/recipe/index.d.ts +4 -2
  115. package/dist/recipe/index.d.ts.map +1 -1
  116. package/dist/recipe/index.js +4 -2
  117. package/dist/recipe/index.js.map +1 -1
  118. package/dist/recipe/recording.d.ts +7 -0
  119. package/dist/recipe/recording.d.ts.map +1 -1
  120. package/dist/recipe/recording.js +48 -0
  121. package/dist/recipe/recording.js.map +1 -1
  122. package/dist/recipe/workflow.d.ts.map +1 -1
  123. package/dist/recipe/workflow.js +23 -1
  124. package/dist/recipe/workflow.js.map +1 -1
  125. package/dist/recipes/step-io.d.ts +8 -4
  126. package/dist/recipes/step-io.d.ts.map +1 -1
  127. package/dist/recipes/step-io.js.map +1 -1
  128. package/dist/rpc/copilot-runtime.d.ts +1 -1
  129. package/dist/rpc/copilot-runtime.d.ts.map +1 -1
  130. package/dist/rpc/dispatch.d.ts +10 -6
  131. package/dist/rpc/dispatch.d.ts.map +1 -1
  132. package/dist/rpc/native-session.d.ts +1 -0
  133. package/dist/rpc/native-session.d.ts.map +1 -1
  134. package/dist/rpc/native-session.js.map +1 -1
  135. package/dist/rpc/roadmap.d.ts +2 -0
  136. package/dist/rpc/roadmap.d.ts.map +1 -1
  137. package/dist/rpc/run.d.ts +5 -3
  138. package/dist/rpc/run.d.ts.map +1 -1
  139. package/dist/rpc/run.js.map +1 -1
  140. package/dist/rpc/slot.d.ts +1 -0
  141. package/dist/rpc/slot.d.ts.map +1 -1
  142. package/dist/rpc/tmux.d.ts +10 -0
  143. package/dist/rpc/tmux.d.ts.map +1 -1
  144. package/dist/runs/ci-decision-context.d.ts +40 -0
  145. package/dist/runs/ci-decision-context.d.ts.map +1 -0
  146. package/dist/runs/ci-decision-context.js +129 -0
  147. package/dist/runs/ci-decision-context.js.map +1 -0
  148. package/dist/runs/decision-resolution.d.ts +37 -1
  149. package/dist/runs/decision-resolution.d.ts.map +1 -1
  150. package/dist/runs/decision-resolution.js +44 -1
  151. package/dist/runs/decision-resolution.js.map +1 -1
  152. package/dist/runs/family-iteration-ledger.js +1 -1
  153. package/dist/runs/family-iteration-ledger.js.map +1 -1
  154. package/dist/runs/publish-approval.d.ts +20 -0
  155. package/dist/runs/publish-approval.d.ts.map +1 -0
  156. package/dist/runs/publish-approval.js +29 -0
  157. package/dist/runs/publish-approval.js.map +1 -0
  158. package/dist/runs/review-chain.d.ts +2 -2
  159. package/dist/runs/review-chain.d.ts.map +1 -1
  160. package/dist/runs/review-chain.js +4 -4
  161. package/dist/runs/review-chain.js.map +1 -1
  162. package/dist/runs/review-curation.d.ts +51 -0
  163. package/dist/runs/review-curation.d.ts.map +1 -0
  164. package/dist/runs/review-curation.js +138 -0
  165. package/dist/runs/review-curation.js.map +1 -0
  166. package/dist/runs/review-policy.d.ts +9 -0
  167. package/dist/runs/review-policy.d.ts.map +1 -0
  168. package/dist/runs/review-policy.js +34 -0
  169. package/dist/runs/review-policy.js.map +1 -0
  170. package/dist/runs/review-retries.d.ts +10 -10
  171. package/dist/runs/review-retries.d.ts.map +1 -1
  172. package/dist/runs/review-retries.js +17 -22
  173. package/dist/runs/review-retries.js.map +1 -1
  174. package/dist/runs/slot-resolution.js +1 -1
  175. package/dist/runs/slot-resolution.js.map +1 -1
  176. package/dist/transport/signal.d.ts +3 -3
  177. package/dist/transport/signal.d.ts.map +1 -1
  178. package/dist/version.d.ts +1 -1
  179. package/dist/version.js +1 -1
  180. package/package.json +9 -2
  181. package/schemas/recipe-v1.schema.json +113 -22
  182. package/scripts/acceptance.d.mts +16 -0
  183. package/scripts/acceptance.mjs +233 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-mobile-keys.d.ts","sourceRoot":"","sources":["../../src/contracts/runner-mobile-keys.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;CAClC;AAYD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKoB,CAAC;AAM5D,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAG9F"}
@@ -0,0 +1,189 @@
1
+ // runner-mobile-keys.ts — extra phone terminal keys per runner. The gateway
2
+ // runner registry references each profile from its RunnerDefinition; Companion
3
+ // looks a profile up by runner id. Each key records the CLI build and the
4
+ // documented binding it was read from. Exec-only runners have no profile; an
5
+ // interactive runner with no documented extra keys has an empty one.
6
+ //
7
+ // Inventoried on macpro, 2026-10-10. References are relative to each CLI's
8
+ // installed package. Chords that tmux cannot pass distinctly (Ctrl+I, Ctrl+M,
9
+ // Shift+Enter), a default tmux prefix (Ctrl+B), double Esc sent as one write,
10
+ // and destructive chords are left out.
11
+ import { normalizeRunner } from './runner-ids.js';
12
+ const CLAUDE = 'claude 2.1.296';
13
+ const CLAUDE_KEYMAP = 'default keymap in the @anthropic-ai/claude-code-darwin-arm64 claude binary';
14
+ const CODEX = 'codex-cli 0.162.1';
15
+ const CURSOR = 'cursor-agent 2026.09.28-64d2043';
16
+ const CURSOR_BUNDLE = 'versions/2026.09.28-64d2043/6949.index.js';
17
+ const GROK = 'grok 1.0.50';
18
+ const GROK_DOC = '~/.grok/docs/user-guide/03-keyboard-shortcuts.md';
19
+ const PI = 'pi 0.87.0';
20
+ const PI_DOC = '@earendil-works/pi-coding-agent/docs/keybindings.md';
21
+ export const RUNNER_MOBILE_KEY_PROFILES = {
22
+ claude: {
23
+ runnerId: 'claude',
24
+ label: 'Claude Code',
25
+ inventory: { cliVersion: CLAUDE, reference: `README.md (no key list); ${CLAUDE_KEYMAP}` },
26
+ keys: [
27
+ {
28
+ label: 'Transcript',
29
+ data: '\x0f',
30
+ danger: false,
31
+ chord: 'Ctrl+O',
32
+ source: {
33
+ cliVersion: CLAUDE,
34
+ reference: `${CLAUDE_KEYMAP}: "ctrl+o":"app:toggleTranscript"`,
35
+ },
36
+ },
37
+ {
38
+ label: 'History',
39
+ data: '\x12',
40
+ danger: false,
41
+ chord: 'Ctrl+R',
42
+ source: { cliVersion: CLAUDE, reference: `${CLAUDE_KEYMAP}: "ctrl+r":"history:search"` },
43
+ },
44
+ {
45
+ label: 'Model',
46
+ data: '\x1bp',
47
+ danger: false,
48
+ chord: 'Meta+P',
49
+ source: { cliVersion: CLAUDE, reference: `${CLAUDE_KEYMAP}: "meta+p":"chat:modelPicker"` },
50
+ },
51
+ ],
52
+ },
53
+ codex: {
54
+ runnerId: 'codex',
55
+ label: 'Codex',
56
+ // The seeded skip keys (Left, Shift+Left, Ctrl+[) are not mapped by any of these sources.
57
+ inventory: {
58
+ cliVersion: CODEX,
59
+ reference: 'README.md, `codex --help`, `codex debug --help` and the app-server JSON schema; none lists key bindings',
60
+ },
61
+ keys: [],
62
+ },
63
+ cursor: {
64
+ runnerId: 'cursor',
65
+ label: 'Cursor Agent',
66
+ inventory: {
67
+ cliVersion: CURSOR,
68
+ reference: `\`cursor-agent --help\` (no key list); ${CURSOR_BUNDLE}`,
69
+ },
70
+ keys: [
71
+ {
72
+ label: 'Expand',
73
+ data: '\x0f',
74
+ danger: false,
75
+ chord: 'Ctrl+O',
76
+ source: { cliVersion: CURSOR, reference: `${CURSOR_BUNDLE}: "ctrl+o to expand"` },
77
+ },
78
+ {
79
+ label: 'Review',
80
+ data: '\x12',
81
+ danger: false,
82
+ chord: 'Ctrl+R',
83
+ source: {
84
+ cliVersion: CURSOR,
85
+ reference: `${CURSOR_BUNDLE}: "ctrl+r to review changed files"`,
86
+ },
87
+ },
88
+ {
89
+ label: 'Newline',
90
+ data: '\n',
91
+ danger: false,
92
+ chord: 'Ctrl+J',
93
+ source: { cliVersion: CURSOR, reference: `${CURSOR_BUNDLE}: "Ctrl+J for newlines"` },
94
+ },
95
+ {
96
+ // Same byte as the generic Esc key; kept for the question-skip action it names.
97
+ label: 'Skip',
98
+ data: '\x1b',
99
+ danger: false,
100
+ chord: 'Esc',
101
+ source: { cliVersion: CURSOR, reference: `${CURSOR_BUNDLE}: "Esc to skip"` },
102
+ },
103
+ ],
104
+ },
105
+ grok: {
106
+ runnerId: 'grok',
107
+ label: 'Grok',
108
+ inventory: { cliVersion: GROK, reference: GROK_DOC },
109
+ keys: [
110
+ {
111
+ label: 'Palette',
112
+ data: '\x10',
113
+ danger: false,
114
+ chord: 'Ctrl+P',
115
+ source: { cliVersion: GROK, reference: `${GROK_DOC}:247` },
116
+ },
117
+ {
118
+ label: 'Sessions',
119
+ data: '\x12',
120
+ danger: false,
121
+ chord: 'Ctrl+R',
122
+ source: { cliVersion: GROK, reference: `${GROK_DOC}:253` },
123
+ },
124
+ {
125
+ label: 'Tasks',
126
+ data: '\x07',
127
+ danger: false,
128
+ chord: 'Ctrl+G',
129
+ source: { cliVersion: GROK, reference: `${GROK_DOC}:258` },
130
+ },
131
+ {
132
+ label: 'Prev turn',
133
+ data: '\x1b[1;2D',
134
+ danger: false,
135
+ chord: 'Shift+Left',
136
+ source: { cliVersion: GROK, reference: `${GROK_DOC}:36 (scrollback focused)` },
137
+ },
138
+ {
139
+ label: 'Next turn',
140
+ data: '\x1b[1;2C',
141
+ danger: false,
142
+ chord: 'Shift+Right',
143
+ source: { cliVersion: GROK, reference: `${GROK_DOC}:35 (scrollback focused)` },
144
+ },
145
+ ],
146
+ },
147
+ pi: {
148
+ runnerId: 'pi',
149
+ label: 'Pi',
150
+ inventory: { cliVersion: PI, reference: PI_DOC },
151
+ keys: [
152
+ {
153
+ label: 'Tools',
154
+ data: '\x0f',
155
+ danger: false,
156
+ chord: 'Ctrl+O',
157
+ source: { cliVersion: PI, reference: `${PI_DOC}:163 app.tools.expand` },
158
+ },
159
+ {
160
+ label: 'Thinking',
161
+ data: '\x14',
162
+ danger: false,
163
+ chord: 'Ctrl+T',
164
+ source: { cliVersion: PI, reference: `${PI_DOC}:157 app.thinking.toggle` },
165
+ },
166
+ {
167
+ label: 'Follow-up',
168
+ data: '\x1b\r',
169
+ danger: false,
170
+ chord: 'Alt+Enter',
171
+ source: { cliVersion: PI, reference: `${PI_DOC}:165 app.message.followUp` },
172
+ },
173
+ {
174
+ label: 'Dequeue',
175
+ data: '\x1b[1;3A',
176
+ danger: false,
177
+ chord: 'Alt+Up',
178
+ source: { cliVersion: PI, reference: `${PI_DOC}:166 app.message.dequeue` },
179
+ },
180
+ ],
181
+ },
182
+ };
183
+ const PROFILES_BY_RUNNER = new Map(Object.values(RUNNER_MOBILE_KEY_PROFILES).map((profile) => [profile.runnerId, profile]));
184
+ export function runnerMobileKeyProfile(runnerId) {
185
+ if (!runnerId?.trim())
186
+ return null;
187
+ return PROFILES_BY_RUNNER.get(normalizeRunner(runnerId)) ?? null;
188
+ }
189
+ //# sourceMappingURL=runner-mobile-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-mobile-keys.js","sourceRoot":"","sources":["../../src/contracts/runner-mobile-keys.ts"],"names":[],"mappings":"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"}