@playcraft/common 0.1.58-beta → 0.1.60-beta

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 (59) hide show
  1. package/dist/cloud-workspace/runtime/agent-generation-provenance.js +1 -1
  2. package/dist/cloud-workspace/runtime/agent-generation-provenance.js.map +1 -1
  3. package/dist/cloud-workspace/runtime/batch-runs.d.ts +42 -7
  4. package/dist/cloud-workspace/runtime/batch-runs.d.ts.map +1 -1
  5. package/dist/cloud-workspace/runtime/batch-runs.js +2 -1
  6. package/dist/cloud-workspace/runtime/batch-runs.js.map +1 -1
  7. package/dist/cloud-workspace/runtime/composer-context.d.ts +20 -0
  8. package/dist/cloud-workspace/runtime/composer-context.d.ts.map +1 -1
  9. package/dist/cloud-workspace/runtime/composer-context.js +5 -0
  10. package/dist/cloud-workspace/runtime/composer-context.js.map +1 -1
  11. package/dist/cloud-workspace/runtime/context-blocks.d.ts +38 -0
  12. package/dist/cloud-workspace/runtime/context-blocks.d.ts.map +1 -0
  13. package/dist/cloud-workspace/runtime/context-blocks.js +74 -0
  14. package/dist/cloud-workspace/runtime/context-blocks.js.map +1 -0
  15. package/dist/cloud-workspace/runtime/conversation-references.d.ts +40 -0
  16. package/dist/cloud-workspace/runtime/conversation-references.d.ts.map +1 -0
  17. package/dist/cloud-workspace/runtime/conversation-references.js +43 -0
  18. package/dist/cloud-workspace/runtime/conversation-references.js.map +1 -0
  19. package/dist/cloud-workspace/runtime/execution-admission.d.ts +18 -2
  20. package/dist/cloud-workspace/runtime/execution-admission.d.ts.map +1 -1
  21. package/dist/cloud-workspace/runtime/execution-admission.js +6 -0
  22. package/dist/cloud-workspace/runtime/execution-admission.js.map +1 -1
  23. package/dist/cloud-workspace/runtime/index.d.ts +4 -0
  24. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -1
  25. package/dist/cloud-workspace/runtime/index.js +4 -0
  26. package/dist/cloud-workspace/runtime/index.js.map +1 -1
  27. package/dist/cloud-workspace/runtime/operations.d.ts +57 -0
  28. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -1
  29. package/dist/cloud-workspace/runtime/operations.js +3 -1
  30. package/dist/cloud-workspace/runtime/operations.js.map +1 -1
  31. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +1 -0
  32. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +1 -1
  33. package/dist/cloud-workspace/runtime/platform-endpoints.js +1 -0
  34. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +1 -1
  35. package/dist/cloud-workspace/runtime/remix-references.d.ts +138 -0
  36. package/dist/cloud-workspace/runtime/remix-references.d.ts.map +1 -1
  37. package/dist/cloud-workspace/runtime/remix-references.js +14 -0
  38. package/dist/cloud-workspace/runtime/remix-references.js.map +1 -1
  39. package/dist/cloud-workspace/runtime/scheduled-task-proposals.d.ts +581 -0
  40. package/dist/cloud-workspace/runtime/scheduled-task-proposals.d.ts.map +1 -0
  41. package/dist/cloud-workspace/runtime/scheduled-task-proposals.js +70 -0
  42. package/dist/cloud-workspace/runtime/scheduled-task-proposals.js.map +1 -0
  43. package/dist/cloud-workspace/runtime/scheduled-tasks.d.ts +258 -0
  44. package/dist/cloud-workspace/runtime/scheduled-tasks.d.ts.map +1 -0
  45. package/dist/cloud-workspace/runtime/scheduled-tasks.js +88 -0
  46. package/dist/cloud-workspace/runtime/scheduled-tasks.js.map +1 -0
  47. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts +9 -0
  48. package/dist/cloud-workspace/runtime/workspace-notifications.d.ts.map +1 -1
  49. package/dist/cloud-workspace/runtime/workspace-notifications.js +54 -0
  50. package/dist/cloud-workspace/runtime/workspace-notifications.js.map +1 -1
  51. package/dist/platform-loop-control.d.ts +20 -0
  52. package/dist/platform-loop-control.d.ts.map +1 -0
  53. package/dist/platform-loop-control.js +96 -0
  54. package/dist/platform-loop-control.js.map +1 -0
  55. package/dist/platform-tasks.d.ts +151 -0
  56. package/dist/platform-tasks.d.ts.map +1 -0
  57. package/dist/platform-tasks.js +2 -0
  58. package/dist/platform-tasks.js.map +1 -0
  59. package/package.json +9 -1
