flingit 0.0.65 → 0.0.67
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/cli/commands/config.d.ts +2 -2
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +3 -3
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/cron.d.ts +9 -9
- package/dist/cli/commands/cron.d.ts.map +1 -1
- package/dist/cli/commands/cron.js +8 -13
- package/dist/cli/commands/cron.js.map +1 -1
- package/dist/cli/commands/db.d.ts +13 -3
- package/dist/cli/commands/db.d.ts.map +1 -1
- package/dist/cli/commands/db.js +22 -5
- package/dist/cli/commands/db.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +2 -2
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +15 -4
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/email.d.ts +4 -4
- package/dist/cli/commands/email.d.ts.map +1 -1
- package/dist/cli/commands/email.js +4 -3
- package/dist/cli/commands/email.js.map +1 -1
- package/dist/cli/commands/feedback.js +3 -3
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -2
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/launch.d.ts +14 -14
- package/dist/cli/commands/launch.d.ts.map +1 -1
- package/dist/cli/commands/launch.js +12 -12
- package/dist/cli/commands/launch.js.map +1 -1
- package/dist/cli/commands/logs.d.ts +2 -2
- package/dist/cli/commands/logs.d.ts.map +1 -1
- package/dist/cli/commands/logs.js +4 -4
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +4 -3
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/project.d.ts +2 -2
- package/dist/cli/commands/project.d.ts.map +1 -1
- package/dist/cli/commands/project.js +32 -22
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/push.d.ts +1 -0
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +8 -8
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/storage.d.ts +8 -11
- package/dist/cli/commands/storage.d.ts.map +1 -1
- package/dist/cli/commands/storage.js +16 -24
- package/dist/cli/commands/storage.js.map +1 -1
- package/dist/cli/commands/tunnel.js +2 -2
- package/dist/cli/commands/tunnel.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +2 -2
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +2 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/whoami.d.ts.map +1 -1
- package/dist/cli/commands/whoami.js +4 -4
- package/dist/cli/commands/whoami.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts +9 -9
- package/dist/cli/commands/workflow.d.ts.map +1 -1
- package/dist/cli/commands/workflow.js +8 -14
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/cli-io-impl.d.ts +48 -26
- package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
- package/dist/cli/utils/cli-io-impl.js +124 -40
- package/dist/cli/utils/cli-io-impl.js.map +1 -1
- package/dist/cli/utils/cli-io.d.ts +57 -29
- package/dist/cli/utils/cli-io.d.ts.map +1 -1
- package/dist/cli/utils/cli-io.js +8 -4
- package/dist/cli/utils/cli-io.js.map +1 -1
- package/dist/cli/utils/config.d.ts +10 -10
- package/dist/cli/utils/config.d.ts.map +1 -1
- package/dist/cli/utils/config.js +1 -1
- package/dist/cli/utils/config.js.map +1 -1
- package/dist/cli/utils/duplicate-check.d.ts +3 -3
- package/dist/cli/utils/duplicate-check.d.ts.map +1 -1
- package/dist/cli/utils/duplicate-check.js.map +1 -1
- package/dist/cli/utils/email.d.ts +2 -1
- package/dist/cli/utils/email.d.ts.map +1 -1
- package/dist/cli/utils/email.js +8 -21
- package/dist/cli/utils/email.js.map +1 -1
- package/dist/cli/utils/format.d.ts +17 -0
- package/dist/cli/utils/format.d.ts.map +1 -0
- package/dist/cli/utils/format.js +30 -0
- package/dist/cli/utils/format.js.map +1 -0
- package/dist/cli/utils/project-name.d.ts +13 -4
- package/dist/cli/utils/project-name.d.ts.map +1 -1
- package/dist/cli/utils/project-name.js +28 -0
- package/dist/cli/utils/project-name.js.map +1 -1
- package/dist/cli/utils/project.d.ts +21 -8
- package/dist/cli/utils/project.d.ts.map +1 -1
- package/dist/cli/utils/project.js +16 -0
- package/dist/cli/utils/project.js.map +1 -1
- package/dist/cli/utils/prompt-new-project.d.ts +2 -2
- package/dist/cli/utils/prompt-new-project.d.ts.map +1 -1
- package/dist/cli/utils/prompt-new-project.js.map +1 -1
- package/dist/cli/utils/registry.d.ts +10 -10
- package/dist/cli/utils/registry.d.ts.map +1 -1
- package/dist/cli/utils/registry.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/repo-shared/email-validation.d.ts +21 -0
- package/dist/repo-shared/email-validation.d.ts.map +1 -0
- package/dist/repo-shared/email-validation.js +30 -0
- package/dist/repo-shared/email-validation.js.map +1 -0
- package/dist/repo-shared/slug-validation.d.ts +29 -0
- package/dist/repo-shared/slug-validation.d.ts.map +1 -0
- package/dist/repo-shared/slug-validation.js +60 -0
- package/dist/repo-shared/slug-validation.js.map +1 -0
- package/dist/runtime/auth.d.ts +26 -0
- package/dist/runtime/auth.d.ts.map +1 -0
- package/dist/runtime/auth.js +241 -0
- package/dist/runtime/auth.js.map +1 -0
- package/dist/runtime/discord.d.ts +3 -2
- package/dist/runtime/discord.d.ts.map +1 -1
- package/dist/runtime/discord.js.map +1 -1
- package/dist/runtime/entry.d.ts +2 -0
- package/dist/runtime/entry.d.ts.map +1 -1
- package/dist/runtime/entry.js +9 -0
- package/dist/runtime/entry.js.map +1 -1
- package/dist/shared/constants.d.ts +1 -10
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +1 -10
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/hmac.d.ts +17 -0
- package/dist/shared/hmac.d.ts.map +1 -0
- package/dist/shared/hmac.js +37 -0
- package/dist/shared/hmac.js.map +1 -0
- package/dist/shared/plugin-metadata.d.ts.map +1 -1
- package/dist/shared/plugin-metadata.js +6 -4
- package/dist/shared/plugin-metadata.js.map +1 -1
- package/dist/worker-runtime/auth.d.ts +79 -0
- package/dist/worker-runtime/auth.d.ts.map +1 -0
- package/dist/worker-runtime/auth.js +425 -0
- package/dist/worker-runtime/auth.js.map +1 -0
- package/dist/worker-runtime/d1-event-store.d.ts +2 -1
- package/dist/worker-runtime/d1-event-store.d.ts.map +1 -1
- package/dist/worker-runtime/d1-event-store.js +26 -0
- package/dist/worker-runtime/d1-event-store.js.map +1 -1
- package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
- package/dist/worker-runtime/entry-extract.js +1 -0
- package/dist/worker-runtime/entry-extract.js.map +1 -1
- package/dist/worker-runtime/entry.d.ts.map +1 -1
- package/dist/worker-runtime/entry.js +24 -16
- package/dist/worker-runtime/entry.js.map +1 -1
- package/dist/worker-runtime/index.d.ts +2 -0
- package/dist/worker-runtime/index.d.ts.map +1 -1
- package/dist/worker-runtime/index.js +2 -0
- package/dist/worker-runtime/index.js.map +1 -1
- package/dist/worker-runtime/types.d.ts +2 -0
- package/dist/worker-runtime/types.d.ts.map +1 -1
- package/dist/workflow/runtime.d.ts +3 -0
- package/dist/workflow/runtime.d.ts.map +1 -1
- package/dist/workflow/runtime.js +37 -4
- package/dist/workflow/runtime.js.map +1 -1
- package/node_modules/flingflow/README.md +10 -0
- package/node_modules/flingflow/SPEC.md +0 -4
- package/node_modules/flingflow/TESTING.md +2 -0
- package/node_modules/flingflow/dist/index.d.ts +1 -1
- package/node_modules/flingflow/dist/store-memory.d.ts +2 -1
- package/node_modules/flingflow/dist/store-memory.js +36 -0
- package/node_modules/flingflow/dist/store-memory.js.map +1 -1
- package/node_modules/flingflow/dist/store-sqlite.d.ts +2 -1
- package/node_modules/flingflow/dist/store-sqlite.js +45 -0
- package/node_modules/flingflow/dist/store-sqlite.js.map +1 -1
- package/node_modules/flingflow/dist/store.d.ts +5 -0
- package/node_modules/flingflow/src/index.ts +1 -1
- package/node_modules/flingflow/src/store-memory.ts +40 -0
- package/node_modules/flingflow/src/store-sqlite.ts +47 -0
- package/node_modules/flingflow/src/store.ts +6 -0
- package/node_modules/flingflow/test/store-conformance.ts +42 -0
- package/package.json +3 -3
- package/templates/default/dot-claude/skills/fling/.hash +1 -1
- package/templates/default/dot-claude/skills/fling/SKILL.md +4 -2
- package/templates/default/dot-claude/skills/fling/references/AUTH.md +149 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-memory.js","sourceRoot":"","sources":["../src/store-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store-memory.js","sourceRoot":"","sources":["../src/store-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import Database from "better-sqlite3";
|
|
|
2
2
|
import { type Result } from "neverthrow";
|
|
3
3
|
import type { SimulationTask } from "determined";
|
|
4
4
|
import type { WorkflowEvent } from "./types.js";
|
|
5
|
-
import { type EventStore, type EventStoreCheck, type AppendError, type AppendIfNoActiveError } from "./store.js";
|
|
5
|
+
import { type EventStore, type EventStoreCheck, type AppendError, type AppendIfNoActiveError, type PruneResult } from "./store.js";
|
|
6
6
|
export declare class SqliteEventStore implements EventStore {
|
|
7
7
|
private db;
|
|
8
8
|
private checkFn;
|
|
@@ -26,5 +26,6 @@ export declare class SqliteEventStore implements EventStore {
|
|
|
26
26
|
getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
27
27
|
getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
28
28
|
getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
29
|
+
pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
|
|
29
30
|
close(): void;
|
|
30
31
|
}
|
|
@@ -393,6 +393,51 @@ export class SqliteEventStore {
|
|
|
393
393
|
}
|
|
394
394
|
return ok(results);
|
|
395
395
|
}
|
|
396
|
+
async pruneTerminalRunsOlderThan(cutoff, sim) {
|
|
397
|
+
try {
|
|
398
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
|
|
399
|
+
}
|
|
400
|
+
catch (e) {
|
|
401
|
+
return err(toError(e));
|
|
402
|
+
}
|
|
403
|
+
let result;
|
|
404
|
+
try {
|
|
405
|
+
const runIds = this.db.prepare(`
|
|
406
|
+
SELECT e.run_id FROM ${this.table} e
|
|
407
|
+
INNER JOIN (
|
|
408
|
+
SELECT run_id, MAX(seq) as max_seq
|
|
409
|
+
FROM ${this.table}
|
|
410
|
+
GROUP BY run_id
|
|
411
|
+
) latest ON e.run_id = latest.run_id AND e.seq = latest.max_seq
|
|
412
|
+
WHERE e.event_type IN ('workflow_completed', 'workflow_failed')
|
|
413
|
+
AND e.created_at < ?
|
|
414
|
+
`).all(cutoff);
|
|
415
|
+
if (runIds.length === 0) {
|
|
416
|
+
result = { prunedRuns: 0, prunedEvents: 0 };
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
const deleteStmt = this.db.prepare(`DELETE FROM ${this.table} WHERE run_id = ?`);
|
|
420
|
+
const transaction = this.db.transaction((ids) => {
|
|
421
|
+
let prunedEvents = 0;
|
|
422
|
+
for (const runId of ids) {
|
|
423
|
+
prunedEvents += deleteStmt.run(runId).changes;
|
|
424
|
+
}
|
|
425
|
+
return { prunedRuns: ids.length, prunedEvents };
|
|
426
|
+
});
|
|
427
|
+
result = transaction(runIds.map((row) => row.run_id));
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
catch (e) {
|
|
431
|
+
return err(toError(e));
|
|
432
|
+
}
|
|
433
|
+
try {
|
|
434
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
|
|
435
|
+
}
|
|
436
|
+
catch (e) {
|
|
437
|
+
return err(toError(e));
|
|
438
|
+
}
|
|
439
|
+
return ok(result);
|
|
440
|
+
}
|
|
396
441
|
close() {
|
|
397
442
|
this.db.close();
|
|
398
443
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-sqlite.js","sourceRoot":"","sources":["../src/store-sqlite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store-sqlite.js","sourceRoot":"","sources":["../src/store-sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,10 @@ export declare class WorkflowIdMismatchError extends Error {
|
|
|
14
14
|
export type EventStoreCheck = (runId: string, allEvents: WorkflowEvent[]) => void;
|
|
15
15
|
export type AppendError = UniqueConstraintError | WorkflowIdMismatchError | Error;
|
|
16
16
|
export type AppendIfNoActiveError = WorkflowAlreadyActiveError | UniqueConstraintError | Error;
|
|
17
|
+
export interface PruneResult {
|
|
18
|
+
prunedRuns: number;
|
|
19
|
+
prunedEvents: number;
|
|
20
|
+
}
|
|
17
21
|
/**
|
|
18
22
|
* Event payloads are stored as JSON. This means:
|
|
19
23
|
* - `undefined` values in objects are silently dropped
|
|
@@ -36,4 +40,5 @@ export interface EventStore {
|
|
|
36
40
|
getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
37
41
|
getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
38
42
|
getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
43
|
+
pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
|
|
39
44
|
}
|
|
@@ -31,7 +31,7 @@ export type { TransitionResult } from "./transitions.js";
|
|
|
31
31
|
export { resolveTransition } from "./transitions.js";
|
|
32
32
|
|
|
33
33
|
// Store
|
|
34
|
-
export type { EventStore, EventStoreCheck, AppendError, AppendIfNoActiveError } from "./store.js";
|
|
34
|
+
export type { EventStore, EventStoreCheck, AppendError, AppendIfNoActiveError, PruneResult } from "./store.js";
|
|
35
35
|
export { UniqueConstraintError, WorkflowAlreadyActiveError, WorkflowIdMismatchError } from "./store.js";
|
|
36
36
|
export { MemoryEventStore } from "./store-memory.js";
|
|
37
37
|
export { SqliteEventStore } from "./store-sqlite.js";
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
type EventStoreCheck,
|
|
11
11
|
type AppendError,
|
|
12
12
|
type AppendIfNoActiveError,
|
|
13
|
+
type PruneResult,
|
|
13
14
|
} from "./store.js";
|
|
14
15
|
|
|
15
16
|
function toError(e: unknown): Error {
|
|
@@ -375,4 +376,43 @@ export class MemoryEventStore implements EventStore {
|
|
|
375
376
|
|
|
376
377
|
return ok(results);
|
|
377
378
|
}
|
|
379
|
+
|
|
380
|
+
async pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>> {
|
|
381
|
+
try {
|
|
382
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
|
|
383
|
+
} catch (e: unknown) {
|
|
384
|
+
return err(toError(e));
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
let result: PruneResult;
|
|
388
|
+
try {
|
|
389
|
+
let prunedRuns = 0;
|
|
390
|
+
let prunedEvents = 0;
|
|
391
|
+
|
|
392
|
+
for (const [runId, map] of this.events) {
|
|
393
|
+
if (map.size === 0) continue;
|
|
394
|
+
const maxSeq = Math.max(...map.keys());
|
|
395
|
+
const last = this.deserialize(defined(map.get(maxSeq)));
|
|
396
|
+
if (!TERMINAL_EVENT_TYPES.includes(last.event_type) || last.created_at >= cutoff) {
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
prunedRuns++;
|
|
401
|
+
prunedEvents += map.size;
|
|
402
|
+
this.events.delete(runId);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
result = { prunedRuns, prunedEvents };
|
|
406
|
+
} catch (e: unknown) {
|
|
407
|
+
return err(toError(e));
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
try {
|
|
411
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
|
|
412
|
+
} catch (e: unknown) {
|
|
413
|
+
return err(toError(e));
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return ok(result);
|
|
417
|
+
}
|
|
378
418
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
type EventStoreCheck,
|
|
11
11
|
type AppendError,
|
|
12
12
|
type AppendIfNoActiveError,
|
|
13
|
+
type PruneResult,
|
|
13
14
|
} from "./store.js";
|
|
14
15
|
|
|
15
16
|
function toError(e: unknown): Error {
|
|
@@ -445,6 +446,52 @@ export class SqliteEventStore implements EventStore {
|
|
|
445
446
|
return ok(results);
|
|
446
447
|
}
|
|
447
448
|
|
|
449
|
+
async pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>> {
|
|
450
|
+
try {
|
|
451
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:before", cutoff);
|
|
452
|
+
} catch (e: unknown) {
|
|
453
|
+
return err(toError(e));
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
let result: PruneResult;
|
|
457
|
+
try {
|
|
458
|
+
const runIds = this.db.prepare(`
|
|
459
|
+
SELECT e.run_id FROM ${this.table} e
|
|
460
|
+
INNER JOIN (
|
|
461
|
+
SELECT run_id, MAX(seq) as max_seq
|
|
462
|
+
FROM ${this.table}
|
|
463
|
+
GROUP BY run_id
|
|
464
|
+
) latest ON e.run_id = latest.run_id AND e.seq = latest.max_seq
|
|
465
|
+
WHERE e.event_type IN ('workflow_completed', 'workflow_failed')
|
|
466
|
+
AND e.created_at < ?
|
|
467
|
+
`).all(cutoff) as { run_id: string }[];
|
|
468
|
+
|
|
469
|
+
if (runIds.length === 0) {
|
|
470
|
+
result = { prunedRuns: 0, prunedEvents: 0 };
|
|
471
|
+
} else {
|
|
472
|
+
const deleteStmt = this.db.prepare(`DELETE FROM ${this.table} WHERE run_id = ?`);
|
|
473
|
+
const transaction = this.db.transaction((ids: string[]): PruneResult => {
|
|
474
|
+
let prunedEvents = 0;
|
|
475
|
+
for (const runId of ids) {
|
|
476
|
+
prunedEvents += deleteStmt.run(runId).changes;
|
|
477
|
+
}
|
|
478
|
+
return { prunedRuns: ids.length, prunedEvents };
|
|
479
|
+
});
|
|
480
|
+
result = transaction(runIds.map((row) => row.run_id));
|
|
481
|
+
}
|
|
482
|
+
} catch (e: unknown) {
|
|
483
|
+
return err(toError(e));
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
try {
|
|
487
|
+
await sim.failpoint("store.pruneTerminalRunsOlderThan:after", cutoff);
|
|
488
|
+
} catch (e: unknown) {
|
|
489
|
+
return err(toError(e));
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
return ok(result);
|
|
493
|
+
}
|
|
494
|
+
|
|
448
495
|
close(): void {
|
|
449
496
|
this.db.close();
|
|
450
497
|
}
|
|
@@ -30,6 +30,11 @@ export type EventStoreCheck = (runId: string, allEvents: WorkflowEvent[]) => voi
|
|
|
30
30
|
export type AppendError = UniqueConstraintError | WorkflowIdMismatchError | Error;
|
|
31
31
|
export type AppendIfNoActiveError = WorkflowAlreadyActiveError | UniqueConstraintError | Error;
|
|
32
32
|
|
|
33
|
+
export interface PruneResult {
|
|
34
|
+
prunedRuns: number;
|
|
35
|
+
prunedEvents: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
33
38
|
/**
|
|
34
39
|
* Event payloads are stored as JSON. This means:
|
|
35
40
|
* - `undefined` values in objects are silently dropped
|
|
@@ -52,4 +57,5 @@ export interface EventStore {
|
|
|
52
57
|
getAllEvents(runId: string, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
53
58
|
getActiveWorkflows(sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
54
59
|
getRecentRuns(limit: number, sim: SimulationTask): Promise<Result<WorkflowEvent[], Error>>;
|
|
60
|
+
pruneTerminalRunsOlderThan(cutoff: number, sim: SimulationTask): Promise<Result<PruneResult, Error>>;
|
|
55
61
|
}
|
|
@@ -326,6 +326,48 @@ export function storeConformanceTests(name: string, createStore: () => Promise<E
|
|
|
326
326
|
expect(runIds).toContain("run-done");
|
|
327
327
|
});
|
|
328
328
|
|
|
329
|
+
it("pruneTerminalRunsOlderThan removes all events for terminal runs older than the cutoff", async () => {
|
|
330
|
+
(await store.appendBatch([
|
|
331
|
+
{ run_id: "run-old-done", workflow_id: "wf-old-done", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
|
|
332
|
+
{ run_id: "run-old-done", workflow_id: "wf-old-done", seq: 1, event_type: "step_completed", payload: { step: "start", writes: {} }, created_at: 1100 },
|
|
333
|
+
{ run_id: "run-old-done", workflow_id: "wf-old-done", seq: 2, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 2000 },
|
|
334
|
+
], noSim))._unsafeUnwrap();
|
|
335
|
+
|
|
336
|
+
(await store.appendBatch([
|
|
337
|
+
{ run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1200 },
|
|
338
|
+
{ run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 1, event_type: "step_failed", payload: { step: "start", attempt: 1, reason: "boom", retryable: false }, created_at: 1300 },
|
|
339
|
+
{ run_id: "run-old-fail", workflow_id: "wf-old-fail", seq: 2, event_type: "workflow_failed", payload: { reason: "boom", cause: "non_retryable" }, created_at: 2100 },
|
|
340
|
+
], noSim))._unsafeUnwrap();
|
|
341
|
+
|
|
342
|
+
const result = (await store.pruneTerminalRunsOlderThan(3000, noSim))._unsafeUnwrap();
|
|
343
|
+
expect(result).toEqual({ prunedRuns: 2, prunedEvents: 6 });
|
|
344
|
+
expect((await store.getAllEvents("run-old-done", noSim))._unsafeUnwrap()).toEqual([]);
|
|
345
|
+
expect((await store.getAllEvents("run-old-fail", noSim))._unsafeUnwrap()).toEqual([]);
|
|
346
|
+
});
|
|
347
|
+
|
|
348
|
+
it("pruneTerminalRunsOlderThan keeps active runs and runs whose terminal event is recent", async () => {
|
|
349
|
+
(await store.appendBatch([
|
|
350
|
+
{ run_id: "run-active", workflow_id: "wf-active", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
|
|
351
|
+
{ run_id: "run-active", workflow_id: "wf-active", seq: 1, event_type: "step_started", payload: { step: "start", attempt: 1 }, created_at: 2000 },
|
|
352
|
+
], noSim))._unsafeUnwrap();
|
|
353
|
+
|
|
354
|
+
(await store.appendBatch([
|
|
355
|
+
{ run_id: "run-recent-terminal", workflow_id: "wf-recent-terminal", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 1000 },
|
|
356
|
+
{ run_id: "run-recent-terminal", workflow_id: "wf-recent-terminal", seq: 1, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 4000 },
|
|
357
|
+
], noSim))._unsafeUnwrap();
|
|
358
|
+
|
|
359
|
+
(await store.appendBatch([
|
|
360
|
+
{ run_id: "run-old-created-recent-terminal", workflow_id: "wf-old-created-recent-terminal", seq: 0, event_type: "workflow_created", payload: { workflowName: "test", writes: {}, config: TEST_CONFIG }, created_at: 100 },
|
|
361
|
+
{ run_id: "run-old-created-recent-terminal", workflow_id: "wf-old-created-recent-terminal", seq: 1, event_type: "workflow_completed", payload: { result: "ok" }, created_at: 4500 },
|
|
362
|
+
], noSim))._unsafeUnwrap();
|
|
363
|
+
|
|
364
|
+
const result = (await store.pruneTerminalRunsOlderThan(3000, noSim))._unsafeUnwrap();
|
|
365
|
+
expect(result).toEqual({ prunedRuns: 0, prunedEvents: 0 });
|
|
366
|
+
expect((await store.getAllEvents("run-active", noSim))._unsafeUnwrap()).toHaveLength(2);
|
|
367
|
+
expect((await store.getAllEvents("run-recent-terminal", noSim))._unsafeUnwrap()).toHaveLength(2);
|
|
368
|
+
expect((await store.getAllEvents("run-old-created-recent-terminal", noSim))._unsafeUnwrap()).toHaveLength(2);
|
|
369
|
+
});
|
|
370
|
+
|
|
329
371
|
it("rejects appending event with mismatched workflow_id for existing run_id", async () => {
|
|
330
372
|
(await store.append({
|
|
331
373
|
run_id: "run-1", workflow_id: "wf-1", seq: 0, event_type: "workflow_created",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flingit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.67",
|
|
4
4
|
"description": "Small Software Platform - Build and deploy personal tools through conversation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"dependencies": {
|
|
85
85
|
"@clack/prompts": "^0.11.0",
|
|
86
86
|
"determined": "^0.1.0",
|
|
87
|
-
"@hono/node-server": "^
|
|
87
|
+
"@hono/node-server": "^2.0.1",
|
|
88
88
|
"@hono/zod-validator": "^0.7.6",
|
|
89
89
|
"aws4fetch": "^1.0.20",
|
|
90
90
|
"better-sqlite3": "^12.6.2",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"esbuild": "^0.27.2",
|
|
96
96
|
"flingflow": "*",
|
|
97
97
|
"neverthrow": "^8.2.0",
|
|
98
|
-
"hono": "^4.12.
|
|
98
|
+
"hono": "^4.12.18",
|
|
99
99
|
"postal-mime": "^2.7.3",
|
|
100
100
|
"tsx": "^4.19.0",
|
|
101
101
|
"zod": "^4"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ebfc9d9d449a1e9fca9c2bce6e2d2978
|
|
@@ -251,7 +251,7 @@ Slugs must be:
|
|
|
251
251
|
|
|
252
252
|
### Authentication
|
|
253
253
|
|
|
254
|
-
If the user isn't logged in (no token stored), help them authenticate. Tell the user explicitly that you can log them in or sign them up, and that they don't need to go anywhere or do anything to do that, other than telling you.
|
|
254
|
+
If the user isn't logged in to Fling (no token stored), help them authenticate. Tell the user explicitly that you can log them in or sign them up, and that they don't need to go anywhere or do anything to do that, other than telling you.
|
|
255
255
|
|
|
256
256
|
**New user:** Sign up with email and name:
|
|
257
257
|
```bash
|
|
@@ -328,7 +328,7 @@ This gives collaborators:
|
|
|
328
328
|
- **Database operations cannot be at module top-level** - They must be inside route handlers or functions called by them.
|
|
329
329
|
- **Secrets throw on missing** - No default values. Use `fling secret set` to configure.
|
|
330
330
|
- **Use workflows for long-running or important cron jobs** - Cron jobs should not run more than a few minutes. For longer jobs, as well as for cron jobs that must run even if failures happen, kick off a workflow.
|
|
331
|
-
- **Use /api prefix for backend routes** - Required for Vite proxy during development.
|
|
331
|
+
- **Use /api prefix for backend routes** - Required for Vite proxy during development. Built-in auth routes live under `/api/auth/*` so they work with the same proxy.
|
|
332
332
|
- **Run commands yourself** - You have bash access. Don't ask the user to run `fling it`, `fling dev`, `npm start`, etc. Execute them directly.
|
|
333
333
|
- **Reserved paths (`/__*`)** - Paths starting with `/__` are reserved for internal platform use (e.g., `/__cron` for cron jobs). Do not create routes with these prefixes.
|
|
334
334
|
- **Feedback** - If the user encounters problems that directly or indirectly have to do with fling, suggest to them leaving feedback. Details in `references/FEEDBACK.md`.
|
|
@@ -340,6 +340,8 @@ This gives collaborators:
|
|
|
340
340
|
|
|
341
341
|
**IMPORTANT: Migrations MUST be idempotent** (safe to run multiple times).
|
|
342
342
|
|
|
343
|
+
**IMPORTANT: Tables MUST not have more than 100 columns**: There is a hard limit on this in deployed flings, even though it will works locally. Design schemas to stay under 100 columns. Split wide tables into related tables joined by foreign keys, or move rarely-used fields into a JSON column.
|
|
344
|
+
|
|
343
345
|
Use the `migrate` helper for schema changes:
|
|
344
346
|
|
|
345
347
|
```typescript
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Auth Skill
|
|
2
|
+
|
|
3
|
+
Add Google sign-in to your Fling app. Users authenticate with their Google account, and you get their email, name, and profile picture.
|
|
4
|
+
|
|
5
|
+
## Quick Reference
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { app, auth } from "flingit";
|
|
9
|
+
|
|
10
|
+
// Enable auth (all Google accounts can sign in)
|
|
11
|
+
auth.allow();
|
|
12
|
+
|
|
13
|
+
// Or restrict to specific email domains
|
|
14
|
+
auth.allow({ domains: ["company.com", "partner.org"] });
|
|
15
|
+
|
|
16
|
+
// Require auth on specific routes (returns 401 if not signed in)
|
|
17
|
+
app.use("/api/*", auth.require());
|
|
18
|
+
|
|
19
|
+
// Get the current user (returns null if not signed in)
|
|
20
|
+
app.get("/api/me", async (c) => {
|
|
21
|
+
const user = await auth.user(c);
|
|
22
|
+
// user: { email: string, name: string, picture?: string } | null
|
|
23
|
+
return c.json(user);
|
|
24
|
+
});
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Built-in Routes
|
|
28
|
+
|
|
29
|
+
When you use any `auth` function, these routes are automatically added:
|
|
30
|
+
|
|
31
|
+
| Route | Purpose |
|
|
32
|
+
|-------|---------|
|
|
33
|
+
| `GET /api/auth/signin/google` | Redirects to Google sign-in when deployed; shows a dummy login form in `fling dev` |
|
|
34
|
+
| `POST /api/auth/signin/google` | Local dev only: accepts the dummy login form or cancel action |
|
|
35
|
+
| `GET /api/auth/callback` | Deployed only: handles the OAuth callback (sets session cookie) |
|
|
36
|
+
| `GET /api/auth/signout` | Clears the session cookie, redirects to app home |
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
### `auth.allow(options?)`
|
|
41
|
+
|
|
42
|
+
Enable authentication. Call this at the top level of your worker code.
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
// Allow all Google accounts
|
|
46
|
+
auth.allow();
|
|
47
|
+
|
|
48
|
+
// Restrict to specific email domains
|
|
49
|
+
auth.allow({ domains: ["company.com"] });
|
|
50
|
+
|
|
51
|
+
// Custom session duration (default: 30 days)
|
|
52
|
+
auth.allow({ sessionMaxAge: 3600 }); // 1 hour
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### `auth.require()`
|
|
56
|
+
|
|
57
|
+
Returns Hono middleware that rejects unauthenticated requests with `401`.
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
// Protect all /api routes
|
|
61
|
+
app.use("/api/*", auth.require());
|
|
62
|
+
|
|
63
|
+
// Protect a specific route
|
|
64
|
+
app.use("/admin/*", auth.require());
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### `auth.user(c)`
|
|
68
|
+
|
|
69
|
+
Get the current user from a request context. Returns `null` if not signed in.
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
app.get("/api/profile", async (c) => {
|
|
73
|
+
const user = await auth.user(c);
|
|
74
|
+
if (!user) {
|
|
75
|
+
return c.json({ error: "Not signed in" }, 401);
|
|
76
|
+
}
|
|
77
|
+
return c.json({
|
|
78
|
+
email: user.email, // "user@example.com"
|
|
79
|
+
name: user.name, // "Jane Doe"
|
|
80
|
+
picture: user.picture // "https://..." (may be undefined)
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Common Patterns
|
|
86
|
+
|
|
87
|
+
### Public app with optional sign-in
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { app, auth } from "flingit";
|
|
91
|
+
|
|
92
|
+
auth.allow();
|
|
93
|
+
|
|
94
|
+
app.get("/api/data", async (c) => {
|
|
95
|
+
const user = await auth.user(c);
|
|
96
|
+
if (user) {
|
|
97
|
+
return c.json({ data: "personalized for " + user.name });
|
|
98
|
+
}
|
|
99
|
+
return c.json({ data: "public data" });
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Internal tool restricted to your company
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
import { app, auth } from "flingit";
|
|
107
|
+
|
|
108
|
+
auth.allow({ domains: ["mycompany.com"] });
|
|
109
|
+
app.use("/api/*", auth.require());
|
|
110
|
+
|
|
111
|
+
app.get("/api/dashboard", async (c) => {
|
|
112
|
+
const user = await auth.user(c);
|
|
113
|
+
return c.json({ welcome: user!.name });
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Frontend sign-in link
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
<a href="/api/auth/signin/google">Sign in with Google</a>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Or redirect programmatically:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
// Redirect to sign in, then come back to current page
|
|
127
|
+
window.location.href = `/api/auth/signin/google?redirect=${encodeURIComponent(window.location.pathname)}`;
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Sign out
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
<a href="/api/auth/signout">Sign out</a>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Local Development
|
|
137
|
+
|
|
138
|
+
In `fling dev`, `/api/auth/signin/google` shows a local-only dummy login screen instead of contacting Google. Enter an email and optional name, then click **Login** to create a local dev session. Click **Cancel** to return to the requested page with `auth_error=cancelled` and no session.
|
|
139
|
+
|
|
140
|
+
Local dummy login respects `auth.allow({ domains })`, so you can test allowed-domain behavior before deploying. It is only for development; deployed apps use the platform login worker and real Google OAuth.
|
|
141
|
+
|
|
142
|
+
## Notes
|
|
143
|
+
|
|
144
|
+
- Auth is **opt-in** — your app has zero auth overhead unless you call `auth.allow()`, `auth.require()`, or `auth.user()`
|
|
145
|
+
- Sessions last 30 days by default (configurable via `sessionMaxAge`)
|
|
146
|
+
- The deployed session cookie is `HttpOnly`, `Secure`, and `SameSite=Lax`; local dev omits `Secure` so browsers send the cookie over `http://localhost`
|
|
147
|
+
- No setup commands needed — auth works immediately after `fling push`
|
|
148
|
+
- Local `fling dev` can exercise authenticated app flows with the dummy login screen; real Google sign-in requires a deployed app because the platform login worker signs callback tokens with the deployed worker secret
|
|
149
|
+
- In private workers.dev deployments, auth redirects preserve the `/<project-slug>` path prefix automatically
|