@agent-relay/factory 0.1.72 → 0.1.74
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.
- package/README.md +9 -0
- package/dist/cli/diagnose.d.ts +18 -2
- package/dist/cli/diagnose.d.ts.map +1 -1
- package/dist/cli/diagnose.js +94 -5
- package/dist/cli/diagnose.js.map +1 -1
- package/dist/cli/fleet.d.ts.map +1 -1
- package/dist/cli/fleet.js +10 -0
- package/dist/cli/fleet.js.map +1 -1
- package/dist/cli/teammate-mcp.d.ts +19 -0
- package/dist/cli/teammate-mcp.d.ts.map +1 -0
- package/dist/cli/teammate-mcp.js +102 -0
- package/dist/cli/teammate-mcp.js.map +1 -0
- package/dist/environments/load-profile.d.ts +4 -4
- package/dist/environments/stack-descriptor.d.ts +17 -17
- package/dist/environments/verification-stack-descriptor.d.ts +32 -32
- package/dist/fleet/control-plane-circuit.d.ts +10 -0
- package/dist/fleet/control-plane-circuit.d.ts.map +1 -1
- package/dist/fleet/control-plane-circuit.js +9 -1
- package/dist/fleet/control-plane-circuit.js.map +1 -1
- package/dist/fleet/create-fleet.d.ts +2 -0
- package/dist/fleet/create-fleet.d.ts.map +1 -1
- package/dist/fleet/create-fleet.js +1 -0
- package/dist/fleet/create-fleet.js.map +1 -1
- package/dist/fleet/internal-fleet-client.d.ts +29 -1
- package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
- package/dist/fleet/internal-fleet-client.js +161 -11
- package/dist/fleet/internal-fleet-client.js.map +1 -1
- package/dist/fleet/relay-fleet-client.d.ts +43 -2
- package/dist/fleet/relay-fleet-client.d.ts.map +1 -1
- package/dist/fleet/relay-fleet-client.js +264 -19
- package/dist/fleet/relay-fleet-client.js.map +1 -1
- package/dist/fleet/teammates.d.ts +46 -0
- package/dist/fleet/teammates.d.ts.map +1 -0
- package/dist/fleet/teammates.js +424 -0
- package/dist/fleet/teammates.js.map +1 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/mount/relayfile-cloud-mount-client.d.ts +4 -1
- package/dist/mount/relayfile-cloud-mount-client.d.ts.map +1 -1
- package/dist/mount/relayfile-cloud-mount-client.js +18 -6
- package/dist/mount/relayfile-cloud-mount-client.js.map +1 -1
- package/dist/mount/relayfile-github-connection-write.d.ts +3 -2
- package/dist/mount/relayfile-github-connection-write.d.ts.map +1 -1
- package/dist/mount/relayfile-github-connection-write.js +33 -0
- package/dist/mount/relayfile-github-connection-write.js.map +1 -1
- package/dist/node/factory-node-runtime.d.ts +17 -0
- package/dist/node/factory-node-runtime.d.ts.map +1 -0
- package/dist/node/factory-node-runtime.js +100 -0
- package/dist/node/factory-node-runtime.js.map +1 -0
- package/dist/node/factory-node.d.ts +10 -1
- package/dist/node/factory-node.d.ts.map +1 -1
- package/dist/node/factory-node.js +13 -2
- package/dist/node/factory-node.js.map +1 -1
- package/dist/node/factory-persona-card.d.ts +38 -0
- package/dist/node/factory-persona-card.d.ts.map +1 -0
- package/dist/node/factory-persona-card.js +163 -0
- package/dist/node/factory-persona-card.js.map +1 -0
- package/dist/node/factory.node.d.ts +1 -1
- package/dist/observability/events.d.ts +38 -38
- package/dist/orchestrator/dispatch-failure-reason.d.ts +60 -0
- package/dist/orchestrator/dispatch-failure-reason.d.ts.map +1 -0
- package/dist/orchestrator/dispatch-failure-reason.js +127 -0
- package/dist/orchestrator/dispatch-failure-reason.js.map +1 -0
- package/dist/orchestrator/factory.d.ts.map +1 -1
- package/dist/orchestrator/factory.js +1175 -103
- package/dist/orchestrator/factory.js.map +1 -1
- package/dist/orchestrator/public-health.d.ts.map +1 -1
- package/dist/orchestrator/public-health.js +152 -6
- package/dist/orchestrator/public-health.js.map +1 -1
- package/dist/orchestrator/release-error.d.ts +26 -0
- package/dist/orchestrator/release-error.d.ts.map +1 -0
- package/dist/orchestrator/release-error.js +33 -0
- package/dist/orchestrator/release-error.js.map +1 -0
- package/dist/ports/fleet.d.ts +104 -0
- package/dist/ports/fleet.d.ts.map +1 -1
- package/dist/ports/fleet.js +10 -1
- package/dist/ports/fleet.js.map +1 -1
- package/dist/ports/index.d.ts +4 -3
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/mount.d.ts +10 -2
- package/dist/ports/mount.d.ts.map +1 -1
- package/dist/ports/writeback.d.ts +45 -4
- package/dist/ports/writeback.d.ts.map +1 -1
- package/dist/state/watch-state-document.js +4 -1
- package/dist/state/watch-state-document.js.map +1 -1
- package/dist/testing/fakes.d.ts +8 -3
- package/dist/testing/fakes.d.ts.map +1 -1
- package/dist/testing/fakes.js +25 -1
- package/dist/testing/fakes.js.map +1 -1
- package/dist/triage/schema.d.ts +14 -14
- package/dist/types.d.ts +170 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/writeback/github.d.ts +17 -9
- package/dist/writeback/github.d.ts.map +1 -1
- package/dist/writeback/github.js +331 -9
- package/dist/writeback/github.js.map +1 -1
- package/dist/writeback/linear.d.ts +5 -1
- package/dist/writeback/linear.d.ts.map +1 -1
- package/dist/writeback/linear.js +89 -1
- package/dist/writeback/linear.js.map +1 -1
- package/package.json +4 -2
|
@@ -126,15 +126,15 @@ export declare const FactoryCloudInstanceV1Schema: z.ZodObject<{
|
|
|
126
126
|
arch: z.ZodOptional<z.ZodString>;
|
|
127
127
|
runtime: z.ZodOptional<z.ZodString>;
|
|
128
128
|
}, "strict", z.ZodTypeAny, {
|
|
129
|
-
mode?: string | undefined;
|
|
130
129
|
name?: string | undefined;
|
|
130
|
+
mode?: string | undefined;
|
|
131
131
|
backend?: string | undefined;
|
|
132
132
|
platform?: string | undefined;
|
|
133
133
|
arch?: string | undefined;
|
|
134
134
|
runtime?: string | undefined;
|
|
135
135
|
}, {
|
|
136
|
-
mode?: string | undefined;
|
|
137
136
|
name?: string | undefined;
|
|
137
|
+
mode?: string | undefined;
|
|
138
138
|
backend?: string | undefined;
|
|
139
139
|
platform?: string | undefined;
|
|
140
140
|
arch?: string | undefined;
|
|
@@ -145,8 +145,8 @@ export declare const FactoryCloudInstanceV1Schema: z.ZodObject<{
|
|
|
145
145
|
bootId: string;
|
|
146
146
|
version: string;
|
|
147
147
|
metadata?: {
|
|
148
|
-
mode?: string | undefined;
|
|
149
148
|
name?: string | undefined;
|
|
149
|
+
mode?: string | undefined;
|
|
150
150
|
backend?: string | undefined;
|
|
151
151
|
platform?: string | undefined;
|
|
152
152
|
arch?: string | undefined;
|
|
@@ -157,8 +157,8 @@ export declare const FactoryCloudInstanceV1Schema: z.ZodObject<{
|
|
|
157
157
|
bootId: string;
|
|
158
158
|
version: string;
|
|
159
159
|
metadata?: {
|
|
160
|
-
mode?: string | undefined;
|
|
161
160
|
name?: string | undefined;
|
|
161
|
+
mode?: string | undefined;
|
|
162
162
|
backend?: string | undefined;
|
|
163
163
|
platform?: string | undefined;
|
|
164
164
|
arch?: string | undefined;
|
|
@@ -1035,10 +1035,10 @@ export declare const FactoryCloudEventInputV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
1035
1035
|
parentSpanId?: string | undefined;
|
|
1036
1036
|
}>>;
|
|
1037
1037
|
}, "strict", z.ZodTypeAny, {
|
|
1038
|
-
type: string;
|
|
1039
1038
|
id: string;
|
|
1039
|
+
type: string;
|
|
1040
1040
|
occurredAt: string;
|
|
1041
|
-
status?: "blocked" | "
|
|
1041
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
1042
1042
|
verification?: {
|
|
1043
1043
|
contract: "factory.verification.evidence.v1";
|
|
1044
1044
|
verdict: "pass" | "fail";
|
|
@@ -1152,10 +1152,10 @@ export declare const FactoryCloudEventInputV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
1152
1152
|
parentSpanId?: string | undefined;
|
|
1153
1153
|
} | undefined;
|
|
1154
1154
|
}, {
|
|
1155
|
-
type: string;
|
|
1156
1155
|
id: string;
|
|
1156
|
+
type: string;
|
|
1157
1157
|
occurredAt: string;
|
|
1158
|
-
status?: "blocked" | "
|
|
1158
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
1159
1159
|
verification?: {
|
|
1160
1160
|
contract: "factory.verification.evidence.v1";
|
|
1161
1161
|
verdict: "pass" | "fail";
|
|
@@ -1269,10 +1269,10 @@ export declare const FactoryCloudEventInputV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
1269
1269
|
parentSpanId?: string | undefined;
|
|
1270
1270
|
} | undefined;
|
|
1271
1271
|
}>, {
|
|
1272
|
-
type: string;
|
|
1273
1272
|
id: string;
|
|
1273
|
+
type: string;
|
|
1274
1274
|
occurredAt: string;
|
|
1275
|
-
status?: "blocked" | "
|
|
1275
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
1276
1276
|
verification?: {
|
|
1277
1277
|
contract: "factory.verification.evidence.v1";
|
|
1278
1278
|
verdict: "pass" | "fail";
|
|
@@ -1386,10 +1386,10 @@ export declare const FactoryCloudEventInputV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
1386
1386
|
parentSpanId?: string | undefined;
|
|
1387
1387
|
} | undefined;
|
|
1388
1388
|
}, {
|
|
1389
|
-
type: string;
|
|
1390
1389
|
id: string;
|
|
1390
|
+
type: string;
|
|
1391
1391
|
occurredAt: string;
|
|
1392
|
-
status?: "blocked" | "
|
|
1392
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
1393
1393
|
verification?: {
|
|
1394
1394
|
contract: "factory.verification.evidence.v1";
|
|
1395
1395
|
verdict: "pass" | "fail";
|
|
@@ -2004,11 +2004,11 @@ export declare const FactoryCloudEventV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
2004
2004
|
parentSpanId?: string | undefined;
|
|
2005
2005
|
}>>;
|
|
2006
2006
|
}, "strict", z.ZodTypeAny, {
|
|
2007
|
-
type: string;
|
|
2008
2007
|
id: string;
|
|
2008
|
+
type: string;
|
|
2009
2009
|
occurredAt: string;
|
|
2010
2010
|
sequence: number;
|
|
2011
|
-
status?: "blocked" | "
|
|
2011
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
2012
2012
|
verification?: {
|
|
2013
2013
|
contract: "factory.verification.evidence.v1";
|
|
2014
2014
|
verdict: "pass" | "fail";
|
|
@@ -2122,11 +2122,11 @@ export declare const FactoryCloudEventV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
2122
2122
|
parentSpanId?: string | undefined;
|
|
2123
2123
|
} | undefined;
|
|
2124
2124
|
}, {
|
|
2125
|
-
type: string;
|
|
2126
2125
|
id: string;
|
|
2126
|
+
type: string;
|
|
2127
2127
|
occurredAt: string;
|
|
2128
2128
|
sequence: number;
|
|
2129
|
-
status?: "blocked" | "
|
|
2129
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
2130
2130
|
verification?: {
|
|
2131
2131
|
contract: "factory.verification.evidence.v1";
|
|
2132
2132
|
verdict: "pass" | "fail";
|
|
@@ -2240,11 +2240,11 @@ export declare const FactoryCloudEventV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
2240
2240
|
parentSpanId?: string | undefined;
|
|
2241
2241
|
} | undefined;
|
|
2242
2242
|
}>, {
|
|
2243
|
-
type: string;
|
|
2244
2243
|
id: string;
|
|
2244
|
+
type: string;
|
|
2245
2245
|
occurredAt: string;
|
|
2246
2246
|
sequence: number;
|
|
2247
|
-
status?: "blocked" | "
|
|
2247
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
2248
2248
|
verification?: {
|
|
2249
2249
|
contract: "factory.verification.evidence.v1";
|
|
2250
2250
|
verdict: "pass" | "fail";
|
|
@@ -2358,11 +2358,11 @@ export declare const FactoryCloudEventV1Schema: z.ZodEffects<z.ZodObject<{
|
|
|
2358
2358
|
parentSpanId?: string | undefined;
|
|
2359
2359
|
} | undefined;
|
|
2360
2360
|
}, {
|
|
2361
|
-
type: string;
|
|
2362
2361
|
id: string;
|
|
2362
|
+
type: string;
|
|
2363
2363
|
occurredAt: string;
|
|
2364
2364
|
sequence: number;
|
|
2365
|
-
status?: "blocked" | "
|
|
2365
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
2366
2366
|
verification?: {
|
|
2367
2367
|
contract: "factory.verification.evidence.v1";
|
|
2368
2368
|
verdict: "pass" | "fail";
|
|
@@ -2492,15 +2492,15 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
2492
2492
|
arch: z.ZodOptional<z.ZodString>;
|
|
2493
2493
|
runtime: z.ZodOptional<z.ZodString>;
|
|
2494
2494
|
}, "strict", z.ZodTypeAny, {
|
|
2495
|
-
mode?: string | undefined;
|
|
2496
2495
|
name?: string | undefined;
|
|
2496
|
+
mode?: string | undefined;
|
|
2497
2497
|
backend?: string | undefined;
|
|
2498
2498
|
platform?: string | undefined;
|
|
2499
2499
|
arch?: string | undefined;
|
|
2500
2500
|
runtime?: string | undefined;
|
|
2501
2501
|
}, {
|
|
2502
|
-
mode?: string | undefined;
|
|
2503
2502
|
name?: string | undefined;
|
|
2503
|
+
mode?: string | undefined;
|
|
2504
2504
|
backend?: string | undefined;
|
|
2505
2505
|
platform?: string | undefined;
|
|
2506
2506
|
arch?: string | undefined;
|
|
@@ -2511,8 +2511,8 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
2511
2511
|
bootId: string;
|
|
2512
2512
|
version: string;
|
|
2513
2513
|
metadata?: {
|
|
2514
|
-
mode?: string | undefined;
|
|
2515
2514
|
name?: string | undefined;
|
|
2515
|
+
mode?: string | undefined;
|
|
2516
2516
|
backend?: string | undefined;
|
|
2517
2517
|
platform?: string | undefined;
|
|
2518
2518
|
arch?: string | undefined;
|
|
@@ -2523,8 +2523,8 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
2523
2523
|
bootId: string;
|
|
2524
2524
|
version: string;
|
|
2525
2525
|
metadata?: {
|
|
2526
|
-
mode?: string | undefined;
|
|
2527
2526
|
name?: string | undefined;
|
|
2527
|
+
mode?: string | undefined;
|
|
2528
2528
|
backend?: string | undefined;
|
|
2529
2529
|
platform?: string | undefined;
|
|
2530
2530
|
arch?: string | undefined;
|
|
@@ -3032,11 +3032,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3032
3032
|
parentSpanId?: string | undefined;
|
|
3033
3033
|
}>>;
|
|
3034
3034
|
}, "strict", z.ZodTypeAny, {
|
|
3035
|
-
type: string;
|
|
3036
3035
|
id: string;
|
|
3036
|
+
type: string;
|
|
3037
3037
|
occurredAt: string;
|
|
3038
3038
|
sequence: number;
|
|
3039
|
-
status?: "blocked" | "
|
|
3039
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3040
3040
|
verification?: {
|
|
3041
3041
|
contract: "factory.verification.evidence.v1";
|
|
3042
3042
|
verdict: "pass" | "fail";
|
|
@@ -3150,11 +3150,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3150
3150
|
parentSpanId?: string | undefined;
|
|
3151
3151
|
} | undefined;
|
|
3152
3152
|
}, {
|
|
3153
|
-
type: string;
|
|
3154
3153
|
id: string;
|
|
3154
|
+
type: string;
|
|
3155
3155
|
occurredAt: string;
|
|
3156
3156
|
sequence: number;
|
|
3157
|
-
status?: "blocked" | "
|
|
3157
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3158
3158
|
verification?: {
|
|
3159
3159
|
contract: "factory.verification.evidence.v1";
|
|
3160
3160
|
verdict: "pass" | "fail";
|
|
@@ -3268,11 +3268,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3268
3268
|
parentSpanId?: string | undefined;
|
|
3269
3269
|
} | undefined;
|
|
3270
3270
|
}>, {
|
|
3271
|
-
type: string;
|
|
3272
3271
|
id: string;
|
|
3272
|
+
type: string;
|
|
3273
3273
|
occurredAt: string;
|
|
3274
3274
|
sequence: number;
|
|
3275
|
-
status?: "blocked" | "
|
|
3275
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3276
3276
|
verification?: {
|
|
3277
3277
|
contract: "factory.verification.evidence.v1";
|
|
3278
3278
|
verdict: "pass" | "fail";
|
|
@@ -3386,11 +3386,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3386
3386
|
parentSpanId?: string | undefined;
|
|
3387
3387
|
} | undefined;
|
|
3388
3388
|
}, {
|
|
3389
|
-
type: string;
|
|
3390
3389
|
id: string;
|
|
3390
|
+
type: string;
|
|
3391
3391
|
occurredAt: string;
|
|
3392
3392
|
sequence: number;
|
|
3393
|
-
status?: "blocked" | "
|
|
3393
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3394
3394
|
verification?: {
|
|
3395
3395
|
contract: "factory.verification.evidence.v1";
|
|
3396
3396
|
verdict: "pass" | "fail";
|
|
@@ -3511,8 +3511,8 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3511
3511
|
bootId: string;
|
|
3512
3512
|
version: string;
|
|
3513
3513
|
metadata?: {
|
|
3514
|
-
mode?: string | undefined;
|
|
3515
3514
|
name?: string | undefined;
|
|
3515
|
+
mode?: string | undefined;
|
|
3516
3516
|
backend?: string | undefined;
|
|
3517
3517
|
platform?: string | undefined;
|
|
3518
3518
|
arch?: string | undefined;
|
|
@@ -3520,11 +3520,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3520
3520
|
} | undefined;
|
|
3521
3521
|
};
|
|
3522
3522
|
events: {
|
|
3523
|
-
type: string;
|
|
3524
3523
|
id: string;
|
|
3524
|
+
type: string;
|
|
3525
3525
|
occurredAt: string;
|
|
3526
3526
|
sequence: number;
|
|
3527
|
-
status?: "blocked" | "
|
|
3527
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3528
3528
|
verification?: {
|
|
3529
3529
|
contract: "factory.verification.evidence.v1";
|
|
3530
3530
|
verdict: "pass" | "fail";
|
|
@@ -3645,8 +3645,8 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3645
3645
|
bootId: string;
|
|
3646
3646
|
version: string;
|
|
3647
3647
|
metadata?: {
|
|
3648
|
-
mode?: string | undefined;
|
|
3649
3648
|
name?: string | undefined;
|
|
3649
|
+
mode?: string | undefined;
|
|
3650
3650
|
backend?: string | undefined;
|
|
3651
3651
|
platform?: string | undefined;
|
|
3652
3652
|
arch?: string | undefined;
|
|
@@ -3654,11 +3654,11 @@ export declare const FactoryCloudEventBatchV1Schema: z.ZodObject<{
|
|
|
3654
3654
|
} | undefined;
|
|
3655
3655
|
};
|
|
3656
3656
|
events: {
|
|
3657
|
-
type: string;
|
|
3658
3657
|
id: string;
|
|
3658
|
+
type: string;
|
|
3659
3659
|
occurredAt: string;
|
|
3660
3660
|
sequence: number;
|
|
3661
|
-
status?: "blocked" | "
|
|
3661
|
+
status?: "blocked" | "failed" | "cancelled" | "queued" | "running" | "waiting" | "succeeded" | undefined;
|
|
3662
3662
|
verification?: {
|
|
3663
3663
|
contract: "factory.verification.evidence.v1";
|
|
3664
3664
|
verdict: "pass" | "fail";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a dispatch *attempt* failed, as a closed set (#355).
|
|
3
|
+
*
|
|
4
|
+
* `skipReasons` (#358) answers "why did the sweep decline this work unit", and
|
|
5
|
+
* on the live container it answers it with `dispatch-failed: 5` — every sweep,
|
|
6
|
+
* with the control-plane breaker closed, the fleet agent online and
|
|
7
|
+
* `readinessReconcile` healthy. That bucket is a *count*. It says the sweep got
|
|
8
|
+
* all the way to dispatching and dispatch threw; it does not say what threw,
|
|
9
|
+
* and the message that would say so goes to the daemon's stdout, which does not
|
|
10
|
+
* reach the deployed container's operator.
|
|
11
|
+
*
|
|
12
|
+
* So this is the second level of the same breakdown: `dispatchFailures` is the
|
|
13
|
+
* total (the same number `skipReasons['dispatch-failed']` carries), and
|
|
14
|
+
* `dispatchFailureReasons` splits it by cause. Same discipline as #358 —
|
|
15
|
+
* counts only, keys from this vocabulary rather than from the record, unknown
|
|
16
|
+
* codes folded into `other` rather than dropped so the parts still sum.
|
|
17
|
+
*
|
|
18
|
+
* As in #358 the code is recorded at the skip site alongside the free text,
|
|
19
|
+
* never derived from it: `perItemDispatchFailureCode` classifies a thrown value
|
|
20
|
+
* by type, and the two named-by-class-name entries below are the explicit
|
|
21
|
+
* exception, documented there.
|
|
22
|
+
*
|
|
23
|
+
* The three `unclassified-*` codes are not a failure of this vocabulary — they
|
|
24
|
+
* are its most useful answer when nothing named matches, because the *phase*
|
|
25
|
+
* that threw already names the owner. A pass that reaches dispatch and fails is
|
|
26
|
+
* a fleet problem; one that fails in triage never got near the fleet; one that
|
|
27
|
+
* fails in the gates ahead of triage failed reading durable state. Those are
|
|
28
|
+
* three different people's bugs, and separating them costs one variable.
|
|
29
|
+
*/
|
|
30
|
+
export declare const FACTORY_DISPATCH_FAILURE_REASON_CODES: readonly ["relayfile-overloaded", "live-state-changed", "late-placement-released", "lifecycle-terminal", "lifecycle-owned-elsewhere", "control-plane-open", "timed-out", "spawn-ack-timeout", "fleet-identity-read-only", "agent-registration-failed", "unclassified-gate", "unclassified-triage", "unclassified-dispatch", "other"];
|
|
31
|
+
export type FactoryDispatchFailureReasonCode = typeof FACTORY_DISPATCH_FAILURE_REASON_CODES[number];
|
|
32
|
+
/** The code an allowlisted error class name names, if this vocabulary knows one. */
|
|
33
|
+
export declare const factoryDispatchFailureReasonCodeForErrorClass: (errorClass: string) => FactoryDispatchFailureReasonCode | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Coerce an arbitrary value onto the vocabulary.
|
|
36
|
+
*
|
|
37
|
+
* Unrecognised codes collapse to `other` rather than being dropped, for the
|
|
38
|
+
* same reason #358 gives: a failure that vanished from the breakdown would make
|
|
39
|
+
* the parts stop summing to `dispatchFailures`, and a reader comparing the two
|
|
40
|
+
* would conclude the counter was broken rather than that the producer was newer.
|
|
41
|
+
*/
|
|
42
|
+
export declare const factoryDispatchFailureReasonCode: (value: unknown) => FactoryDispatchFailureReasonCode;
|
|
43
|
+
/**
|
|
44
|
+
* The per-cause breakdown of one sweep's failed dispatch attempts, counts only.
|
|
45
|
+
*
|
|
46
|
+
* Counts exactly the entries the sweep recorded as `dispatch-failed`, so the
|
|
47
|
+
* parts sum to `dispatchFailures` and to `skipReasons['dispatch-failed']` by
|
|
48
|
+
* construction. An entry whose producer recorded no `failureCode` folds into
|
|
49
|
+
* `other` for the same reason an unknown one does.
|
|
50
|
+
*
|
|
51
|
+
* Zero-count codes are omitted — the vocabulary is fixed and published, so an
|
|
52
|
+
* absent key reads as zero unambiguously. The total is carried separately by
|
|
53
|
+
* `dispatchFailures`, which is written whenever a sweep completes, so "ran and
|
|
54
|
+
* every dispatch succeeded" stays distinguishable from "never ran".
|
|
55
|
+
*/
|
|
56
|
+
export declare function factoryDispatchFailureReasonCounts(skipped: Iterable<{
|
|
57
|
+
code?: unknown;
|
|
58
|
+
failureCode?: unknown;
|
|
59
|
+
}> | undefined): Partial<Record<FactoryDispatchFailureReasonCode, number>>;
|
|
60
|
+
//# sourceMappingURL=dispatch-failure-reason.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-failure-reason.d.ts","sourceRoot":"","sources":["../../src/orchestrator/dispatch-failure-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qCAAqC,sUA6BxC,CAAA;AAEV,MAAM,MAAM,gCAAgC,GAAG,OAAO,qCAAqC,CAAC,MAAM,CAAC,CAAA;AA6BnG,oFAAoF;AACpF,eAAO,MAAM,6CAA6C,GACxD,YAAY,MAAM,KACjB,gCAAgC,GAAG,SAGvB,CAAA;AAEf;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,GAAI,OAAO,OAAO,KAAG,gCAIrD,CAAA;AAEb;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,QAAQ,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,SAAS,GACvE,OAAO,CAAC,MAAM,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC,CAS3D"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a dispatch *attempt* failed, as a closed set (#355).
|
|
3
|
+
*
|
|
4
|
+
* `skipReasons` (#358) answers "why did the sweep decline this work unit", and
|
|
5
|
+
* on the live container it answers it with `dispatch-failed: 5` — every sweep,
|
|
6
|
+
* with the control-plane breaker closed, the fleet agent online and
|
|
7
|
+
* `readinessReconcile` healthy. That bucket is a *count*. It says the sweep got
|
|
8
|
+
* all the way to dispatching and dispatch threw; it does not say what threw,
|
|
9
|
+
* and the message that would say so goes to the daemon's stdout, which does not
|
|
10
|
+
* reach the deployed container's operator.
|
|
11
|
+
*
|
|
12
|
+
* So this is the second level of the same breakdown: `dispatchFailures` is the
|
|
13
|
+
* total (the same number `skipReasons['dispatch-failed']` carries), and
|
|
14
|
+
* `dispatchFailureReasons` splits it by cause. Same discipline as #358 —
|
|
15
|
+
* counts only, keys from this vocabulary rather than from the record, unknown
|
|
16
|
+
* codes folded into `other` rather than dropped so the parts still sum.
|
|
17
|
+
*
|
|
18
|
+
* As in #358 the code is recorded at the skip site alongside the free text,
|
|
19
|
+
* never derived from it: `perItemDispatchFailureCode` classifies a thrown value
|
|
20
|
+
* by type, and the two named-by-class-name entries below are the explicit
|
|
21
|
+
* exception, documented there.
|
|
22
|
+
*
|
|
23
|
+
* The three `unclassified-*` codes are not a failure of this vocabulary — they
|
|
24
|
+
* are its most useful answer when nothing named matches, because the *phase*
|
|
25
|
+
* that threw already names the owner. A pass that reaches dispatch and fails is
|
|
26
|
+
* a fleet problem; one that fails in triage never got near the fleet; one that
|
|
27
|
+
* fails in the gates ahead of triage failed reading durable state. Those are
|
|
28
|
+
* three different people's bugs, and separating them costs one variable.
|
|
29
|
+
*/
|
|
30
|
+
export const FACTORY_DISPATCH_FAILURE_REASON_CODES = [
|
|
31
|
+
/** Relayfile shed an operation this dispatch needed (#297). Clears on its own. */
|
|
32
|
+
'relayfile-overloaded',
|
|
33
|
+
/** Live provider state moved under the dispatch; the unit returns to the queue. */
|
|
34
|
+
'live-state-changed',
|
|
35
|
+
/** The never-placed deadline released the dispatch mid-spawn (#303). Self-healing. */
|
|
36
|
+
'late-placement-released',
|
|
37
|
+
/** The durable lifecycle record is terminal: this unit will not be retried. */
|
|
38
|
+
'lifecycle-terminal',
|
|
39
|
+
/** Another publisher holds the durable lifecycle lease. Clears on release. */
|
|
40
|
+
'lifecycle-owned-elsewhere',
|
|
41
|
+
/** The fleet control-plane circuit refused admission. Dispatch is globally paused. */
|
|
42
|
+
'control-plane-open',
|
|
43
|
+
/** Something in the attempt hit its own deadline — see the note on class names. */
|
|
44
|
+
'timed-out',
|
|
45
|
+
/** The fleet broker never acknowledged the spawn within its ack timeout. */
|
|
46
|
+
'spawn-ack-timeout',
|
|
47
|
+
/** The fleet client holds a read-only identity and cannot spawn at all. */
|
|
48
|
+
'fleet-identity-read-only',
|
|
49
|
+
/** Registering the spawned agent with the broker failed. */
|
|
50
|
+
'agent-registration-failed',
|
|
51
|
+
/** Threw in the gates ahead of triage: scope, orphan recovery, durable reads. */
|
|
52
|
+
'unclassified-gate',
|
|
53
|
+
/** Threw inside triage, before the fleet was ever asked for anything. */
|
|
54
|
+
'unclassified-triage',
|
|
55
|
+
/** Threw inside dispatch itself, and no code above matched it. */
|
|
56
|
+
'unclassified-dispatch',
|
|
57
|
+
/** Recorded by a producer this vocabulary does not know. */
|
|
58
|
+
'other',
|
|
59
|
+
];
|
|
60
|
+
/**
|
|
61
|
+
* Codes recognised by allowlisted error *class name* rather than by `instanceof`.
|
|
62
|
+
*
|
|
63
|
+
* The rule everywhere else is to classify by type, because a message is one
|
|
64
|
+
* rename away from collapsing a bucket. These five are the exception, for one
|
|
65
|
+
* reason: their classes live in `src/fleet/relay-fleet-client.ts`, and
|
|
66
|
+
* `factory.ts` does not import that module. Adding the edge to get five
|
|
67
|
+
* `instanceof` checks would pull the relay SDK into the orchestrator's module
|
|
68
|
+
* graph — a real cost — to buy precision over a *class name*, which is
|
|
69
|
+
* code-controlled and already the identifier `telemetryErrorClass` publishes
|
|
70
|
+
* everywhere else in this codebase. A rename here degrades one bucket to
|
|
71
|
+
* `unclassified-dispatch`; it cannot leak and it cannot break the sum.
|
|
72
|
+
*
|
|
73
|
+
* `TimeoutError` is deliberately generic: `FleetControlPlaneTimeoutError` sets
|
|
74
|
+
* that name on purpose, and so do `AbortSignal.timeout` and several SDK paths.
|
|
75
|
+
* Mapping it to the control plane specifically would be a guess; mapping it to
|
|
76
|
+
* "something in this attempt hit a deadline" is exactly true, and with 34-minute
|
|
77
|
+
* sweeps against 60-second attempts it is the answer worth being able to see.
|
|
78
|
+
*/
|
|
79
|
+
const DISPATCH_FAILURE_ERROR_CLASS_CODES = {
|
|
80
|
+
RelaySpawnAckTimeoutError: 'spawn-ack-timeout',
|
|
81
|
+
ReadOnlyFleetIdentityError: 'fleet-identity-read-only',
|
|
82
|
+
FactoryAgentRegistrationError: 'agent-registration-failed',
|
|
83
|
+
TimeoutError: 'timed-out',
|
|
84
|
+
AbortError: 'timed-out',
|
|
85
|
+
};
|
|
86
|
+
/** The code an allowlisted error class name names, if this vocabulary knows one. */
|
|
87
|
+
export const factoryDispatchFailureReasonCodeForErrorClass = (errorClass) => Object.hasOwn(DISPATCH_FAILURE_ERROR_CLASS_CODES, errorClass)
|
|
88
|
+
? DISPATCH_FAILURE_ERROR_CLASS_CODES[errorClass]
|
|
89
|
+
: undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Coerce an arbitrary value onto the vocabulary.
|
|
92
|
+
*
|
|
93
|
+
* Unrecognised codes collapse to `other` rather than being dropped, for the
|
|
94
|
+
* same reason #358 gives: a failure that vanished from the breakdown would make
|
|
95
|
+
* the parts stop summing to `dispatchFailures`, and a reader comparing the two
|
|
96
|
+
* would conclude the counter was broken rather than that the producer was newer.
|
|
97
|
+
*/
|
|
98
|
+
export const factoryDispatchFailureReasonCode = (value) => typeof value === 'string' &&
|
|
99
|
+
FACTORY_DISPATCH_FAILURE_REASON_CODES.includes(value)
|
|
100
|
+
? value
|
|
101
|
+
: 'other';
|
|
102
|
+
/**
|
|
103
|
+
* The per-cause breakdown of one sweep's failed dispatch attempts, counts only.
|
|
104
|
+
*
|
|
105
|
+
* Counts exactly the entries the sweep recorded as `dispatch-failed`, so the
|
|
106
|
+
* parts sum to `dispatchFailures` and to `skipReasons['dispatch-failed']` by
|
|
107
|
+
* construction. An entry whose producer recorded no `failureCode` folds into
|
|
108
|
+
* `other` for the same reason an unknown one does.
|
|
109
|
+
*
|
|
110
|
+
* Zero-count codes are omitted — the vocabulary is fixed and published, so an
|
|
111
|
+
* absent key reads as zero unambiguously. The total is carried separately by
|
|
112
|
+
* `dispatchFailures`, which is written whenever a sweep completes, so "ran and
|
|
113
|
+
* every dispatch succeeded" stays distinguishable from "never ran".
|
|
114
|
+
*/
|
|
115
|
+
export function factoryDispatchFailureReasonCounts(skipped) {
|
|
116
|
+
const counts = {};
|
|
117
|
+
if (!skipped)
|
|
118
|
+
return counts;
|
|
119
|
+
for (const entry of skipped) {
|
|
120
|
+
if (entry === null || typeof entry !== 'object' || entry.code !== 'dispatch-failed')
|
|
121
|
+
continue;
|
|
122
|
+
const code = factoryDispatchFailureReasonCode(entry.failureCode);
|
|
123
|
+
counts[code] = (counts[code] ?? 0) + 1;
|
|
124
|
+
}
|
|
125
|
+
return counts;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=dispatch-failure-reason.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-failure-reason.js","sourceRoot":"","sources":["../../src/orchestrator/dispatch-failure-reason.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,kFAAkF;IAClF,sBAAsB;IACtB,mFAAmF;IACnF,oBAAoB;IACpB,sFAAsF;IACtF,yBAAyB;IACzB,+EAA+E;IAC/E,oBAAoB;IACpB,8EAA8E;IAC9E,2BAA2B;IAC3B,sFAAsF;IACtF,oBAAoB;IACpB,mFAAmF;IACnF,WAAW;IACX,4EAA4E;IAC5E,mBAAmB;IACnB,2EAA2E;IAC3E,0BAA0B;IAC1B,4DAA4D;IAC5D,2BAA2B;IAC3B,iFAAiF;IACjF,mBAAmB;IACnB,yEAAyE;IACzE,qBAAqB;IACrB,kEAAkE;IAClE,uBAAuB;IACvB,4DAA4D;IAC5D,OAAO;CACC,CAAA;AAIV;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,kCAAkC,GAA+D;IACrG,yBAAyB,EAAE,mBAAmB;IAC9C,0BAA0B,EAAE,0BAA0B;IACtD,6BAA6B,EAAE,2BAA2B;IAC1D,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,WAAW;CACxB,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAC3D,UAAkB,EAC4B,EAAE,CAChD,MAAM,CAAC,MAAM,CAAC,kCAAkC,EAAE,UAAU,CAAC;IAC3D,CAAC,CAAC,kCAAkC,CAAC,UAAU,CAAC;IAChD,CAAC,CAAC,SAAS,CAAA;AAEf;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,KAAc,EAAoC,EAAE,CACnG,OAAO,KAAK,KAAK,QAAQ;IACxB,qCAA2D,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,KAAyC;IAC3C,CAAC,CAAC,OAAO,CAAA;AAEb;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kCAAkC,CAChD,OAAwE;IAExE,MAAM,MAAM,GAA8D,EAAE,CAAA;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAAE,SAAQ;QAC7F,MAAM,IAAI,GAAG,gCAAgC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/orchestrator/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/orchestrator/factory.ts"],"names":[],"mappings":"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"}
|