@@ -0,0 +1,70 @@
1
+ import { z } from 'zod';
2
+ import { reasoningEffortSchema } from './operations.js';
3
+ import { workspacePermissionModeSchema } from './permissions.js';
4
+ import { workspaceDirectoryNameSchema } from './workspace-directories.js';
5
+ import { scheduledTaskConfigurationSchema, scheduledTaskNotificationPolicySchema, scheduledTaskScheduleSchema, scheduledTaskTimeZoneSchema } from './scheduled-tasks.js';
6
+ const identifier = z.string().trim().min(1).max(128);
7
+ export const scheduledTaskProposalScopeSchema = z.object({
8
+ workspaceId: z.string().uuid(), directoryName: workspaceDirectoryNameSchema, sessionId: identifier,
9
+ }).strict();
10
+ export const scheduledTaskProposalSourceSchema = scheduledTaskProposalScopeSchema.extend({
11
+ operationId: identifier, nativeTurnId: identifier, toolCallId: identifier,
12
+ }).strict();
13
+ export const scheduledTaskProposalDefaultsSchema = z.object({
14
+ modelConfigId: identifier, reasoningEffort: reasoningEffortSchema.optional(), permissionMode: workspacePermissionModeSchema,
15
+ }).strict();
16
+ const editable = {
17
+ name: z.string().trim().min(1).max(160), prompt: z.string().trim().min(1).max(32_000),
18
+ schedule: scheduledTaskScheduleSchema, timeZone: scheduledTaskTimeZoneSchema, modelConfigId: identifier,
19
+ reasoningEffort: reasoningEffortSchema.optional(), permissionMode: workspacePermissionModeSchema.default('confirm'),
20
+ notificationPolicy: scheduledTaskNotificationPolicySchema.default('important_updates'),
21
+ };
22
+ export const scheduledTaskProposalChangesSchema = z.object({
23
+ name: editable.name.optional(), prompt: editable.prompt.optional(), schedule: editable.schedule.optional(),
24
+ timeZone: editable.timeZone.optional(), modelConfigId: editable.modelConfigId.optional(),
25
+ reasoningEffort: reasoningEffortSchema.nullable().optional(), permissionMode: workspacePermissionModeSchema.optional(),
26
+ notificationPolicy: scheduledTaskNotificationPolicySchema.optional(),
27
+ }).strict().refine(value => Object.keys(value).length > 0, 'scheduled_task_proposal_empty_changes');
28
+ export const scheduledTaskProposalDraftSchema = z.discriminatedUnion('action', [
29
+ z.object({ action: z.literal('create'), configuration: z.object(editable).strict(),
30
+ mode: z.enum(['new_session', 'continue_session']).default('new_session') }).strict(),
31
+ z.object({ action: z.literal('update'), taskId: z.string().uuid(), baseVersion: z.number().int().positive(),
32
+ changes: scheduledTaskProposalChangesSchema }).strict(),
33
+ ]);
34
+ export const scheduledTaskProposalDraftJsonSchema = z.toJSONSchema(scheduledTaskProposalDraftSchema, { io: 'input' });
35
+ export const scheduledTaskProposalInternalContextSchema = z.object({
36
+ ownerId: z.string().min(1).max(256), environment: z.string().min(1).max(64),
37
+ source: scheduledTaskProposalSourceSchema, defaults: scheduledTaskProposalDefaultsSchema,
38
+ }).strict();
39
+ export const scheduledTaskProposalPrepareSchema = scheduledTaskProposalInternalContextSchema.extend({
40
+ draft: scheduledTaskProposalDraftSchema, supersedesProposalId: z.string().uuid().optional(),
41
+ }).strict();
42
+ export const scheduledTaskProposalDecisionSchema = z.object({
43
+ digest: z.string().regex(/^[0-9a-f]{64}$/), clientRequestId: identifier,
44
+ }).strict();
45
+ export const scheduledTaskProposalReplaceSchema = scheduledTaskProposalDecisionSchema.extend({
46
+ draft: scheduledTaskProposalDraftSchema,
47
+ }).strict();
48
+ export const scheduledTaskProposalPreviewSchema = z.object({
49
+ serverTime: z.string().datetime(), timeZone: scheduledTaskTimeZoneSchema,
50
+ nextRuns: z.array(z.string().datetime()), capabilities: z.object({ minIntervalMinutes: z.number().positive() }).strict(),
51
+ }).strict();
52
+ export const scheduledTaskProposalSchema = z.object({
53
+ id: z.string().uuid(), userId: z.string(), environment: z.string(), source: scheduledTaskProposalSourceSchema,
54
+ action: z.enum(['create', 'update']), taskId: z.string().uuid().nullable(), baseVersion: z.number().int().positive().nullable(),
55
+ configuration: scheduledTaskConfigurationSchema, previousConfiguration: scheduledTaskConfigurationSchema.nullable(),
56
+ digest: z.string().regex(/^[0-9a-f]{64}$/), status: z.enum(['pending', 'applied', 'rejected', 'superseded', 'expired']),
57
+ expiresAt: z.string().datetime(), createdAt: z.string().datetime(), appliedAt: z.string().datetime().nullable(),
58
+ appliedTaskId: z.string().uuid().nullable(), result: z.object({ taskId: z.string().uuid(), taskVersion: z.number().int().positive() }).strict().nullable(),
59
+ preview: scheduledTaskProposalPreviewSchema,
60
+ }).strict();
61
+ export const scheduledTaskProposalContextSchema = z.object({
62
+ enabled: z.boolean(), serverTime: z.string().datetime(), timeZone: scheduledTaskTimeZoneSchema,
63
+ defaults: scheduledTaskProposalDefaultsSchema, capabilities: z.object({ minIntervalMinutes: z.number().positive(), confirmEnabled: z.boolean() }).strict(),
64
+ tasks: z.array(scheduledTaskConfigurationSchema.safeExtend({ id: z.string().uuid(), version: z.number().int().positive(),
65
+ status: z.enum(['active', 'paused', 'completed']), nextRunAt: z.string().datetime().nullable(),
66
+ linkedBy: z.array(z.enum(['origin', 'binding', 'run'])),
67
+ })), proposals: z.array(scheduledTaskProposalSchema),
68
+ });
69
+ export { scheduledTaskConfigurationSchema as scheduledTaskProposalConfigurationSchema };
70
+ //# sourceMappingURL=scheduled-task-proposals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-task-proposals.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/scheduled-task-proposals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ import { z } from 'zod';
2
+ export declare const SCHEDULED_TASK_STATUSES: readonly ["active", "paused", "completed"];
3
+ export declare const SCHEDULED_TASK_RUN_STATUSES: readonly ["pending", "preparing", "queued", "running", "waiting_user", "reconciling", "succeeded", "failed", "skipped", "cancelled"];
4
+ export declare const SCHEDULED_TASK_TERMINAL_STATUSES: readonly ["succeeded", "failed", "skipped", "cancelled"];
5
+ export declare const SCHEDULED_TASK_NOTIFICATION_POLICIES: readonly ["important_updates", "every_run", "action_required", "off"];
6
+ export declare const SCHEDULED_TASK_MODES: readonly ["new_session", "continue_session"];
7
+ export declare const SCHEDULED_TASK_RUN_SOURCES: readonly ["scheduled", "manual"];
8
+ export declare const scheduledTaskStatusSchema: z.ZodEnum<{
9
+ paused: "paused";
10
+ completed: "completed";
11
+ active: "active";
12
+ }>;
13
+ export declare const scheduledTaskRunStatusSchema: z.ZodEnum<{
14
+ pending: "pending";
15
+ failed: "failed";
16
+ running: "running";
17
+ queued: "queued";
18
+ cancelled: "cancelled";
19
+ preparing: "preparing";
20
+ waiting_user: "waiting_user";
21
+ reconciling: "reconciling";
22
+ succeeded: "succeeded";
23
+ skipped: "skipped";
24
+ }>;
25
+ export declare const scheduledTaskNotificationPolicySchema: z.ZodEnum<{
26
+ important_updates: "important_updates";
27
+ every_run: "every_run";
28
+ action_required: "action_required";
29
+ off: "off";
30
+ }>;
31
+ export declare const scheduledTaskModeSchema: z.ZodEnum<{
32
+ new_session: "new_session";
33
+ continue_session: "continue_session";
34
+ }>;
35
+ export declare const scheduledTaskRunSourceSchema: z.ZodEnum<{
36
+ manual: "manual";
37
+ scheduled: "scheduled";
38
+ }>;
39
+ export type ScheduledTaskStatus = z.infer<typeof scheduledTaskStatusSchema>;
40
+ export type ScheduledTaskRunStatus = z.infer<typeof scheduledTaskRunStatusSchema>;
41
+ export type ScheduledTaskNotificationPolicy = z.infer<typeof scheduledTaskNotificationPolicySchema>;
42
+ export type ScheduledTaskMode = z.infer<typeof scheduledTaskModeSchema>;
43
+ export type ScheduledTaskRunSource = z.infer<typeof scheduledTaskRunSourceSchema>;
44
+ export declare const scheduledTaskTimeZoneSchema: z.ZodString;
45
+ export declare const scheduledTaskScheduleSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
46
+ kind: z.ZodLiteral<"once">;
47
+ at: z.ZodString;
48
+ }, z.core.$strict>, z.ZodObject<{
49
+ kind: z.ZodLiteral<"daily">;
50
+ time: z.ZodString;
51
+ }, z.core.$strict>, z.ZodObject<{
52
+ kind: z.ZodLiteral<"weekly">;
53
+ time: z.ZodString;
54
+ daysOfWeek: z.ZodArray<z.ZodNumber>;
55
+ }, z.core.$strict>, z.ZodObject<{
56
+ kind: z.ZodLiteral<"monthly">;
57
+ dayOfMonth: z.ZodNumber;
58
+ time: z.ZodString;
59
+ }, z.core.$strict>, z.ZodObject<{
60
+ kind: z.ZodLiteral<"interval">;
61
+ everyMinutes: z.ZodNumber;
62
+ startAt: z.ZodString;
63
+ }, z.core.$strict>], "kind">;
64
+ export type ScheduledTaskSchedule = z.infer<typeof scheduledTaskScheduleSchema>;
65
+ export declare const scheduledTaskConfigurationSchema: z.ZodObject<{
66
+ workspaceId: z.ZodString;
67
+ directoryName: z.ZodString;
68
+ name: z.ZodString;
69
+ prompt: z.ZodString;
70
+ mode: z.ZodEnum<{
71
+ new_session: "new_session";
72
+ continue_session: "continue_session";
73
+ }>;
74
+ sessionId: z.ZodOptional<z.ZodString>;
75
+ modelConfigId: z.ZodString;
76
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
77
+ low: "low";
78
+ medium: "medium";
79
+ high: "high";
80
+ max: "max";
81
+ }>>;
82
+ permissionMode: z.ZodDefault<z.ZodEnum<{
83
+ auto: "auto";
84
+ confirm: "confirm";
85
+ "read-only": "read-only";
86
+ }>>;
87
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
88
+ kind: z.ZodLiteral<"once">;
89
+ at: z.ZodString;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ kind: z.ZodLiteral<"daily">;
92
+ time: z.ZodString;
93
+ }, z.core.$strict>, z.ZodObject<{
94
+ kind: z.ZodLiteral<"weekly">;
95
+ time: z.ZodString;
96
+ daysOfWeek: z.ZodArray<z.ZodNumber>;
97
+ }, z.core.$strict>, z.ZodObject<{
98
+ kind: z.ZodLiteral<"monthly">;
99
+ dayOfMonth: z.ZodNumber;
100
+ time: z.ZodString;
101
+ }, z.core.$strict>, z.ZodObject<{
102
+ kind: z.ZodLiteral<"interval">;
103
+ everyMinutes: z.ZodNumber;
104
+ startAt: z.ZodString;
105
+ }, z.core.$strict>], "kind">;
106
+ timeZone: z.ZodString;
107
+ notificationPolicy: z.ZodDefault<z.ZodEnum<{
108
+ important_updates: "important_updates";
109
+ every_run: "every_run";
110
+ action_required: "action_required";
111
+ off: "off";
112
+ }>>;
113
+ }, z.core.$strict>;
114
+ export declare const scheduledTaskCreateSchema: z.ZodObject<{
115
+ clientRequestId: z.ZodString;
116
+ workspaceId: z.ZodString;
117
+ directoryName: z.ZodString;
118
+ name: z.ZodString;
119
+ prompt: z.ZodString;
120
+ mode: z.ZodEnum<{
121
+ new_session: "new_session";
122
+ continue_session: "continue_session";
123
+ }>;
124
+ sessionId: z.ZodOptional<z.ZodString>;
125
+ modelConfigId: z.ZodString;
126
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
127
+ low: "low";
128
+ medium: "medium";
129
+ high: "high";
130
+ max: "max";
131
+ }>>;
132
+ permissionMode: z.ZodDefault<z.ZodEnum<{
133
+ auto: "auto";
134
+ confirm: "confirm";
135
+ "read-only": "read-only";
136
+ }>>;
137
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
138
+ kind: z.ZodLiteral<"once">;
139
+ at: z.ZodString;
140
+ }, z.core.$strict>, z.ZodObject<{
141
+ kind: z.ZodLiteral<"daily">;
142
+ time: z.ZodString;
143
+ }, z.core.$strict>, z.ZodObject<{
144
+ kind: z.ZodLiteral<"weekly">;
145
+ time: z.ZodString;
146
+ daysOfWeek: z.ZodArray<z.ZodNumber>;
147
+ }, z.core.$strict>, z.ZodObject<{
148
+ kind: z.ZodLiteral<"monthly">;
149
+ dayOfMonth: z.ZodNumber;
150
+ time: z.ZodString;
151
+ }, z.core.$strict>, z.ZodObject<{
152
+ kind: z.ZodLiteral<"interval">;
153
+ everyMinutes: z.ZodNumber;
154
+ startAt: z.ZodString;
155
+ }, z.core.$strict>], "kind">;
156
+ timeZone: z.ZodString;
157
+ notificationPolicy: z.ZodDefault<z.ZodEnum<{
158
+ important_updates: "important_updates";
159
+ every_run: "every_run";
160
+ action_required: "action_required";
161
+ off: "off";
162
+ }>>;
163
+ }, z.core.$strict>;
164
+ export declare const scheduledTaskUpdateSchema: z.ZodObject<{
165
+ version: z.ZodNumber;
166
+ workspaceId: z.ZodString;
167
+ directoryName: z.ZodString;
168
+ name: z.ZodString;
169
+ prompt: z.ZodString;
170
+ mode: z.ZodEnum<{
171
+ new_session: "new_session";
172
+ continue_session: "continue_session";
173
+ }>;
174
+ sessionId: z.ZodOptional<z.ZodString>;
175
+ modelConfigId: z.ZodString;
176
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
177
+ low: "low";
178
+ medium: "medium";
179
+ high: "high";
180
+ max: "max";
181
+ }>>;
182
+ permissionMode: z.ZodDefault<z.ZodEnum<{
183
+ auto: "auto";
184
+ confirm: "confirm";
185
+ "read-only": "read-only";
186
+ }>>;
187
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
188
+ kind: z.ZodLiteral<"once">;
189
+ at: z.ZodString;
190
+ }, z.core.$strict>, z.ZodObject<{
191
+ kind: z.ZodLiteral<"daily">;
192
+ time: z.ZodString;
193
+ }, z.core.$strict>, z.ZodObject<{
194
+ kind: z.ZodLiteral<"weekly">;
195
+ time: z.ZodString;
196
+ daysOfWeek: z.ZodArray<z.ZodNumber>;
197
+ }, z.core.$strict>, z.ZodObject<{
198
+ kind: z.ZodLiteral<"monthly">;
199
+ dayOfMonth: z.ZodNumber;
200
+ time: z.ZodString;
201
+ }, z.core.$strict>, z.ZodObject<{
202
+ kind: z.ZodLiteral<"interval">;
203
+ everyMinutes: z.ZodNumber;
204
+ startAt: z.ZodString;
205
+ }, z.core.$strict>], "kind">;
206
+ timeZone: z.ZodString;
207
+ notificationPolicy: z.ZodDefault<z.ZodEnum<{
208
+ important_updates: "important_updates";
209
+ every_run: "every_run";
210
+ action_required: "action_required";
211
+ off: "off";
212
+ }>>;
213
+ }, z.core.$strict>;
214
+ export declare const scheduledTaskCommandSchema: z.ZodObject<{
215
+ clientRequestId: z.ZodString;
216
+ }, z.core.$strict>;
217
+ export declare const scheduledTaskSchedulePreviewSchema: z.ZodObject<{
218
+ schedule: z.ZodDiscriminatedUnion<[z.ZodObject<{
219
+ kind: z.ZodLiteral<"once">;
220
+ at: z.ZodString;
221
+ }, z.core.$strict>, z.ZodObject<{
222
+ kind: z.ZodLiteral<"daily">;
223
+ time: z.ZodString;
224
+ }, z.core.$strict>, z.ZodObject<{
225
+ kind: z.ZodLiteral<"weekly">;
226
+ time: z.ZodString;
227
+ daysOfWeek: z.ZodArray<z.ZodNumber>;
228
+ }, z.core.$strict>, z.ZodObject<{
229
+ kind: z.ZodLiteral<"monthly">;
230
+ dayOfMonth: z.ZodNumber;
231
+ time: z.ZodString;
232
+ }, z.core.$strict>, z.ZodObject<{
233
+ kind: z.ZodLiteral<"interval">;
234
+ everyMinutes: z.ZodNumber;
235
+ startAt: z.ZodString;
236
+ }, z.core.$strict>], "kind">;
237
+ timeZone: z.ZodString;
238
+ }, z.core.$strict>;
239
+ export type ScheduledTaskConfiguration = z.infer<typeof scheduledTaskConfigurationSchema>;
240
+ export type ScheduledTaskCreate = z.infer<typeof scheduledTaskCreateSchema>;
241
+ export type ScheduledTaskUpdate = z.infer<typeof scheduledTaskUpdateSchema>;
242
+ export type ScheduledTaskCommand = z.infer<typeof scheduledTaskCommandSchema>;
243
+ export type ScheduledTaskSchedulePreview = z.infer<typeof scheduledTaskSchedulePreviewSchema>;
244
+ /** Frozen before dispatch; the environment and target binding are resolved by Business. */
245
+ export type ScheduledTaskSnapshot = ScheduledTaskConfiguration & {
246
+ taskId: string;
247
+ userId: string;
248
+ environment: string;
249
+ version: number;
250
+ dispatchEpoch: number;
251
+ targetBinding: Record<string, unknown>;
252
+ };
253
+ export declare function isTerminalScheduledTaskRun(status: ScheduledTaskRunStatus): boolean;
254
+ /** A standalone run's session id is the only place its origin is recorded; no table column exists. */
255
+ export declare const SCHEDULED_RUN_SESSION_PREFIX = "scheduled_session_";
256
+ export declare function scheduledRunSessionId(digest: string): string;
257
+ export declare function isScheduledRunSessionId(sessionId: string): boolean;
258
+ //# sourceMappingURL=scheduled-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-tasks.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/scheduled-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ import { reasoningEffortSchema } from './operations.js';
3
+ import { workspacePermissionModeSchema } from './permissions.js';
4
+ import { workspaceDirectoryNameSchema } from './workspace-directories.js';
5
+ export const SCHEDULED_TASK_STATUSES = ['active', 'paused', 'completed'];
6
+ export const SCHEDULED_TASK_RUN_STATUSES = [
7
+ 'pending', 'preparing', 'queued', 'running', 'waiting_user', 'reconciling',
8
+ 'succeeded', 'failed', 'skipped', 'cancelled',
9
+ ];
10
+ export const SCHEDULED_TASK_TERMINAL_STATUSES = ['succeeded', 'failed', 'skipped', 'cancelled'];
11
+ export const SCHEDULED_TASK_NOTIFICATION_POLICIES = ['important_updates', 'every_run', 'action_required', 'off'];
12
+ export const SCHEDULED_TASK_MODES = ['new_session', 'continue_session'];
13
+ export const SCHEDULED_TASK_RUN_SOURCES = ['scheduled', 'manual'];
14
+ export const scheduledTaskStatusSchema = z.enum(SCHEDULED_TASK_STATUSES);
15
+ export const scheduledTaskRunStatusSchema = z.enum(SCHEDULED_TASK_RUN_STATUSES);
16
+ export const scheduledTaskNotificationPolicySchema = z.enum(SCHEDULED_TASK_NOTIFICATION_POLICIES);
17
+ export const scheduledTaskModeSchema = z.enum(SCHEDULED_TASK_MODES);
18
+ export const scheduledTaskRunSourceSchema = z.enum(SCHEDULED_TASK_RUN_SOURCES);
19
+ const instant = z.string().datetime({ offset: true });
20
+ const localTime = z.string().regex(/^(?:[01]\d|2[0-3]):[0-5]\d$/, 'scheduled_task_invalid_time');
21
+ export const scheduledTaskTimeZoneSchema = z.string().min(1).max(128).refine(value => {
22
+ try {
23
+ new Intl.DateTimeFormat('en', { timeZone: value });
24
+ return true;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ }, 'scheduled_task_invalid_time_zone');
30
+ export const scheduledTaskScheduleSchema = z.discriminatedUnion('kind', [
31
+ z.object({ kind: z.literal('once'), at: instant }).strict(),
32
+ z.object({ kind: z.literal('daily'), time: localTime }).strict(),
33
+ z.object({
34
+ kind: z.literal('weekly'), time: localTime,
35
+ daysOfWeek: z.array(z.number().int().min(1).max(7)).min(1).max(7)
36
+ .refine(days => new Set(days).size === days.length, 'scheduled_task_duplicate_weekday'),
37
+ }).strict(),
38
+ z.object({ kind: z.literal('monthly'), dayOfMonth: z.number().int().min(1).max(31), time: localTime }).strict(),
39
+ z.object({
40
+ kind: z.literal('interval'), everyMinutes: z.number().int().min(1).max(525_600), startAt: instant,
41
+ }).strict(),
42
+ ]);
43
+ const configurationFields = {
44
+ workspaceId: z.string().min(1).max(128),
45
+ directoryName: workspaceDirectoryNameSchema,
46
+ name: z.string().trim().min(1).max(160),
47
+ prompt: z.string().trim().min(1).max(32_000),
48
+ mode: scheduledTaskModeSchema,
49
+ sessionId: z.string().min(1).max(128).optional(),
50
+ modelConfigId: z.string().min(1).max(128),
51
+ reasoningEffort: reasoningEffortSchema.optional(),
52
+ permissionMode: workspacePermissionModeSchema.default('confirm'),
53
+ schedule: scheduledTaskScheduleSchema,
54
+ timeZone: scheduledTaskTimeZoneSchema,
55
+ notificationPolicy: scheduledTaskNotificationPolicySchema.default('important_updates'),
56
+ };
57
+ function validateSessionMode(value, context) {
58
+ if ((value.mode === 'continue_session') !== Boolean(value.sessionId)) {
59
+ context.addIssue({ code: 'custom', message: 'scheduled_task_session_mode_mismatch', path: ['sessionId'] });
60
+ }
61
+ }
62
+ export const scheduledTaskConfigurationSchema = z.object(configurationFields).strict().superRefine(validateSessionMode);
63
+ export const scheduledTaskCreateSchema = z.object({
64
+ ...configurationFields, clientRequestId: z.string().min(1).max(128),
65
+ }).strict().superRefine(validateSessionMode);
66
+ export const scheduledTaskUpdateSchema = z.object({
67
+ ...configurationFields, version: z.number().int().positive(),
68
+ }).strict().superRefine(validateSessionMode);
69
+ export const scheduledTaskCommandSchema = z.object({ clientRequestId: z.string().min(1).max(128) }).strict();
70
+ export const scheduledTaskSchedulePreviewSchema = z.object({
71
+ schedule: scheduledTaskScheduleSchema, timeZone: scheduledTaskTimeZoneSchema,
72
+ }).strict();
73
+ export function isTerminalScheduledTaskRun(status) {
74
+ return SCHEDULED_TASK_TERMINAL_STATUSES.includes(status);
75
+ }
76
+ /** A standalone run's session id is the only place its origin is recorded; no table column exists. */
77
+ export const SCHEDULED_RUN_SESSION_PREFIX = 'scheduled_session_';
78
+ const SCHEDULED_RUN_SESSION_PATTERN = /^scheduled_session_[0-9a-f]{64}$/;
79
+ export function scheduledRunSessionId(digest) {
80
+ const id = `${SCHEDULED_RUN_SESSION_PREFIX}${digest}`;
81
+ if (!SCHEDULED_RUN_SESSION_PATTERN.test(id))
82
+ throw new Error('scheduled_run_session_digest_invalid');
83
+ return id;
84
+ }
85
+ export function isScheduledRunSessionId(sessionId) {
86
+ return SCHEDULED_RUN_SESSION_PATTERN.test(sessionId);
87
+ }
88
+ //# sourceMappingURL=scheduled-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-tasks.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/scheduled-tasks.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@ export declare const workspaceNotificationPayloadSchema: z.ZodObject<{
10
10
  artifact: "artifact";
11
11
  }>>;
