@on-par/factory-cli 0.9.11-next.24 → 0.9.11-next.26

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.
@@ -0,0 +1,104 @@
1
+ import { z } from 'zod';
2
+ export declare const statusJsonSchema: z.ZodObject<{
3
+ schemaVersion: z.ZodLiteral<1>;
4
+ repo: z.ZodString;
5
+ product: z.ZodNullable<z.ZodString>;
6
+ stop: z.ZodBoolean;
7
+ stopInfo: z.ZodNullable<z.ZodObject<{
8
+ source: z.ZodEnum<{
9
+ manual: "manual";
10
+ "self-update": "self-update";
11
+ unknown: "unknown";
12
+ "usage-watchdog": "usage-watchdog";
13
+ }>;
14
+ setAt: z.ZodNullable<z.ZodString>;
15
+ }, z.core.$strip>>;
16
+ breaker: z.ZodObject<{
17
+ open: z.ZodBoolean;
18
+ providers: z.ZodArray<z.ZodObject<{
19
+ provider: z.ZodString;
20
+ reason: z.ZodString;
21
+ openedAt: z.ZodString;
22
+ remainingSec: z.ZodNumber;
23
+ }, z.core.$strip>>;
24
+ }, z.core.$strip>;
25
+ active: z.ZodArray<z.ZodObject<{
26
+ lane: z.ZodString;
27
+ issue: z.ZodNumber;
28
+ phase: z.ZodString;
29
+ ageSec: z.ZodNumber;
30
+ }, z.core.$strip>>;
31
+ update: z.ZodNullable<z.ZodObject<{
32
+ mode: z.ZodEnum<{
33
+ manual: "manual";
34
+ prerelease: "prerelease";
35
+ stable: "stable";
36
+ }>;
37
+ channel: z.ZodNullable<z.ZodEnum<{
38
+ latest: "latest";
39
+ next: "next";
40
+ }>>;
41
+ installKind: z.ZodEnum<{
42
+ "npm-global": "npm-global";
43
+ source: "source";
44
+ unknown: "unknown";
45
+ }>;
46
+ current: z.ZodString;
47
+ available: z.ZodNullable<z.ZodString>;
48
+ lastCheckAt: z.ZodNullable<z.ZodString>;
49
+ lastResult: z.ZodNullable<z.ZodObject<{
50
+ at: z.ZodString;
51
+ version: z.ZodString;
52
+ outcome: z.ZodEnum<{
53
+ failed: "failed";
54
+ "rolled-back": "rolled-back";
55
+ skipped: "skipped";
56
+ updated: "updated";
57
+ }>;
58
+ error: z.ZodOptional<z.ZodString>;
59
+ }, z.core.$strip>>;
60
+ draining: z.ZodNullable<z.ZodObject<{
61
+ since: z.ZodString;
62
+ target: z.ZodString;
63
+ stopFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ }, z.core.$strip>>;
65
+ }, z.core.$strip>>;
66
+ }, z.core.$strip>;
67
+ export declare const logsLineJsonSchema: z.ZodObject<{
68
+ ts: z.ZodString;
69
+ type: z.ZodString;
70
+ issue: z.ZodString;
71
+ msg: z.ZodString;
72
+ level: z.ZodOptional<z.ZodEnum<{
73
+ debug: "debug";
74
+ error: "error";
75
+ info: "info";
76
+ warn: "warn";
77
+ }>>;
78
+ lane: z.ZodOptional<z.ZodString>;
79
+ repo: z.ZodOptional<z.ZodString>;
80
+ phase: z.ZodOptional<z.ZodString>;
81
+ actor: z.ZodOptional<z.ZodString>;
82
+ failoverReason: z.ZodOptional<z.ZodString>;
83
+ fingerprint: z.ZodOptional<z.ZodString>;
84
+ evidence: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
85
+ rework: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
86
+ readiness: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
87
+ queueReprioritization: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
88
+ prClassification: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
89
+ lanePaused: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
90
+ stewardTriggered: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
91
+ flakyTests: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
92
+ checkFailure: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
93
+ ciFailure: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodAny>>>;
94
+ model: z.ZodOptional<z.ZodString>;
95
+ tokens: z.ZodOptional<z.ZodObject<{
96
+ input: z.ZodNumber;
97
+ output: z.ZodNumber;
98
+ }, z.core.$strip>>;
99
+ durationMs: z.ZodOptional<z.ZodNumber>;
100
+ cursor: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>;
102
+ export type StatusJson = z.infer<typeof statusJsonSchema>;
103
+ export type LogsLineJson = z.infer<typeof logsLineJsonSchema>;
104
+ //# sourceMappingURL=json-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-contract.d.ts","sourceRoot":"","sources":["../../src/cli/json-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuD3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B7B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from 'zod';
2
+ const loosePayloadSchema = z.object({}).catchall(z.any());
3
+ export const statusJsonSchema = z.object({
4
+ schemaVersion: z.literal(1),
5
+ repo: z.string(),
6
+ product: z.string().nullable(),
7
+ stop: z.boolean(),
8
+ stopInfo: z
9
+ .object({
10
+ source: z.enum(['manual', 'usage-watchdog', 'self-update', 'unknown']),
11
+ setAt: z.string().nullable(),
12
+ })
13
+ .nullable(),
14
+ breaker: z.object({
15
+ open: z.boolean(),
16
+ providers: z.array(z.object({
17
+ provider: z.string(),
18
+ reason: z.string(),
19
+ openedAt: z.string(),
20
+ remainingSec: z.number(),
21
+ })),
22
+ }),
23
+ active: z.array(z.object({
24
+ lane: z.string(),
25
+ issue: z.number(),
26
+ phase: z.string(),
27
+ ageSec: z.number(),
28
+ })),
29
+ update: z
30
+ .object({
31
+ mode: z.enum(['manual', 'stable', 'prerelease']),
32
+ channel: z.enum(['latest', 'next']).nullable(),
33
+ installKind: z.enum(['npm-global', 'source', 'unknown']),
34
+ current: z.string(),
35
+ available: z.string().nullable(),
36
+ lastCheckAt: z.string().nullable(),
37
+ lastResult: z
38
+ .object({
39
+ at: z.string(),
40
+ version: z.string(),
41
+ outcome: z.enum(['updated', 'rolled-back', 'failed', 'skipped']),
42
+ error: z.string().optional(),
43
+ })
44
+ .nullable(),
45
+ draining: z
46
+ .object({
47
+ since: z.string(),
48
+ target: z.string(),
49
+ stopFiles: z.array(z.string()).optional(),
50
+ })
51
+ .nullable(),
52
+ })
53
+ .nullable(),
54
+ });
55
+ export const logsLineJsonSchema = z.object({
56
+ ts: z.string(),
57
+ type: z.string(),
58
+ issue: z.string(),
59
+ msg: z.string(),
60
+ level: z.enum(['debug', 'info', 'warn', 'error']).optional(),
61
+ lane: z.string().optional(),
62
+ repo: z.string().optional(),
63
+ phase: z.string().optional(),
64
+ actor: z.string().optional(),
65
+ failoverReason: z.string().optional(),
66
+ fingerprint: z.string().optional(),
67
+ evidence: loosePayloadSchema.optional(),
68
+ rework: loosePayloadSchema.optional(),
69
+ readiness: loosePayloadSchema.optional(),
70
+ queueReprioritization: loosePayloadSchema.optional(),
71
+ prClassification: loosePayloadSchema.optional(),
72
+ lanePaused: loosePayloadSchema.optional(),
73
+ stewardTriggered: loosePayloadSchema.optional(),
74
+ flakyTests: loosePayloadSchema.optional(),
75
+ checkFailure: loosePayloadSchema.optional(),
76
+ ciFailure: loosePayloadSchema.optional(),
77
+ model: z.string().optional(),
78
+ tokens: z.object({ input: z.number(), output: z.number() }).optional(),
79
+ durationMs: z.number().optional(),
80
+ cursor: z.string().optional(),
81
+ });
82
+ //# sourceMappingURL=json-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-contract.js","sourceRoot":"","sources":["../../src/cli/json-contract.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { FactoryEvent } from '@on-par/factory-core';
2
+ import type { LogsLineJson } from './json-contract.js';
2
3
  export interface LogsOptions {
3
4
  follow?: boolean;
4
5
  json?: boolean;
@@ -23,6 +24,9 @@ export interface LogsDeps {
23
24
  /** Test hook: bytes read from the log by --limit/--since. */
24
25
  onBytesRead?: (n: number) => void;
25
26
  }
27
+ export declare function buildLogsJson(event: FactoryEvent, extra?: {
28
+ cursor?: string;
29
+ }): LogsLineJson;
26
30
  export declare function eventMatchesIssue(e: FactoryEvent, issue?: string): boolean;
27
31
  export declare function renderEvent(e: FactoryEvent, opts: {
28
32
  json?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/cli/logs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUzD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAG7F;AAED,8GAA8G;AAC9G,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,QAAa,GAAG,MAAM,IAAI,CA+C9F;AAED,wGAAwG;AACxG,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvG"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/cli/logs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uFAAuF;IACvF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,GAAG,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,CAEhG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAG7F;AAED,8GAA8G;AAC9G,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,QAAa,GAAG,MAAM,IAAI,CAkD9F;AAED,wGAAwG;AACxG,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvG"}
package/dist/cli/logs.js CHANGED
@@ -1,12 +1,15 @@
1
1
  // packages/cli/src/cli/logs.ts — `factory logs` [--follow] [--json] [--issue <n>] [--limit <n>] [--since <cursor>]
2
2
  import { followEvents, readEvents } from '@on-par/factory-core';
3
3
  import { InvalidEventCursorError, colorEnabled, formatEventLine, readEventsSince, readEventsTail, } from '@on-par/factory-core/internal';
4
+ export function buildLogsJson(event, extra = {}) {
5
+ return { ...event, ...extra };
6
+ }
4
7
  export function eventMatchesIssue(e, issue) {
5
8
  return !issue || e.issue === issue;
6
9
  }
7
10
  export function renderEvent(e, opts) {
8
11
  if (opts.json)
9
- return JSON.stringify(e);
12
+ return JSON.stringify(buildLogsJson(e));
10
13
  return formatEventLine(e.type, e.issue, e.msg, { color: opts.color, lane: e.lane, ts: e.ts });
11
14
  }
12
15
  /** Print current events; with follow, keep tailing. Returns a stop() function (no-op stop for non-follow). */
@@ -24,7 +27,8 @@ export function runLogs(eventsFile, opts, deps = {}) {
24
27
  : undefined;
25
28
  if (page) {
26
29
  for (const { event, cursor } of page.events) {
27
- out.write((opts.json ? JSON.stringify({ ...event, cursor }) : renderEvent(event, { json: false, color })) + '\n');
30
+ out.write((opts.json ? JSON.stringify(buildLogsJson(event, { cursor })) : renderEvent(event, { json: false, color })) +
31
+ '\n');
28
32
  }
29
33
  if (!opts.follow)
30
34
  return () => { };
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/cli/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/cli/logs.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,14 @@
1
1
  import type { ActiveQueueClaim } from '@on-par/factory-core';
2
- import type { StopSource } from '@on-par/factory-core/internal';
2
+ import type { StatusJson } from './json-contract.js';
3
3
  import type { StatusUpdateJson } from './update-state.js';
4
+ export type { StatusJson } from './json-contract.js';
4
5
  /** One open provider in `factory status --json` (#1101). */
5
- export interface StatusBreakerProviderJson {
6
- provider: string;
7
- reason: string;
8
- openedAt: string;
9
- remainingSec: number;
10
- }
6
+ export type StatusBreakerProviderJson = StatusJson['breaker']['providers'][number];
11
7
  /** Provider breaker state (state/breaker.json). `open` is true iff any provider is still open. */
12
- export interface StatusBreakerJson {
13
- open: boolean;
14
- providers: StatusBreakerProviderJson[];
15
- }
8
+ export type StatusBreakerJson = StatusJson['breaker'];
16
9
  /** One fresh-heartbeat local queue claim. */
17
- export interface StatusActiveRowJson {
18
- lane: string;
19
- issue: number;
20
- phase: string;
21
- ageSec: number;
22
- }
23
- export interface StatusStopInfoJson {
24
- source: StopSource;
25
- setAt: string | null;
26
- }
27
- /** `factory status --json` payload (#1101). No queue (#2268) or usage (#2270) section.
28
- * Additive changes only; bump schemaVersion on a breaking change. */
29
- export interface StatusJson {
30
- schemaVersion: 1;
31
- repo: string;
32
- product: string | null;
33
- stop: boolean;
34
- /** Who set the STOP file and when (#3209, additive); null when no STOP. */
35
- stopInfo: StatusStopInfoJson | null;
36
- breaker: StatusBreakerJson;
37
- active: StatusActiveRowJson[];
38
- /** factoryd self-update state (#2129, additive); null when no readable update-state.json exists. */
39
- update: StatusUpdateJson | null;
40
- }
10
+ export type StatusActiveRowJson = StatusJson['active'][number];
11
+ export type StatusStopInfoJson = NonNullable<StatusJson['stopInfo']>;
41
12
  /** Builds the `factory status --json` payload. An unparsable `lastActivityAt` reports `ageSec: 0`, never NaN. */
42
13
  export declare function buildStatusJson(input: {
43
14
  repo: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status-json.d.ts","sourceRoot":"","sources":["../../src/cli/status-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;sEACsE;AACtE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,2EAA2E;IAC3E,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,oGAAoG;IACpG,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjC;AAED,iHAAiH;AACjH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrG,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAC7F,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,UAAU,CAqBb"}
1
+ {"version":3,"file":"status-json.d.ts","sourceRoot":"","sources":["../../src/cli/status-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,4DAA4D;AAC5D,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF,kGAAkG;AAClG,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAEtD,6CAA6C;AAC7C,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AAErE,iHAAiH;AACjH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrG,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAC7F,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,UAAU,CAsBb"}
@@ -10,13 +10,14 @@ export function buildStatusJson(input) {
10
10
  const ageSec = Math.floor((input.now - Date.parse(c.lastActivityAt)) / 1000);
11
11
  return { lane: c.lane, issue: c.issue, phase: c.phase, ageSec: Number.isFinite(ageSec) ? Math.max(0, ageSec) : 0 };
12
12
  });
13
+ const breaker = { open: providers.length > 0, providers };
13
14
  return {
14
15
  schemaVersion: 1,
15
16
  repo: input.repo,
16
17
  product: input.product,
17
18
  stop: input.stop,
18
19
  stopInfo: input.stopInfo,
19
- breaker: { open: providers.length > 0, providers },
20
+ breaker,
20
21
  active,
21
22
  update: input.update,
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"status-json.js","sourceRoot":"","sources":["../../src/cli/status-json.ts"],"names":[],"mappings":"AA8CA,iHAAiH;AACjH,MAAM,UAAU,eAAe,CAAC,KAS/B;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;KAC9C,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,CAAC,CAAC,CAAC;IACH,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE;QAClD,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status-json.js","sourceRoot":"","sources":["../../src/cli/status-json.ts"],"names":[],"mappings":"AAiBA,iHAAiH;AACjH,MAAM,UAAU,eAAe,CAAC,KAS/B;IACC,MAAM,SAAS,GAAgC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;KAC9C,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAA0B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAsB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7E,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO;QACP,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@on-par/factory-cli",
3
- "version": "0.9.11-next.24",
3
+ "version": "0.9.11-next.26",
4
4
  "description": "On PAR Dev's Software Factory CLI: takes a GitHub issue through plan, build and check with AI agents, then opens a ready-for-review PR.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -47,9 +47,10 @@
47
47
  "@octokit/plugin-retry": "^8.1.1",
48
48
  "@octokit/plugin-throttling": "^11.0.5",
49
49
  "@octokit/rest": "^22.0.0",
50
- "@on-par/factory-core": "0.9.11-next.24",
51
- "@on-par/factory-tui": "0.9.11-next.24",
52
- "commander": "^15.0.0"
50
+ "@on-par/factory-core": "0.9.11-next.26",
51
+ "@on-par/factory-tui": "0.9.11-next.26",
52
+ "commander": "^15.0.0",
53
+ "zod": "^4.6.5"
53
54
  },
54
55
  "license": "MIT",
55
56
  "devDependencies": {