pi-harness-runtime 1.1.336 → 1.1.337

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 (180) hide show
  1. package/index.ts +21 -12
  2. package/package.json +1 -1
  3. package/packages/a2a-adapter/package.json +1 -1
  4. package/packages/agent-policy/package.json +1 -1
  5. package/packages/architecture-generator/package.json +1 -1
  6. package/packages/auth/package.json +1 -1
  7. package/packages/autonomous-refactor/package.json +1 -1
  8. package/packages/autonomous-runtime/package.json +1 -1
  9. package/packages/cache-strategy/package.json +1 -1
  10. package/packages/capability-registry/package.json +1 -1
  11. package/packages/checkpoint/package.json +1 -1
  12. package/packages/cli-plugin-sdk/package.json +1 -1
  13. package/packages/clipboard/package.json +1 -1
  14. package/packages/clipboard-plugin/package.json +1 -1
  15. package/packages/code-generation/package.json +1 -1
  16. package/packages/code-review/package.json +1 -1
  17. package/packages/codex-adapter/package.json +1 -1
  18. package/packages/codex-watcher/package.json +1 -1
  19. package/packages/config-capture/package.json +1 -1
  20. package/packages/connection-runtime/dist/index.d.ts +11 -0
  21. package/packages/connection-runtime/dist/index.js +11 -0
  22. package/packages/connection-runtime/dist/registry.d.ts +69 -0
  23. package/packages/connection-runtime/dist/registry.js +117 -0
  24. package/packages/connection-runtime/dist/supervisor.d.ts +89 -0
  25. package/packages/connection-runtime/dist/supervisor.js +169 -0
  26. package/packages/connection-runtime/dist/types.d.ts +70 -0
  27. package/packages/connection-runtime/dist/types.js +16 -0
  28. package/packages/connection-runtime/package.json +24 -0
  29. package/packages/connection-runtime/src/index.ts +12 -0
  30. package/packages/connection-runtime/src/registry.ts +142 -0
  31. package/packages/connection-runtime/src/supervisor.ts +224 -0
  32. package/packages/connection-runtime/src/types.ts +88 -0
  33. package/packages/context-compiler/package.json +1 -1
  34. package/packages/context-discovery/package.json +1 -1
  35. package/packages/context-manager/package.json +1 -1
  36. package/packages/contracts/dist/approvals.d.ts +273 -0
  37. package/packages/contracts/dist/approvals.js +93 -0
  38. package/packages/contracts/dist/base.d.ts +78 -0
  39. package/packages/contracts/dist/base.js +82 -0
  40. package/packages/contracts/dist/events.d.ts +99 -0
  41. package/packages/contracts/dist/events.js +65 -0
  42. package/packages/contracts/dist/index.d.ts +20 -0
  43. package/packages/contracts/dist/index.js +20 -0
  44. package/packages/contracts/dist/jobs.d.ts +234 -0
  45. package/packages/contracts/dist/jobs.js +79 -0
  46. package/packages/contracts/dist/notifications.d.ts +317 -0
  47. package/packages/contracts/dist/notifications.js +85 -0
  48. package/packages/contracts/dist/projects.d.ts +171 -0
  49. package/packages/contracts/dist/projects.js +62 -0
  50. package/packages/contracts/dist/sessions.d.ts +226 -0
  51. package/packages/contracts/dist/sessions.js +82 -0
  52. package/packages/contracts/package.json +24 -0
  53. package/packages/contracts/src/approvals.ts +115 -0
  54. package/packages/contracts/src/base.ts +126 -0
  55. package/packages/contracts/src/events.ts +78 -0
  56. package/packages/contracts/src/index.ts +21 -0
  57. package/packages/contracts/src/jobs.ts +101 -0
  58. package/packages/contracts/src/notifications.ts +104 -0
  59. package/packages/contracts/src/projects.ts +81 -0
  60. package/packages/contracts/src/sessions.ts +104 -0
  61. package/packages/cookie-sanitizer/package.json +1 -1
  62. package/packages/cost-optimizer/package.json +1 -1
  63. package/packages/dependency-analyzer/package.json +1 -1
  64. package/packages/django-plugin/package.json +1 -1
  65. package/packages/doc-generator/package.json +1 -1
  66. package/packages/durable-review/package.json +1 -1
  67. package/packages/e2e-tester/package.json +1 -1
  68. package/packages/evaluation-engine/package.json +1 -1
  69. package/packages/evaluation-runner/package.json +1 -1
  70. package/packages/event-bus/package.json +1 -1
  71. package/packages/event-sink/dist/index.d.ts +12 -0
  72. package/packages/event-sink/dist/index.js +12 -0
  73. package/packages/event-sink/dist/outbox.d.ts +51 -0
  74. package/packages/event-sink/dist/outbox.js +88 -0
  75. package/packages/event-sink/dist/projection.d.ts +41 -0
  76. package/packages/event-sink/dist/projection.js +62 -0
  77. package/packages/event-sink/dist/sink.d.ts +81 -0
  78. package/packages/event-sink/dist/sink.js +106 -0
  79. package/packages/event-sink/package.json +28 -0
  80. package/packages/event-sink/src/index.ts +15 -0
  81. package/packages/event-sink/src/outbox.ts +119 -0
  82. package/packages/event-sink/src/projection.ts +84 -0
  83. package/packages/event-sink/src/sink.ts +167 -0
  84. package/packages/event-store/package.json +1 -1
  85. package/packages/experience-replay/package.json +1 -1
  86. package/packages/feedback-collector/package.json +1 -1
  87. package/packages/file-copy-helper/package.json +1 -1
  88. package/packages/framework-detector/package.json +1 -1
  89. package/packages/framework-plugin-sdk/package.json +1 -1
  90. package/packages/frappe-plugin/package.json +1 -1
  91. package/packages/generic-web-plugin/package.json +1 -1
  92. package/packages/health-monitor/package.json +1 -1
  93. package/packages/intent-analyzer/package.json +1 -1
  94. package/packages/jev-judge/package.json +1 -1
  95. package/packages/knowledge-graph/package.json +1 -1
  96. package/packages/knowledge-retrieval/package.json +1 -1
  97. package/packages/laravel-plugin/package.json +1 -1
  98. package/packages/learning-engine/package.json +1 -1
  99. package/packages/mcp-adapter/package.json +1 -1
  100. package/packages/memory-engine/package.json +1 -1
  101. package/packages/milestone-manager/package.json +1 -1
  102. package/packages/model-registry/package.json +1 -1
  103. package/packages/nextjs-plugin/package.json +1 -1
  104. package/packages/notification/package.json +1 -1
  105. package/packages/observability/package.json +1 -1
  106. package/packages/okf-indexer/package.json +1 -1
  107. package/packages/paperclip-integration/package.json +1 -1
  108. package/packages/performance-optimizer/package.json +1 -1
  109. package/packages/permission-mode/dist/checker.d.ts +66 -0
  110. package/packages/permission-mode/dist/checker.js +64 -0
  111. package/packages/permission-mode/dist/index.d.ts +12 -0
  112. package/packages/permission-mode/dist/index.js +11 -0
  113. package/packages/permission-mode/dist/manager.d.ts +65 -0
  114. package/packages/permission-mode/dist/manager.js +91 -0
  115. package/packages/permission-mode/dist/mode.d.ts +31 -0
  116. package/packages/permission-mode/dist/mode.js +47 -0
  117. package/packages/permission-mode/package.json +24 -0
  118. package/packages/permission-mode/src/checker.ts +103 -0
  119. package/packages/permission-mode/src/index.ts +13 -0
  120. package/packages/permission-mode/src/manager.ts +154 -0
  121. package/packages/permission-mode/src/mode.ts +73 -0
  122. package/packages/privilege-broker/package.json +1 -1
  123. package/packages/project-analyzer/package.json +1 -1
  124. package/packages/project-bootstrap/package.json +1 -1
  125. package/packages/projection-engine/package.json +1 -1
  126. package/packages/prompt-compiler/package.json +1 -1
  127. package/packages/prompt-versioning/package.json +1 -1
  128. package/packages/provider-adapter-sdk/package.json +1 -1
  129. package/packages/provider-router/package.json +1 -1
  130. package/packages/provider-selector/package.json +1 -1
  131. package/packages/providers/package.json +1 -1
  132. package/packages/qdrant-skills/package.json +1 -1
  133. package/packages/quota-manager/package.json +1 -1
  134. package/packages/rate-limiter/package.json +1 -1
  135. package/packages/react-vite-plugin/package.json +1 -1
  136. package/packages/relay/dist/client.d.ts +53 -0
  137. package/packages/relay/dist/client.js +95 -0
  138. package/packages/relay/dist/index.d.ts +9 -0
  139. package/packages/relay/dist/index.js +8 -0
  140. package/packages/relay/dist/server.d.ts +58 -0
  141. package/packages/relay/dist/server.js +93 -0
  142. package/packages/relay/dist/types.d.ts +35 -0
  143. package/packages/relay/dist/types.js +4 -0
  144. package/packages/relay/package.json +24 -0
  145. package/packages/relay/src/client.ts +119 -0
  146. package/packages/relay/src/index.ts +10 -0
  147. package/packages/relay/src/server.ts +120 -0
  148. package/packages/relay/src/types.ts +38 -0
  149. package/packages/release-manager/package.json +1 -1
  150. package/packages/requirement-compiler/package.json +1 -1
  151. package/packages/runtime/package.json +1 -1
  152. package/packages/scheduler/package.json +1 -1
  153. package/packages/scheduler-adapter/package.json +1 -1
  154. package/packages/session/package.json +1 -1
  155. package/packages/session-api/package.json +1 -1
  156. package/packages/session-export/package.json +1 -1
  157. package/packages/shared-context/package.json +1 -1
  158. package/packages/skill-mcp-client/package.json +1 -1
  159. package/packages/skill-registry/package.json +1 -1
  160. package/packages/skills/package.json +1 -1
  161. package/packages/sprint-planner/package.json +1 -1
  162. package/packages/subscription-engine/package.json +1 -1
  163. package/packages/task-compiler/package.json +1 -1
  164. package/packages/telegram/package.json +1 -1
  165. package/packages/tencentdb-memory/package.json +1 -1
  166. package/packages/tencentdb-sync/package.json +1 -1
  167. package/packages/test-data-generator/package.json +1 -1
  168. package/packages/test-generator/package.json +1 -1
  169. package/packages/todo-bd-sync/package.json +1 -1
  170. package/packages/token-estimation/package.json +1 -1
  171. package/packages/token-optimizer/package.json +1 -1
  172. package/packages/trajectory/package.json +1 -1
  173. package/packages/tui/package.json +1 -1
  174. package/packages/types/package.json +1 -1
  175. package/packages/webmcp-tester/package.json +1 -1
  176. package/packages/wiki/package.json +1 -1
  177. package/packages/workflow-events/package.json +1 -1
  178. package/packages/workspace-scanner/package.json +1 -1
  179. package/packages/worktree/package.json +1 -1
  180. package/packages/write-review/package.json +1 -1
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Event schemas for pi-harness
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Event types
7
+ */
8
+ export declare const EventType: z.ZodEnum<["job.created", "job.started", "job.progress", "job.completed", "job.failed", "job.cancelled", "session.started", "session.ended", "approval.requested", "approval.granted", "approval.rejected", "policy.acknowledged", "policy.updated", "tool.executed", "tool.failed", "checkpoint.created", "checkpoint.restored", "error.occurred"]>;
9
+ export type EventType = z.infer<typeof EventType>;
10
+ /**
11
+ * Base event schema
12
+ */
13
+ export declare const Event: z.ZodObject<{
14
+ id: z.ZodString;
15
+ type: z.ZodEnum<["job.created", "job.started", "job.progress", "job.completed", "job.failed", "job.cancelled", "session.started", "session.ended", "approval.requested", "approval.granted", "approval.rejected", "policy.acknowledged", "policy.updated", "tool.executed", "tool.failed", "checkpoint.created", "checkpoint.restored", "error.occurred"]>;
16
+ timestamp: z.ZodString;
17
+ workspaceId: z.ZodOptional<z.ZodString>;
18
+ sessionId: z.ZodOptional<z.ZodString>;
19
+ jobId: z.ZodOptional<z.ZodString>;
20
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ id: string;
24
+ type: "approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed";
25
+ timestamp: string;
26
+ workspaceId?: string | undefined;
27
+ sessionId?: string | undefined;
28
+ jobId?: string | undefined;
29
+ payload?: Record<string, unknown> | undefined;
30
+ metadata?: Record<string, unknown> | undefined;
31
+ }, {
32
+ id: string;
33
+ type: "approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed";
34
+ timestamp: string;
35
+ workspaceId?: string | undefined;
36
+ sessionId?: string | undefined;
37
+ jobId?: string | undefined;
38
+ payload?: Record<string, unknown> | undefined;
39
+ metadata?: Record<string, unknown> | undefined;
40
+ }>;
41
+ export type Event = z.infer<typeof Event>;
42
+ /**
43
+ * Event creation input
44
+ */
45
+ export declare const EventCreate: z.ZodObject<{
46
+ type: z.ZodEnum<["job.created", "job.started", "job.progress", "job.completed", "job.failed", "job.cancelled", "session.started", "session.ended", "approval.requested", "approval.granted", "approval.rejected", "policy.acknowledged", "policy.updated", "tool.executed", "tool.failed", "checkpoint.created", "checkpoint.restored", "error.occurred"]>;
47
+ workspaceId: z.ZodOptional<z.ZodString>;
48
+ sessionId: z.ZodOptional<z.ZodString>;
49
+ jobId: z.ZodOptional<z.ZodString>;
50
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
51
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type: "approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed";
54
+ workspaceId?: string | undefined;
55
+ sessionId?: string | undefined;
56
+ jobId?: string | undefined;
57
+ payload?: Record<string, unknown> | undefined;
58
+ metadata?: Record<string, unknown> | undefined;
59
+ }, {
60
+ type: "approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed";
61
+ workspaceId?: string | undefined;
62
+ sessionId?: string | undefined;
63
+ jobId?: string | undefined;
64
+ payload?: Record<string, unknown> | undefined;
65
+ metadata?: Record<string, unknown> | undefined;
66
+ }>;
67
+ export type EventCreate = z.infer<typeof EventCreate>;
68
+ /**
69
+ * Event filter for queries
70
+ */
71
+ export declare const EventFilter: z.ZodObject<{
72
+ types: z.ZodOptional<z.ZodArray<z.ZodEnum<["job.created", "job.started", "job.progress", "job.completed", "job.failed", "job.cancelled", "session.started", "session.ended", "approval.requested", "approval.granted", "approval.rejected", "policy.acknowledged", "policy.updated", "tool.executed", "tool.failed", "checkpoint.created", "checkpoint.restored", "error.occurred"]>, "many">>;
73
+ workspaceId: z.ZodOptional<z.ZodString>;
74
+ sessionId: z.ZodOptional<z.ZodString>;
75
+ jobId: z.ZodOptional<z.ZodString>;
76
+ since: z.ZodOptional<z.ZodString>;
77
+ until: z.ZodOptional<z.ZodString>;
78
+ limit: z.ZodDefault<z.ZodNumber>;
79
+ cursor: z.ZodOptional<z.ZodString>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ types?: ("approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed")[] | undefined;
82
+ workspaceId?: string | undefined;
83
+ sessionId?: string | undefined;
84
+ jobId?: string | undefined;
85
+ since?: string | undefined;
86
+ until?: string | undefined;
87
+ limit: number;
88
+ cursor?: string | undefined;
89
+ }, {
90
+ types?: ("approval.granted" | "approval.rejected" | "approval.requested" | "checkpoint.created" | "checkpoint.restored" | "error.occurred" | "job.cancelled" | "job.completed" | "job.created" | "job.failed" | "job.progress" | "job.started" | "policy.acknowledged" | "policy.updated" | "session.ended" | "session.started" | "tool.executed" | "tool.failed")[] | undefined;
91
+ workspaceId?: string | undefined;
92
+ sessionId?: string | undefined;
93
+ jobId?: string | undefined;
94
+ since?: string | undefined;
95
+ until?: string | undefined;
96
+ limit?: number | undefined;
97
+ cursor?: string | undefined;
98
+ }>;
99
+ export type EventFilter = z.infer<typeof EventFilter>;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Event schemas for pi-harness
3
+ */
4
+ import { z } from 'zod';
5
+ import { Timestamp, UUID } from './base.js';
6
+ /**
7
+ * Event types
8
+ */
9
+ export const EventType = z.enum([
10
+ 'job.created',
11
+ 'job.started',
12
+ 'job.progress',
13
+ 'job.completed',
14
+ 'job.failed',
15
+ 'job.cancelled',
16
+ 'session.started',
17
+ 'session.ended',
18
+ 'approval.requested',
19
+ 'approval.granted',
20
+ 'approval.rejected',
21
+ 'policy.acknowledged',
22
+ 'policy.updated',
23
+ 'tool.executed',
24
+ 'tool.failed',
25
+ 'checkpoint.created',
26
+ 'checkpoint.restored',
27
+ 'error.occurred',
28
+ ]);
29
+ /**
30
+ * Base event schema
31
+ */
32
+ export const Event = z.object({
33
+ id: UUID,
34
+ type: EventType,
35
+ timestamp: Timestamp,
36
+ workspaceId: z.string().optional(),
37
+ sessionId: z.string().optional(),
38
+ jobId: z.string().optional(),
39
+ payload: z.record(z.string(), z.unknown()).optional(),
40
+ metadata: z.record(z.string(), z.unknown()).optional(),
41
+ });
42
+ /**
43
+ * Event creation input
44
+ */
45
+ export const EventCreate = z.object({
46
+ type: EventType,
47
+ workspaceId: z.string().optional(),
48
+ sessionId: z.string().optional(),
49
+ jobId: z.string().optional(),
50
+ payload: z.record(z.string(), z.unknown()).optional(),
51
+ metadata: z.record(z.string(), z.unknown()).optional(),
52
+ });
53
+ /**
54
+ * Event filter for queries
55
+ */
56
+ export const EventFilter = z.object({
57
+ types: z.array(EventType).optional(),
58
+ workspaceId: z.string().optional(),
59
+ sessionId: z.string().optional(),
60
+ jobId: z.string().optional(),
61
+ since: Timestamp.optional(),
62
+ until: Timestamp.optional(),
63
+ limit: z.number().int().positive().max(1000).default(100),
64
+ cursor: z.string().optional(),
65
+ });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * pi-harness Contracts Package
3
+ *
4
+ * Type-safe RPC schema definitions for all pi-harness services.
5
+ * Uses Zod for runtime validation.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { schemas } from '@pi-harness/contracts';
10
+ *
11
+ * const result = schemas.JobCreate.parse(input);
12
+ * ```
13
+ */
14
+ export * from './base.js';
15
+ export * from './events.js';
16
+ export * from './jobs.js';
17
+ export * from './sessions.js';
18
+ export * from './projects.js';
19
+ export * from './notifications.js';
20
+ export * from './approvals.js';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * pi-harness Contracts Package
3
+ *
4
+ * Type-safe RPC schema definitions for all pi-harness services.
5
+ * Uses Zod for runtime validation.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { schemas } from '@pi-harness/contracts';
10
+ *
11
+ * const result = schemas.JobCreate.parse(input);
12
+ * ```
13
+ */
14
+ export * from './base.js';
15
+ export * from './events.js';
16
+ export * from './jobs.js';
17
+ export * from './sessions.js';
18
+ export * from './projects.js';
19
+ export * from './notifications.js';
20
+ export * from './approvals.js';
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Job schemas for pi-harness
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Job status
7
+ */
8
+ export declare const JobStatus: z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>;
9
+ export type JobStatus = z.infer<typeof JobStatus>;
10
+ /**
11
+ * Job priority
12
+ */
13
+ export declare const JobPriority: z.ZodEnum<["low", "normal", "high", "urgent"]>;
14
+ export type JobPriority = z.infer<typeof JobPriority>;
15
+ /**
16
+ * Job definition
17
+ */
18
+ export declare const Job: z.ZodObject<{
19
+ id: z.ZodString;
20
+ type: z.ZodString;
21
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>;
22
+ priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high", "urgent"]>>;
23
+ workspaceId: z.ZodString;
24
+ sessionId: z.ZodOptional<z.ZodString>;
25
+ requirement: z.ZodString;
26
+ result: z.ZodOptional<z.ZodUnknown>;
27
+ error: z.ZodOptional<z.ZodString>;
28
+ progress: z.ZodDefault<z.ZodNumber>;
29
+ createdAt: z.ZodString;
30
+ startedAt: z.ZodOptional<z.ZodString>;
31
+ completedAt: z.ZodOptional<z.ZodString>;
32
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ id: string;
35
+ type: string;
36
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
37
+ priority: "high" | "low" | "normal" | "urgent";
38
+ workspaceId: string;
39
+ sessionId?: string | undefined;
40
+ requirement: string;
41
+ result?: unknown;
42
+ error?: string | undefined;
43
+ progress: number;
44
+ createdAt: string;
45
+ startedAt?: string | undefined;
46
+ completedAt?: string | undefined;
47
+ metadata?: Record<string, unknown> | undefined;
48
+ }, {
49
+ id: string;
50
+ type: string;
51
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
52
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
53
+ workspaceId: string;
54
+ sessionId?: string | undefined;
55
+ requirement: string;
56
+ result?: unknown;
57
+ error?: string | undefined;
58
+ progress?: number | undefined;
59
+ createdAt: string;
60
+ startedAt?: string | undefined;
61
+ completedAt?: string | undefined;
62
+ metadata?: Record<string, unknown> | undefined;
63
+ }>;
64
+ export type Job = z.infer<typeof Job>;
65
+ /**
66
+ * Job creation input
67
+ */
68
+ export declare const JobCreate: z.ZodObject<{
69
+ type: z.ZodString;
70
+ priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high", "urgent"]>>;
71
+ workspaceId: z.ZodString;
72
+ sessionId: z.ZodOptional<z.ZodString>;
73
+ requirement: z.ZodString;
74
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ type: string;
77
+ priority: "high" | "low" | "normal" | "urgent";
78
+ workspaceId: string;
79
+ sessionId?: string | undefined;
80
+ requirement: string;
81
+ metadata?: Record<string, unknown> | undefined;
82
+ }, {
83
+ type: string;
84
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
85
+ workspaceId: string;
86
+ sessionId?: string | undefined;
87
+ requirement: string;
88
+ metadata?: Record<string, unknown> | undefined;
89
+ }>;
90
+ export type JobCreate = z.infer<typeof JobCreate>;
91
+ /**
92
+ * Job update input
93
+ */
94
+ export declare const JobUpdate: z.ZodObject<{
95
+ status: z.ZodOptional<z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>>;
96
+ progress: z.ZodOptional<z.ZodNumber>;
97
+ result: z.ZodOptional<z.ZodUnknown>;
98
+ error: z.ZodOptional<z.ZodString>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ status?: "cancelled" | "completed" | "failed" | "pending" | "running" | undefined;
101
+ progress?: number | undefined;
102
+ result?: unknown;
103
+ error?: string | undefined;
104
+ }, {
105
+ status?: "cancelled" | "completed" | "failed" | "pending" | "running" | undefined;
106
+ progress?: number | undefined;
107
+ result?: unknown;
108
+ error?: string | undefined;
109
+ }>;
110
+ export type JobUpdate = z.infer<typeof JobUpdate>;
111
+ /**
112
+ * Job filter
113
+ */
114
+ export declare const JobFilter: z.ZodObject<{
115
+ workspaceId: z.ZodOptional<z.ZodString>;
116
+ sessionId: z.ZodOptional<z.ZodString>;
117
+ status: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>, z.ZodArray<z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>, "many">]>>;
118
+ priority: z.ZodOptional<z.ZodEnum<["low", "normal", "high", "urgent"]>>;
119
+ since: z.ZodOptional<z.ZodString>;
120
+ until: z.ZodOptional<z.ZodString>;
121
+ limit: z.ZodDefault<z.ZodNumber>;
122
+ cursor: z.ZodOptional<z.ZodString>;
123
+ }, "strip", z.ZodTypeAny, {
124
+ workspaceId?: string | undefined;
125
+ sessionId?: string | undefined;
126
+ status?: "cancelled" | "completed" | "failed" | "pending" | "running" | ("cancelled" | "completed" | "failed" | "pending" | "running")[] | undefined;
127
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
128
+ since?: string | undefined;
129
+ until?: string | undefined;
130
+ limit: number;
131
+ cursor?: string | undefined;
132
+ }, {
133
+ workspaceId?: string | undefined;
134
+ sessionId?: string | undefined;
135
+ status?: "cancelled" | "completed" | "failed" | "pending" | "running" | ("cancelled" | "completed" | "failed" | "pending" | "running")[] | undefined;
136
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
137
+ since?: string | undefined;
138
+ until?: string | undefined;
139
+ limit?: number | undefined;
140
+ cursor?: string | undefined;
141
+ }>;
142
+ export type JobFilter = z.infer<typeof JobFilter>;
143
+ /**
144
+ * Job list response
145
+ */
146
+ export declare const JobList: z.ZodObject<{
147
+ items: z.ZodArray<z.ZodObject<{
148
+ id: z.ZodString;
149
+ type: z.ZodString;
150
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>;
151
+ priority: z.ZodDefault<z.ZodEnum<["low", "normal", "high", "urgent"]>>;
152
+ workspaceId: z.ZodString;
153
+ sessionId: z.ZodOptional<z.ZodString>;
154
+ requirement: z.ZodString;
155
+ result: z.ZodOptional<z.ZodUnknown>;
156
+ error: z.ZodOptional<z.ZodString>;
157
+ progress: z.ZodDefault<z.ZodNumber>;
158
+ createdAt: z.ZodString;
159
+ startedAt: z.ZodOptional<z.ZodString>;
160
+ completedAt: z.ZodOptional<z.ZodString>;
161
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ id: string;
164
+ type: string;
165
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
166
+ priority: "high" | "low" | "normal" | "urgent";
167
+ workspaceId: string;
168
+ sessionId?: string | undefined;
169
+ requirement: string;
170
+ result?: unknown;
171
+ error?: string | undefined;
172
+ progress: number;
173
+ createdAt: string;
174
+ startedAt?: string | undefined;
175
+ completedAt?: string | undefined;
176
+ metadata?: Record<string, unknown> | undefined;
177
+ }, {
178
+ id: string;
179
+ type: string;
180
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
181
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
182
+ workspaceId: string;
183
+ sessionId?: string | undefined;
184
+ requirement: string;
185
+ result?: unknown;
186
+ error?: string | undefined;
187
+ progress?: number | undefined;
188
+ createdAt: string;
189
+ startedAt?: string | undefined;
190
+ completedAt?: string | undefined;
191
+ metadata?: Record<string, unknown> | undefined;
192
+ }>, "many">;
193
+ nextCursor: z.ZodOptional<z.ZodString>;
194
+ total: z.ZodOptional<z.ZodNumber>;
195
+ }, "strip", z.ZodTypeAny, {
196
+ items: {
197
+ id: string;
198
+ type: string;
199
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
200
+ priority: "high" | "low" | "normal" | "urgent";
201
+ workspaceId: string;
202
+ sessionId?: string | undefined;
203
+ requirement: string;
204
+ result?: unknown;
205
+ error?: string | undefined;
206
+ progress: number;
207
+ createdAt: string;
208
+ startedAt?: string | undefined;
209
+ completedAt?: string | undefined;
210
+ metadata?: Record<string, unknown> | undefined;
211
+ }[];
212
+ nextCursor?: string | undefined;
213
+ total?: number | undefined;
214
+ }, {
215
+ items: {
216
+ id: string;
217
+ type: string;
218
+ status: "cancelled" | "completed" | "failed" | "pending" | "running";
219
+ priority?: "high" | "low" | "normal" | "urgent" | undefined;
220
+ workspaceId: string;
221
+ sessionId?: string | undefined;
222
+ requirement: string;
223
+ result?: unknown;
224
+ error?: string | undefined;
225
+ progress?: number | undefined;
226
+ createdAt: string;
227
+ startedAt?: string | undefined;
228
+ completedAt?: string | undefined;
229
+ metadata?: Record<string, unknown> | undefined;
230
+ }[];
231
+ nextCursor?: string | undefined;
232
+ total?: number | undefined;
233
+ }>;
234
+ export type JobList = z.infer<typeof JobList>;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Job schemas for pi-harness
3
+ */
4
+ import { z } from 'zod';
5
+ import { Timestamp, UUID, NonEmptyString } from './base.js';
6
+ /**
7
+ * Job status
8
+ */
9
+ export const JobStatus = z.enum([
10
+ 'pending',
11
+ 'running',
12
+ 'completed',
13
+ 'failed',
14
+ 'cancelled',
15
+ ]);
16
+ /**
17
+ * Job priority
18
+ */
19
+ export const JobPriority = z.enum(['low', 'normal', 'high', 'urgent']);
20
+ /**
21
+ * Job definition
22
+ */
23
+ export const Job = z.object({
24
+ id: UUID,
25
+ type: NonEmptyString,
26
+ status: JobStatus,
27
+ priority: JobPriority.default('normal'),
28
+ workspaceId: z.string(),
29
+ sessionId: z.string().optional(),
30
+ requirement: NonEmptyString,
31
+ result: z.unknown().optional(),
32
+ error: z.string().optional(),
33
+ progress: z.number().min(0).max(100).default(0),
34
+ createdAt: Timestamp,
35
+ startedAt: Timestamp.optional(),
36
+ completedAt: Timestamp.optional(),
37
+ metadata: z.record(z.string(), z.unknown()).optional(),
38
+ });
39
+ /**
40
+ * Job creation input
41
+ */
42
+ export const JobCreate = z.object({
43
+ type: NonEmptyString,
44
+ priority: JobPriority.default('normal'),
45
+ workspaceId: z.string(),
46
+ sessionId: z.string().optional(),
47
+ requirement: NonEmptyString,
48
+ metadata: z.record(z.string(), z.unknown()).optional(),
49
+ });
50
+ /**
51
+ * Job update input
52
+ */
53
+ export const JobUpdate = z.object({
54
+ status: JobStatus.optional(),
55
+ progress: z.number().min(0).max(100).optional(),
56
+ result: z.unknown().optional(),
57
+ error: z.string().optional(),
58
+ });
59
+ /**
60
+ * Job filter
61
+ */
62
+ export const JobFilter = z.object({
63
+ workspaceId: z.string().optional(),
64
+ sessionId: z.string().optional(),
65
+ status: z.union([JobStatus, z.array(JobStatus)]).optional(),
66
+ priority: JobPriority.optional(),
67
+ since: Timestamp.optional(),
68
+ until: Timestamp.optional(),
69
+ limit: z.number().int().positive().max(100).default(50),
70
+ cursor: z.string().optional(),
71
+ });
72
+ /**
73
+ * Job list response
74
+ */
75
+ export const JobList = z.object({
76
+ items: z.array(Job),
77
+ nextCursor: z.string().optional(),
78
+ total: z.number().optional(),
79
+ });