@stateforge-labs/herdr-sdk 0.0.0-stage → 0.3.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 (171) hide show
  1. package/LICENSE +18 -0
  2. package/NOTICE.md +51 -0
  3. package/README.md +211 -2
  4. package/bin/herdr-drift.js +14 -0
  5. package/bin/herdr-skill.js +38 -0
  6. package/dist/admin.d.ts +2 -0
  7. package/dist/admin.js +3 -0
  8. package/dist/constants.d.ts +236 -0
  9. package/dist/constants.js +294 -0
  10. package/dist/core/backoff.d.ts +20 -0
  11. package/dist/core/backoff.js +53 -0
  12. package/dist/core/constants.d.ts +143 -0
  13. package/dist/core/constants.js +98 -0
  14. package/dist/core/errors.d.ts +35 -0
  15. package/dist/core/errors.js +16 -0
  16. package/dist/core/events.d.ts +42 -0
  17. package/dist/core/events.js +128 -0
  18. package/dist/core/kernel.d.ts +65 -0
  19. package/dist/core/kernel.js +138 -0
  20. package/dist/core/link.d.ts +47 -0
  21. package/dist/core/link.js +187 -0
  22. package/dist/core/test-kit/constants.d.ts +51 -0
  23. package/dist/core/test-kit/constants.js +43 -0
  24. package/dist/core/test-kit/fake-core.d.ts +61 -0
  25. package/dist/core/test-kit/fake-core.js +228 -0
  26. package/dist/core/test-kit/frames.d.ts +1 -0
  27. package/dist/core/test-kit/frames.js +480 -0
  28. package/dist/core/test-kit/setup-test.d.ts +18 -0
  29. package/dist/core/test-kit/setup-test.js +35 -0
  30. package/dist/core/wire.d.ts +85 -0
  31. package/dist/core/wire.js +199 -0
  32. package/dist/core-test-kit.d.ts +5 -0
  33. package/dist/core-test-kit.js +5 -0
  34. package/dist/core.d.ts +15 -0
  35. package/dist/core.js +12 -0
  36. package/dist/drift/cli.d.ts +22 -0
  37. package/dist/drift/cli.js +146 -0
  38. package/dist/drift/constants.d.ts +83 -0
  39. package/dist/drift/constants.js +73 -0
  40. package/dist/drift/diff.d.ts +7 -0
  41. package/dist/drift/diff.js +91 -0
  42. package/dist/drift/schema.d.ts +19 -0
  43. package/dist/drift/schema.js +190 -0
  44. package/dist/drift/types.d.ts +76 -0
  45. package/dist/drift/types.js +1 -0
  46. package/dist/drift.d.ts +5 -0
  47. package/dist/drift.js +6 -0
  48. package/dist/effect.d.ts +3 -0
  49. package/dist/effect.js +4 -0
  50. package/dist/herdr/client/connect.d.ts +5 -0
  51. package/dist/herdr/client/connect.js +81 -0
  52. package/dist/herdr/client/held.d.ts +54 -0
  53. package/dist/herdr/client/held.js +100 -0
  54. package/dist/herdr/client/long-poll.d.ts +33 -0
  55. package/dist/herdr/client/long-poll.js +66 -0
  56. package/dist/herdr/client/scoped.d.ts +45 -0
  57. package/dist/herdr/client/scoped.js +241 -0
  58. package/dist/herdr/client/streams.d.ts +9 -0
  59. package/dist/herdr/client/streams.js +40 -0
  60. package/dist/herdr/client/subscribe.d.ts +75 -0
  61. package/dist/herdr/client/subscribe.js +208 -0
  62. package/dist/herdr/client/types.d.ts +150 -0
  63. package/dist/herdr/client/types.js +1 -0
  64. package/dist/herdr/client/watch-pane-set.d.ts +34 -0
  65. package/dist/herdr/client/watch-pane-set.js +271 -0
  66. package/dist/herdr/client/watch.d.ts +117 -0
  67. package/dist/herdr/client/watch.js +138 -0
  68. package/dist/herdr/effect/to-tagged-error.d.ts +2 -0
  69. package/dist/herdr/effect/to-tagged-error.js +54 -0
  70. package/dist/herdr/effect/types.d.ts +51 -0
  71. package/dist/herdr/effect/types.js +26 -0
  72. package/dist/herdr/errors.d.ts +53 -0
  73. package/dist/herdr/errors.js +87 -0
  74. package/dist/herdr/generated/entries/admin.d.ts +2 -0
  75. package/dist/herdr/generated/entries/admin.js +5 -0
  76. package/dist/herdr/generated/entries/client.d.ts +2 -0
  77. package/dist/herdr/generated/entries/client.js +5 -0
  78. package/dist/herdr/generated/entries/held.d.ts +2 -0
  79. package/dist/herdr/generated/entries/held.js +5 -0
  80. package/dist/herdr/generated/entries/prompt.d.ts +2 -0
  81. package/dist/herdr/generated/entries/prompt.js +5 -0
  82. package/dist/herdr/generated/entries/read-only-content.d.ts +2 -0
  83. package/dist/herdr/generated/entries/read-only-content.js +5 -0
  84. package/dist/herdr/generated/entries/read-only.d.ts +2 -0
  85. package/dist/herdr/generated/entries/read-only.js +5 -0
  86. package/dist/herdr/generated/entry-methods.d.ts +9 -0
  87. package/dist/herdr/generated/entry-methods.js +17 -0
  88. package/dist/herdr/generated/errors.d.ts +4 -0
  89. package/dist/herdr/generated/errors.js +3 -0
  90. package/dist/herdr/generated/events.d.ts +274 -0
  91. package/dist/herdr/generated/events.js +3 -0
  92. package/dist/herdr/generated/index.d.ts +20 -0
  93. package/dist/herdr/generated/index.js +19 -0
  94. package/dist/herdr/generated/method-table.d.ts +615 -0
  95. package/dist/herdr/generated/method-table.js +106 -0
  96. package/dist/herdr/generated/names/agent-status.d.ts +10 -0
  97. package/dist/herdr/generated/names/agent-status.js +10 -0
  98. package/dist/herdr/generated/names/capability-class.d.ts +14 -0
  99. package/dist/herdr/generated/names/capability-class.js +15 -0
  100. package/dist/herdr/generated/names/event-kind.d.ts +31 -0
  101. package/dist/herdr/generated/names/event-kind.js +31 -0
  102. package/dist/herdr/generated/names/event-match-kind.d.ts +23 -0
  103. package/dist/herdr/generated/names/event-match-kind.js +24 -0
  104. package/dist/herdr/generated/names/index.d.ts +10 -0
  105. package/dist/herdr/generated/names/index.js +12 -0
  106. package/dist/herdr/generated/names/method.d.ts +209 -0
  107. package/dist/herdr/generated/names/method.js +209 -0
  108. package/dist/herdr/generated/names/result-tag.d.ts +68 -0
  109. package/dist/herdr/generated/names/result-tag.js +68 -0
  110. package/dist/herdr/generated/names/server-capability.d.ts +10 -0
  111. package/dist/herdr/generated/names/server-capability.js +11 -0
  112. package/dist/herdr/generated/names/subscription-event-kind.d.ts +8 -0
  113. package/dist/herdr/generated/names/subscription-event-kind.js +8 -0
  114. package/dist/herdr/generated/names/subscription-type.d.ts +31 -0
  115. package/dist/herdr/generated/names/subscription-type.js +32 -0
  116. package/dist/herdr/generated/names/token-name-pattern.d.ts +2 -0
  117. package/dist/herdr/generated/names/token-name-pattern.js +4 -0
  118. package/dist/herdr/generated/namespaces.d.ts +785 -0
  119. package/dist/herdr/generated/namespaces.js +3 -0
  120. package/dist/herdr/generated/overrides.d.ts +33 -0
  121. package/dist/herdr/generated/overrides.js +20 -0
  122. package/dist/herdr/generated/params.d.ts +799 -0
  123. package/dist/herdr/generated/params.js +3 -0
  124. package/dist/herdr/generated/preset-methods.d.ts +4 -0
  125. package/dist/herdr/generated/preset-methods.js +7 -0
  126. package/dist/herdr/generated/presets/sessions-reader.d.ts +2 -0
  127. package/dist/herdr/generated/presets/sessions-reader.js +5 -0
  128. package/dist/herdr/generated/results.d.ts +978 -0
  129. package/dist/herdr/generated/results.js +52 -0
  130. package/dist/herdr/generated/test-data/defaults.d.ts +739 -0
  131. package/dist/herdr/generated/test-data/defaults.js +741 -0
  132. package/dist/herdr/generated/test-data/shapes.d.ts +1325 -0
  133. package/dist/herdr/generated/test-data/shapes.js +2245 -0
  134. package/dist/herdr/test-kit/fake-herdr.d.ts +13 -0
  135. package/dist/herdr/test-kit/fake-herdr.js +216 -0
  136. package/dist/herdr/test-kit/fake-protocol.d.ts +107 -0
  137. package/dist/herdr/test-kit/fake-protocol.js +436 -0
  138. package/dist/herdr/test-kit/types.d.ts +88 -0
  139. package/dist/herdr/test-kit/types.js +1 -0
  140. package/dist/herdr/wire/codec.d.ts +36 -0
  141. package/dist/herdr/wire/codec.js +62 -0
  142. package/dist/herdr/wire/connection.d.ts +13 -0
  143. package/dist/herdr/wire/connection.js +65 -0
  144. package/dist/herdr/wire/dedicated.d.ts +2 -0
  145. package/dist/herdr/wire/dedicated.js +238 -0
  146. package/dist/herdr/wire/push-decoder.d.ts +2 -0
  147. package/dist/herdr/wire/push-decoder.js +40 -0
  148. package/dist/herdr/wire/rpc.d.ts +3 -0
  149. package/dist/herdr/wire/rpc.js +141 -0
  150. package/dist/herdr/wire/socket-path.d.ts +8 -0
  151. package/dist/herdr/wire/socket-path.js +23 -0
  152. package/dist/herdr/wire/types.d.ts +78 -0
  153. package/dist/herdr/wire/types.js +1 -0
  154. package/dist/index.d.ts +11 -0
  155. package/dist/index.js +7 -0
  156. package/dist/read-only.d.ts +5 -0
  157. package/dist/read-only.js +6 -0
  158. package/dist/schema.d.ts +5 -0
  159. package/dist/schema.js +6 -0
  160. package/dist/test-kit.d.ts +2 -0
  161. package/dist/test-kit.js +3 -0
  162. package/docs/api/events.md +43 -0
  163. package/docs/api/methods.md +232 -0
  164. package/package.json +112 -4
  165. package/schema/herdr-api.schema.json +10759 -0
  166. package/schema/herdr-version.json +5 -0
  167. package/skills/herdr-sdk/SKILL.md +75 -0
  168. package/skills/herdr-sdk/references/api-map.md +28 -0
  169. package/skills/herdr-sdk/references/errors.md +19 -0
  170. package/skills/herdr-sdk/references/recipes.md +171 -0
  171. package/skills/herdr-sdk/references/versions.md +7 -0