12
12
  chatSessionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
13
+ assistantSessionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ sessionActivities: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ sessionId: z.ZodString;
16
+ updatedAt: z.ZodString;
17
+ }, z.core.$strict>>>;
13
18
  events: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
19
  streamKind: z.ZodEnum<{
15
20
  session: "session";
@@ -30,6 +35,10 @@ export declare const workspaceNotificationPayloadSchema: z.ZodObject<{
30
35
  }, z.core.$strict>>>;
31
36
  }, z.core.$strict>;
32
37
  export type WorkspaceNotificationPayload = z.infer<typeof workspaceNotificationPayloadSchema>;
38
+ /** Conversation activity excludes reads, native restores and session metadata changes. */
39
+ export declare function isSessionActivityEvent(event: Pick<PublicEvent, 'type' | 'payload'>): boolean;
40
+ /** Only assistant reply content advances unread positions; execution and user events do not. */
41
+ export declare function isAssistantReplyEvent(event: Pick<PublicEvent, 'type' | 'payload'>): boolean;
33
42
  /** Panels react to invalidations; conversation text and command output stay in the chat stream. */
34
43
  export declare function workspaceEventRefreshScope(event: Pick<PublicEvent, 'type' | 'payload'>): WorkspaceRefreshScope | 'none';
35
44
  /** A batch advances past every source event, including chat-only or other-directory changes. */
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-notifications.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACjF,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAY9F,mGAAmG;AACnG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,GAAG,MAAM,CAOvH;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EAAE,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAC1D,WAAW,GAAG,SAAS,CA8BzB"}
1
+ {"version":3,"file":"workspace-notifications.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACjF,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUpC,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAkB9F,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAI5F;AAED,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAkB3F;AAED,mGAAmG;AACnG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,GAAG,MAAM,CAOvH;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,EAAE,EACrB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAC1D,WAAW,GAAG,SAAS,CA2CzB"}
@@ -6,6 +6,11 @@ const CONTROL_EVENTS = new Set(['ui.command.requested', 'ui.command.resolved', '
6
6
  export const workspaceNotificationPayloadSchema = z.object({
7
7
  scopes: z.array(z.enum(['state', 'content', 'preview', 'artifact'])).max(4),
8
8
  chatSessionIds: z.array(z.string().min(1).max(128)).max(WORKSPACE_NOTIFICATION_BATCH_SIZE).optional(),
9
+ assistantSessionIds: z.array(z.string().min(1).max(128)).max(WORKSPACE_NOTIFICATION_BATCH_SIZE).optional(),
10
+ sessionActivities: z.array(z.object({
11
+ sessionId: z.string().min(1).max(128),
12
+ updatedAt: z.string().datetime(),
13
+ }).strict()).max(WORKSPACE_NOTIFICATION_BATCH_SIZE).optional(),
9
14
  events: z.array(publicEventSchema.refine(event => CONTROL_EVENTS.has(event.type)))
10
15
  .max(WORKSPACE_NOTIFICATION_BATCH_SIZE).optional(),
11
16
  }).strict();
@@ -16,8 +21,43 @@ const NO_REFRESH = new Set([
16
21
  ]);
17
22
  const STATE_REFRESH = new Set([
18
23
  'session.created', 'thread/started', 'thread/status/changed', 'turn/started', 'error', 'terminal.created',
24
+ 'session.metadata.updated', 'session.archived',
19
25
  ]);
20
26
  const CONVERSATION_ITEMS = new Set(['agentMessage', 'reasoning', 'userMessage', 'imageView']);
27
+ const SESSION_ACTIVITY_EVENTS = new Set([
28
+ 'turn/started', 'turn/completed', 'turn/failed', 'turn/interrupted',
29
+ 'turn.started', 'turn.completed', 'turn.failed', 'turn.interrupted',
30
+ 'message.user', 'message.delta', 'message.completed', 'item/agentMessage/delta',
31
+ ]);
32
+ /** Conversation activity excludes reads, native restores and session metadata changes. */
33
+ export function isSessionActivityEvent(event) {
34
+ return SESSION_ACTIVITY_EVENTS.has(event.type) ||
35
+ (['item/started', 'item/completed'].includes(event.type) &&
36
+ ['userMessage', 'agentMessage'].includes(String(record(record(event.payload).item).type)));
37
+ }
38
+ /** Only assistant reply content advances unread positions; execution and user events do not. */
39
+ export function isAssistantReplyEvent(event) {
40
+ const payload = record(event.payload);
41
+ const hint = record(payload.subAgent);
42
+ const thread = record(payload.thread);
43
+ const item = record(payload.item);
44
+ const spawn = record(record(record(thread.source).subAgent).thread_spawn);
45
+ const threadId = [hint.threadId, payload.threadId, thread.id, item.senderThreadId]
46
+ .find(value => typeof value === 'string' && value.length > 0);
47
+ const parent = [hint.parentThreadId, thread.parentThreadId, spawn.parent_thread_id]
48
+ .find(value => typeof value === 'string' && value.length > 0);
49
+ const root = [hint.rootThreadId, payload.rootThreadId, thread.rootThreadId]
50
+ .find(value => typeof value === 'string' && value.length > 0);
51
+ if (payload.isSubAgentReply === true || (threadId &&
52
+ ((typeof hint.threadId === 'string' && hint.threadId.length > 0) || parent || (root && root !== threadId))))
53
+ return false;
54
+ if (['message.delta', 'message.completed', 'item/agentMessage/delta'].includes(event.type))
55
+ return true;
56
+ if (!['item/completed', 'item.completed'].includes(event.type))
57
+ return false;
58
+ return item.type === 'agentMessage' || (item.type === 'exitedReviewMode' &&
59
+ ((typeof item.review === 'string' && item.review.length > 0) || item.hasReviewText === true));
60
+ }
21
61
  /** Panels react to invalidations; conversation text and command output stay in the chat stream. */
22
62
  export function workspaceEventRefreshScope(event) {
23
63
  if (NO_REFRESH.has(event.type))
@@ -39,6 +79,8 @@ export function workspaceEventNotification(workspaceId, events, directoryName, s
39
79
  return undefined;
40
80
  const scopes = new Set();
41
81
  const chatSessionIds = new Set();
82
+ const assistantSessionIds = new Set();
83
+ const sessionActivities = new Map();
42
84
  const controls = [];
43
85
  for (const event of events) {
44
86
  const payload = record(event.payload);
@@ -49,6 +91,16 @@ export function workspaceEventNotification(workspaceId, events, directoryName, s
49
91
  if (typeof payload.sessionId === 'string' && payload.sessionId.length > 0 && payload.sessionId.length <= 128 &&
50
92
  chatSessionIds.size < WORKSPACE_NOTIFICATION_BATCH_SIZE)
51
93
  chatSessionIds.add(payload.sessionId);
94
+ if (typeof payload.sessionId === 'string' && payload.sessionId.length > 0 && payload.sessionId.length <= 128 &&
95
+ isAssistantReplyEvent(event) && assistantSessionIds.size < WORKSPACE_NOTIFICATION_BATCH_SIZE)
96
+ assistantSessionIds.add(payload.sessionId);
97
+ if (typeof payload.sessionId === 'string' && payload.sessionId.length > 0 && payload.sessionId.length <= 128 &&
98
+ isSessionActivityEvent(event) && Number.isFinite(Date.parse(event.occurredAt)) &&
99
+ (sessionActivities.has(payload.sessionId) || sessionActivities.size < WORKSPACE_NOTIFICATION_BATCH_SIZE)) {
100
+ const previous = sessionActivities.get(payload.sessionId);
101
+ if (!previous || Date.parse(event.occurredAt) > Date.parse(previous))
102
+ sessionActivities.set(payload.sessionId, event.occurredAt);
103
+ }
52
104
  const control = controlPayload(event.type, payload);
53
105
  if (control)
54
106
  controls.push({
@@ -64,6 +116,8 @@ export function workspaceEventNotification(workspaceId, events, directoryName, s
64
116
  type: 'workspace.notifications', payload: {
65
117
  scopes: [...scopes],
66
118
  ...(chatSessionIds.size ? { chatSessionIds: [...chatSessionIds] } : {}),
119
+ ...(assistantSessionIds.size ? { assistantSessionIds: [...assistantSessionIds] } : {}),
120
+ ...(sessionActivities.size ? { sessionActivities: [...sessionActivities].map(([sessionId, updatedAt]) => ({ sessionId, updatedAt })) } : {}),
67
121
  ...(controls.length ? { events: controls } : {}),
68
122
  },
69
123
  occurredAt: last.occurredAt,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-notifications.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-notifications.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-notifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export type PlatformLoopSnapshot = {
2
+ environment: string;
3
+ pausedKeys: string[];
4
+ };
5
+ export type PlatformLoopGateOptions = {
6
+ environment: string;
7
+ loadSnapshot(): Promise<unknown>;
8
+ cacheMs?: number;
9
+ now?: () => number;
10
+ onError?: (error: unknown) => void;
11
+ };
12
+ /** One process shares a snapshot; individual loops keep their original scheduling and ownership. */
13
+ export declare function createPlatformLoopGate(options: PlatformLoopGateOptions): {
14
+ shouldRun: (ownerService: string, key: string) => Promise<boolean>;
15
+ run: <T>(ownerService: string, key: string, operation: () => T | Promise<T>) => Promise<T | undefined>;
16
+ refresh: () => Promise<void>;
17
+ };
18
+ /** Called only at periodic, startup-recovery and scheduler-wakeup boundaries. */
19
+ export declare function runPlatformLoop<T>(ownerService: string, key: string, operation: () => T | Promise<T>): Promise<T | undefined>;
20
+ //# sourceMappingURL=platform-loop-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-loop-control.d.ts","sourceRoot":"","sources":["../src/platform-loop-control.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACjF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB;8BA2B9B,MAAM,OAAO,MAAM;UAOvC,CAAC,gBAAgB,MAAM,OAAO,MAAM,aAAa,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;;EAQlH;AASD,iFAAiF;AACjF,wBAAsB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CA2BnI"}