@agent-relay/factory 0.1.56 → 0.1.58

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 (141) hide show
  1. package/README.md +148 -2
  2. package/dist/cli/fleet.d.ts +13 -0
  3. package/dist/cli/fleet.d.ts.map +1 -1
  4. package/dist/cli/fleet.js +431 -103
  5. package/dist/cli/fleet.js.map +1 -1
  6. package/dist/config/schema.d.ts +1107 -348
  7. package/dist/config/schema.d.ts.map +1 -1
  8. package/dist/config/schema.js +67 -6
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/cost/index.d.ts +3 -0
  11. package/dist/cost/index.d.ts.map +1 -0
  12. package/dist/cost/index.js +3 -0
  13. package/dist/cost/index.js.map +1 -0
  14. package/dist/cost/ledger.d.ts +69 -0
  15. package/dist/cost/ledger.d.ts.map +1 -0
  16. package/dist/cost/ledger.js +162 -0
  17. package/dist/cost/ledger.js.map +1 -0
  18. package/dist/cost/pricing.d.ts +18 -0
  19. package/dist/cost/pricing.d.ts.map +1 -0
  20. package/dist/cost/pricing.js +54 -0
  21. package/dist/cost/pricing.js.map +1 -0
  22. package/dist/feature-guardian/conversation.d.ts +251 -0
  23. package/dist/feature-guardian/conversation.d.ts.map +1 -0
  24. package/dist/feature-guardian/conversation.js +1893 -0
  25. package/dist/feature-guardian/conversation.js.map +1 -0
  26. package/dist/feature-guardian/index.d.ts +2 -0
  27. package/dist/feature-guardian/index.d.ts.map +1 -0
  28. package/dist/feature-guardian/index.js +2 -0
  29. package/dist/feature-guardian/index.js.map +1 -0
  30. package/dist/fleet/internal-fleet-client.d.ts +3 -1
  31. package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
  32. package/dist/fleet/internal-fleet-client.js +81 -0
  33. package/dist/fleet/internal-fleet-client.js.map +1 -1
  34. package/dist/fleet/relay-fleet-client.d.ts +3 -1
  35. package/dist/fleet/relay-fleet-client.d.ts.map +1 -1
  36. package/dist/fleet/relay-fleet-client.js +48 -0
  37. package/dist/fleet/relay-fleet-client.js.map +1 -1
  38. package/dist/github/index.d.ts +2 -0
  39. package/dist/github/index.d.ts.map +1 -1
  40. package/dist/github/index.js +1 -0
  41. package/dist/github/index.js.map +1 -1
  42. package/dist/github/routed-pr-babysitter.d.ts +48 -0
  43. package/dist/github/routed-pr-babysitter.d.ts.map +1 -0
  44. package/dist/github/routed-pr-babysitter.js +197 -0
  45. package/dist/github/routed-pr-babysitter.js.map +1 -0
  46. package/dist/hosted/index.d.ts +1 -1
  47. package/dist/hosted/index.d.ts.map +1 -1
  48. package/dist/hosted/index.js +1 -1
  49. package/dist/hosted/index.js.map +1 -1
  50. package/dist/hosted/orchestrator.d.ts +1 -0
  51. package/dist/hosted/orchestrator.d.ts.map +1 -1
  52. package/dist/hosted/orchestrator.js +190 -1
  53. package/dist/hosted/orchestrator.js.map +1 -1
  54. package/dist/hosted/types.d.ts +4 -0
  55. package/dist/hosted/types.d.ts.map +1 -1
  56. package/dist/index.d.ts +8 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +5 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/intake/index.d.ts +4 -0
  61. package/dist/intake/index.d.ts.map +1 -0
  62. package/dist/intake/index.js +4 -0
  63. package/dist/intake/index.js.map +1 -0
  64. package/dist/intake/notion-relay-claim.d.ts +32 -0
  65. package/dist/intake/notion-relay-claim.d.ts.map +1 -0
  66. package/dist/intake/notion-relay-claim.js +173 -0
  67. package/dist/intake/notion-relay-claim.js.map +1 -0
  68. package/dist/intake/notion-relay-contract.d.ts +33 -0
  69. package/dist/intake/notion-relay-contract.d.ts.map +1 -0
  70. package/dist/intake/notion-relay-contract.js +163 -0
  71. package/dist/intake/notion-relay-contract.js.map +1 -0
  72. package/dist/intake/notion.d.ts +375 -0
  73. package/dist/intake/notion.d.ts.map +1 -0
  74. package/dist/intake/notion.js +773 -0
  75. package/dist/intake/notion.js.map +1 -0
  76. package/dist/mount/github-api-issue-read.d.ts +28 -0
  77. package/dist/mount/github-api-issue-read.d.ts.map +1 -0
  78. package/dist/mount/github-api-issue-read.js +163 -0
  79. package/dist/mount/github-api-issue-read.js.map +1 -0
  80. package/dist/mount/local-mount-preflight.d.ts +2 -0
  81. package/dist/mount/local-mount-preflight.d.ts.map +1 -1
  82. package/dist/mount/local-mount-preflight.js +59 -9
  83. package/dist/mount/local-mount-preflight.js.map +1 -1
  84. package/dist/mount/mount-auth-error.d.ts +41 -0
  85. package/dist/mount/mount-auth-error.d.ts.map +1 -0
  86. package/dist/mount/mount-auth-error.js +94 -0
  87. package/dist/mount/mount-auth-error.js.map +1 -0
  88. package/dist/mount/relayfile-binary.d.ts +5 -0
  89. package/dist/mount/relayfile-binary.d.ts.map +1 -1
  90. package/dist/mount/relayfile-binary.js +16 -2
  91. package/dist/mount/relayfile-binary.js.map +1 -1
  92. package/dist/mount/relayfile-cloud-mount-client.d.ts +18 -3
  93. package/dist/mount/relayfile-cloud-mount-client.d.ts.map +1 -1
  94. package/dist/mount/relayfile-cloud-mount-client.js +157 -13
  95. package/dist/mount/relayfile-cloud-mount-client.js.map +1 -1
  96. package/dist/mount/workspace-mirror.d.ts +13 -0
  97. package/dist/mount/workspace-mirror.d.ts.map +1 -0
  98. package/dist/mount/workspace-mirror.js +94 -0
  99. package/dist/mount/workspace-mirror.js.map +1 -0
  100. package/dist/observability/events.d.ts +715 -47
  101. package/dist/observability/events.d.ts.map +1 -1
  102. package/dist/observability/events.js +41 -0
  103. package/dist/observability/events.js.map +1 -1
  104. package/dist/orchestrator/factory.d.ts +51 -0
  105. package/dist/orchestrator/factory.d.ts.map +1 -1
  106. package/dist/orchestrator/factory.js +574 -50
  107. package/dist/orchestrator/factory.js.map +1 -1
  108. package/dist/ports/fleet.d.ts +11 -0
  109. package/dist/ports/fleet.d.ts.map +1 -1
  110. package/dist/ports/index.d.ts +2 -2
  111. package/dist/ports/index.d.ts.map +1 -1
  112. package/dist/ports/mount.d.ts +58 -1
  113. package/dist/ports/mount.d.ts.map +1 -1
  114. package/dist/ports/state.d.ts +42 -5
  115. package/dist/ports/state.d.ts.map +1 -1
  116. package/dist/state/file-state-store.d.ts +10 -1
  117. package/dist/state/file-state-store.d.ts.map +1 -1
  118. package/dist/state/file-state-store.js +91 -0
  119. package/dist/state/file-state-store.js.map +1 -1
  120. package/dist/state/in-memory-state-store.d.ts +10 -1
  121. package/dist/state/in-memory-state-store.d.ts.map +1 -1
  122. package/dist/state/in-memory-state-store.js +43 -0
  123. package/dist/state/in-memory-state-store.js.map +1 -1
  124. package/dist/telemetry.d.ts +9 -0
  125. package/dist/telemetry.d.ts.map +1 -0
  126. package/dist/telemetry.js +8 -0
  127. package/dist/telemetry.js.map +1 -0
  128. package/dist/testing/fakes.d.ts +8 -1
  129. package/dist/testing/fakes.d.ts.map +1 -1
  130. package/dist/testing/fakes.js +18 -0
  131. package/dist/testing/fakes.js.map +1 -1
  132. package/dist/triage/schema.d.ts +175 -42
  133. package/dist/triage/schema.d.ts.map +1 -1
  134. package/dist/triage/schema.js +19 -0
  135. package/dist/triage/schema.js.map +1 -1
  136. package/dist/types.d.ts +33 -0
  137. package/dist/types.d.ts.map +1 -1
  138. package/dist/writeback/github.d.ts.map +1 -1
  139. package/dist/writeback/github.js +39 -0
  140. package/dist/writeback/github.js.map +1 -1
  141. package/package.json +15 -2
