@grackle-ai/core 0.77.0 → 0.79.0
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/dist/cron-manager.d.ts +67 -0
- package/dist/cron-manager.d.ts.map +1 -0
- package/dist/cron-manager.js +167 -0
- package/dist/cron-manager.js.map +1 -0
- package/dist/event-bus.d.ts +1 -1
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-bus.js.map +1 -1
- package/dist/event-processor.d.ts.map +1 -1
- package/dist/event-processor.js +10 -3
- package/dist/event-processor.js.map +1 -1
- package/dist/find-connected-environment.d.ts +13 -0
- package/dist/find-connected-environment.d.ts.map +1 -0
- package/dist/find-connected-environment.js +17 -0
- package/dist/find-connected-environment.js.map +1 -0
- package/dist/grpc-service.d.ts.map +1 -1
- package/dist/grpc-service.js +160 -1
- package/dist/grpc-service.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +5 -3
- package/dist/lifecycle.js.map +1 -1
- package/dist/schedule-expression.d.ts +43 -0
- package/dist/schedule-expression.d.ts.map +1 -0
- package/dist/schedule-expression.js +105 -0
- package/dist/schedule-expression.js.map +1 -0
- package/dist/signals/signal-delivery.d.ts +6 -0
- package/dist/signals/signal-delivery.d.ts.map +1 -1
- package/dist/signals/signal-delivery.js +2 -2
- package/dist/signals/signal-delivery.js.map +1 -1
- package/dist/test-utils/mock-database.d.ts +2 -0
- package/dist/test-utils/mock-database.d.ts.map +1 -1
- package/dist/test-utils/mock-database.js +2 -0
- package/dist/test-utils/mock-database.js.map +1 -1
- package/package.json +8 -7
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CronManager — periodic ticker that fires due schedules.
|
|
3
|
+
*
|
|
4
|
+
* Runs as a background interval on the server, checking the schedule store
|
|
5
|
+
* for due entries on each tick and spawning tasks for them.
|
|
6
|
+
*/
|
|
7
|
+
import type { ScheduleRow, EnvironmentRow, TaskRow } from "@grackle-ai/database";
|
|
8
|
+
import type { GrackleEventType } from "./event-bus.js";
|
|
9
|
+
/** Dependencies injected into CronManager for testability (NFR-4). */
|
|
10
|
+
export interface CronManagerDeps {
|
|
11
|
+
/** Query the schedule store for due entries. */
|
|
12
|
+
getDueSchedules: () => ScheduleRow[];
|
|
13
|
+
/** Advance a schedule after firing (update lastRunAt, nextRunAt, runCount). */
|
|
14
|
+
advanceSchedule: (id: string, lastRunAt: string, nextRunAt: string) => void;
|
|
15
|
+
/** Create a new task in the task store. */
|
|
16
|
+
createTask: (id: string, workspaceId: string | undefined, title: string, description: string, dependsOn: string[], workspaceSlug: string, parentTaskId?: string, canDecompose?: boolean, defaultPersonaId?: string) => void;
|
|
17
|
+
/** Set the schedule_id FK on a task. */
|
|
18
|
+
setTaskScheduleId: (taskId: string, scheduleId: string) => void;
|
|
19
|
+
/** Start a task session internally (same as root task boot listener). */
|
|
20
|
+
startTaskSession: (ws: undefined, task: TaskRow, options?: {
|
|
21
|
+
personaId?: string;
|
|
22
|
+
environmentId?: string;
|
|
23
|
+
notes?: string;
|
|
24
|
+
}) => Promise<string | undefined>;
|
|
25
|
+
/** Emit a domain event. */
|
|
26
|
+
emit: (type: GrackleEventType, payload: Record<string, unknown>) => void;
|
|
27
|
+
/** Find the first connected environment (prefers local). */
|
|
28
|
+
findFirstConnectedEnvironment: () => EnvironmentRow | undefined;
|
|
29
|
+
/** Look up a persona by ID. */
|
|
30
|
+
getPersona: (id: string) => {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
runtime: string;
|
|
34
|
+
} | undefined;
|
|
35
|
+
/** Look up a task by ID (to pass to startTaskSession). */
|
|
36
|
+
getTask: (id: string) => TaskRow | undefined;
|
|
37
|
+
/** Enable or disable a schedule, setting or clearing nextRunAt. */
|
|
38
|
+
setScheduleEnabled: (id: string, enabled: boolean, nextRunAt: string | null) => void;
|
|
39
|
+
/** Check if an environment is connected. */
|
|
40
|
+
isEnvironmentConnected: (environmentId: string) => boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Periodic cron manager that checks for due schedules and fires them.
|
|
44
|
+
*/
|
|
45
|
+
export declare class CronManager {
|
|
46
|
+
private readonly deps;
|
|
47
|
+
private readonly checkIntervalMs;
|
|
48
|
+
private timer;
|
|
49
|
+
private ticking;
|
|
50
|
+
private tickPromise;
|
|
51
|
+
/**
|
|
52
|
+
* @param deps - Injected dependencies
|
|
53
|
+
* @param checkIntervalMs - How often to check for due schedules (default 10s)
|
|
54
|
+
*/
|
|
55
|
+
constructor(deps: CronManagerDeps, checkIntervalMs?: number);
|
|
56
|
+
/** Start the periodic ticker. */
|
|
57
|
+
start(): void;
|
|
58
|
+
/** Stop the ticker and await any in-flight tick. */
|
|
59
|
+
stop(): Promise<void>;
|
|
60
|
+
/** Attempt a tick, skipping if a previous tick is still in-flight. */
|
|
61
|
+
private tryTick;
|
|
62
|
+
/** Execute one tick: query due schedules and fire each. */
|
|
63
|
+
private tick;
|
|
64
|
+
/** Fire a single schedule: create task, start session, advance. */
|
|
65
|
+
private fireSchedule;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=cron-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-manager.d.ts","sourceRoot":"","sources":["../src/cron-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,eAAe,EAAE,MAAM,WAAW,EAAE,CAAC;IACrC,+EAA+E;IAC/E,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,2CAA2C;IAC3C,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,EACtB,gBAAgB,CAAC,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,wCAAwC;IACxC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,yEAAyE;IACzE,gBAAgB,EAAE,CAChB,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KACrE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjC,2BAA2B;IAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,4DAA4D;IAC5D,6BAA6B,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IAChE,+BAA+B;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,0DAA0D;IAC1D,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;IAC7C,mEAAmE;IAEnE,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrF,4CAA4C;IAC5C,sBAAsB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAA4B;IAE/C;;;OAGG;gBACgB,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,MAAM;IAKlE,iCAAiC;IAC1B,KAAK,IAAI,IAAI;IAepB,oDAAoD;IACvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC,sEAAsE;YACxD,OAAO;IAgBrB,2DAA2D;YAC7C,IAAI;IAWlB,mEAAmE;YACrD,YAAY;CAyH3B"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CronManager — periodic ticker that fires due schedules.
|
|
3
|
+
*
|
|
4
|
+
* Runs as a background interval on the server, checking the schedule store
|
|
5
|
+
* for due entries on each tick and spawning tasks for them.
|
|
6
|
+
*/
|
|
7
|
+
import { v4 as uuidv4 } from "uuid";
|
|
8
|
+
import { logger } from "./logger.js";
|
|
9
|
+
import { computeNextRunAt } from "./schedule-expression.js";
|
|
10
|
+
import { ROOT_TASK_ID } from "@grackle-ai/common";
|
|
11
|
+
/** Default tick interval in milliseconds. */
|
|
12
|
+
const DEFAULT_CHECK_INTERVAL_MS = 10_000;
|
|
13
|
+
/**
|
|
14
|
+
* Periodic cron manager that checks for due schedules and fires them.
|
|
15
|
+
*/
|
|
16
|
+
export class CronManager {
|
|
17
|
+
deps;
|
|
18
|
+
checkIntervalMs;
|
|
19
|
+
timer;
|
|
20
|
+
ticking = false;
|
|
21
|
+
tickPromise;
|
|
22
|
+
/**
|
|
23
|
+
* @param deps - Injected dependencies
|
|
24
|
+
* @param checkIntervalMs - How often to check for due schedules (default 10s)
|
|
25
|
+
*/
|
|
26
|
+
constructor(deps, checkIntervalMs) {
|
|
27
|
+
this.deps = deps;
|
|
28
|
+
this.checkIntervalMs = checkIntervalMs ?? DEFAULT_CHECK_INTERVAL_MS;
|
|
29
|
+
}
|
|
30
|
+
/** Start the periodic ticker. */
|
|
31
|
+
start() {
|
|
32
|
+
if (this.timer) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
logger.info({ intervalMs: this.checkIntervalMs }, "CronManager started");
|
|
36
|
+
this.timer = setInterval(() => {
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
38
|
+
this.tryTick();
|
|
39
|
+
}, this.checkIntervalMs);
|
|
40
|
+
this.timer.unref();
|
|
41
|
+
}
|
|
42
|
+
/** Stop the ticker and await any in-flight tick. */
|
|
43
|
+
async stop() {
|
|
44
|
+
if (this.timer) {
|
|
45
|
+
clearInterval(this.timer);
|
|
46
|
+
this.timer = undefined;
|
|
47
|
+
}
|
|
48
|
+
if (this.tickPromise) {
|
|
49
|
+
await this.tickPromise;
|
|
50
|
+
}
|
|
51
|
+
logger.info("CronManager stopped");
|
|
52
|
+
}
|
|
53
|
+
/** Attempt a tick, skipping if a previous tick is still in-flight. */
|
|
54
|
+
async tryTick() {
|
|
55
|
+
if (this.ticking) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.ticking = true;
|
|
59
|
+
this.tickPromise = this.tick();
|
|
60
|
+
try {
|
|
61
|
+
await this.tickPromise;
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
logger.error({ err }, "CronManager tick failed");
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.ticking = false;
|
|
68
|
+
this.tickPromise = undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Execute one tick: query due schedules and fire each. */
|
|
72
|
+
async tick() {
|
|
73
|
+
const due = this.deps.getDueSchedules();
|
|
74
|
+
if (due.length === 0) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
logger.debug({ count: due.length }, "CronManager tick: due schedules");
|
|
78
|
+
for (const schedule of due) {
|
|
79
|
+
await this.fireSchedule(schedule);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Fire a single schedule: create task, start session, advance. */
|
|
83
|
+
async fireSchedule(schedule) {
|
|
84
|
+
const now = new Date().toISOString();
|
|
85
|
+
let nextRunAt;
|
|
86
|
+
try {
|
|
87
|
+
// Anchor to the schedule's lastRunAt (not current time) to prevent drift
|
|
88
|
+
nextRunAt = computeNextRunAt(schedule.scheduleExpression, schedule.lastRunAt ?? undefined);
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
logger.error({ scheduleId: schedule.id, scheduleExpression: schedule.scheduleExpression, err }, "CronManager: failed to compute nextRunAt; disabling schedule");
|
|
92
|
+
// Disable the schedule to prevent error loop on every tick
|
|
93
|
+
this.deps.setScheduleEnabled(schedule.id, false, null);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
// Resolve environment — check connectivity before creating tasks to avoid orphan tasks
|
|
98
|
+
let environmentId;
|
|
99
|
+
if (schedule.environmentId) {
|
|
100
|
+
// Explicit environment: verify it's connected before creating a task
|
|
101
|
+
if (!this.deps.isEnvironmentConnected(schedule.environmentId)) {
|
|
102
|
+
logger.warn({ scheduleId: schedule.id, environmentId: schedule.environmentId }, "Schedule fire skipped: specified environment not connected");
|
|
103
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
environmentId = schedule.environmentId;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Auto-select first connected environment
|
|
110
|
+
const env = this.deps.findFirstConnectedEnvironment();
|
|
111
|
+
if (!env) {
|
|
112
|
+
logger.warn({ scheduleId: schedule.id }, "Schedule fire skipped: no connected environment");
|
|
113
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
environmentId = env.id;
|
|
117
|
+
}
|
|
118
|
+
// Validate persona exists
|
|
119
|
+
const persona = this.deps.getPersona(schedule.personaId);
|
|
120
|
+
if (!persona) {
|
|
121
|
+
logger.warn({ scheduleId: schedule.id, personaId: schedule.personaId }, "Schedule fire skipped: persona not found");
|
|
122
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
// Create task
|
|
126
|
+
const taskId = uuidv4();
|
|
127
|
+
const taskTitle = `${schedule.title} @ ${now}`;
|
|
128
|
+
const parentTaskId = schedule.parentTaskId || ROOT_TASK_ID;
|
|
129
|
+
this.deps.createTask(taskId, schedule.workspaceId || undefined, taskTitle, schedule.description, [], // no dependencies
|
|
130
|
+
"", // no workspace slug
|
|
131
|
+
parentTaskId, false, // canDecompose
|
|
132
|
+
schedule.personaId);
|
|
133
|
+
this.deps.setTaskScheduleId(taskId, schedule.id);
|
|
134
|
+
// Fetch the created task for startTaskSession
|
|
135
|
+
const task = this.deps.getTask(taskId);
|
|
136
|
+
if (!task) {
|
|
137
|
+
logger.error({ scheduleId: schedule.id, taskId }, "Schedule fire failed: created task not found");
|
|
138
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Start the task session
|
|
142
|
+
const error = await this.deps.startTaskSession(undefined, task, {
|
|
143
|
+
environmentId,
|
|
144
|
+
personaId: schedule.personaId,
|
|
145
|
+
});
|
|
146
|
+
// Advance schedule regardless of session start outcome
|
|
147
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
148
|
+
if (error) {
|
|
149
|
+
logger.warn({ scheduleId: schedule.id, taskId, error }, "Schedule fire: task created but session start failed");
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
// Emit event only on successful fire
|
|
153
|
+
this.deps.emit("schedule.fired", {
|
|
154
|
+
scheduleId: schedule.id,
|
|
155
|
+
taskId,
|
|
156
|
+
firedAt: now,
|
|
157
|
+
});
|
|
158
|
+
logger.info({ scheduleId: schedule.id, taskId, title: schedule.title }, "Schedule fired");
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
logger.error({ scheduleId: schedule.id, err }, "Schedule fire failed with exception");
|
|
162
|
+
// Still advance to prevent retry storms
|
|
163
|
+
this.deps.advanceSchedule(schedule.id, now, nextRunAt);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=cron-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-manager.js","sourceRoot":"","sources":["../src/cron-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/event-bus.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** All domain event types emitted by the event bus. */
|
|
2
|
-
export type GrackleEventType = "task.created" | "task.updated" | "task.started" | "task.completed" | "task.deleted" | "workspace.created" | "workspace.archived" | "workspace.updated" | "persona.created" | "persona.updated" | "persona.deleted" | "finding.posted" | "environment.added" | "environment.removed" | "environment.changed" | "environment.provision_progress" | "token.changed" | "credential.providers_changed" | "setting.changed";
|
|
2
|
+
export type GrackleEventType = "task.created" | "task.updated" | "task.started" | "task.completed" | "task.deleted" | "workspace.created" | "workspace.archived" | "workspace.updated" | "persona.created" | "persona.updated" | "persona.deleted" | "finding.posted" | "environment.added" | "environment.removed" | "environment.changed" | "environment.provision_progress" | "token.changed" | "credential.providers_changed" | "setting.changed" | "schedule.created" | "schedule.updated" | "schedule.deleted" | "schedule.fired";
|
|
3
3
|
/** A domain event emitted by the event bus. */
|
|
4
4
|
export interface GrackleEvent {
|
|
5
5
|
/** ULID — chronologically sortable unique identifier. */
|
package/dist/event-bus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAMA,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,gCAAgC,GAChC,eAAe,GACf,8BAA8B,GAC9B,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAMA,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,gCAAgC,GAChC,eAAe,GACf,8BAA8B,GAC9B,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,IAAI,EAAE,gBAAgB,CAAC;IACvB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAQvD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAClB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,YAAY,CA+Bd;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,IAAI,CAK5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
package/dist/event-bus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA6CrC,6DAA6D;AAE7D,MAAM,WAAW,GAAoB,IAAI,GAAG,EAAE,CAAC;AAE/C,6DAA6D;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAClB,IAAsB,EACtB,OAAgC;IAEhC,MAAM,KAAK,GAAiB;QAC1B,EAAE,EAAE,IAAI,EAAE;QACV,IAAI;QACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;KACR,CAAC;IAEF,sDAAsD;IACtD,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACjE,CAAC;IAED,qEAAqE;IACrE,cAAc,CAAC,GAAG,EAAE;QAClB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,UAAsB;IAC9C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,OAAO,GAAG,EAAE;QACV,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAA0E,MAAM,oBAAoB,CAAC;AAYhI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,IAAI,CAmGN;AAsCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAC3C,OAAO,EAAE,kBAAkB,GAC1B,IAAI,
|
|
1
|
+
{"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAA0E,MAAM,oBAAoB,CAAC;AAYhI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,IAAI,CAmGN;AAsCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAC3C,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAuMN"}
|
package/dist/event-processor.js
CHANGED
|
@@ -249,7 +249,11 @@ export function processEventStream(events, options) {
|
|
|
249
249
|
sessionStore.updateSessionStatus(sessionId, SESSION_STATUS.RUNNING);
|
|
250
250
|
}
|
|
251
251
|
else if (event.content === "completed") {
|
|
252
|
-
|
|
252
|
+
// If SIGTERM was sent and the session completed naturally, use
|
|
253
|
+
// TERMINATED to distinguish graceful shutdowns from normal completion.
|
|
254
|
+
const session = sessionStore.getSession(sessionId);
|
|
255
|
+
const endReason = session?.sigtermSentAt ? END_REASON.TERMINATED : END_REASON.COMPLETED;
|
|
256
|
+
sessionStore.updateSession(sessionId, SESSION_STATUS.STOPPED, undefined, undefined, endReason);
|
|
253
257
|
}
|
|
254
258
|
else if (event.content === "killed") {
|
|
255
259
|
sessionStore.updateSession(sessionId, SESSION_STATUS.STOPPED, undefined, undefined, END_REASON.KILLED);
|
|
@@ -258,11 +262,14 @@ export function processEventStream(events, options) {
|
|
|
258
262
|
sessionStore.updateSession(sessionId, SESSION_STATUS.STOPPED, undefined, undefined, END_REASON.INTERRUPTED);
|
|
259
263
|
cleanupLifecycleStream(sessionId);
|
|
260
264
|
}
|
|
265
|
+
else if (event.content === "terminated") {
|
|
266
|
+
sessionStore.updateSession(sessionId, SESSION_STATUS.STOPPED, undefined, undefined, END_REASON.TERMINATED);
|
|
267
|
+
}
|
|
261
268
|
// On terminal status (or idle for sync pipes): publish child completion
|
|
262
269
|
// to IPC pipe stream. `waiting_input` is included so that sync pipes
|
|
263
270
|
// unblock when a child goes idle without calling task_complete (#824).
|
|
264
271
|
// publishChildCompletion internally skips waiting_input for async pipes.
|
|
265
|
-
if (["completed", "killed", "failed", "waiting_input"].includes(event.content)) {
|
|
272
|
+
if (["completed", "killed", "failed", "terminated", "waiting_input"].includes(event.content)) {
|
|
266
273
|
publishChildCompletion(sessionId, event.content);
|
|
267
274
|
}
|
|
268
275
|
// On abnormal exit (killed/failed), write a minimal server-enriched workpad
|
|
@@ -286,7 +293,7 @@ export function processEventStream(events, options) {
|
|
|
286
293
|
// Broadcast task_updated on status changes so frontend re-fetches computed status.
|
|
287
294
|
// This covers both terminal events (completed/killed/failed) and non-terminal
|
|
288
295
|
// transitions (running, waiting_input) that affect the computed task status.
|
|
289
|
-
if (ctx.taskId && ["completed", "killed", "failed", "running", "waiting_input"].includes(event.content)) {
|
|
296
|
+
if (ctx.taskId && ["completed", "killed", "failed", "terminated", "running", "waiting_input"].includes(event.content)) {
|
|
290
297
|
emit("task.updated", { taskId: ctx.taskId, workspaceId: ctx.workspaceId });
|
|
291
298
|
}
|
|
292
299
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAa,eAAe,EAAE,cAAc,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhI,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAexD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAqB,EACrB,OAAe,EACf,SAAiB;IAEjB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAE9B,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC;QACzB,YAAY,CAAC,WAAW,CACtB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,SAAS,EACvD,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU,EACpD,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CACpC,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAqB,EACrB,OAAe,EACf,iBAAsC;IAEtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAM9B,CAAC;QAEF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,uDAAuD,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3G,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,8CAA8C,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QAED,2BAA2B;QAC3B,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExF,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,EAC9E,uDAAuD,CACxD,CAAC;YACF,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACtG,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1F,iEAAiE;QACjE,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,iBAAiB,GAAG,OAAO;oBAC/B,CAAC,CAAC,qBAAqB,OAAO,GAAG;oBACjC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,GAAG,iBAAiB,4CAA4C,QAAQ,KAAK;oBAC7E,qEAAqE,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,SAAS,CAAC,UAAU,CAClB,SAAS,EACT,UAAU,CAAC,WAAW,IAAI,SAAS,EACnC,KAAK,EACL,WAAW,EACX,YAAY,EACZ,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EACxC,GAAG,CAAC,MAAM,EACV,YAAY,CACb,CAAC;QAEF,8DAA8D;QAC9D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CACT;oBACE,OAAO;oBACP,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;oBACjD,YAAY,EAAE,SAAS;oBACvB,YAAY,EAAE,GAAG,CAAC,MAAM;iBACzB,EACD,kEAAkE,CACnE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,GAAqB,EAAE,iBAAsC;IACvF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1D,gBAAgB,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC3C,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC3D,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EACpF,kDAAkD,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA2C,EAC3C,OAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEvC,0EAA0E;IAC1E,MAAM,GAAG,GAAqB;QAC5B,SAAS;QACT,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;KAC7B,CAAC;IAEF,6FAA6F;IAC7F,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEhC,kFAAkF;IAClF,mFAAmF;IACnF,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;QACvC,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,CAAC,KAAK,IAAI,EAAE;QAEV,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,YAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;YAEpE,oFAAoF;YACpF,oFAAoF;YACpF,qFAAqF;YACrF,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACrD,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;oBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,OAAO,CAAC,aAAa;oBAC9B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC7C,CAAC,CAAC;gBACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC3C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACrD,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU;oBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,OAAO,CAAC,MAAM;iBACxB,CAAC,CAAC;gBACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC3C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,wEAAwE;gBACxE,6EAA6E;gBAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBACxC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,YAAY,CAAC,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChE,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACtD,SAAS;oBACT,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC,CAAC;gBACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAEhC,sDAAsD;gBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBAChD,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACrD,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAClD,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC7D,CAAC;gBAED,2EAA2E;gBAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAIpC,CAAC;wBACF,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;4BACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAsB,CAAC,CAAC;4BACtD,CAAC,CAAC,CAAC,CAAC;wBACN,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;4BACtD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAuB,CAAC,CAAC;4BACvD,CAAC,CAAC,CAAC,CAAC;wBACN,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAkB,CAAC;4BACtC,CAAC,CAAC,CAAC,CAAC;wBACN,IAAI,WAAW,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BACvD,YAAY,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBACjF,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,+BAA+B,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,yDAAyD;oBACzD,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;wBACtC,YAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;oBACnE,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACvC,YAAY,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;oBACtE,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACzC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC5G,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACtC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBACzG,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACtC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;wBAC5G,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;oBAED,wEAAwE;oBACxE,qEAAqE;oBACrE,uEAAuE;oBACvE,yEAAyE;oBACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/E,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnD,CAAC;oBAED,4EAA4E;oBAC5E,wCAAwC;oBACxC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC3C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;oCACpC,MAAM,EAAE,KAAK,CAAC,OAAO;oCACrB,OAAO,EAAE,6BAA6B,KAAK,CAAC,OAAO,+BAA+B;oCAClF,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;iCAC/C,CAAC,CAAC;gCACH,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,yCAAyC,CAAC,CAAC;wBAC7E,CAAC;oBACH,CAAC;oBAED,mFAAmF;oBACnF,8EAA8E;oBAC9E,6EAA6E;oBAC7E,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACxG,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;YAED,+EAA+E;YAC/E,mFAAmF;YACnF,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAuB,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,EAAE,CAAC;gBAC9H,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAuB,CAAC,EAAE,CAAC;gBAC/E,4EAA4E;gBAC5E,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,+CAA+C,CAAC,CAAC;gBAC9F,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACvC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;oBACnD,SAAS;oBACT,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;oBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,cAAc,CAAC,SAAS;iBAClC,CAAC,CAAC,CAAC;gBACJ,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,8EAA8E;YAC9E,gFAAgF;YAChF,2EAA2E;QAC7E,CAAC;gBAAS,CAAC;YACT,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACxC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC;gBAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the first connected environment, preferring local adapters.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the root task boot listener in server/src/index.ts
|
|
5
|
+
* so that CronManager and other server-internal code can reuse the logic.
|
|
6
|
+
*/
|
|
7
|
+
import { type EnvironmentRow } from "@grackle-ai/database";
|
|
8
|
+
/**
|
|
9
|
+
* Return the first connected environment, preferring local adapter type.
|
|
10
|
+
* Returns undefined if no environment is connected.
|
|
11
|
+
*/
|
|
12
|
+
export declare function findFirstConnectedEnvironment(): EnvironmentRow | undefined;
|
|
13
|
+
//# sourceMappingURL=find-connected-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-connected-environment.d.ts","sourceRoot":"","sources":["../src/find-connected-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,cAAc,GAAG,SAAS,CAM1E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the first connected environment, preferring local adapters.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from the root task boot listener in server/src/index.ts
|
|
5
|
+
* so that CronManager and other server-internal code can reuse the logic.
|
|
6
|
+
*/
|
|
7
|
+
import { envRegistry } from "@grackle-ai/database";
|
|
8
|
+
/**
|
|
9
|
+
* Return the first connected environment, preferring local adapter type.
|
|
10
|
+
* Returns undefined if no environment is connected.
|
|
11
|
+
*/
|
|
12
|
+
export function findFirstConnectedEnvironment() {
|
|
13
|
+
const all = envRegistry.listEnvironments();
|
|
14
|
+
return (all.find((e) => e.status === "connected" && e.adapterType === "local") ||
|
|
15
|
+
all.find((e) => e.status === "connected"));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=find-connected-environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-connected-environment.js","sourceRoot":"","sources":["../src/find-connected-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IAC3C,OAAO,CACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-service.d.ts","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"grpc-service.d.ts","sourceRoot":"","sources":["../src/grpc-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiG7E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYvD;AA2MD,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,UAAU,EAAE;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,EAAE,GACF,MAAM,CAUR;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAczE;AAgDD,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAi/DjE"}
|