@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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { ChangeEvent } from "./change.ts";
|
|
3
|
+
import { type WorkflowDefinition } from "./define.ts";
|
|
4
|
+
import type { RemoteEvent } from "./source.ts";
|
|
5
|
+
/** What a host's webhook says happened (`RemoteEvent`): a branch pushed, or a pull request closed (merged or not). */
|
|
6
|
+
export declare const RemoteEventSchema: z.ZodType<RemoteEvent>;
|
|
7
|
+
/**
|
|
8
|
+
* What a follow did: nothing, saying why (`ignored`); `main` followed, with the run that applies
|
|
9
|
+
* the declared hosts (`deploy:<head>`) when there are any; or the change of a draft told an event.
|
|
10
|
+
*/
|
|
11
|
+
export type FollowOutput = {
|
|
12
|
+
ignored: string;
|
|
13
|
+
} | {
|
|
14
|
+
followed: "main";
|
|
15
|
+
deploy?: string;
|
|
16
|
+
} | {
|
|
17
|
+
change: string;
|
|
18
|
+
told: ChangeEvent["kind"];
|
|
19
|
+
};
|
|
20
|
+
/** Where an event lands (`FollowSteps.where`): nothing, saying why; a push to `main`, of its head; or a draft's branch. */
|
|
21
|
+
export type FollowTarget = {
|
|
22
|
+
ignored: string;
|
|
23
|
+
} | {
|
|
24
|
+
main: string;
|
|
25
|
+
} | {
|
|
26
|
+
draft: string;
|
|
27
|
+
};
|
|
28
|
+
/** What a follow does that is no operation, each a step of its own (`follow-steps.ts`). */
|
|
29
|
+
export interface FollowSteps {
|
|
30
|
+
/**
|
|
31
|
+
* Where the event lands: ignored when the worker has no repository, the event is another
|
|
32
|
+
* repository's, or its branch is neither `main` (a push) nor a draft's.
|
|
33
|
+
*/
|
|
34
|
+
where(event: RemoteEvent): Promise<FollowTarget>;
|
|
35
|
+
/**
|
|
36
|
+
* After a push of `head` to `main`: the checkout follows it, then apply on the declared hosts as
|
|
37
|
+
* `host-check`, as the run `deploy:<head>`, without waiting for it. Nothing while a change is
|
|
38
|
+
* merging or deploying, which does both itself; throws when the checkout cannot follow.
|
|
39
|
+
*/
|
|
40
|
+
main(head: string): Promise<FollowOutput>;
|
|
41
|
+
/**
|
|
42
|
+
* The event for the draft `id`'s open change, when it is one to tell: a push's commits fetched
|
|
43
|
+
* into the draft first (none when the draft or the change is at that head already, or it cannot
|
|
44
|
+
* fast-forward: warned), a closed pull request of this change as `merged` or `closed`.
|
|
45
|
+
*/
|
|
46
|
+
draft(event: RemoteEvent, id: string): Promise<{
|
|
47
|
+
told: ChangeEvent;
|
|
48
|
+
key: string;
|
|
49
|
+
} | {
|
|
50
|
+
ignored: string;
|
|
51
|
+
}>;
|
|
52
|
+
/** Tells the change of the draft `id` the event, once under `key`, as `host-check`: nothing once its run has ended. */
|
|
53
|
+
tell(id: string, told: ChangeEvent, key: string): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/** The built-in follow workflow over `steps`: `resolveConfig` adds it to every config. */
|
|
56
|
+
export declare function followWorkflow(steps: FollowSteps): WorkflowDefinition<any, any>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { defineWorkflow } from "./define.js";
|
|
3
|
+
// The built-in `follow` workflow: what a git host's webhook says happened to the company's
|
|
4
|
+
// repository, done by the worker, which has the checkout. The app verifies the webhook and starts
|
|
5
|
+
// the run (`SanomaClient.follow`, as the runtime's agent `host-check`, one run per event); what it
|
|
6
|
+
// does is no operation, so each part is a step of `follow-steps.ts`. A workflow like any other,
|
|
7
|
+
// held to the same lint.
|
|
8
|
+
const RepoRefSchema = z.object({ owner: z.string().min(1), name: z.string().min(1) });
|
|
9
|
+
/** What a host's webhook says happened (`RemoteEvent`): a branch pushed, or a pull request closed (merged or not). */
|
|
10
|
+
export const RemoteEventSchema = z.discriminatedUnion("kind", [
|
|
11
|
+
z.object({ kind: z.literal("pushed"), repo: RepoRefSchema, branch: z.string().min(1), head: z.string().min(1) }),
|
|
12
|
+
z.object({
|
|
13
|
+
kind: z.literal("closed"),
|
|
14
|
+
repo: RepoRefSchema,
|
|
15
|
+
branch: z.string().min(1),
|
|
16
|
+
number: z.number().int(),
|
|
17
|
+
merged: z.boolean(),
|
|
18
|
+
sha: z.string().min(1).optional(),
|
|
19
|
+
}),
|
|
20
|
+
]);
|
|
21
|
+
/** The built-in follow workflow over `steps`: `resolveConfig` adds it to every config. */
|
|
22
|
+
export function followWorkflow(steps) {
|
|
23
|
+
return defineWorkflow({
|
|
24
|
+
// The literal, held to the one name: the outline finds a workflow by a string, or a const of its own file.
|
|
25
|
+
name: "follow",
|
|
26
|
+
title: "Follow the repository's host",
|
|
27
|
+
trigger: "manual",
|
|
28
|
+
input: RemoteEventSchema,
|
|
29
|
+
uses: [],
|
|
30
|
+
run: async (_ctx, event) => {
|
|
31
|
+
const at = await steps.where(event);
|
|
32
|
+
let output;
|
|
33
|
+
if ("ignored" in at)
|
|
34
|
+
output = at;
|
|
35
|
+
else if ("main" in at)
|
|
36
|
+
output = await steps.main(at.main);
|
|
37
|
+
else {
|
|
38
|
+
const found = await steps.draft(event, at.draft);
|
|
39
|
+
if ("ignored" in found)
|
|
40
|
+
output = found;
|
|
41
|
+
else {
|
|
42
|
+
await steps.tell(at.draft, found.told, found.key);
|
|
43
|
+
output = { change: at.draft, told: found.told.kind };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return output;
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=follow-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-workflow.js","sourceRoot":"","sources":["../src/follow-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAA2B,MAAM,aAAa,CAAC;AAItE,2FAA2F;AAC3F,kGAAkG;AAClG,mGAAmG;AACnG,gGAAgG;AAChG,yBAAyB;AAEzB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtF,sHAAsH;AACtH,MAAM,CAAC,MAAM,iBAAiB,GAA2B,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACpF,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChH,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACxB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAClC,CAAC;CACH,CAAC,CAAC;AAqCH,0FAA0F;AAC1F,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,cAAc,CAAC;QACpB,2GAA2G;QAC3G,IAAI,EAAE,QAAyC;QAC/C,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAyB,EAAE;YAChD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,MAAoB,CAAC;YACzB,IAAI,SAAS,IAAI,EAAE;gBAAE,MAAM,GAAG,EAAE,CAAC;iBAC5B,IAAI,MAAM,IAAI,EAAE;gBAAE,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;iBACrD,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,SAAS,IAAI,KAAK;oBAAE,MAAM,GAAG,KAAK,CAAC;qBAClC,CAAC;oBACJ,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type CallContext, CLIENT_IP_HEADER, requestOrigin, sameOrigin, type Connector, type ConnectorSetup, type ConnectorVendor, type DatabasePreparation, type Driver, type DriverEnv, type DriverFn, defineConnector, DriverError, type Effect, isOp, isSvgElement, INVITE_SECONDS, type LoginContext, type LoginHalf, type LoginIdentity, type LoginMethod, type ModelContext, type Op, type OpSpec, type ResourceGroup, retryableStatus, type SignInMethod, type SocialClients, type VendorInfo, withSetup, } from "./op.ts";
|
|
1
|
+
export { type CallContext, CLIENT_IP_HEADER, requestOrigin, sameOrigin, type Connector, type ConnectorSetup, type ConnectorVendor, type DatabasePreparation, type Driver, type DriverEnv, type DriverFn, defineConnector, DriverError, type Effect, isOp, isSvgElement, INVITE_SECONDS, type LoginContext, type LoginHalf, type LoginIdentity, type LoginMethod, type ModelContext, type Op, type OpSpec, type ResourceGroup, retryableStatus, type SignInMethod, type SocialClients, VENDOR, type VendorInfo, withSetup, } from "./op.ts";
|
|
2
2
|
export { SanomaPackageField, vendorInfo } from "./vendor-info.ts";
|
|
3
3
|
export { defineWorkflow, Principal, type ApprovalRequest, type ApprovalResult, type ApprovalState, type Approver, type Builtin, type Ctx, type SleepRequest, type StartedBy, type StepOptions, type Trigger, type Use, type WorkflowDefinition, } from "./define.ts";
|
|
4
4
|
export { compareDeclared, type Declared, type Declaring, defineResource, diffDeclared, type FieldReference, type PlanAction, type References, type Resource, type ResourceFields, type ResourceOps, type ResourceSpec, valueAt, withoutWriteOnly, } from "./resource.ts";
|
|
@@ -11,6 +11,9 @@ export { isCollection } from "./collection.ts";
|
|
|
11
11
|
export { type CredentialStatus, credentialsOf } from "./env.ts";
|
|
12
12
|
export { APPLY_WORKFLOW, ApplyInput, type ApplyPlan, type ApplyReport, type ApplyResult, type PlanAnswer, type PlanStep, } from "./apply.ts";
|
|
13
13
|
export { CALL_WORKFLOW, CallInput } from "./call-workflow.ts";
|
|
14
|
+
export { AdoptInput, type AppApi, type AppStepContext, type AppSteps, type ChatTurnContext, ConnectExistingInput, type ConnectExistingOutput, GoLiveHostInput, GoLiveInput, type GoLiveOutput, PatchInput, type PatchOutput, type Written, } from "./app-workflows.ts";
|
|
15
|
+
export { type FollowOutput } from "./follow-workflow.ts";
|
|
16
|
+
export { ChatTurnInput, type ChatTurnOutput } from "./chat-workflow.ts";
|
|
14
17
|
export { ADMIN, type ChangeDecision, type ChangeDeploy, type ChangeEvent, ChangeFacts, ChangeInput, changeOps, type ChangeReport, type ChangeState, type ChangeVerified, isRules, mayDeclarePeople, runtimeHold, touchesOf, } from "./change.ts";
|
|
15
18
|
export { isDirect } from "./direct.ts";
|
|
16
19
|
export { DRIFT_WORKFLOW, type DriftDeclared, type DriftField, type DriftReport, type DriftResult, type DriftStatus, } from "./drift.ts";
|
|
@@ -40,7 +43,7 @@ export { postInvite, sanoma } from "./runtime-ops.ts";
|
|
|
40
43
|
export { sourceKeyPair, sshPublicKey } from "./ssh-key.ts";
|
|
41
44
|
export { checkWakeup, type DeclaredWakeup, type EnvWakeup, HOST_URL, WAKE_PATH, type WakeupOutputs, type WakeupRegistration, type WakeupSpec, wakeupHostTypes, } from "./wakeup.ts";
|
|
42
45
|
export { type CallOptions, type ChangesFilter, type ChangeView, type ClientOptions, type ConnectionReview, SanomaClient, type RunsFilter, type RunSummary, type StartOptions, type StoredSecret, } from "./client.ts";
|
|
43
|
-
export { dbosClient } from "./db.ts";
|
|
46
|
+
export { type AppBehind, dbosClient } from "./db.ts";
|
|
44
47
|
export { type RootSnapshot, useRootSnapshot } from "./bundled.ts";
|
|
45
48
|
export { checkPreparedOnly } from "./db.ts";
|
|
46
49
|
export { type CedarWasm, useCedarWasm } from "./schema.ts";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CLIENT_IP_HEADER, requestOrigin, sameOrigin, defineConnector, DriverError, isOp, isSvgElement, INVITE_SECONDS, retryableStatus, withSetup, } from "./op.js";
|
|
1
|
+
export { CLIENT_IP_HEADER, requestOrigin, sameOrigin, defineConnector, DriverError, isOp, isSvgElement, INVITE_SECONDS, retryableStatus, VENDOR, withSetup, } from "./op.js";
|
|
2
2
|
export { SanomaPackageField, vendorInfo } from "./vendor-info.js";
|
|
3
3
|
export { defineWorkflow, Principal, } from "./define.js";
|
|
4
4
|
export { compareDeclared, defineResource, diffDeclared, valueAt, withoutWriteOnly, } from "./resource.js";
|
|
@@ -14,6 +14,9 @@ export { isCollection } from "./collection.js";
|
|
|
14
14
|
export { credentialsOf } from "./env.js";
|
|
15
15
|
export { APPLY_WORKFLOW, ApplyInput, } from "./apply.js";
|
|
16
16
|
export { CALL_WORKFLOW, CallInput } from "./call-workflow.js";
|
|
17
|
+
export { AdoptInput, ConnectExistingInput, GoLiveHostInput, GoLiveInput, PatchInput, } from "./app-workflows.js";
|
|
18
|
+
export {} from "./follow-workflow.js";
|
|
19
|
+
export { ChatTurnInput } from "./chat-workflow.js";
|
|
17
20
|
export { ADMIN, ChangeFacts, ChangeInput, changeOps, isRules, mayDeclarePeople, runtimeHold, touchesOf, } from "./change.js";
|
|
18
21
|
export { isDirect } from "./direct.js";
|
|
19
22
|
export { DRIFT_WORKFLOW, } from "./drift.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,aAAa,EACb,UAAU,EAQV,eAAe,EACf,WAAW,EAEX,IAAI,EACJ,YAAY,EACZ,cAAc,EASd,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { ConnectionRef, ConnectionRegistry, ConnectionSnapshot } from "./connection.ts";
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
import type { WorkerApp } from "./app-steps.ts";
|
|
4
|
+
import type { SanomaClient } from "./client.ts";
|
|
3
5
|
import type { Collection } from "./collection.ts";
|
|
4
6
|
import type { DeclaredObjects } from "./config.ts";
|
|
7
|
+
import type { Db } from "./db.ts";
|
|
5
8
|
import type { DeadlineRegistry } from "./deadlines.ts";
|
|
6
9
|
import type { ApprovalState, Approver, Principal, WorkflowDefinition } from "./define.ts";
|
|
7
10
|
import type { Fake } from "./fake.ts";
|
|
@@ -50,6 +53,30 @@ export interface WorkerState {
|
|
|
50
53
|
scenarios?: URL;
|
|
51
54
|
/** The worker's `source`, when it was given one. */
|
|
52
55
|
source?: Source;
|
|
56
|
+
/** The app's steps (`WorkerOptions.app`): what the app's built-ins run; none without them. */
|
|
57
|
+
appSteps?: WorkerApp;
|
|
58
|
+
/**
|
|
59
|
+
* The worker's own client, connected on first use, for its version (what it starts runs on);
|
|
60
|
+
* closed when the worker stops. What the built-ins' steps tell and read through, never a run's body.
|
|
61
|
+
*/
|
|
62
|
+
client(): Promise<SanomaClient>;
|
|
63
|
+
/** Runs `write` once the one before it has settled: the worker's writes to its repository, one at a time. */
|
|
64
|
+
serially<T>(write: () => Promise<T>): Promise<T>;
|
|
65
|
+
/**
|
|
66
|
+
* Fast-forwards the checkout to the host's `main` (`followBase`), one of the worker's writes
|
|
67
|
+
* (`serially`), as a change's deploy and a push to `main` do first; on a new revision, how far
|
|
68
|
+
* each app taken from a source is behind it is checked again, in the background, into the
|
|
69
|
+
* runtime's table (`recordAppsBehind` in worker.ts), as at the worker's start.
|
|
70
|
+
*/
|
|
71
|
+
followMain(): Promise<{
|
|
72
|
+
revision: string;
|
|
73
|
+
} | {
|
|
74
|
+
skipped: string;
|
|
75
|
+
} | {
|
|
76
|
+
error: string;
|
|
77
|
+
}>;
|
|
78
|
+
/** The runtime's tables (`db.ts`): what the worker writes for the app to read, such as a sandbox run's checks. */
|
|
79
|
+
db(): Promise<Db>;
|
|
53
80
|
types: ReadonlyMap<string, Resource>;
|
|
54
81
|
/** The objects the data files declare, read at each call: a workflow's change operation may not aim at one (`refuseDeclared`). */
|
|
55
82
|
declaredObjects(): Promise<DeclaredObjects>;
|
|
@@ -87,6 +114,11 @@ export interface WorkerState {
|
|
|
87
114
|
stopped: boolean;
|
|
88
115
|
/** Which of its runs are executing and which wait, until when: what the worker's `idle` reads. */
|
|
89
116
|
deadlines: DeadlineRegistry;
|
|
117
|
+
/**
|
|
118
|
+
* Aborted once the worker has stopped, after DBOS is down: what work of its that outlives a DBOS
|
|
119
|
+
* call stops on (a chat turn's agent, the check of the apps behind), recorded nowhere.
|
|
120
|
+
*/
|
|
121
|
+
shutdown: AbortSignal;
|
|
90
122
|
}
|
|
91
123
|
/** What a run keeps in memory. Rebuilt the same way when DBOS replays the run. */
|
|
92
124
|
export interface Run {
|
|
@@ -132,3 +164,10 @@ export interface WorkflowOutline {
|
|
|
132
164
|
* it, whether it is a sandbox run, the worker's source and policy), as no `ctx` member gives them.
|
|
133
165
|
*/
|
|
134
166
|
export declare const currentRun: AsyncLocalStorage<Run>;
|
|
167
|
+
/** The run whose built-in step is running (`currentRun`): `what` names the step for the error when there is none. */
|
|
168
|
+
export declare function runNow(what: string): Run;
|
|
169
|
+
/**
|
|
170
|
+
* A sandbox run's checks recorded for the app (`recordChecks`, which never throws); nothing for a
|
|
171
|
+
* live run, which never loads `sandbox.ts`, and with it Cucumber.
|
|
172
|
+
*/
|
|
173
|
+
export declare function recordSandboxChecks(run: Run): Promise<void>;
|
package/dist/run.js
CHANGED
|
@@ -4,4 +4,19 @@ import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
4
4
|
* it, whether it is a sandbox run, the worker's source and policy), as no `ctx` member gives them.
|
|
5
5
|
*/
|
|
6
6
|
export const currentRun = new AsyncLocalStorage();
|
|
7
|
+
/** The run whose built-in step is running (`currentRun`): `what` names the step for the error when there is none. */
|
|
8
|
+
export function runNow(what) {
|
|
9
|
+
const run = currentRun.getStore();
|
|
10
|
+
if (!run)
|
|
11
|
+
throw new Error(`${what} ran outside its run`);
|
|
12
|
+
return run;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A sandbox run's checks recorded for the app (`recordChecks`, which never throws); nothing for a
|
|
16
|
+
* live run, which never loads `sandbox.ts`, and with it Cucumber.
|
|
17
|
+
*/
|
|
18
|
+
export async function recordSandboxChecks(run) {
|
|
19
|
+
if (run.sandbox !== undefined)
|
|
20
|
+
await (await import("./sandbox.js")).recordChecks(run, run.sandbox);
|
|
21
|
+
}
|
|
7
22
|
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA8JrD;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAO,CAAC;AAEvD,qHAAqH;AACrH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAQ;IAChD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AACrG,CAAC"}
|
package/dist/sandbox.d.ts
CHANGED
|
@@ -34,3 +34,13 @@ export declare function seedResource(scenario: string, copy: ResourceFake, given
|
|
|
34
34
|
* survive a worker restart.
|
|
35
35
|
*/
|
|
36
36
|
export declare function seedSandbox(run: Run, name: string, input: unknown): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* A seeded sandbox run's checks against its ledger so far, written for the app (`writeRunChecks`):
|
|
39
|
+
* Cucumber runs its scenario's Then steps over the feature file as it reads now, which the agent
|
|
40
|
+
* may have changed since. Called when the run waits and when it ends (`recordSandboxChecks`); a
|
|
41
|
+
* check met is settled when what it expects stays so (a call made, a decision recorded), and every
|
|
42
|
+
* one once the run has ended, which the app reads from the run's status. No step and no ledger
|
|
43
|
+
* record, so a replay neither depends on it nor differs by it: a failure is warned about, and the
|
|
44
|
+
* run goes on.
|
|
45
|
+
*/
|
|
46
|
+
export declare function recordChecks(run: Run, name: string): Promise<void>;
|
package/dist/sandbox.js
CHANGED
|
@@ -6,8 +6,10 @@ import { SanomaError } from "./errors.js";
|
|
|
6
6
|
import { connectionFakes } from "./fake.js";
|
|
7
7
|
import { entry, write } from "./ledger.js";
|
|
8
8
|
import { memorySecrets } from "./secret.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { writeRunChecks } from "./db.js";
|
|
10
|
+
import { warn } from "./log.js";
|
|
11
|
+
import { check, loadScenarios } from "./scenario.js";
|
|
12
|
+
import { errorMessage, notLoaded } from "./shared.js";
|
|
11
13
|
/*
|
|
12
14
|
* What a worker does for a sandbox run, imported only when it starts one: kept apart from
|
|
13
15
|
* `scenario.ts`, which the app reads too, because it needs DBOS and the ledger.
|
|
@@ -100,8 +102,9 @@ export async function seedSandbox(run, name, input) {
|
|
|
100
102
|
const { scenarios, errors } = await loadScenarios(state);
|
|
101
103
|
const scenario = scenarios.find((s) => s.name === name);
|
|
102
104
|
if (!scenario) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
throw new SanomaError("invalid_input", `No scenario named "${name}"${notLoaded(errors)}`, {
|
|
106
|
+
scenario: name,
|
|
107
|
+
});
|
|
105
108
|
}
|
|
106
109
|
if (scenario.workflow !== run.workflow) {
|
|
107
110
|
throw new SanomaError("invalid_input", `Scenario "${name}" runs ${scenario.workflow}, not ${run.workflow}`, {
|
|
@@ -174,4 +177,39 @@ export async function seedSandbox(run, name, input) {
|
|
|
174
177
|
run.fakeSecrets = secrets;
|
|
175
178
|
await write(run, entry(run, { type: "scenario.seeded", scenario: name, seeds }));
|
|
176
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* A seeded sandbox run's checks against its ledger so far, written for the app (`writeRunChecks`):
|
|
182
|
+
* Cucumber runs its scenario's Then steps over the feature file as it reads now, which the agent
|
|
183
|
+
* may have changed since. Called when the run waits and when it ends (`recordSandboxChecks`); a
|
|
184
|
+
* check met is settled when what it expects stays so (a call made, a decision recorded), and every
|
|
185
|
+
* one once the run has ended, which the app reads from the run's status. No step and no ledger
|
|
186
|
+
* record, so a replay neither depends on it nor differs by it: a failure is warned about, and the
|
|
187
|
+
* run goes on.
|
|
188
|
+
*/
|
|
189
|
+
export async function recordChecks(run, name) {
|
|
190
|
+
if (!run.fakeDrivers)
|
|
191
|
+
return;
|
|
192
|
+
const { state } = run;
|
|
193
|
+
try {
|
|
194
|
+
const checks = await checksOf(run, name).catch((err) => ({ error: errorMessage(err) }));
|
|
195
|
+
await writeRunChecks(await state.db(), run.id, checks);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
warn(`run ${run.id}: could not record its checks against scenario "${name}": ${errorMessage(err)}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async function checksOf({ id, state }, name) {
|
|
202
|
+
const loaded = await loadScenarios(state);
|
|
203
|
+
const scenario = loaded.scenarios.find((s) => s.name === name);
|
|
204
|
+
if (!scenario)
|
|
205
|
+
return { error: `The feature files no longer have scenario "${name}"${notLoaded(loaded.errors)}` };
|
|
206
|
+
const checks = await check(state, scenario, await state.ledger.read(id));
|
|
207
|
+
return {
|
|
208
|
+
checks: checks.map((c, i) => {
|
|
209
|
+
const e = scenario.expect[i];
|
|
210
|
+
// Met once: a call made, or a decision recorded, stays made. Every one is, once the run has ended (`runDetail`).
|
|
211
|
+
return { ...c, settled: c.ok && (("called" in e && e.called === true) || "decision" in e) };
|
|
212
|
+
}),
|
|
213
|
+
};
|
|
214
|
+
}
|
|
177
215
|
//# sourceMappingURL=sandbox.js.map
|
package/dist/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/scenario.d.ts
CHANGED
|
@@ -165,6 +165,25 @@ export interface Check {
|
|
|
165
165
|
ok: boolean;
|
|
166
166
|
detail?: string;
|
|
167
167
|
}
|
|
168
|
+
/** One of a sandbox run's checks, and whether its answer is final. */
|
|
169
|
+
export interface RunCheck extends Check {
|
|
170
|
+
/**
|
|
171
|
+
* True once the answer cannot change: the run has ended, or the check expects a call that
|
|
172
|
+
* has been made (or a decision recorded). Until then a check not met is not failed yet, and
|
|
173
|
+
* one met (a call not made so far) may still fail.
|
|
174
|
+
*/
|
|
175
|
+
settled: boolean;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* A sandbox run's checks, as the worker ran them when the run last waited or ended (`recordChecks`):
|
|
179
|
+
* each of its scenario's expectations against its ledger, or why there are none (its scenario is
|
|
180
|
+
* no longer in the feature files, with those that did not load, or they could not be read at all).
|
|
181
|
+
*/
|
|
182
|
+
export type RunChecks = {
|
|
183
|
+
checks: RunCheck[];
|
|
184
|
+
} | {
|
|
185
|
+
error: string;
|
|
186
|
+
};
|
|
168
187
|
/**
|
|
169
188
|
* What steps can name: the config's operations, workflows, resource types and collections by id,
|
|
170
189
|
* the steps its connectors (and the company) ship, where the feature files are, and the root
|