@farmslot/protocol 0.5.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 (227) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +213 -0
  3. package/dist/agent-roles.d.ts +15 -0
  4. package/dist/agent-roles.d.ts.map +1 -0
  5. package/dist/agent-roles.js +101 -0
  6. package/dist/agent-roles.js.map +1 -0
  7. package/dist/events.d.ts +265 -0
  8. package/dist/events.d.ts.map +1 -0
  9. package/dist/events.js +72 -0
  10. package/dist/events.js.map +1 -0
  11. package/dist/frames.d.ts +29 -0
  12. package/dist/frames.d.ts.map +1 -0
  13. package/dist/frames.js +15 -0
  14. package/dist/frames.js.map +1 -0
  15. package/dist/github-ref.d.ts +15 -0
  16. package/dist/github-ref.d.ts.map +1 -0
  17. package/dist/github-ref.js +30 -0
  18. package/dist/github-ref.js.map +1 -0
  19. package/dist/index.d.ts +14 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +14 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/methods/auth.d.ts +46 -0
  24. package/dist/methods/auth.d.ts.map +1 -0
  25. package/dist/methods/auth.js +5 -0
  26. package/dist/methods/auth.js.map +1 -0
  27. package/dist/methods/backlog.d.ts +63 -0
  28. package/dist/methods/backlog.d.ts.map +1 -0
  29. package/dist/methods/backlog.js +12 -0
  30. package/dist/methods/backlog.js.map +1 -0
  31. package/dist/methods/chat.d.ts +290 -0
  32. package/dist/methods/chat.d.ts.map +1 -0
  33. package/dist/methods/chat.js +22 -0
  34. package/dist/methods/chat.js.map +1 -0
  35. package/dist/methods/config.d.ts +81 -0
  36. package/dist/methods/config.d.ts.map +1 -0
  37. package/dist/methods/config.js +16 -0
  38. package/dist/methods/config.js.map +1 -0
  39. package/dist/methods/copilot.d.ts +23 -0
  40. package/dist/methods/copilot.d.ts.map +1 -0
  41. package/dist/methods/copilot.js +5 -0
  42. package/dist/methods/copilot.js.map +1 -0
  43. package/dist/methods/decisions.d.ts +9 -0
  44. package/dist/methods/decisions.d.ts.map +1 -0
  45. package/dist/methods/decisions.js +2 -0
  46. package/dist/methods/decisions.js.map +1 -0
  47. package/dist/methods/diagnostics.d.ts +8 -0
  48. package/dist/methods/diagnostics.d.ts.map +1 -0
  49. package/dist/methods/diagnostics.js +2 -0
  50. package/dist/methods/diagnostics.js.map +1 -0
  51. package/dist/methods/dispatch.d.ts +198 -0
  52. package/dist/methods/dispatch.d.ts.map +1 -0
  53. package/dist/methods/dispatch.js +12 -0
  54. package/dist/methods/dispatch.js.map +1 -0
  55. package/dist/methods/eval.d.ts +119 -0
  56. package/dist/methods/eval.d.ts.map +1 -0
  57. package/dist/methods/eval.js +9 -0
  58. package/dist/methods/eval.js.map +1 -0
  59. package/dist/methods/fleet.d.ts +86 -0
  60. package/dist/methods/fleet.d.ts.map +1 -0
  61. package/dist/methods/fleet.js +9 -0
  62. package/dist/methods/fleet.js.map +1 -0
  63. package/dist/methods/fs.d.ts +42 -0
  64. package/dist/methods/fs.d.ts.map +1 -0
  65. package/dist/methods/fs.js +2 -0
  66. package/dist/methods/fs.js.map +1 -0
  67. package/dist/methods/git.d.ts +103 -0
  68. package/dist/methods/git.d.ts.map +1 -0
  69. package/dist/methods/git.js +2 -0
  70. package/dist/methods/git.js.map +1 -0
  71. package/dist/methods/index.d.ts +25 -0
  72. package/dist/methods/index.d.ts.map +1 -0
  73. package/dist/methods/index.js +26 -0
  74. package/dist/methods/index.js.map +1 -0
  75. package/dist/methods/intelligence.d.ts +218 -0
  76. package/dist/methods/intelligence.d.ts.map +1 -0
  77. package/dist/methods/intelligence.js +20 -0
  78. package/dist/methods/intelligence.js.map +1 -0
  79. package/dist/methods/nodes.d.ts +22 -0
  80. package/dist/methods/nodes.d.ts.map +1 -0
  81. package/dist/methods/nodes.js +2 -0
  82. package/dist/methods/nodes.js.map +1 -0
  83. package/dist/methods/pr.d.ts +75 -0
  84. package/dist/methods/pr.d.ts.map +1 -0
  85. package/dist/methods/pr.js +2 -0
  86. package/dist/methods/pr.js.map +1 -0
  87. package/dist/methods/registry.d.ts +196 -0
  88. package/dist/methods/registry.d.ts.map +1 -0
  89. package/dist/methods/registry.js +229 -0
  90. package/dist/methods/registry.js.map +1 -0
  91. package/dist/methods/resources.d.ts +89 -0
  92. package/dist/methods/resources.d.ts.map +1 -0
  93. package/dist/methods/resources.js +13 -0
  94. package/dist/methods/resources.js.map +1 -0
  95. package/dist/methods/run.d.ts +398 -0
  96. package/dist/methods/run.d.ts.map +1 -0
  97. package/dist/methods/run.js +34 -0
  98. package/dist/methods/run.js.map +1 -0
  99. package/dist/methods/search.d.ts +19 -0
  100. package/dist/methods/search.d.ts.map +1 -0
  101. package/dist/methods/search.js +2 -0
  102. package/dist/methods/search.js.map +1 -0
  103. package/dist/methods/slot.d.ts +192 -0
  104. package/dist/methods/slot.d.ts.map +1 -0
  105. package/dist/methods/slot.js +21 -0
  106. package/dist/methods/slot.js.map +1 -0
  107. package/dist/methods/task.d.ts +18 -0
  108. package/dist/methods/task.d.ts.map +1 -0
  109. package/dist/methods/task.js +2 -0
  110. package/dist/methods/task.js.map +1 -0
  111. package/dist/methods/terminal.d.ts +66 -0
  112. package/dist/methods/terminal.d.ts.map +1 -0
  113. package/dist/methods/terminal.js +2 -0
  114. package/dist/methods/terminal.js.map +1 -0
  115. package/dist/methods/tmux.d.ts +108 -0
  116. package/dist/methods/tmux.d.ts.map +1 -0
  117. package/dist/methods/tmux.js +3 -0
  118. package/dist/methods/tmux.js.map +1 -0
  119. package/dist/methods/workspace.d.ts +11 -0
  120. package/dist/methods/workspace.d.ts.map +1 -0
  121. package/dist/methods/workspace.js +2 -0
  122. package/dist/methods/workspace.js.map +1 -0
  123. package/dist/methods.d.ts +2 -0
  124. package/dist/methods.d.ts.map +1 -0
  125. package/dist/methods.js +3 -0
  126. package/dist/methods.js.map +1 -0
  127. package/dist/recipe-compat.d.ts +89 -0
  128. package/dist/recipe-compat.d.ts.map +1 -0
  129. package/dist/recipe-compat.js +977 -0
  130. package/dist/recipe-compat.js.map +1 -0
  131. package/dist/run-family-readiness.d.ts +31 -0
  132. package/dist/run-family-readiness.d.ts.map +1 -0
  133. package/dist/run-family-readiness.js +223 -0
  134. package/dist/run-family-readiness.js.map +1 -0
  135. package/dist/signal.d.ts +14 -0
  136. package/dist/signal.d.ts.map +1 -0
  137. package/dist/signal.js +4 -0
  138. package/dist/signal.js.map +1 -0
  139. package/dist/step-io.d.ts +277 -0
  140. package/dist/step-io.d.ts.map +1 -0
  141. package/dist/step-io.js +26 -0
  142. package/dist/step-io.js.map +1 -0
  143. package/dist/surfaces.d.ts +36 -0
  144. package/dist/surfaces.d.ts.map +1 -0
  145. package/dist/surfaces.js +392 -0
  146. package/dist/surfaces.js.map +1 -0
  147. package/dist/tmux-worker-watchlist.d.ts +36 -0
  148. package/dist/tmux-worker-watchlist.d.ts.map +1 -0
  149. package/dist/tmux-worker-watchlist.js +82 -0
  150. package/dist/tmux-worker-watchlist.js.map +1 -0
  151. package/dist/types/agents.d.ts +59 -0
  152. package/dist/types/agents.d.ts.map +1 -0
  153. package/dist/types/agents.js +10 -0
  154. package/dist/types/agents.js.map +1 -0
  155. package/dist/types/backlog.d.ts +66 -0
  156. package/dist/types/backlog.d.ts.map +1 -0
  157. package/dist/types/backlog.js +13 -0
  158. package/dist/types/backlog.js.map +1 -0
  159. package/dist/types/chat.d.ts +203 -0
  160. package/dist/types/chat.d.ts.map +1 -0
  161. package/dist/types/chat.js +19 -0
  162. package/dist/types/chat.js.map +1 -0
  163. package/dist/types/common.d.ts +13 -0
  164. package/dist/types/common.d.ts.map +1 -0
  165. package/dist/types/common.js +3 -0
  166. package/dist/types/common.js.map +1 -0
  167. package/dist/types/config.d.ts +154 -0
  168. package/dist/types/config.d.ts.map +1 -0
  169. package/dist/types/config.js +2 -0
  170. package/dist/types/config.js.map +1 -0
  171. package/dist/types/dispatch.d.ts +77 -0
  172. package/dist/types/dispatch.d.ts.map +1 -0
  173. package/dist/types/dispatch.js +2 -0
  174. package/dist/types/dispatch.js.map +1 -0
  175. package/dist/types/evals.d.ts +341 -0
  176. package/dist/types/evals.d.ts.map +1 -0
  177. package/dist/types/evals.js +459 -0
  178. package/dist/types/evals.js.map +1 -0
  179. package/dist/types/family.d.ts +163 -0
  180. package/dist/types/family.d.ts.map +1 -0
  181. package/dist/types/family.js +2 -0
  182. package/dist/types/family.js.map +1 -0
  183. package/dist/types/index.d.ts +17 -0
  184. package/dist/types/index.d.ts.map +1 -0
  185. package/dist/types/index.js +17 -0
  186. package/dist/types/index.js.map +1 -0
  187. package/dist/types/recipes.d.ts +94 -0
  188. package/dist/types/recipes.d.ts.map +1 -0
  189. package/dist/types/recipes.js +7 -0
  190. package/dist/types/recipes.js.map +1 -0
  191. package/dist/types/resources.d.ts +110 -0
  192. package/dist/types/resources.d.ts.map +1 -0
  193. package/dist/types/resources.js +2 -0
  194. package/dist/types/resources.js.map +1 -0
  195. package/dist/types/reviews.d.ts +85 -0
  196. package/dist/types/reviews.d.ts.map +1 -0
  197. package/dist/types/reviews.js +2 -0
  198. package/dist/types/reviews.js.map +1 -0
  199. package/dist/types/runs.d.ts +1105 -0
  200. package/dist/types/runs.d.ts.map +1 -0
  201. package/dist/types/runs.js +297 -0
  202. package/dist/types/runs.js.map +1 -0
  203. package/dist/types/slots.d.ts +108 -0
  204. package/dist/types/slots.d.ts.map +1 -0
  205. package/dist/types/slots.js +2 -0
  206. package/dist/types/slots.js.map +1 -0
  207. package/dist/types/task.d.ts +37 -0
  208. package/dist/types/task.d.ts.map +1 -0
  209. package/dist/types/task.js +2 -0
  210. package/dist/types/task.js.map +1 -0
  211. package/dist/types/terminal.d.ts +12 -0
  212. package/dist/types/terminal.d.ts.map +1 -0
  213. package/dist/types/terminal.js +2 -0
  214. package/dist/types/terminal.js.map +1 -0
  215. package/dist/types/workspace.d.ts +44 -0
  216. package/dist/types/workspace.d.ts.map +1 -0
  217. package/dist/types/workspace.js +2 -0
  218. package/dist/types/workspace.js.map +1 -0
  219. package/dist/types.d.ts +2 -0
  220. package/dist/types.d.ts.map +1 -0
  221. package/dist/types.js +3 -0
  222. package/dist/types.js.map +1 -0
  223. package/dist/version.d.ts +2 -0
  224. package/dist/version.d.ts.map +1 -0
  225. package/dist/version.js +7 -0
  226. package/dist/version.js.map +1 -0
  227. package/package.json +109 -0