@@ -0,0 +1,375 @@
1
+ import { z } from 'zod';
2
+ declare const recipeSchema: z.ZodEnum<["single", "workflow", "team"]>;
3
+ declare const targetSchema: z.ZodUnion<[z.ZodObject<{
4
+ repo: z.ZodString;
5
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ publicSummary: z.ZodOptional<z.ZodString>;
7
+ }, "strict", z.ZodTypeAny, {
8
+ labels: string[];
9
+ repo: string;
10
+ publicSummary?: string | undefined;
11
+ }, {
12
+ repo: string;
13
+ labels?: string[] | undefined;
14
+ publicSummary?: string | undefined;
15
+ }>, z.ZodObject<{
16
+ projectPath: z.ZodEffects<z.ZodString, string, string>;
17
+ node: z.ZodOptional<z.ZodString>;
18
+ }, "strict", z.ZodTypeAny, {
19
+ projectPath: string;
20
+ node?: string | undefined;
21
+ }, {
22
+ projectPath: string;
23
+ node?: string | undefined;
24
+ }>]>;
25
+ declare const contractDeliverySchema: z.ZodObject<{
26
+ kind: z.ZodLiteral<"relay-channel">;
27
+ channel: z.ZodString;
28
+ messageIds: z.ZodArray<z.ZodString, "many">;
29
+ encoding: z.ZodLiteral<"base64-chunks-v1">;
30
+ }, "strict", z.ZodTypeAny, {
31
+ kind: "relay-channel";
32
+ channel: string;
33
+ encoding: "base64-chunks-v1";
34
+ messageIds: string[];
35
+ }, {
36
+ kind: "relay-channel";
37
+ channel: string;
38
+ encoding: "base64-chunks-v1";
39
+ messageIds: string[];
40
+ }>;
41
+ declare const manifestSchema: z.ZodObject<{
42
+ version: z.ZodLiteral<1>;
43
+ mountRoot: z.ZodDefault<z.ZodString>;
44
+ workerMountRoot: z.ZodDefault<z.ZodString>;
45
+ workerMountTransport: z.ZodDefault<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
46
+ kind: z.ZodLiteral<"local">;
47
+ }, "strict", z.ZodTypeAny, {
48
+ kind: "local";
49
+ }, {
50
+ kind: "local";
51
+ }>, z.ZodObject<{
52
+ kind: z.ZodLiteral<"relay-channel">;
53
+ }, "strict", z.ZodTypeAny, {
54
+ kind: "relay-channel";
55
+ }, {
56
+ kind: "relay-channel";
57
+ }>]>>;
58
+ statePath: z.ZodDefault<z.ZodString>;
59
+ tasks: z.ZodArray<z.ZodObject<{
60
+ page: z.ZodString;
61
+ bootstrap: z.ZodOptional<z.ZodObject<{
62
+ authorizedPageId: z.ZodString;
63
+ reason: z.ZodString;
64
+ status: z.ZodLiteral<"ready">;
65
+ title: z.ZodString;
66
+ recipe: z.ZodEnum<["single", "workflow", "team"]>;
67
+ summary: z.ZodString;
68
+ targets: z.ZodArray<z.ZodUnion<[z.ZodObject<{
69
+ repo: z.ZodString;
70
+ labels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
71
+ publicSummary: z.ZodOptional<z.ZodString>;
72
+ }, "strict", z.ZodTypeAny, {
73
+ labels: string[];
74
+ repo: string;
75
+ publicSummary?: string | undefined;
76
+ }, {
77
+ repo: string;
78
+ labels?: string[] | undefined;
79
+ publicSummary?: string | undefined;
80
+ }>, z.ZodObject<{
81
+ projectPath: z.ZodEffects<z.ZodString, string, string>;
82
+ node: z.ZodOptional<z.ZodString>;
83
+ }, "strict", z.ZodTypeAny, {
84
+ projectPath: string;
85
+ node?: string | undefined;
86
+ }, {
87
+ projectPath: string;
88
+ node?: string | undefined;
89
+ }>]>, "many">;
90
+ }, "strict", z.ZodTypeAny, {
91
+ status: "ready";
92
+ recipe: "workflow" | "team" | "single";
93
+ reason: string;
94
+ title: string;
95
+ targets: ({
96
+ labels: string[];
97
+ repo: string;
98
+ publicSummary?: string | undefined;
99
+ } | {
100
+ projectPath: string;
101
+ node?: string | undefined;
102
+ })[];
103
+ summary: string;
104
+ authorizedPageId: string;
105
+ }, {
106
+ status: "ready";
107
+ recipe: "workflow" | "team" | "single";
108
+ reason: string;
109
+ title: string;
110
+ targets: ({
111
+ repo: string;
112
+ labels?: string[] | undefined;
113
+ publicSummary?: string | undefined;
114
+ } | {
115
+ projectPath: string;
116
+ node?: string | undefined;
117
+ })[];
118
+ summary: string;
119
+ authorizedPageId: string;
120
+ }>>;
121
+ }, "strict", z.ZodTypeAny, {
122
+ page: string;
123
+ bootstrap?: {
124
+ status: "ready";
125
+ recipe: "workflow" | "team" | "single";
126
+ reason: string;
127
+ title: string;
128
+ targets: ({
129
+ labels: string[];
130
+ repo: string;
131
+ publicSummary?: string | undefined;
132
+ } | {
133
+ projectPath: string;
134
+ node?: string | undefined;
135
+ })[];
136
+ summary: string;
137
+ authorizedPageId: string;
138
+ } | undefined;
139
+ }, {
140
+ page: string;
141
+ bootstrap?: {
142
+ status: "ready";
143
+ recipe: "workflow" | "team" | "single";
144
+ reason: string;
145
+ title: string;
146
+ targets: ({
147
+ repo: string;
148
+ labels?: string[] | undefined;
149
+ publicSummary?: string | undefined;
150
+ } | {
151
+ projectPath: string;
152
+ node?: string | undefined;
153
+ })[];
154
+ summary: string;
155
+ authorizedPageId: string;
156
+ } | undefined;
157
+ }>, "many">;
158
+ }, "strict", z.ZodTypeAny, {
159
+ version: 1;
160
+ mountRoot: string;
161
+ tasks: {
162
+ page: string;
163
+ bootstrap?: {
164
+ status: "ready";
165
+ recipe: "workflow" | "team" | "single";
166
+ reason: string;
167
+ title: string;
168
+ targets: ({
169
+ labels: string[];
170
+ repo: string;
171
+ publicSummary?: string | undefined;
172
+ } | {
173
+ projectPath: string;
174
+ node?: string | undefined;
175
+ })[];
176
+ summary: string;
177
+ authorizedPageId: string;
178
+ } | undefined;
179
+ }[];
180
+ workerMountRoot: string;
181
+ workerMountTransport: {
182
+ kind: "local";
183
+ } | {
184
+ kind: "relay-channel";
185
+ };
186
+ statePath: string;
187
+ }, {
188
+ version: 1;
189
+ tasks: {
190
+ page: string;
191
+ bootstrap?: {
192
+ status: "ready";
193
+ recipe: "workflow" | "team" | "single";
194
+ reason: string;
195
+ title: string;
196
+ targets: ({
197
+ repo: string;
198
+ labels?: string[] | undefined;
199
+ publicSummary?: string | undefined;
200
+ } | {
201
+ projectPath: string;
202
+ node?: string | undefined;
203
+ })[];
204
+ summary: string;
205
+ authorizedPageId: string;
206
+ } | undefined;
207
+ }[];
208
+ mountRoot?: string | undefined;
209
+ workerMountRoot?: string | undefined;
210
+ workerMountTransport?: {
211
+ kind: "local";
212
+ } | {
213
+ kind: "relay-channel";
214
+ } | undefined;
215
+ statePath?: string | undefined;
216
+ }>;
217
+ export type NotionRecipe = z.infer<typeof recipeSchema>;
218
+ export type NotionIntakeTarget = z.infer<typeof targetSchema>;
219
+ export type NotionIntakeManifest = z.infer<typeof manifestSchema>;
220
+ export interface NormalizedNotionTask {
221
+ pageId: string;
222
+ sourceKey: string;
223
+ sourcePath: string;
224
+ workerSourcePath: string;
225
+ content: string;
226
+ authorizationDigestInput?: string;
227
+ contentDigest: string;
228
+ digest: string;
229
+ title: string;
230
+ summary: string;
231
+ recipe: NotionRecipe;
232
+ target: NotionIntakeTarget;
233
+ bootstrap: boolean;
234
+ }
235
+ export interface ExistingGithubIssue {
236
+ number: number;
237
+ url: string;
238
+ body: string;
239
+ }
240
+ export interface GithubIssuePublisher {
241
+ repositoryVisibility(repo: string): Promise<'public' | 'private' | 'internal'>;
242
+ missingLabels(repo: string, labels: readonly string[]): Promise<string[]>;
243
+ findBySource(repo: string, sourceKey: string): Promise<ExistingGithubIssue | undefined>;
244
+ createIssue(input: {
245
+ repo: string;
246
+ title: string;
247
+ body: string;
248
+ labels: readonly string[];
249
+ }): Promise<{
250
+ number: number;
251
+ url: string;
252
+ }>;
253
+ updateIssue(input: {
254
+ repo: string;
255
+ number: number;
256
+ body: string;
257
+ }): Promise<void>;
258
+ }
259
+ export type NotionContractDelivery = z.infer<typeof contractDeliverySchema>;
260
+ export interface NotionContractPublisher {
261
+ publish(input: {
262
+ pageId: string;
263
+ sourceKey: string;
264
+ content: string;
265
+ contentDigest: string;
266
+ }): Promise<NotionContractDelivery>;
267
+ dispose?(): Promise<void>;
268
+ }
269
+ export interface NotionIntakeClaim {
270
+ sourceKey: string;
271
+ digest: string;
272
+ claimedAt: string;
273
+ }
274
+ export interface NotionIntakeClaimStore {
275
+ get(sourceKey: string): Promise<NotionIntakeClaim | undefined>;
276
+ claim(input: NotionIntakeClaim): Promise<{
277
+ status: 'claimed' | 'existing';
278
+ claim: NotionIntakeClaim;
279
+ }>;
280
+ dispose?(): Promise<void>;
281
+ }
282
+ export interface WorkspaceTaskDispatcher {
283
+ find?(name: string): Promise<{
284
+ agent: string;
285
+ node?: string;
286
+ } | undefined>;
287
+ dispatch(input: {
288
+ name: string;
289
+ invocationId: string;
290
+ node?: string;
291
+ projectPath: string;
292
+ title: string;
293
+ task: string;
294
+ }): Promise<{
295
+ agent: string;
296
+ node?: string;
297
+ status?: string;
298
+ }>;
299
+ redispatch?(input: {
300
+ name: string;
301
+ invocationId: string;
302
+ node?: string;
303
+ projectPath: string;
304
+ title: string;
305
+ task: string;
306
+ }): Promise<{
307
+ agent: string;
308
+ node?: string;
309
+ status?: string;
310
+ }>;
311
+ }
312
+ export type NotionIntakeResult = {
313
+ sourceKey: string;
314
+ pageId: string;
315
+ target: NotionIntakeTarget;
316
+ status: 'ready' | 'dispatched' | 'already-dispatched' | 'blocked';
317
+ digest: string;
318
+ issue?: {
319
+ number: number;
320
+ url: string;
321
+ };
322
+ agent?: string;
323
+ node?: string;
324
+ reason?: string;
325
+ };
326
+ export interface NotionIntakeReport {
327
+ ok: boolean;
328
+ dispatch: boolean;
329
+ results: NotionIntakeResult[];
330
+ }
331
+ /** Load and validate an operator-reviewed intake manifest with paths resolved from the manifest directory. */
332
+ export declare function loadNotionIntakeManifest(path: string): Promise<NotionIntakeManifest>;
333
+ /** Plan or execute every mounted Notion destination and return one durable result per source key. */
334
+ export declare function runNotionIntake(input: {
335
+ manifest: NotionIntakeManifest;
336
+ dispatch: boolean;
337
+ github?: GithubIssuePublisher;
338
+ workspace?: WorkspaceTaskDispatcher;
339
+ contracts?: NotionContractPublisher;
340
+ claims?: NotionIntakeClaimStore;
341
+ now?: () => Date;
342
+ }): Promise<NotionIntakeReport>;
343
+ /** Read mounted page bodies and normalize strict headers or exact bootstrap mappings into Factory tasks. */
344
+ export declare function normalizeNotionManifest(manifest: NotionIntakeManifest): Promise<NormalizedNotionTask[]>;
345
+ /** Extract one boundary-delimited Notion UUID from a bare identifier or application URL. */
346
+ export declare function normalizeNotionPageId(value: string): string;
347
+ /** Parse the fail-closed Chief Spec header at the start of a mounted Notion page. */
348
+ export declare function parseChiefSpecHeader(content: string): {
349
+ title: string;
350
+ summary: string;
351
+ recipe: NotionRecipe;
352
+ targets: NotionIntakeTarget[];
353
+ };
354
+ /** GitHub CLI publisher with shell-free arguments, bounded output, and source-marker reconciliation. */
355
+ export declare class GhCliIssuePublisher implements GithubIssuePublisher {
356
+ repositoryVisibility(repo: string): Promise<'public' | 'private' | 'internal'>;
357
+ missingLabels(repo: string, labels: readonly string[]): Promise<string[]>;
358
+ findBySource(repo: string, sourceKey: string): Promise<ExistingGithubIssue | undefined>;
359
+ createIssue(input: {
360
+ repo: string;
361
+ title: string;
362
+ body: string;
363
+ labels: readonly string[];
364
+ }): Promise<{
365
+ number: number;
366
+ url: string;
367
+ }>;
368
+ updateIssue(input: {
369
+ repo: string;
370
+ number: number;
371
+ body: string;
372
+ }): Promise<void>;
373
+ }
374
+ export {};
375
+ //# sourceMappingURL=notion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../src/intake/notion.ts"],"names":[],"mappings":"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"}