@sanoma-ai/workflows 0.11.15 → 0.11.16
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/README.md +10 -3
- package/dist/app-steps.d.ts +17 -0
- package/dist/app-steps.js +43 -0
- package/dist/app-steps.js.map +1 -0
- package/dist/app-workflows.d.ts +170 -0
- package/dist/app-workflows.js +107 -0
- package/dist/app-workflows.js.map +1 -0
- package/dist/apply-steps.js +3 -9
- package/dist/apply-steps.js.map +1 -1
- package/dist/approvals.d.ts +1 -1
- package/dist/approvals.js +3 -0
- package/dist/approvals.js.map +1 -1
- package/dist/call.d.ts +2 -1
- package/dist/call.js +2 -1
- package/dist/call.js.map +1 -1
- package/dist/change-steps.js +11 -17
- package/dist/change-steps.js.map +1 -1
- package/dist/chat-steps.d.ts +5 -0
- package/dist/chat-steps.js +107 -0
- package/dist/chat-steps.js.map +1 -0
- package/dist/chat-workflow.d.ts +43 -0
- package/dist/chat-workflow.js +47 -0
- package/dist/chat-workflow.js.map +1 -0
- package/dist/chats.d.ts +23 -4
- package/dist/chats.js +54 -7
- package/dist/chats.js.map +1 -1
- package/dist/client.d.ts +42 -31
- package/dist/client.js +118 -105
- package/dist/client.js.map +1 -1
- package/dist/config.js +14 -1
- package/dist/config.js.map +1 -1
- package/dist/db/company.d.ts +259 -2
- package/dist/db/company.js +32 -1
- package/dist/db/company.js.map +1 -1
- package/dist/db.d.ts +15 -0
- package/dist/db.js +42 -2
- package/dist/db.js.map +1 -1
- package/dist/follow-steps.d.ts +8 -0
- package/dist/follow-steps.js +113 -0
- package/dist/follow-steps.js.map +1 -0
- package/dist/follow-workflow.d.ts +56 -0
- package/dist/follow-workflow.js +50 -0
- package/dist/follow-workflow.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +39 -0
- package/dist/run.js +15 -0
- package/dist/run.js.map +1 -1
- package/dist/sandbox.d.ts +10 -0
- package/dist/sandbox.js +42 -4
- package/dist/sandbox.js.map +1 -1
- package/dist/scenario.d.ts +19 -0
- package/dist/scenario.js.map +1 -1
- package/dist/seal.d.ts +7 -0
- package/dist/seal.js +14 -2
- package/dist/seal.js.map +1 -1
- package/dist/shared.d.ts +34 -2
- package/dist/shared.js +39 -2
- package/dist/shared.js.map +1 -1
- package/dist/worker.d.ts +8 -0
- package/dist/worker.js +116 -10
- package/dist/worker.js.map +1 -1
- package/drizzle/company/0002_runs_tell_the_app.sql +27 -0
- package/drizzle/company/meta/0002_snapshot.json +819 -0
- package/drizzle/company/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/src/app-steps.ts +67 -0
- package/src/app-workflows.ts +251 -0
- package/src/apply-steps.ts +3 -9
- package/src/approvals.ts +3 -1
- package/src/call.ts +2 -1
- package/src/change-steps.ts +10 -17
- package/src/chat-steps.ts +117 -0
- package/src/chat-workflow.ts +69 -0
- package/src/chats.ts +80 -14
- package/src/client.ts +154 -109
- package/src/config.ts +14 -0
- package/src/db/company.ts +49 -2
- package/src/db.ts +51 -3
- package/src/follow-steps.ts +129 -0
- package/src/follow-workflow.ts +88 -0
- package/src/index.ts +19 -1
- package/src/run.ts +41 -0
- package/src/sandbox.ts +41 -4
- package/src/scenario.ts +17 -0
- package/src/seal.ts +16 -2
- package/src/shared.ts +47 -2
- package/src/worker.ts +149 -10
package/dist/db/company.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { UIMessage } from "ai";
|
|
1
|
+
import type { UIMessage, UIMessageChunk } from "ai";
|
|
2
2
|
import type { ConnectionStatus } from "../connection.ts";
|
|
3
3
|
import type { LedgerRecord } from "../ledger.ts";
|
|
4
|
+
import type { RunCheck } from "../scenario.ts";
|
|
4
5
|
import type { SecretLocation } from "../secret-store.ts";
|
|
5
6
|
/** The credentials set from the app, each sealed under its namespace and name. */
|
|
6
7
|
export declare const credentials: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
@@ -385,7 +386,7 @@ export declare const wakeup: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
385
386
|
};
|
|
386
387
|
dialect: 'pg';
|
|
387
388
|
}>;
|
|
388
|
-
/** The operator agent's chats (`chats.ts`): who each is for, its engine and its
|
|
389
|
+
/** The operator agent's chats (`chats.ts`): who each is for, its engine, its draft and the turn last begun (its run's id). */
|
|
389
390
|
export declare const chats: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
390
391
|
name: "sanoma_chats";
|
|
391
392
|
schema: undefined;
|
|
@@ -492,6 +493,23 @@ export declare const chats: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
492
493
|
identity: undefined;
|
|
493
494
|
generated: undefined;
|
|
494
495
|
}, {}, {}>;
|
|
496
|
+
turn: import("drizzle-orm/pg-core").PgColumn<{
|
|
497
|
+
name: "turn";
|
|
498
|
+
tableName: "sanoma_chats";
|
|
499
|
+
dataType: "string";
|
|
500
|
+
columnType: "PgText";
|
|
501
|
+
data: string;
|
|
502
|
+
driverParam: string;
|
|
503
|
+
notNull: false;
|
|
504
|
+
hasDefault: false;
|
|
505
|
+
isPrimaryKey: false;
|
|
506
|
+
isAutoincrement: false;
|
|
507
|
+
hasRuntimeDefault: false;
|
|
508
|
+
enumValues: [string, ...string[]];
|
|
509
|
+
baseColumn: never;
|
|
510
|
+
identity: undefined;
|
|
511
|
+
generated: undefined;
|
|
512
|
+
}, {}, {}>;
|
|
495
513
|
};
|
|
496
514
|
dialect: 'pg';
|
|
497
515
|
}>;
|
|
@@ -573,6 +591,88 @@ export declare const chatMessages: import("drizzle-orm/pg-core").PgTableWithColu
|
|
|
573
591
|
};
|
|
574
592
|
dialect: 'pg';
|
|
575
593
|
}>;
|
|
594
|
+
/**
|
|
595
|
+
* The reply a chat turn streams, as the worker writes it (`Chats.append`): its UI message stream's
|
|
596
|
+
* chunks in `seq` order, then a row with none, its end. The app streams them to the browser; a
|
|
597
|
+
* chat's turn's rows go when its next turn begins.
|
|
598
|
+
*/
|
|
599
|
+
export declare const chatChunks: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
600
|
+
name: "sanoma_chat_chunks";
|
|
601
|
+
schema: undefined;
|
|
602
|
+
columns: {
|
|
603
|
+
chatId: import("drizzle-orm/pg-core").PgColumn<{
|
|
604
|
+
name: "chatId";
|
|
605
|
+
tableName: "sanoma_chat_chunks";
|
|
606
|
+
dataType: "string";
|
|
607
|
+
columnType: "PgText";
|
|
608
|
+
data: string;
|
|
609
|
+
driverParam: string;
|
|
610
|
+
notNull: true;
|
|
611
|
+
hasDefault: false;
|
|
612
|
+
isPrimaryKey: false;
|
|
613
|
+
isAutoincrement: false;
|
|
614
|
+
hasRuntimeDefault: false;
|
|
615
|
+
enumValues: [string, ...string[]];
|
|
616
|
+
baseColumn: never;
|
|
617
|
+
identity: undefined;
|
|
618
|
+
generated: undefined;
|
|
619
|
+
}, {}, {}>;
|
|
620
|
+
runId: import("drizzle-orm/pg-core").PgColumn<{
|
|
621
|
+
name: "runId";
|
|
622
|
+
tableName: "sanoma_chat_chunks";
|
|
623
|
+
dataType: "string";
|
|
624
|
+
columnType: "PgText";
|
|
625
|
+
data: string;
|
|
626
|
+
driverParam: string;
|
|
627
|
+
notNull: true;
|
|
628
|
+
hasDefault: false;
|
|
629
|
+
isPrimaryKey: false;
|
|
630
|
+
isAutoincrement: false;
|
|
631
|
+
hasRuntimeDefault: false;
|
|
632
|
+
enumValues: [string, ...string[]];
|
|
633
|
+
baseColumn: never;
|
|
634
|
+
identity: undefined;
|
|
635
|
+
generated: undefined;
|
|
636
|
+
}, {}, {}>;
|
|
637
|
+
seq: import("drizzle-orm/pg-core").PgColumn<{
|
|
638
|
+
name: "seq";
|
|
639
|
+
tableName: "sanoma_chat_chunks";
|
|
640
|
+
dataType: "number";
|
|
641
|
+
columnType: "PgInteger";
|
|
642
|
+
data: number;
|
|
643
|
+
driverParam: string | number;
|
|
644
|
+
notNull: true;
|
|
645
|
+
hasDefault: false;
|
|
646
|
+
isPrimaryKey: false;
|
|
647
|
+
isAutoincrement: false;
|
|
648
|
+
hasRuntimeDefault: false;
|
|
649
|
+
enumValues: undefined;
|
|
650
|
+
baseColumn: never;
|
|
651
|
+
identity: undefined;
|
|
652
|
+
generated: undefined;
|
|
653
|
+
}, {}, {}>;
|
|
654
|
+
chunk: import("drizzle-orm/pg-core").PgColumn<{
|
|
655
|
+
name: "chunk";
|
|
656
|
+
tableName: "sanoma_chat_chunks";
|
|
657
|
+
dataType: "json";
|
|
658
|
+
columnType: "PgJsonb";
|
|
659
|
+
data: UIMessageChunk;
|
|
660
|
+
driverParam: unknown;
|
|
661
|
+
notNull: false;
|
|
662
|
+
hasDefault: false;
|
|
663
|
+
isPrimaryKey: false;
|
|
664
|
+
isAutoincrement: false;
|
|
665
|
+
hasRuntimeDefault: false;
|
|
666
|
+
enumValues: undefined;
|
|
667
|
+
baseColumn: never;
|
|
668
|
+
identity: undefined;
|
|
669
|
+
generated: undefined;
|
|
670
|
+
}, {}, {
|
|
671
|
+
$type: UIMessageChunk;
|
|
672
|
+
}>;
|
|
673
|
+
};
|
|
674
|
+
dialect: 'pg';
|
|
675
|
+
}>;
|
|
576
676
|
/** The api tokens (`tokens.ts`): each one's SHA-256, never the token, whom it acts for, its groups, and when it was revoked. */
|
|
577
677
|
export declare const apiTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
578
678
|
name: "sanoma_api_tokens";
|
|
@@ -1150,3 +1250,160 @@ export declare const connectionSetups: import("drizzle-orm/pg-core").PgTableWith
|
|
|
1150
1250
|
};
|
|
1151
1251
|
dialect: 'pg';
|
|
1152
1252
|
}>;
|
|
1253
|
+
/**
|
|
1254
|
+
* How far each app taken from a source is behind it, as the worker last checked (`writeAppsBehind`):
|
|
1255
|
+
* one row per app folder, its count of commits or why it could not be told.
|
|
1256
|
+
*/
|
|
1257
|
+
export declare const appBehind: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
1258
|
+
name: "sanoma_app_behind";
|
|
1259
|
+
schema: undefined;
|
|
1260
|
+
columns: {
|
|
1261
|
+
folder: import("drizzle-orm/pg-core").PgColumn<{
|
|
1262
|
+
name: "folder";
|
|
1263
|
+
tableName: "sanoma_app_behind";
|
|
1264
|
+
dataType: "string";
|
|
1265
|
+
columnType: "PgText";
|
|
1266
|
+
data: string;
|
|
1267
|
+
driverParam: string;
|
|
1268
|
+
notNull: true;
|
|
1269
|
+
hasDefault: false;
|
|
1270
|
+
isPrimaryKey: true;
|
|
1271
|
+
isAutoincrement: false;
|
|
1272
|
+
hasRuntimeDefault: false;
|
|
1273
|
+
enumValues: [string, ...string[]];
|
|
1274
|
+
baseColumn: never;
|
|
1275
|
+
identity: undefined;
|
|
1276
|
+
generated: undefined;
|
|
1277
|
+
}, {}, {}>;
|
|
1278
|
+
behind: import("drizzle-orm/pg-core").PgColumn<{
|
|
1279
|
+
name: "behind";
|
|
1280
|
+
tableName: "sanoma_app_behind";
|
|
1281
|
+
dataType: "number";
|
|
1282
|
+
columnType: "PgInteger";
|
|
1283
|
+
data: number;
|
|
1284
|
+
driverParam: string | number;
|
|
1285
|
+
notNull: false;
|
|
1286
|
+
hasDefault: false;
|
|
1287
|
+
isPrimaryKey: false;
|
|
1288
|
+
isAutoincrement: false;
|
|
1289
|
+
hasRuntimeDefault: false;
|
|
1290
|
+
enumValues: undefined;
|
|
1291
|
+
baseColumn: never;
|
|
1292
|
+
identity: undefined;
|
|
1293
|
+
generated: undefined;
|
|
1294
|
+
}, {}, {}>;
|
|
1295
|
+
error: import("drizzle-orm/pg-core").PgColumn<{
|
|
1296
|
+
name: "error";
|
|
1297
|
+
tableName: "sanoma_app_behind";
|
|
1298
|
+
dataType: "string";
|
|
1299
|
+
columnType: "PgText";
|
|
1300
|
+
data: string;
|
|
1301
|
+
driverParam: string;
|
|
1302
|
+
notNull: false;
|
|
1303
|
+
hasDefault: false;
|
|
1304
|
+
isPrimaryKey: false;
|
|
1305
|
+
isAutoincrement: false;
|
|
1306
|
+
hasRuntimeDefault: false;
|
|
1307
|
+
enumValues: [string, ...string[]];
|
|
1308
|
+
baseColumn: never;
|
|
1309
|
+
identity: undefined;
|
|
1310
|
+
generated: undefined;
|
|
1311
|
+
}, {}, {}>;
|
|
1312
|
+
checkedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
1313
|
+
name: "checkedAt";
|
|
1314
|
+
tableName: "sanoma_app_behind";
|
|
1315
|
+
dataType: "date";
|
|
1316
|
+
columnType: "PgTimestamp";
|
|
1317
|
+
data: Date;
|
|
1318
|
+
driverParam: string;
|
|
1319
|
+
notNull: true;
|
|
1320
|
+
hasDefault: true;
|
|
1321
|
+
isPrimaryKey: false;
|
|
1322
|
+
isAutoincrement: false;
|
|
1323
|
+
hasRuntimeDefault: false;
|
|
1324
|
+
enumValues: undefined;
|
|
1325
|
+
baseColumn: never;
|
|
1326
|
+
identity: undefined;
|
|
1327
|
+
generated: undefined;
|
|
1328
|
+
}, {}, {}>;
|
|
1329
|
+
};
|
|
1330
|
+
dialect: 'pg';
|
|
1331
|
+
}>;
|
|
1332
|
+
/** Each sandbox run's checks against its scenario, as the worker last ran them (`recordChecks` in sandbox.ts): one row per run. */
|
|
1333
|
+
export declare const runChecks: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
1334
|
+
name: "sanoma_run_checks";
|
|
1335
|
+
schema: undefined;
|
|
1336
|
+
columns: {
|
|
1337
|
+
runId: import("drizzle-orm/pg-core").PgColumn<{
|
|
1338
|
+
name: "runId";
|
|
1339
|
+
tableName: "sanoma_run_checks";
|
|
1340
|
+
dataType: "string";
|
|
1341
|
+
columnType: "PgText";
|
|
1342
|
+
data: string;
|
|
1343
|
+
driverParam: string;
|
|
1344
|
+
notNull: true;
|
|
1345
|
+
hasDefault: false;
|
|
1346
|
+
isPrimaryKey: true;
|
|
1347
|
+
isAutoincrement: false;
|
|
1348
|
+
hasRuntimeDefault: false;
|
|
1349
|
+
enumValues: [string, ...string[]];
|
|
1350
|
+
baseColumn: never;
|
|
1351
|
+
identity: undefined;
|
|
1352
|
+
generated: undefined;
|
|
1353
|
+
}, {}, {}>;
|
|
1354
|
+
checks: import("drizzle-orm/pg-core").PgColumn<{
|
|
1355
|
+
name: "checks";
|
|
1356
|
+
tableName: "sanoma_run_checks";
|
|
1357
|
+
dataType: "json";
|
|
1358
|
+
columnType: "PgJsonb";
|
|
1359
|
+
data: RunCheck[];
|
|
1360
|
+
driverParam: unknown;
|
|
1361
|
+
notNull: false;
|
|
1362
|
+
hasDefault: false;
|
|
1363
|
+
isPrimaryKey: false;
|
|
1364
|
+
isAutoincrement: false;
|
|
1365
|
+
hasRuntimeDefault: false;
|
|
1366
|
+
enumValues: undefined;
|
|
1367
|
+
baseColumn: never;
|
|
1368
|
+
identity: undefined;
|
|
1369
|
+
generated: undefined;
|
|
1370
|
+
}, {}, {
|
|
1371
|
+
$type: RunCheck[];
|
|
1372
|
+
}>;
|
|
1373
|
+
error: import("drizzle-orm/pg-core").PgColumn<{
|
|
1374
|
+
name: "error";
|
|
1375
|
+
tableName: "sanoma_run_checks";
|
|
1376
|
+
dataType: "string";
|
|
1377
|
+
columnType: "PgText";
|
|
1378
|
+
data: string;
|
|
1379
|
+
driverParam: string;
|
|
1380
|
+
notNull: false;
|
|
1381
|
+
hasDefault: false;
|
|
1382
|
+
isPrimaryKey: false;
|
|
1383
|
+
isAutoincrement: false;
|
|
1384
|
+
hasRuntimeDefault: false;
|
|
1385
|
+
enumValues: [string, ...string[]];
|
|
1386
|
+
baseColumn: never;
|
|
1387
|
+
identity: undefined;
|
|
1388
|
+
generated: undefined;
|
|
1389
|
+
}, {}, {}>;
|
|
1390
|
+
checkedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
1391
|
+
name: "checkedAt";
|
|
1392
|
+
tableName: "sanoma_run_checks";
|
|
1393
|
+
dataType: "date";
|
|
1394
|
+
columnType: "PgTimestamp";
|
|
1395
|
+
data: Date;
|
|
1396
|
+
driverParam: string;
|
|
1397
|
+
notNull: true;
|
|
1398
|
+
hasDefault: true;
|
|
1399
|
+
isPrimaryKey: false;
|
|
1400
|
+
isAutoincrement: false;
|
|
1401
|
+
hasRuntimeDefault: false;
|
|
1402
|
+
enumValues: undefined;
|
|
1403
|
+
baseColumn: never;
|
|
1404
|
+
identity: undefined;
|
|
1405
|
+
generated: undefined;
|
|
1406
|
+
}, {}, {}>;
|
|
1407
|
+
};
|
|
1408
|
+
dialect: 'pg';
|
|
1409
|
+
}>;
|
package/dist/db/company.js
CHANGED
|
@@ -48,7 +48,7 @@ export const wakeup = pgTable("sanoma_wakeup", {
|
|
|
48
48
|
stoppedAt: when(),
|
|
49
49
|
lastError: text(),
|
|
50
50
|
}, (t) => [check("sanoma_wakeup_one_row", sql `${t.id} = 1`)]);
|
|
51
|
-
/** The operator agent's chats (`chats.ts`): who each is for, its engine and its
|
|
51
|
+
/** The operator agent's chats (`chats.ts`): who each is for, its engine, its draft and the turn last begun (its run's id). */
|
|
52
52
|
export const chats = pgTable("sanoma_chats", {
|
|
53
53
|
id: text().primaryKey(),
|
|
54
54
|
person: text().notNull(),
|
|
@@ -56,6 +56,7 @@ export const chats = pgTable("sanoma_chats", {
|
|
|
56
56
|
draftId: text(),
|
|
57
57
|
title: text().notNull(),
|
|
58
58
|
createdAt: when().notNull().defaultNow(),
|
|
59
|
+
turn: text(),
|
|
59
60
|
}, (t) => [index("sanoma_chats_person").on(t.person, t.createdAt)]);
|
|
60
61
|
/** Each chat's messages, the AI SDK's UI messages as JSON, in `seq` order. */
|
|
61
62
|
export const chatMessages = pgTable("sanoma_chat_messages", {
|
|
@@ -66,6 +67,19 @@ export const chatMessages = pgTable("sanoma_chat_messages", {
|
|
|
66
67
|
seq: integer().notNull(),
|
|
67
68
|
message: jsonb().$type().notNull(),
|
|
68
69
|
}, (t) => [primaryKey({ columns: [t.chatId, t.id] })]);
|
|
70
|
+
/**
|
|
71
|
+
* The reply a chat turn streams, as the worker writes it (`Chats.append`): its UI message stream's
|
|
72
|
+
* chunks in `seq` order, then a row with none, its end. The app streams them to the browser; a
|
|
73
|
+
* chat's turn's rows go when its next turn begins.
|
|
74
|
+
*/
|
|
75
|
+
export const chatChunks = pgTable("sanoma_chat_chunks", {
|
|
76
|
+
chatId: text()
|
|
77
|
+
.notNull()
|
|
78
|
+
.references(() => chats.id, { onDelete: "cascade" }),
|
|
79
|
+
runId: text().notNull(),
|
|
80
|
+
seq: integer().notNull(),
|
|
81
|
+
chunk: jsonb().$type(),
|
|
82
|
+
}, (t) => [primaryKey({ columns: [t.runId, t.seq] }), index("sanoma_chat_chunks_chat").on(t.chatId)]);
|
|
69
83
|
/** The api tokens (`tokens.ts`): each one's SHA-256, never the token, whom it acts for, its groups, and when it was revoked. */
|
|
70
84
|
export const apiTokens = pgTable("sanoma_api_tokens", {
|
|
71
85
|
id: text().primaryKey(),
|
|
@@ -115,4 +129,21 @@ export const connectionSetups = pgTable("sanoma_connection_setups", {
|
|
|
115
129
|
revision: text().notNull(),
|
|
116
130
|
credentialVersion: text().notNull(),
|
|
117
131
|
}, (t) => [primaryKey({ columns: [t.connectionId, t.revision] })]);
|
|
132
|
+
/**
|
|
133
|
+
* How far each app taken from a source is behind it, as the worker last checked (`writeAppsBehind`):
|
|
134
|
+
* one row per app folder, its count of commits or why it could not be told.
|
|
135
|
+
*/
|
|
136
|
+
export const appBehind = pgTable("sanoma_app_behind", {
|
|
137
|
+
folder: text().primaryKey(),
|
|
138
|
+
behind: integer(),
|
|
139
|
+
error: text(),
|
|
140
|
+
checkedAt: when().notNull().defaultNow(),
|
|
141
|
+
}, (t) => [check("sanoma_app_behind_one_answer", sql `(${t.behind} IS NULL) <> (${t.error} IS NULL)`)]);
|
|
142
|
+
/** Each sandbox run's checks against its scenario, as the worker last ran them (`recordChecks` in sandbox.ts): one row per run. */
|
|
143
|
+
export const runChecks = pgTable("sanoma_run_checks", {
|
|
144
|
+
runId: text().primaryKey(),
|
|
145
|
+
checks: jsonb().$type(),
|
|
146
|
+
error: text(),
|
|
147
|
+
checkedAt: when().notNull().defaultNow(),
|
|
148
|
+
}, (t) => [check("sanoma_run_checks_one_answer", sql `(${t.checks} IS NULL) <> (${t.error} IS NULL)`)]);
|
|
118
149
|
//# sourceMappingURL=company.js.map
|
package/dist/db/company.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"company.js","sourceRoot":"","sources":["../../src/db/company.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,SAAS,GACV,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"company.js","sourceRoot":"","sources":["../../src/db/company.ts"],"names":[],"mappings":"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"}
|
package/dist/db.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { DBOSClient } from "@dbos-inc/dbos-sdk";
|
|
|
2
2
|
import { type NodePgClient, type NodePgQueryResultHKT } from "drizzle-orm/node-postgres";
|
|
3
3
|
import { type PgDatabase } from "drizzle-orm/pg-core";
|
|
4
4
|
import { Client, Pool } from "pg";
|
|
5
|
+
import type { RunChecks } from "./scenario.ts";
|
|
5
6
|
/**
|
|
6
7
|
* A database, or a transaction on one (`db.transaction`): what every store takes, so a store runs
|
|
7
8
|
* inside a caller's transaction as it runs on its own. Made by `databaseOn`.
|
|
@@ -100,3 +101,17 @@ export declare function connectMaking(databaseUrl: string): Promise<Client>;
|
|
|
100
101
|
* keeps nothing across requests.
|
|
101
102
|
*/
|
|
102
103
|
export declare function spendInviteRequest(db: Db, nonce: string, expiresAt: Date): Promise<boolean>;
|
|
104
|
+
/** How far an app is behind its source (`Source.behind`), or why that could not be told. */
|
|
105
|
+
export type AppBehind = {
|
|
106
|
+
behind: number;
|
|
107
|
+
} | {
|
|
108
|
+
error: string;
|
|
109
|
+
};
|
|
110
|
+
/** Sets each app's row to what was told of it now, and drops the rows of apps no longer listed. */
|
|
111
|
+
export declare function writeAppsBehind(db: Db, told: ReadonlyMap<string, AppBehind>): Promise<void>;
|
|
112
|
+
/** The app `folder`'s row: how far it is behind its source, or why not; undefined when the worker has not told it. */
|
|
113
|
+
export declare function readAppBehind(db: Db, folder: string): Promise<AppBehind | undefined>;
|
|
114
|
+
/** Sets the run's checks (`RunChecks`), replacing what was there. */
|
|
115
|
+
export declare function writeRunChecks(db: Db, runId: string, checks: RunChecks): Promise<void>;
|
|
116
|
+
/** The run's checks as the worker last ran them; undefined when it has run none. */
|
|
117
|
+
export declare function readRunChecks(db: Db, runId: string): Promise<RunChecks | undefined>;
|
package/dist/db.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DBOS, DBOSClient } from "@dbos-inc/dbos-sdk";
|
|
2
2
|
import { setTimeout as delay } from "node:timers/promises";
|
|
3
|
-
import { and, eq, inArray, lte, ne, sql } from "drizzle-orm";
|
|
3
|
+
import { and, eq, inArray, lte, ne, notInArray, sql } from "drizzle-orm";
|
|
4
4
|
import { DrizzleQueryError } from "drizzle-orm/errors";
|
|
5
5
|
import { drizzle } from "drizzle-orm/node-postgres";
|
|
6
6
|
import { PgPreparedQuery } from "drizzle-orm/pg-core";
|
|
7
7
|
import { Client, Pool } from "pg";
|
|
8
|
-
import { inviteRequests } from "./db/company.js";
|
|
8
|
+
import { appBehind, inviteRequests, runChecks } from "./db/company.js";
|
|
9
9
|
import { workflowStatus } from "./db/dbos.js";
|
|
10
10
|
import { applyMigrations, COMPANY_MIGRATIONS, migrationsApplied } from "./db/migrate.js";
|
|
11
11
|
import { warn } from "./log.js";
|
|
@@ -330,4 +330,44 @@ export async function spendInviteRequest(db, nonce, expiresAt) {
|
|
|
330
330
|
.returning({ nonce: inviteRequests.nonce });
|
|
331
331
|
return spent.length === 1;
|
|
332
332
|
}
|
|
333
|
+
/** Sets each app's row to what was told of it now, and drops the rows of apps no longer listed. */
|
|
334
|
+
export async function writeAppsBehind(db, told) {
|
|
335
|
+
const folders = [...told.keys()];
|
|
336
|
+
await db.delete(appBehind).where(folders.length ? notInArray(appBehind.folder, folders) : undefined);
|
|
337
|
+
for (const [folder, answer] of told) {
|
|
338
|
+
const row = "behind" in answer ? { behind: answer.behind, error: null } : { behind: null, error: answer.error };
|
|
339
|
+
await db
|
|
340
|
+
.insert(appBehind)
|
|
341
|
+
.values({ folder, ...row })
|
|
342
|
+
.onConflictDoUpdate({ target: appBehind.folder, set: { ...row, checkedAt: sql `now()` } });
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
/** The app `folder`'s row: how far it is behind its source, or why not; undefined when the worker has not told it. */
|
|
346
|
+
export async function readAppBehind(db, folder) {
|
|
347
|
+
const [row] = await db
|
|
348
|
+
.select({ behind: appBehind.behind, error: appBehind.error })
|
|
349
|
+
.from(appBehind)
|
|
350
|
+
.where(eq(appBehind.folder, folder));
|
|
351
|
+
if (!row)
|
|
352
|
+
return undefined;
|
|
353
|
+
return row.error === null ? { behind: row.behind } : { error: row.error };
|
|
354
|
+
}
|
|
355
|
+
/** Sets the run's checks (`RunChecks`), replacing what was there. */
|
|
356
|
+
export async function writeRunChecks(db, runId, checks) {
|
|
357
|
+
const row = "checks" in checks ? { checks: checks.checks, error: null } : { checks: null, error: checks.error };
|
|
358
|
+
await db
|
|
359
|
+
.insert(runChecks)
|
|
360
|
+
.values({ runId, ...row })
|
|
361
|
+
.onConflictDoUpdate({ target: runChecks.runId, set: { ...row, checkedAt: sql `now()` } });
|
|
362
|
+
}
|
|
363
|
+
/** The run's checks as the worker last ran them; undefined when it has run none. */
|
|
364
|
+
export async function readRunChecks(db, runId) {
|
|
365
|
+
const [row] = await db
|
|
366
|
+
.select({ checks: runChecks.checks, error: runChecks.error })
|
|
367
|
+
.from(runChecks)
|
|
368
|
+
.where(eq(runChecks.runId, runId));
|
|
369
|
+
if (!row)
|
|
370
|
+
return undefined;
|
|
371
|
+
return row.error === null ? { checks: row.checks } : { error: row.error };
|
|
372
|
+
}
|
|
333
373
|
//# sourceMappingURL=db.js.map
|
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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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FollowSteps } from "./follow-workflow.ts";
|
|
2
|
+
import { type RemoteHalf } from "./source.ts";
|
|
3
|
+
/** What the follow steps need of the resolved config: the remote halves and the declared hosts. */
|
|
4
|
+
export interface FollowStepsOptions {
|
|
5
|
+
remotes: ReadonlyMap<string, RemoteHalf>;
|
|
6
|
+
hosts(): Promise<string[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare function followSteps({ remotes, hosts }: FollowStepsOptions): FollowSteps;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { DBOS } from "@dbos-inc/dbos-sdk";
|
|
2
|
+
import { BASE, repositoryOf } from "./change.js";
|
|
3
|
+
import { errorCode, vendorCodeOf } from "./errors.js";
|
|
4
|
+
import { warn } from "./log.js";
|
|
5
|
+
import { runNow } from "./run.js";
|
|
6
|
+
import { APPLY_WORKFLOW, HOST_CHECK_AGENT, isEnded } from "./shared.js";
|
|
7
|
+
import { draftOf } from "./source.js";
|
|
8
|
+
// The follow workflow's steps (`follow-workflow.ts` is held to the workflow lint and imports no
|
|
9
|
+
// DBOS): where an event lands, `main` followed and its hosts applied, a draft's change told what
|
|
10
|
+
// its host says. Each reads its run from `currentRun`; the worker's own client tells and reads
|
|
11
|
+
// the changes, as `host-check`, and every write to the checkout is one of the worker's, one at a
|
|
12
|
+
// time (`WorkerState.serially`).
|
|
13
|
+
/** Whether two references name one repository: a host's names are compared without case. */
|
|
14
|
+
const sameRepo = (a, b) => a.owner.toLowerCase() === b.owner.toLowerCase() && a.name.toLowerCase() === b.name.toLowerCase();
|
|
15
|
+
export function followSteps({ remotes, hosts }) {
|
|
16
|
+
/** The worker's repository on its host (`repositoryOf`); undefined with no repository, remote or half for it. */
|
|
17
|
+
const repository = async (run) => {
|
|
18
|
+
const { source } = run.state;
|
|
19
|
+
if (!source)
|
|
20
|
+
return undefined;
|
|
21
|
+
return repositoryOf(remotes, run.state.secrets, source).catch((err) => {
|
|
22
|
+
if (["no_remote", "no_remote_half"].includes(vendorCodeOf(err) ?? ""))
|
|
23
|
+
return undefined;
|
|
24
|
+
throw err;
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
where: (event) => DBOS.runStep(async () => {
|
|
29
|
+
const main = event.kind === "pushed" && event.branch === BASE;
|
|
30
|
+
const id = draftOf(event.branch);
|
|
31
|
+
if (!main && id === undefined)
|
|
32
|
+
return { ignored: `${event.branch} is neither ${BASE} nor a draft's branch` };
|
|
33
|
+
const run = runNow("A follow step");
|
|
34
|
+
if (!run.state.source)
|
|
35
|
+
return { ignored: "This worker has no repository" };
|
|
36
|
+
const found = await repository(run);
|
|
37
|
+
if (!found)
|
|
38
|
+
return { ignored: "This worker's repository has no remote on a host a connector reads" };
|
|
39
|
+
if (!sameRepo(found.repo, event.repo)) {
|
|
40
|
+
return { ignored: `The event is ${event.repo.owner}/${event.repo.name}'s, not this repository's` };
|
|
41
|
+
}
|
|
42
|
+
return event.kind === "pushed" && main ? { main: event.head } : { draft: id };
|
|
43
|
+
}, { name: "follow:where" }),
|
|
44
|
+
async main(head) {
|
|
45
|
+
const run = runNow("A follow step");
|
|
46
|
+
const deploy = `deploy:${head}`;
|
|
47
|
+
const declared = await DBOS.runStep(async () => {
|
|
48
|
+
const client = await run.state.client();
|
|
49
|
+
const [deployed, deploying] = await Promise.all([client.run(deploy), client.changeDeploying()]);
|
|
50
|
+
if (deployed || deploying)
|
|
51
|
+
return undefined;
|
|
52
|
+
// First, as a change's deploy does: the hosts, and what apply reads, are then main's.
|
|
53
|
+
const moved = await run.state.followMain();
|
|
54
|
+
if (!("revision" in moved)) {
|
|
55
|
+
// Nothing recorded as `deploy:<head>`: a later push deploys it.
|
|
56
|
+
throw new Error(`${BASE} was not deployed: the checkout did not follow it: ${"skipped" in moved ? moved.skipped : moved.error}`);
|
|
57
|
+
}
|
|
58
|
+
return run.state.workflows.has(APPLY_WORKFLOW) ? await hosts() : [];
|
|
59
|
+
}, { name: "follow:main" });
|
|
60
|
+
if (!declared)
|
|
61
|
+
return { ignored: `${deploy} has run, or a change is deploying ${BASE}` };
|
|
62
|
+
if (!declared.length)
|
|
63
|
+
return { followed: "main" };
|
|
64
|
+
// As the run's own actor, `host-check` (`SanomaClient.follow`).
|
|
65
|
+
await run.state.startRun(APPLY_WORKFLOW, deploy, { input: { only: declared }, startedBy: run.actor });
|
|
66
|
+
return { followed: "main", deploy };
|
|
67
|
+
},
|
|
68
|
+
draft: (event, id) => DBOS.runStep(async () => {
|
|
69
|
+
const run = runNow("A follow step");
|
|
70
|
+
const change = await (await run.state.client()).change(id);
|
|
71
|
+
if (!change || isEnded(change.status))
|
|
72
|
+
return { ignored: `The draft ${id} has no open change` };
|
|
73
|
+
const key = `${event.kind}:${event.branch}:`;
|
|
74
|
+
if (event.kind === "closed") {
|
|
75
|
+
// A pull request of an earlier change of the draft is not this one's.
|
|
76
|
+
if (event.number !== change.state.pullRequest?.number) {
|
|
77
|
+
return { ignored: `Pull request #${event.number} is not the open change's` };
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
told: event.merged && event.sha !== undefined ? { kind: "merged", sha: event.sha } : { kind: "closed" },
|
|
81
|
+
key: `${key}${event.number}:${event.sha ?? "closed"}`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (change.state.head === event.head)
|
|
85
|
+
return { ignored: `The change is at ${event.head} already` };
|
|
86
|
+
const found = await repository(run);
|
|
87
|
+
if (!found?.source.follow)
|
|
88
|
+
return { ignored: "This repository cannot follow its remote" };
|
|
89
|
+
const { source, url, host } = found;
|
|
90
|
+
const fetched = await run.state.serially(async () => {
|
|
91
|
+
const local = await Promise.resolve(source.head(event.branch)).catch(() => undefined);
|
|
92
|
+
if (local === event.head)
|
|
93
|
+
return false;
|
|
94
|
+
const moved = await source.follow({ url, token: await host.token(), ref: event.branch });
|
|
95
|
+
if ("skipped" in moved)
|
|
96
|
+
warn(`${event.branch} did not take the host's commits: ${moved.skipped}`);
|
|
97
|
+
return !("skipped" in moved);
|
|
98
|
+
});
|
|
99
|
+
if (!fetched)
|
|
100
|
+
return { ignored: `${event.branch} holds ${event.head} already, or cannot take it` };
|
|
101
|
+
return { told: { kind: "commits" }, key: `${key}${event.head}` };
|
|
102
|
+
}, { name: "follow:draft" }),
|
|
103
|
+
tell: (id, told, key) => DBOS.runStep(async () => {
|
|
104
|
+
const client = await runNow("A follow step").state.client();
|
|
105
|
+
await client.changeEvent(id, told, { by: HOST_CHECK_AGENT, key }).catch((err) => {
|
|
106
|
+
// Ended, or gone, since it was read: nothing to tell.
|
|
107
|
+
if (!["run_ended", "run_not_found"].includes(errorCode(err) ?? ""))
|
|
108
|
+
throw err;
|
|
109
|
+
});
|
|
110
|
+
}, { name: "follow:tell" }),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=follow-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-steps.js","sourceRoot":"","sources":["../src/follow-steps.ts"],"names":[],"mappings":"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"}
|