@@ -0,0 +1,277 @@
1
+ export interface SubStepRecord {
2
+ name: string;
3
+ outcome: 'ok' | 'skipped' | 'failed';
4
+ durationMs: number;
5
+ detail?: string;
6
+ }
7
+ export declare const RECIPE_ARTIFACT_TYPES: readonly ["screenshot", "video", "log", "trace", "summary", "json", "report", "metric", "diff", "recipe", "other"];
8
+ export type RecipeArtifactType = (typeof RECIPE_ARTIFACT_TYPES)[number];
9
+ export type RecipeArtifactTypeName = RecipeArtifactType | (string & {});
10
+ export interface RecipeArtifactManifestEntry {
11
+ path: string;
12
+ type: RecipeArtifactTypeName;
13
+ label?: string;
14
+ nodeId?: string;
15
+ mimeType?: string;
16
+ category?: 'proof' | 'debug' | 'diagnostic' | 'system' | (string & {});
17
+ proofTarget?: string;
18
+ covers?: string[];
19
+ }
20
+ export interface RecipeArtifactManifestDocument {
21
+ version: 1;
22
+ runStatus?: 'pass' | 'fail' | 'unknown';
23
+ artifacts: RecipeArtifactManifestEntry[];
24
+ }
25
+ export interface ArtifactRef {
26
+ path: string;
27
+ purpose: string;
28
+ sha256?: string;
29
+ sizeBytes?: number;
30
+ type?: RecipeArtifactTypeName;
31
+ label?: string;
32
+ nodeId?: string;
33
+ mimeType?: string;
34
+ }
35
+ export declare function isPublishEvidenceArtifact(artifact: Pick<ArtifactRef, 'path' | 'purpose'>): boolean;
36
+ export interface MonitorSnapshot {
37
+ timestamp: string;
38
+ trigger: 'violation' | 'phase-transition' | 'decision' | 'nudge';
39
+ violation?: {
40
+ type: string;
41
+ message: string;
42
+ };
43
+ taskProgress?: {
44
+ completedSteps: number;
45
+ totalSteps: number;
46
+ currentPhase: string;
47
+ };
48
+ }
49
+ /** Per-step LLM usage — every HEU step output includes this.
50
+ * Enables per-step cost tracking and model comparison across runs.
51
+ * Populated by callLLM() wrapper when it exists; manual until then. */
52
+ export interface StepLLMUsage {
53
+ provider: string;
54
+ model: string;
55
+ inputTokens?: number;
56
+ outputTokens?: number;
57
+ costUsd?: number;
58
+ durationMs: number;
59
+ }
60
+ export interface GradeStepInput {
61
+ ticketOrPr: string;
62
+ ticketSource?: string;
63
+ }
64
+ export interface GradeStepOutput {
65
+ difficulty?: string;
66
+ score?: number;
67
+ modelRecommendation?: string;
68
+ rationale?: string;
69
+ source?: string;
70
+ title?: string;
71
+ flowTypeMismatch?: string | null;
72
+ llm?: StepLLMUsage;
73
+ summary?: string;
74
+ branchSlug?: string;
75
+ summaryLlm?: StepLLMUsage;
76
+ }
77
+ export interface FindSlotStepInput {
78
+ project: string;
79
+ flowType: string;
80
+ requestedSlotId?: string;
81
+ }
82
+ export interface SlotCandidate {
83
+ slotId: string;
84
+ score: number;
85
+ cdpLive: boolean;
86
+ }
87
+ export interface FindSlotStepOutput {
88
+ selectedSlot: string;
89
+ runner: string;
90
+ model: string;
91
+ selectionMethod: 'user-specified' | 'affinity' | 'scored';
92
+ candidateCount: number;
93
+ candidates: SlotCandidate[];
94
+ }
95
+ export interface WriteTaskStepInput {
96
+ flowType: string;
97
+ hasTicketData: boolean;
98
+ }
99
+ export interface WriteTaskStepOutput {
100
+ taskFile: string;
101
+ skipped?: boolean;
102
+ collision?: boolean;
103
+ templateName?: string;
104
+ taskRelDir?: string;
105
+ branch?: string;
106
+ artifacts?: ArtifactRef[];
107
+ variableCount?: number;
108
+ llm?: StepLLMUsage;
109
+ summary?: string;
110
+ branchSlug?: string;
111
+ recipeStrategy?: import('./types.js').RecipeStrategyDecision;
112
+ subSteps?: SubStepRecord[];
113
+ }
114
+ export interface PrepareStepInput {
115
+ slotId: string;
116
+ branch?: string;
117
+ mergeMain: boolean;
118
+ flowType: string;
119
+ }
120
+ export interface PrepareStepOutput {
121
+ success: boolean;
122
+ subSteps: SubStepRecord[];
123
+ machine?: string;
124
+ platform?: string;
125
+ isLocal?: boolean;
126
+ healthValue?: string;
127
+ cliCommand?: string;
128
+ }
129
+ export interface DispatchStepInput {
130
+ slotId: string;
131
+ runner?: string;
132
+ model?: string;
133
+ taskFile: string;
134
+ }
135
+ export interface DispatchStepOutput {
136
+ success: boolean;
137
+ subSteps: SubStepRecord[];
138
+ launchCommand?: string;
139
+ readinessWaitMs?: number;
140
+ promptSent?: boolean;
141
+ cliCommand?: string;
142
+ }
143
+ export interface MonitorStepInput {
144
+ slotId: string;
145
+ pollIntervalMs?: number;
146
+ stuckTimeoutMs?: number;
147
+ idleTimeoutMs?: number;
148
+ totalTimeoutMs?: number;
149
+ maxNudges?: number;
150
+ }
151
+ export interface MonitorStepOutput {
152
+ nudgeCount: number;
153
+ pollCount: number;
154
+ exitReason: 'worker-done' | 'cancelled' | 'timeout' | 'aborted' | 'error';
155
+ violations: Array<{
156
+ type: string;
157
+ message: string;
158
+ timestamp: string;
159
+ }>;
160
+ snapshots: MonitorSnapshot[];
161
+ finalTaskProgress?: {
162
+ completedSteps: number;
163
+ totalSteps: number;
164
+ };
165
+ cliCommand?: string;
166
+ }
167
+ export interface SelfReviewStepInput {
168
+ slotId: string;
169
+ enabled: boolean;
170
+ model?: string;
171
+ }
172
+ export interface SelfReviewIssue {
173
+ file: string;
174
+ line?: number;
175
+ description: string;
176
+ }
177
+ export interface SelfReviewStepOutput {
178
+ skipped?: boolean;
179
+ reason?: string;
180
+ verdict?: 'pass' | 'issues';
181
+ issues?: SelfReviewIssue[];
182
+ retryCount?: number;
183
+ feedbackSent?: boolean;
184
+ durationMs?: number;
185
+ cliCommand?: string;
186
+ }
187
+ export interface HumanGateStepInput {
188
+ gateType: string;
189
+ gateEnabled: boolean;
190
+ }
191
+ export interface HumanGateStepOutput {
192
+ skipped?: boolean;
193
+ reason?: string;
194
+ waitDurationMs?: number;
195
+ resolvedAction?: string | null;
196
+ gatePayloadSummary?: string;
197
+ artifacts?: ArtifactRef[];
198
+ }
199
+ export interface CompleteStepInput {
200
+ slotId: string;
201
+ flowType: string;
202
+ }
203
+ export interface CompleteStepOutput {
204
+ prNumber: number | null;
205
+ ciRepo: string | null;
206
+ artifactsCopied: boolean;
207
+ prCommentPosted: boolean;
208
+ prTitleUpdated: boolean;
209
+ prMarkedReady: boolean;
210
+ retrospectiveCreated: boolean;
211
+ slotDisposition: 'ci-watch' | 'released';
212
+ artifacts: ArtifactRef[];
213
+ cliCommand?: string;
214
+ }
215
+ export interface FinalizeStepInput {
216
+ slotId: string;
217
+ flowType: string;
218
+ }
219
+ export interface SessionMetrics {
220
+ inputTokens: number;
221
+ outputTokens: number;
222
+ totalTokens: number;
223
+ cacheReadTokens?: number;
224
+ cacheWriteTokens?: number;
225
+ costUsd: number;
226
+ model: string;
227
+ sessionDurationMs: number;
228
+ numCompactions?: number;
229
+ numTurns?: number;
230
+ }
231
+ export interface FinalizeStepOutput {
232
+ session?: SessionMetrics;
233
+ commentPosted: boolean;
234
+ metricsSavedToTask: boolean;
235
+ artifactPath?: string;
236
+ cliCommand?: string;
237
+ }
238
+ export interface CIWatchStepInput {
239
+ prNumber?: number;
240
+ }
241
+ export type CIWatchPhase = 'polling' | 'deduped' | 'fixing' | 'waiting_for_worker' | 'blocked' | 'decision_required' | 'done';
242
+ export type CIWatchFixTrigger = 'failed_checks' | 'bot_comments' | null;
243
+ export interface CIWatchFixProgress {
244
+ completed: number;
245
+ total: number;
246
+ currentLabel?: string | null;
247
+ }
248
+ export interface CIWatchStepOutput {
249
+ skipped?: boolean;
250
+ reason?: string;
251
+ result?: string;
252
+ failedChecks?: string[];
253
+ phase?: CIWatchPhase;
254
+ fixInProgress?: boolean;
255
+ fixTrigger?: CIWatchFixTrigger;
256
+ activeTaskFile?: string | null;
257
+ nextPollAt?: string | null;
258
+ lastSignalAt?: string | null;
259
+ dedupReason?: string | null;
260
+ lastFixCommitSha?: string | null;
261
+ fixProgress?: CIWatchFixProgress;
262
+ timeoutWindowStartedAt?: string;
263
+ lastProgressAt?: string;
264
+ lastProgressReason?: string;
265
+ pollCount: number;
266
+ pollIntervalMs?: number;
267
+ lastCheckedAt?: string;
268
+ totalDurationMs: number;
269
+ checkTimeline: Array<{
270
+ timestamp: string;
271
+ status: string;
272
+ detail?: string;
273
+ }>;
274
+ actionableBotCommentCount: number;
275
+ cliCommand?: string;
276
+ }
277
+ //# sourceMappingURL=step-io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-io.d.ts","sourceRoot":"","sources":["../src/step-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ // step-io.ts — Typed step I/O and shared recipe artifact interfaces
2
+ // Phase 1 of the Step I/O Refactor (prerequisite for C3 fine-tuning export).
3
+ // RunStep.inputs/outputs remains Record<string, unknown> for backward compat.
4
+ // These interfaces are used by step executors and consumers via typed casts.
5
+ // ─── Recipe Artifact Manifest ───
6
+ export const RECIPE_ARTIFACT_TYPES = [
7
+ 'screenshot',
8
+ 'video',
9
+ 'log',
10
+ 'trace',
11
+ 'summary',
12
+ 'json',
13
+ 'report',
14
+ 'metric',
15
+ 'diff',
16
+ 'recipe',
17
+ 'other',
18
+ ];
19
+ const PUBLISH_EVIDENCE_MEDIA_EXTS = /\.(png|jpg|jpeg|gif|mp4|mov|webm)$/i;
20
+ export function isPublishEvidenceArtifact(artifact) {
21
+ const normalizedPath = artifact.path.replace(/\\/g, '/').toLowerCase();
22
+ return (PUBLISH_EVIDENCE_MEDIA_EXTS.test(artifact.path) &&
23
+ artifact.purpose?.toLowerCase() !== 'debug-screenshot' &&
24
+ !/(^|\/)screenshots\//.test(normalizedPath));
25
+ }
26
+ //# sourceMappingURL=step-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-io.js","sourceRoot":"","sources":["../src/step-io.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAW7E,mCAAmC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY;IACZ,OAAO;IACP,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;CACC,CAAC;AAmCX,MAAM,2BAA2B,GAAG,qCAAqC,CAAC;AAE1E,MAAM,UAAU,yBAAyB,CACvC,QAA+C;IAE/C,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACvE,OAAO,CACL,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB;QACtD,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAC5C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { ChatClientContext } from './types.js';
2
+ export interface CommandCenterSurfaceDefinition {
3
+ surfaceId: string;
4
+ routePattern: string;
5
+ routeRegex: string;
6
+ routeParamNames: string[];
7
+ queryParams: string[];
8
+ componentPath: string;
9
+ componentSymbol: string;
10
+ primaryEntities: string[];
11
+ affordances: string[];
12
+ preferredTools: string[];
13
+ sourceAnchors: string[];
14
+ sampleHash: string;
15
+ }
16
+ export interface CommandCenterSurfaceMatch {
17
+ surface: CommandCenterSurfaceDefinition;
18
+ route: string;
19
+ hash: string;
20
+ query: Record<string, string>;
21
+ routeParams: Record<string, string>;
22
+ context: Partial<ChatClientContext>;
23
+ }
24
+ export declare const COMMAND_CENTER_SURFACES: CommandCenterSurfaceDefinition[];
25
+ export declare function parseCommandCenterHash(hashValue: string): {
26
+ hash: string;
27
+ route: string;
28
+ query: Record<string, string>;
29
+ };
30
+ export declare function matchCommandCenterSurface(hashValue: string): CommandCenterSurfaceMatch | null;
31
+ export declare function buildCommandCenterContext(hashValue: string): ChatClientContext;
32
+ /** Co-Pilot's single shared session id. One chat per browser; screen context
33
+ * rides every message via clientContext so route changes never fork it. */
34
+ export declare const GLOBAL_CHAT_SESSION_ID = "global";
35
+ export declare function deriveChatSessionId(_context: ChatClientContext): string;
36
+ //# sourceMappingURL=surfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../src/surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,8BAA8B,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,uBAAuB,EAAE,8BAA8B,EA8SnE,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CASA;AAqCD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAoB7F;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAe9E;AAED;4EAC4E;AAC5E,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEvE"}