@grackle-ai/server 0.46.0 → 0.47.1
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/db.d.ts.map +1 -1
- package/dist/db.js +49 -21
- package/dist/db.js.map +1 -1
- package/dist/event-bus.d.ts +1 -1
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-processor.d.ts +1 -1
- package/dist/event-processor.d.ts.map +1 -1
- package/dist/event-processor.js +16 -16
- package/dist/event-processor.js.map +1 -1
- package/dist/finding-store.d.ts +5 -5
- package/dist/finding-store.d.ts.map +1 -1
- package/dist/finding-store.js +10 -10
- package/dist/finding-store.js.map +1 -1
- package/dist/github-import.d.ts +2 -2
- package/dist/github-import.d.ts.map +1 -1
- package/dist/github-import.js +15 -15
- package/dist/github-import.js.map +1 -1
- package/dist/grpc-service.d.ts.map +1 -1
- package/dist/grpc-service.js +72 -74
- package/dist/grpc-service.js.map +1 -1
- package/dist/processor-registry.d.ts +3 -3
- package/dist/processor-registry.d.ts.map +1 -1
- package/dist/processor-registry.js +4 -4
- package/dist/processor-registry.js.map +1 -1
- package/dist/reanimate-agent.js +3 -3
- package/dist/reanimate-agent.js.map +1 -1
- package/dist/resolve-persona.d.ts +2 -2
- package/dist/resolve-persona.d.ts.map +1 -1
- package/dist/resolve-persona.js +4 -4
- package/dist/resolve-persona.js.map +1 -1
- package/dist/schema.d.ts +21 -21
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +6 -6
- package/dist/schema.js.map +1 -1
- package/dist/task-store.d.ts +6 -6
- package/dist/task-store.d.ts.map +1 -1
- package/dist/task-store.js +15 -15
- package/dist/task-store.js.map +1 -1
- package/dist/utils/slugify.d.ts +1 -1
- package/dist/utils/slugify.js +1 -1
- package/dist/utils/system-context.js +4 -4
- package/dist/utils/system-context.js.map +1 -1
- package/dist/workspace-store.d.ts +26 -0
- package/dist/workspace-store.d.ts.map +1 -0
- package/dist/{project-store.js → workspace-store.js} +21 -21
- package/dist/workspace-store.js.map +1 -0
- package/dist/ws-bridge.js +78 -77
- package/dist/ws-bridge.js.map +1 -1
- package/package.json +6 -6
- package/dist/project-store.d.ts +0 -26
- package/dist/project-store.d.ts.map +0 -1
- package/dist/project-store.js.map +0 -1
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AA+DtC,+EAA+E;AAC/E,wBAAgB,YAAY,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AA+DtC,+EAA+E;AAC/E,wBAAgB,YAAY,IAAI,IAAI,CA2dnC;AAKD,yDAAyD;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,QAAA,MAAM,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,GAAG;IAC/C,OAAO,EAAE,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC;CACV,CAAC;AAEhC,eAAe,EAAE,CAAC"}
|
package/dist/db.js
CHANGED
|
@@ -60,6 +60,34 @@ sqlite.pragma("journal_mode = WAL");
|
|
|
60
60
|
sqlite.pragma("foreign_keys = ON");
|
|
61
61
|
/** Initialize all database tables and run migrations. Call once at startup. */
|
|
62
62
|
export function initDatabase() {
|
|
63
|
+
// Migration: rename projects table to workspaces
|
|
64
|
+
try {
|
|
65
|
+
sqlite.exec("ALTER TABLE projects RENAME TO workspaces");
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
/* table already renamed or never existed */
|
|
69
|
+
}
|
|
70
|
+
// Migration: rename project_id column to workspace_id on tasks
|
|
71
|
+
try {
|
|
72
|
+
sqlite.exec("ALTER TABLE tasks RENAME COLUMN project_id TO workspace_id");
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
/* column already renamed or never existed */
|
|
76
|
+
}
|
|
77
|
+
// Migration: rename project_id column to workspace_id on findings
|
|
78
|
+
try {
|
|
79
|
+
sqlite.exec("ALTER TABLE findings RENAME COLUMN project_id TO workspace_id");
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
/* column already renamed or never existed */
|
|
83
|
+
}
|
|
84
|
+
// Migration: drop old findings index after column rename
|
|
85
|
+
try {
|
|
86
|
+
sqlite.exec("DROP INDEX IF EXISTS idx_findings_project");
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
/* index already dropped or never existed */
|
|
90
|
+
}
|
|
63
91
|
// Create tables — idempotent, safe to run every startup
|
|
64
92
|
sqlite.exec(`
|
|
65
93
|
CREATE TABLE IF NOT EXISTS environments (
|
|
@@ -100,7 +128,7 @@ export function initDatabase() {
|
|
|
100
128
|
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
101
129
|
);
|
|
102
130
|
|
|
103
|
-
CREATE TABLE IF NOT EXISTS
|
|
131
|
+
CREATE TABLE IF NOT EXISTS workspaces (
|
|
104
132
|
id TEXT PRIMARY KEY,
|
|
105
133
|
name TEXT NOT NULL,
|
|
106
134
|
description TEXT NOT NULL DEFAULT '',
|
|
@@ -114,7 +142,7 @@ export function initDatabase() {
|
|
|
114
142
|
|
|
115
143
|
CREATE TABLE IF NOT EXISTS tasks (
|
|
116
144
|
id TEXT PRIMARY KEY,
|
|
117
|
-
|
|
145
|
+
workspace_id TEXT REFERENCES workspaces(id),
|
|
118
146
|
title TEXT NOT NULL,
|
|
119
147
|
description TEXT NOT NULL DEFAULT '',
|
|
120
148
|
status TEXT NOT NULL DEFAULT 'not_started',
|
|
@@ -132,7 +160,7 @@ export function initDatabase() {
|
|
|
132
160
|
|
|
133
161
|
CREATE TABLE IF NOT EXISTS findings (
|
|
134
162
|
id TEXT PRIMARY KEY,
|
|
135
|
-
|
|
163
|
+
workspace_id TEXT NOT NULL REFERENCES workspaces(id),
|
|
136
164
|
task_id TEXT NOT NULL DEFAULT '',
|
|
137
165
|
session_id TEXT NOT NULL DEFAULT '',
|
|
138
166
|
category TEXT NOT NULL DEFAULT 'general',
|
|
@@ -161,7 +189,7 @@ export function initDatabase() {
|
|
|
161
189
|
value TEXT NOT NULL
|
|
162
190
|
);
|
|
163
191
|
|
|
164
|
-
CREATE INDEX IF NOT EXISTS
|
|
192
|
+
CREATE INDEX IF NOT EXISTS idx_findings_workspace ON findings(workspace_id);
|
|
165
193
|
|
|
166
194
|
CREATE TABLE IF NOT EXISTS domain_events (
|
|
167
195
|
id TEXT PRIMARY KEY,
|
|
@@ -189,12 +217,12 @@ export function initDatabase() {
|
|
|
189
217
|
}
|
|
190
218
|
// Migration: backfill NULLs in stage-2 tables from older schemas that lacked NOT NULL
|
|
191
219
|
sqlite.exec(`
|
|
192
|
-
UPDATE
|
|
193
|
-
UPDATE
|
|
194
|
-
UPDATE
|
|
195
|
-
UPDATE
|
|
196
|
-
UPDATE
|
|
197
|
-
UPDATE
|
|
220
|
+
UPDATE workspaces SET description = '' WHERE description IS NULL;
|
|
221
|
+
UPDATE workspaces SET repo_url = '' WHERE repo_url IS NULL;
|
|
222
|
+
UPDATE workspaces SET default_env_id = '' WHERE default_env_id IS NULL;
|
|
223
|
+
UPDATE workspaces SET status = 'active' WHERE status IS NULL;
|
|
224
|
+
UPDATE workspaces SET created_at = datetime('now') WHERE created_at IS NULL;
|
|
225
|
+
UPDATE workspaces SET updated_at = datetime('now') WHERE updated_at IS NULL;
|
|
198
226
|
|
|
199
227
|
UPDATE tasks SET description = '' WHERE description IS NULL;
|
|
200
228
|
UPDATE tasks SET status = 'not_started' WHERE status IS NULL;
|
|
@@ -255,16 +283,16 @@ export function initDatabase() {
|
|
|
255
283
|
catch {
|
|
256
284
|
/* column already exists */
|
|
257
285
|
}
|
|
258
|
-
// Migration: add use_worktrees column to
|
|
286
|
+
// Migration: add use_worktrees column to workspaces if missing (older databases)
|
|
259
287
|
try {
|
|
260
|
-
sqlite.exec("ALTER TABLE
|
|
288
|
+
sqlite.exec("ALTER TABLE workspaces ADD COLUMN use_worktrees INTEGER NOT NULL DEFAULT 1");
|
|
261
289
|
}
|
|
262
290
|
catch {
|
|
263
291
|
/* column already exists */
|
|
264
292
|
}
|
|
265
|
-
// Migration: add worktree_base_path column to
|
|
293
|
+
// Migration: add worktree_base_path column to workspaces if missing (older databases)
|
|
266
294
|
try {
|
|
267
|
-
sqlite.exec("ALTER TABLE
|
|
295
|
+
sqlite.exec("ALTER TABLE workspaces ADD COLUMN worktree_base_path TEXT NOT NULL DEFAULT ''");
|
|
268
296
|
}
|
|
269
297
|
catch {
|
|
270
298
|
/* column already exists */
|
|
@@ -354,9 +382,9 @@ export function initDatabase() {
|
|
|
354
382
|
}
|
|
355
383
|
// Index for efficient session-by-task lookups
|
|
356
384
|
sqlite.exec("CREATE INDEX IF NOT EXISTS idx_sessions_task_id ON sessions(task_id)");
|
|
357
|
-
// Migration: add default_persona_id to
|
|
385
|
+
// Migration: add default_persona_id to workspaces and tasks
|
|
358
386
|
try {
|
|
359
|
-
sqlite.exec("ALTER TABLE
|
|
387
|
+
sqlite.exec("ALTER TABLE workspaces ADD COLUMN default_persona_id TEXT NOT NULL DEFAULT ''");
|
|
360
388
|
}
|
|
361
389
|
catch {
|
|
362
390
|
/* column already exists */
|
|
@@ -380,18 +408,18 @@ export function initDatabase() {
|
|
|
380
408
|
catch {
|
|
381
409
|
/* column already exists */
|
|
382
410
|
}
|
|
383
|
-
// Migration: make
|
|
411
|
+
// Migration: make workspace_id nullable on tasks.
|
|
384
412
|
// SQLite doesn't support ALTER COLUMN, so we recreate the table.
|
|
385
413
|
// Guard: only run if the column currently has NOT NULL.
|
|
386
414
|
{
|
|
387
415
|
const tableInfo = sqlite.prepare("PRAGMA table_info(tasks)").all();
|
|
388
|
-
const
|
|
389
|
-
if (
|
|
416
|
+
const workspaceIdCol = tableInfo.find((c) => c.name === "workspace_id");
|
|
417
|
+
if (workspaceIdCol?.notnull === 1) {
|
|
390
418
|
sqlite.exec(`
|
|
391
419
|
BEGIN;
|
|
392
420
|
CREATE TABLE tasks_new (
|
|
393
421
|
id TEXT PRIMARY KEY,
|
|
394
|
-
|
|
422
|
+
workspace_id TEXT REFERENCES workspaces(id),
|
|
395
423
|
title TEXT NOT NULL,
|
|
396
424
|
description TEXT NOT NULL DEFAULT '',
|
|
397
425
|
status TEXT NOT NULL DEFAULT 'not_started',
|
|
@@ -408,7 +436,7 @@ export function initDatabase() {
|
|
|
408
436
|
default_persona_id TEXT NOT NULL DEFAULT ''
|
|
409
437
|
);
|
|
410
438
|
INSERT INTO tasks_new SELECT
|
|
411
|
-
id,
|
|
439
|
+
id, workspace_id, title, description, status, branch, depends_on,
|
|
412
440
|
started_at, completed_at, created_at, updated_at, sort_order,
|
|
413
441
|
parent_task_id, depth, can_decompose, default_persona_id
|
|
414
442
|
FROM tasks;
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.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" | "
|
|
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";
|
|
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,
|
|
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;AAEtB,+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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAAmC,MAAM,oBAAoB,CAAC;AAazF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,SAAS,EAAmC,MAAM,oBAAoB,CAAC;AAazF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,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,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;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,CA6FN;AAsCD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,EAC3C,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CA2HN"}
|
package/dist/event-processor.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as streamHub from "./stream-hub.js";
|
|
|
6
6
|
import * as logWriter from "./log-writer.js";
|
|
7
7
|
import * as findingStore from "./finding-store.js";
|
|
8
8
|
import * as taskStore from "./task-store.js";
|
|
9
|
-
import * as
|
|
9
|
+
import * as workspaceStore from "./workspace-store.js";
|
|
10
10
|
import * as processorRegistry from "./processor-registry.js";
|
|
11
11
|
import { slugify } from "./utils/slugify.js";
|
|
12
12
|
import { writeTranscript } from "./transcript.js";
|
|
@@ -19,18 +19,18 @@ const TERMINAL_STATUSES = [SESSION_STATUS.COMPLETED, SESSION_STATUS.FAILED, SESS
|
|
|
19
19
|
* Shared between live event processing and replay on late-bind.
|
|
20
20
|
*/
|
|
21
21
|
export function processFindingEvent(ctx, content, sessionId) {
|
|
22
|
-
if (!ctx.
|
|
22
|
+
if (!ctx.workspaceId) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
try {
|
|
26
26
|
const data = JSON.parse(content);
|
|
27
27
|
const findingId = uuid();
|
|
28
|
-
findingStore.postFinding(findingId, ctx.
|
|
29
|
-
emit("finding.posted", {
|
|
30
|
-
logger.info({ findingId,
|
|
28
|
+
findingStore.postFinding(findingId, ctx.workspaceId, ctx.taskId || "", sessionId, data.category || "general", data.title || "Untitled", data.content || "", data.tags || []);
|
|
29
|
+
emit("finding.posted", { workspaceId: ctx.workspaceId, findingId });
|
|
30
|
+
logger.info({ findingId, workspaceId: ctx.workspaceId, title: data.title }, "Finding stored");
|
|
31
31
|
}
|
|
32
32
|
catch (err) {
|
|
33
|
-
logger.error({ err,
|
|
33
|
+
logger.error({ err, workspaceId: ctx.workspaceId, taskId: ctx.taskId }, "Failed to store finding");
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -52,9 +52,9 @@ export function processSubtaskEvent(ctx, content, subtaskLocalIdMap) {
|
|
|
52
52
|
logger.warn({ taskId: ctx.taskId }, "Subtask creation failed: parent task cannot decompose");
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
const
|
|
56
|
-
if (parentTask.
|
|
57
|
-
logger.warn({
|
|
55
|
+
const workspace = parentTask.workspaceId ? workspaceStore.getWorkspace(parentTask.workspaceId) : undefined;
|
|
56
|
+
if (parentTask.workspaceId && !workspace) {
|
|
57
|
+
logger.warn({ workspaceId: parentTask.workspaceId }, "Subtask creation failed: workspace not found");
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
// Validate required fields
|
|
@@ -82,7 +82,7 @@ export function processSubtaskEvent(ctx, content, subtaskLocalIdMap) {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
const subtaskId = uuid().slice(0, 8);
|
|
85
|
-
taskStore.createTask(subtaskId, parentTask.
|
|
85
|
+
taskStore.createTask(subtaskId, parentTask.workspaceId || undefined, title, description, resolvedDeps, workspace ? slugify(workspace.name) : "", ctx.taskId, canDecompose);
|
|
86
86
|
// Record the local_id → real ID mapping, detecting duplicates
|
|
87
87
|
if (localId) {
|
|
88
88
|
if (subtaskLocalIdMap.has(localId)) {
|
|
@@ -97,7 +97,7 @@ export function processSubtaskEvent(ctx, content, subtaskLocalIdMap) {
|
|
|
97
97
|
subtaskLocalIdMap.set(localId, subtaskId);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
emit("task.created", { taskId: subtaskId,
|
|
100
|
+
emit("task.created", { taskId: subtaskId, workspaceId: parentTask.workspaceId ?? undefined });
|
|
101
101
|
logger.info({ subtaskId, parentTaskId: ctx.taskId, title }, "Subtask created");
|
|
102
102
|
}
|
|
103
103
|
catch (err) {
|
|
@@ -153,7 +153,7 @@ export function processEventStream(events, options) {
|
|
|
153
153
|
const ctx = {
|
|
154
154
|
sessionId,
|
|
155
155
|
logPath,
|
|
156
|
-
|
|
156
|
+
workspaceId: options.workspaceId || "",
|
|
157
157
|
taskId: options.taskId || "",
|
|
158
158
|
};
|
|
159
159
|
/** Maps local_id strings (assigned by the agent) to real task IDs, scoped to this stream. */
|
|
@@ -188,7 +188,7 @@ export function processEventStream(events, options) {
|
|
|
188
188
|
logWriter.writeEvent(logPath, sessionEvent);
|
|
189
189
|
streamHub.publish(sessionEvent);
|
|
190
190
|
// Intercept finding events and store + broadcast them
|
|
191
|
-
if (event.type === "finding" && ctx.
|
|
191
|
+
if (event.type === "finding" && ctx.workspaceId) {
|
|
192
192
|
processFindingEvent(ctx, event.content, sessionId);
|
|
193
193
|
}
|
|
194
194
|
// Intercept subtask creation events and create child tasks
|
|
@@ -216,7 +216,7 @@ export function processEventStream(events, options) {
|
|
|
216
216
|
// This covers both terminal events (completed/failed/killed) and non-terminal
|
|
217
217
|
// transitions (running, waiting_input) that affect the computed task status.
|
|
218
218
|
if (ctx.taskId && ["completed", "failed", "killed", "running", "waiting_input"].includes(event.content)) {
|
|
219
|
-
emit("task.updated", { taskId: ctx.taskId,
|
|
219
|
+
emit("task.updated", { taskId: ctx.taskId, workspaceId: ctx.workspaceId });
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}
|
|
@@ -225,7 +225,7 @@ export function processEventStream(events, options) {
|
|
|
225
225
|
if (current && !TERMINAL_STATUSES.includes(current.status)) {
|
|
226
226
|
sessionStore.updateSession(sessionId, SESSION_STATUS.COMPLETED);
|
|
227
227
|
if (ctx.taskId) {
|
|
228
|
-
emit("task.updated", { taskId: ctx.taskId,
|
|
228
|
+
emit("task.updated", { taskId: ctx.taskId, workspaceId: ctx.workspaceId });
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -255,7 +255,7 @@ export function processEventStream(events, options) {
|
|
|
255
255
|
onError?.(err);
|
|
256
256
|
}
|
|
257
257
|
if (ctx.taskId) {
|
|
258
|
-
emit("task.updated", { taskId: ctx.taskId,
|
|
258
|
+
emit("task.updated", { taskId: ctx.taskId, workspaceId: ctx.workspaceId });
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
261
|
finally {
|
|
@@ -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,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"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"}
|
package/dist/finding-store.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type FindingRow } from "./schema.js";
|
|
2
2
|
export type { FindingRow };
|
|
3
3
|
/** Insert a new finding record. */
|
|
4
|
-
export declare function postFinding(id: string,
|
|
5
|
-
/** Query findings for a
|
|
6
|
-
export declare function queryFindings(
|
|
7
|
-
/** Build a summarized text context of recent findings for a
|
|
8
|
-
export declare function buildFindingsContext(
|
|
4
|
+
export declare function postFinding(id: string, workspaceId: string, taskId: string, sessionId: string, category: string, title: string, content: string, tags: string[]): void;
|
|
5
|
+
/** Query findings for a workspace, optionally filtering by categories and tags. */
|
|
6
|
+
export declare function queryFindings(workspaceId: string, categories?: string[], tags?: string[], limit?: number): FindingRow[];
|
|
7
|
+
/** Build a summarized text context of recent findings for a workspace. */
|
|
8
|
+
export declare function buildFindingsContext(workspaceId: string): string;
|
|
9
9
|
//# sourceMappingURL=finding-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding-store.d.ts","sourceRoot":"","sources":["../src/finding-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAIxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,mCAAmC;AACnC,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,
|
|
1
|
+
{"version":3,"file":"finding-store.d.ts","sourceRoot":"","sources":["../src/finding-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAIxD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,mCAAmC;AACnC,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,IAAI,CAWN;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,KAAK,CAAC,EAAE,MAAM,GACb,UAAU,EAAE,CA8Bd;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwBhE"}
|
package/dist/finding-store.js
CHANGED
|
@@ -3,10 +3,10 @@ import { findings } from "./schema.js";
|
|
|
3
3
|
import { eq, desc, sql, and } from "drizzle-orm";
|
|
4
4
|
import { safeParseJsonArray } from "./json-helpers.js";
|
|
5
5
|
/** Insert a new finding record. */
|
|
6
|
-
export function postFinding(id,
|
|
6
|
+
export function postFinding(id, workspaceId, taskId, sessionId, category, title, content, tags) {
|
|
7
7
|
db.insert(findings).values({
|
|
8
8
|
id,
|
|
9
|
-
|
|
9
|
+
workspaceId,
|
|
10
10
|
taskId,
|
|
11
11
|
sessionId,
|
|
12
12
|
category,
|
|
@@ -15,20 +15,20 @@ export function postFinding(id, projectId, taskId, sessionId, category, title, c
|
|
|
15
15
|
tags: JSON.stringify(tags),
|
|
16
16
|
}).run();
|
|
17
17
|
}
|
|
18
|
-
/** Query findings for a
|
|
19
|
-
export function queryFindings(
|
|
18
|
+
/** Query findings for a workspace, optionally filtering by categories and tags. */
|
|
19
|
+
export function queryFindings(workspaceId, categories, tags, limit) {
|
|
20
20
|
const maxResults = Math.min(limit || 50, 100);
|
|
21
21
|
let results;
|
|
22
22
|
if (categories && categories.length > 0) {
|
|
23
23
|
results = db.select().from(findings)
|
|
24
|
-
.where(and(eq(findings.
|
|
24
|
+
.where(and(eq(findings.workspaceId, workspaceId), sql `${findings.category} IN (SELECT value FROM json_each(${JSON.stringify(categories)}))`))
|
|
25
25
|
.orderBy(desc(findings.createdAt))
|
|
26
26
|
.limit(maxResults)
|
|
27
27
|
.all();
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
30
|
results = db.select().from(findings)
|
|
31
|
-
.where(eq(findings.
|
|
31
|
+
.where(eq(findings.workspaceId, workspaceId))
|
|
32
32
|
.orderBy(desc(findings.createdAt))
|
|
33
33
|
.limit(maxResults)
|
|
34
34
|
.all();
|
|
@@ -42,13 +42,13 @@ export function queryFindings(projectId, categories, tags, limit) {
|
|
|
42
42
|
}
|
|
43
43
|
return results;
|
|
44
44
|
}
|
|
45
|
-
/** Build a summarized text context of recent findings for a
|
|
46
|
-
export function buildFindingsContext(
|
|
47
|
-
const allFindings = queryFindings(
|
|
45
|
+
/** Build a summarized text context of recent findings for a workspace. */
|
|
46
|
+
export function buildFindingsContext(workspaceId) {
|
|
47
|
+
const allFindings = queryFindings(workspaceId, undefined, undefined, 20);
|
|
48
48
|
if (allFindings.length === 0) {
|
|
49
49
|
return "";
|
|
50
50
|
}
|
|
51
|
-
const lines = ["##
|
|
51
|
+
const lines = ["## Workspace Findings (shared knowledge from other agents)\n"];
|
|
52
52
|
let totalChars = lines[0].length;
|
|
53
53
|
const MAX_CHARS = 8000;
|
|
54
54
|
const MAX_PER_FINDING = 500;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding-store.js","sourceRoot":"","sources":["../src/finding-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIvD,mCAAmC;AACnC,MAAM,UAAU,WAAW,CACzB,EAAU,EACV,
|
|
1
|
+
{"version":3,"file":"finding-store.js","sourceRoot":"","sources":["../src/finding-store.ts"],"names":[],"mappings":"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"}
|
package/dist/github-import.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ export declare function topologicalSortIssues<T extends {
|
|
|
82
82
|
*
|
|
83
83
|
* Only one import may run at a time; concurrent calls are rejected.
|
|
84
84
|
*
|
|
85
|
-
* @param
|
|
85
|
+
* @param workspaceId - The Grackle workspace ID to import tasks into.
|
|
86
86
|
* @param repo - Repository in "owner/repo" format.
|
|
87
87
|
* @param state - Issue state filter ("open" or "closed").
|
|
88
88
|
* @param label - Optional label to filter issues by.
|
|
@@ -91,5 +91,5 @@ export declare function topologicalSortIssues<T extends {
|
|
|
91
91
|
* task description. Pass `false` to import only the issue body (old behavior).
|
|
92
92
|
* @returns Summary of imported, linked, and skipped issues.
|
|
93
93
|
*/
|
|
94
|
-
export declare function importGitHubIssues(
|
|
94
|
+
export declare function importGitHubIssues(workspaceId: string, repo: string, state: string, label?: string, _environmentId?: string, includeComments?: boolean): Promise<ImportResult>;
|
|
95
95
|
//# sourceMappingURL=github-import.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-import.d.ts","sourceRoot":"","sources":["../src/github-import.ts"],"names":[],"mappings":"AAgFA,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EAAE,EACzB,eAAe,GAAE,OAAe,GAC/B,MAAM,CAiBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC,CA+IxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAClG,MAAM,EAAE,CAAC,EAAE,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,CAAC,EAAE,CA2BL;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,
|
|
1
|
+
{"version":3,"file":"github-import.d.ts","sourceRoot":"","sources":["../src/github-import.ts"],"names":[],"mappings":"AAgFA,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EAAE,EACzB,eAAe,GAAE,OAAe,GAC/B,MAAM,CAiBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC,CA+IxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAClG,MAAM,EAAE,CAAC,EAAE,EACX,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,CAAC,EAAE,CA2BL;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,eAAe,GAAE,OAAc,GAC9B,OAAO,CAAC,YAAY,CAAC,CAOvB"}
|
package/dist/github-import.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { v4 as uuid } from "uuid";
|
|
3
3
|
import * as taskStore from "./task-store.js";
|
|
4
|
-
import * as
|
|
4
|
+
import * as workspaceStore from "./workspace-store.js";
|
|
5
5
|
import { emit } from "./event-bus.js";
|
|
6
6
|
import { slugify } from "./utils/slugify.js";
|
|
7
7
|
import { logger } from "./logger.js";
|
|
@@ -259,7 +259,7 @@ export function topologicalSortIssues(issues, issueSet) {
|
|
|
259
259
|
*
|
|
260
260
|
* Only one import may run at a time; concurrent calls are rejected.
|
|
261
261
|
*
|
|
262
|
-
* @param
|
|
262
|
+
* @param workspaceId - The Grackle workspace ID to import tasks into.
|
|
263
263
|
* @param repo - Repository in "owner/repo" format.
|
|
264
264
|
* @param state - Issue state filter ("open" or "closed").
|
|
265
265
|
* @param label - Optional label to filter issues by.
|
|
@@ -268,10 +268,10 @@ export function topologicalSortIssues(issues, issueSet) {
|
|
|
268
268
|
* task description. Pass `false` to import only the issue body (old behavior).
|
|
269
269
|
* @returns Summary of imported, linked, and skipped issues.
|
|
270
270
|
*/
|
|
271
|
-
export async function importGitHubIssues(
|
|
271
|
+
export async function importGitHubIssues(workspaceId, repo, state, label, _environmentId, includeComments = true) {
|
|
272
272
|
acquireImportLock();
|
|
273
273
|
try {
|
|
274
|
-
return await doImport(
|
|
274
|
+
return await doImport(workspaceId, repo, state, label, includeComments);
|
|
275
275
|
}
|
|
276
276
|
finally {
|
|
277
277
|
releaseImportLock();
|
|
@@ -280,7 +280,7 @@ export async function importGitHubIssues(projectId, repo, state, label, _environ
|
|
|
280
280
|
/**
|
|
281
281
|
* Internal import implementation, called under the concurrency guard.
|
|
282
282
|
*
|
|
283
|
-
* @param
|
|
283
|
+
* @param workspaceId - The Grackle workspace ID to import tasks into.
|
|
284
284
|
* @param repo - Repository in "owner/repo" format.
|
|
285
285
|
* @param state - Issue state filter ("open" or "closed").
|
|
286
286
|
* @param label - Optional label to filter issues by.
|
|
@@ -289,17 +289,17 @@ export async function importGitHubIssues(projectId, repo, state, label, _environ
|
|
|
289
289
|
* task description.
|
|
290
290
|
* @returns Summary of imported, linked, and skipped issues.
|
|
291
291
|
*/
|
|
292
|
-
async function doImport(
|
|
293
|
-
const
|
|
294
|
-
if (!
|
|
295
|
-
throw new Error(`
|
|
292
|
+
async function doImport(workspaceId, repo, state, label, includeComments = true) {
|
|
293
|
+
const workspace = workspaceStore.getWorkspace(workspaceId);
|
|
294
|
+
if (!workspace) {
|
|
295
|
+
throw new Error(`Workspace not found: ${workspaceId}`);
|
|
296
296
|
}
|
|
297
|
-
const
|
|
297
|
+
const workspaceSlug = slugify(workspace.name);
|
|
298
298
|
// 1. Fetch issues from GitHub (with or without comments)
|
|
299
299
|
const issues = await fetchGitHubIssues(repo, state, label, includeComments);
|
|
300
300
|
logger.info({ repo, state, label, count: issues.length, includeComments }, "Fetched GitHub issues");
|
|
301
301
|
// 2. Fetch existing tasks for deduplication and parent linking
|
|
302
|
-
const existingTasks = taskStore.listTasks(
|
|
302
|
+
const existingTasks = taskStore.listTasks(workspaceId);
|
|
303
303
|
const issueNumberPattern = /^#(\d+):/;
|
|
304
304
|
/** Maps GitHub issue number → Grackle task ID (for both existing and newly created tasks). */
|
|
305
305
|
const issueNumberToTaskId = new Map();
|
|
@@ -337,8 +337,8 @@ async function doImport(projectId, repo, state, label, includeComments = true) {
|
|
|
337
337
|
}
|
|
338
338
|
const description = buildDescriptionWithComments(issue.body, issue.comments, issue.commentsHasNextPage);
|
|
339
339
|
const id = uuid().slice(0, 8);
|
|
340
|
-
taskStore.createTask(id,
|
|
341
|
-
emit("task.created", { taskId: id,
|
|
340
|
+
taskStore.createTask(id, workspaceId, title, description, [], workspaceSlug, parentTaskId, true);
|
|
341
|
+
emit("task.created", { taskId: id, workspaceId });
|
|
342
342
|
issueNumberToTaskId.set(issue.number, id);
|
|
343
343
|
newlyImportedIssues.push(issue);
|
|
344
344
|
imported++;
|
|
@@ -366,10 +366,10 @@ async function doImport(projectId, repo, state, label, includeComments = true) {
|
|
|
366
366
|
if (resolvedDeps.length > 0) {
|
|
367
367
|
taskStore.setTaskDependsOn(taskId, resolvedDeps);
|
|
368
368
|
dependencies += resolvedDeps.length;
|
|
369
|
-
emit("task.updated", { taskId: taskId,
|
|
369
|
+
emit("task.updated", { taskId: taskId, workspaceId });
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
|
-
logger.info({
|
|
372
|
+
logger.info({ workspaceId, imported, linked, skipped, dependencies }, "GitHub import complete");
|
|
373
373
|
return { imported, linked, skipped, dependencies };
|
|
374
374
|
}
|
|
375
375
|
//# sourceMappingURL=github-import.js.map
|