@@ -0,0 +1,274 @@
1
+ export type AgentSessionInfo = {
2
+ "agent": string;
3
+ "kind": AgentSessionRefKind;
4
+ "source": string;
5
+ "value": string;
6
+ };
7
+ export type AgentSessionRefKind = "id" | "path";
8
+ export type AgentStatus = "idle" | "working" | "blocked" | "done" | "unknown";
9
+ export type EventData = ({
10
+ "type": "workspace_created";
11
+ "workspace": WorkspaceInfo;
12
+ }) | ({
13
+ "type": "workspace_updated";
14
+ "workspace": WorkspaceInfo;
15
+ }) | ({
16
+ "type": "workspace_metadata_updated";
17
+ "workspace": WorkspaceInfo;
18
+ }) | ({
19
+ "type": "workspace_closed";
20
+ "workspace"?: (WorkspaceInfo) | (null);
21
+ "workspace_id": string;
22
+ }) | ({
23
+ "label": string;
24
+ "type": "workspace_renamed";
25
+ "workspace_id": string;
26
+ }) | ({
27
+ "insert_index": number;
28
+ "type": "workspace_moved";
29
+ "workspace_id": string;
30
+ "workspaces": Array<WorkspaceInfo>;
31
+ }) | ({
32
+ "before_workspace_id"?: string | null;
33
+ "type": "workspace_reordered";
34
+ "workspace_ids": Array<string>;
35
+ "workspaces": Array<WorkspaceInfo>;
36
+ }) | ({
37
+ "type": "workspace_focused";
38
+ "workspace_id": string;
39
+ }) | ({
40
+ "type": "worktree_created";
41
+ "workspace": WorkspaceInfo;
42
+ "worktree": WorktreeInfo;
43
+ }) | ({
44
+ "already_open": boolean;
45
+ "type": "worktree_opened";
46
+ "workspace": WorkspaceInfo;
47
+ "worktree": WorktreeInfo;
48
+ }) | ({
49
+ "forced": boolean;
50
+ "type": "worktree_removed";
51
+ "workspace"?: (WorkspaceInfo) | (null);
52
+ "workspace_id": string;
53
+ "worktree": WorktreeInfo;
54
+ }) | ({
55
+ "tab": TabInfo;
56
+ "type": "tab_created";
57
+ }) | ({
58
+ "tab_id": string;
59
+ "type": "tab_closed";
60
+ "workspace_id": string;
61
+ }) | ({
62
+ "label": string;
63
+ "tab_id": string;
64
+ "type": "tab_renamed";
65
+ "workspace_id": string;
66
+ }) | ({
67
+ "insert_index": number;
68
+ "tab_id": string;
69
+ "tabs": Array<TabInfo>;
70
+ "type": "tab_moved";
71
+ "workspace_id": string;
72
+ }) | ({
73
+ "tab_id": string;
74
+ "type": "tab_focused";
75
+ "workspace_id": string;
76
+ }) | ({
77
+ "pane": PaneInfo;
78
+ "type": "pane_created";
79
+ }) | ({
80
+ "pane_id": string;
81
+ "type": "pane_closed";
82
+ "workspace_id": string;
83
+ }) | ({
84
+ "pane": PaneInfo;
85
+ "type": "pane_updated";
86
+ }) | ({
87
+ "pane_id": string;
88
+ "type": "pane_focused";
89
+ "workspace_id": string;
90
+ }) | ({
91
+ "closed_tab_id"?: string | null;
92
+ "closed_workspace_id"?: string | null;
93
+ "created_tab"?: (TabInfo) | (null);
94
+ "created_workspace"?: (WorkspaceInfo) | (null);
95
+ "pane": PaneInfo;
96
+ "previous_pane_id": string;
97
+ "previous_tab_id": string;
98
+ "previous_workspace_id": string;
99
+ "type": "pane_moved";
100
+ }) | ({
101
+ "pane_id": string; /** uint64: values above 2^53 lose precision */
102
+ "revision": number;
103
+ "type": "pane_output_changed";
104
+ "workspace_id": string;
105
+ }) | ({
106
+ "pane_id": string;
107
+ "type": "pane_exited";
108
+ "workspace_id": string;
109
+ }) | ({
110
+ "agent"?: string | null;
111
+ "final_status"?: (AgentStatus) | (null);
112
+ "pane_id": string;
113
+ "released"?: boolean;
114
+ "type": "pane_agent_detected";
115
+ "workspace_id": string;
116
+ }) | ({
117
+ "agent"?: string | null;
118
+ "agent_status": AgentStatus;
119
+ "display_agent"?: string | null;
120
+ "pane_id": string;
121
+ "state_labels"?: {
122
+ [key: string]: string;
123
+ };
124
+ "title"?: string | null;
125
+ "type": "pane_agent_status_changed";
126
+ "workspace_id": string;
127
+ }) | ({
128
+ "layout": PaneLayoutSnapshot;
129
+ "type": "layout_updated";
130
+ });
131
+ export type EventKind = "workspace_created" | "workspace_updated" | "workspace_metadata_updated" | "workspace_closed" | "workspace_renamed" | "workspace_moved" | "workspace_reordered" | "workspace_focused" | "worktree_created" | "worktree_opened" | "worktree_removed" | "tab_created" | "tab_closed" | "tab_renamed" | "tab_moved" | "tab_focused" | "pane_created" | "pane_closed" | "pane_updated" | "pane_focused" | "pane_moved" | "pane_output_changed" | "pane_exited" | "pane_agent_detected" | "pane_agent_status_changed" | "layout_updated";
132
+ export type PaneInfo = {
133
+ "agent"?: string | null;
134
+ "agent_session"?: (AgentSessionInfo) | (null);
135
+ "agent_status": AgentStatus;
136
+ "cwd"?: string | null;
137
+ "display_agent"?: string | null;
138
+ "focused": boolean;
139
+ "foreground_cwd"?: string | null;
140
+ "label"?: string | null;
141
+ "pane_id": string;
142
+ "restore_error"?: string | null; /** uint64: values above 2^53 lose precision */
143
+ "revision": number;
144
+ "scroll"?: (PaneScrollInfo) | (null);
145
+ "state_labels"?: {
146
+ [key: string]: string;
147
+ };
148
+ "tab_id": string;
149
+ "terminal_id": string;
150
+ "terminal_title"?: string | null;
151
+ "terminal_title_stripped"?: string | null;
152
+ "title"?: string | null; /** keys match ^[A-Za-z0-9_-]{1,32}$ */
153
+ "tokens"?: {
154
+ [key: string]: string;
155
+ };
156
+ "workspace_id": string;
157
+ };
158
+ export type PaneLayoutPane = {
159
+ "focused": boolean;
160
+ "pane_id": string;
161
+ "rect": PaneLayoutRect;
162
+ };
163
+ export type PaneLayoutRect = {
164
+ "height": number;
165
+ "width": number;
166
+ "x": number;
167
+ "y": number;
168
+ };
169
+ export type PaneLayoutSnapshot = {
170
+ "area": PaneLayoutRect;
171
+ "focused_pane_id": string;
172
+ "panes": Array<PaneLayoutPane>;
173
+ "splits": Array<PaneLayoutSplit>;
174
+ "tab_id": string;
175
+ "workspace_id": string;
176
+ "zoomed": boolean;
177
+ };
178
+ export type PaneLayoutSplit = {
179
+ "direction": SplitDirection;
180
+ "id": string;
181
+ "ratio": number;
182
+ "rect": PaneLayoutRect;
183
+ };
184
+ export type PaneScrollInfo = {
185
+ "max_offset_from_bottom": number; /** uint64: values above 2^53 lose precision */
186
+ "offset_from_bottom": number; /** uint64: values above 2^53 lose precision */
187
+ "viewport_rows": number;
188
+ };
189
+ export type SplitDirection = "right" | "down";
190
+ export type TabInfo = {
191
+ "agent_status": AgentStatus;
192
+ "focused": boolean;
193
+ "label": string;
194
+ "number": number;
195
+ "pane_count": number;
196
+ "tab_id": string;
197
+ "workspace_id": string;
198
+ };
199
+ export type WorkspaceInfo = {
200
+ "active_tab_id": string;
201
+ "agent_status": AgentStatus;
202
+ "focused": boolean;
203
+ "label": string;
204
+ "number": number;
205
+ "pane_count": number;
206
+ "tab_count": number; /** keys match ^[A-Za-z0-9_-]{1,32}$ */
207
+ "tokens"?: {
208
+ [key: string]: string;
209
+ };
210
+ "workspace_id": string;
211
+ "worktree"?: (WorkspaceWorktreeInfo) | (null);
212
+ };
213
+ export type WorkspaceWorktreeInfo = {
214
+ "checkout_path": string;
215
+ "is_linked_worktree": boolean;
216
+ "repo_key": string;
217
+ "repo_name": string;
218
+ "repo_root": string;
219
+ };
220
+ export type WorktreeInfo = {
221
+ "branch"?: string | null;
222
+ "is_bare": boolean;
223
+ "is_detached": boolean;
224
+ "is_linked_worktree": boolean;
225
+ "is_prunable": boolean;
226
+ "label": string;
227
+ "open_workspace_id"?: string | null;
228
+ "path": string;
229
+ };
230
+ export type PaneAgentStatusChangedEvent = {
231
+ "agent"?: string | null;
232
+ "agent_status": AgentStatus;
233
+ "display_agent"?: string | null;
234
+ "pane_id": string;
235
+ "state_labels"?: {
236
+ [key: string]: string;
237
+ };
238
+ "title"?: string | null;
239
+ "workspace_id": string;
240
+ };
241
+ export type PaneOutputMatchedEvent = {
242
+ "matched_line": string;
243
+ "pane_id": string;
244
+ "read": PaneReadResult;
245
+ };
246
+ export type PaneReadResult = {
247
+ "format": ReadFormat;
248
+ "pane_id": string; /** uint64: values above 2^53 lose precision */
249
+ "revision": number;
250
+ "source": ReadSource;
251
+ "tab_id": string;
252
+ "text": string;
253
+ "truncated": boolean;
254
+ "workspace_id": string;
255
+ };
256
+ export type PaneScrollChangedEvent = {
257
+ "pane_id": string;
258
+ "scroll": PaneScrollInfo;
259
+ "workspace_id": string;
260
+ };
261
+ export type ReadFormat = "text" | "ansi";
262
+ export type ReadSource = "visible" | "recent" | "recent_unwrapped" | "detection";
263
+ export type SubscriptionEventData = (PaneOutputMatchedEvent) | (PaneAgentStatusChangedEvent) | (PaneScrollChangedEvent);
264
+ export type SubscriptionEventKind = "pane.output_matched" | "pane.agent_status_changed" | "pane.scroll_changed";
265
+ export type EventFrame = {
266
+ event: EventKind;
267
+ data: EventData;
268
+ };
269
+ export type SubscriptionEventFrame = {
270
+ event: SubscriptionEventKind;
271
+ data: SubscriptionEventData;
272
+ };
273
+ /** Any frame that can arrive on a subscription connection after the ack. */
274
+ export type PushFrame = EventFrame | SubscriptionEventFrame;
@@ -0,0 +1,3 @@
1
+ // GENERATED by tools/gen/ from schema/herdr-api.schema.json. Do not edit.
2
+ // herdr protocol 22, schema_version 1.
3
+ export {};
@@ -0,0 +1,20 @@
1
+ export * as params from './params.js';
2
+ export * as results from './results.js';
3
+ export * as errors from './errors.js';
4
+ export * as events from './events.js';
5
+ export { METHODS } from './method-table.js';
6
+ export { METHOD_RESULT } from './results.js';
7
+ export type { MethodParams, Subscription } from './params.js';
8
+ export type { ResponseResult, ResultByTag } from './results.js';
9
+ export type { ErrorBody } from './errors.js';
10
+ export type { EventFrame, SubscriptionEventFrame, PushFrame } from './events.js';
11
+ export { Method, EventKind, SubscriptionEventKind, SubscriptionType, EventMatchKind, ResultTag, AgentStatus, CapabilityClass, ServerCapability, TOKEN_NAME_PATTERN, } from './names/index.js';
12
+ export { ENTRY_METHODS } from './entry-methods.js';
13
+ export { PRESET_METHODS } from './preset-methods.js';
14
+ export { DEFAULT_RESULT } from './test-data/defaults.js';
15
+ export { JsonKind, PARAMS_SHAPE } from './test-data/shapes.js';
16
+ export type { FieldShape, ParamsShape } from './test-data/shapes.js';
17
+ export { CAPABILITY_GATE, LONG_POLL, STREAM_RETURNS } from './overrides.js';
18
+ export type * from './namespaces.js';
19
+ export declare const PROTOCOL: 22;
20
+ export declare const SCHEMA_VERSION: 1;
@@ -0,0 +1,19 @@
1
+ // GENERATED by tools/gen/ from schema/herdr-api.schema.json. Do not edit.
2
+ // herdr protocol 22, schema_version 1.
3
+ // Each schema namespace is its own module: type names such as PaneInfo, TabInfo
4
+ // and WorkspaceInfo are defined DIFFERENTLY in the event and response namespaces,
5
+ // so a flat merge would be wrong, not just ambiguous.
6
+ export * as params from './params.js';
7
+ export * as results from './results.js';
8
+ export * as errors from './errors.js';
9
+ export * as events from './events.js';
10
+ export { METHODS } from './method-table.js';
11
+ export { METHOD_RESULT } from './results.js';
12
+ export { Method, EventKind, SubscriptionEventKind, SubscriptionType, EventMatchKind, ResultTag, AgentStatus, CapabilityClass, ServerCapability, TOKEN_NAME_PATTERN, } from './names/index.js';
13
+ export { ENTRY_METHODS } from './entry-methods.js';
14
+ export { PRESET_METHODS } from './preset-methods.js';
15
+ export { DEFAULT_RESULT } from './test-data/defaults.js';
16
+ export { JsonKind, PARAMS_SHAPE } from './test-data/shapes.js';
17
+ export { CAPABILITY_GATE, LONG_POLL, STREAM_RETURNS } from './overrides.js';
18
+ export const PROTOCOL = 22;
19
+ export const SCHEMA_VERSION = 1;