@hasna/loops 0.4.28 → 0.4.29
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/CHANGELOG.md +84 -1
- package/README.md +226 -49
- package/dist/api/index.d.ts +20 -19
- package/dist/api/index.js +6846 -1087
- package/dist/cli/index.js +2471 -885
- package/dist/cli/safe-error-context.d.ts +1 -0
- package/dist/daemon/daemon.d.ts +1 -0
- package/dist/daemon/index.js +1786 -493
- package/dist/generated/storage-kit/index.d.ts +1 -1
- package/dist/generated/storage-kit/mode.d.ts +6 -12
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4778 -1016
- package/dist/lib/advancement.d.ts +52 -0
- package/dist/lib/agent-adapter.d.ts +20 -2
- package/dist/lib/auth/route-policy.d.ts +14 -0
- package/dist/lib/auth/tenant-auth.d.ts +38 -0
- package/dist/lib/cloud/mode.d.ts +2 -8
- package/dist/lib/cloud/storage.d.ts +1 -2
- package/dist/lib/cloud/transport.d.ts +4 -18
- package/dist/lib/errors.d.ts +43 -1
- package/dist/lib/format.d.ts +2 -2
- package/dist/lib/goal/runner.d.ts +36 -3
- package/dist/lib/health.d.ts +1 -1
- package/dist/lib/labels.d.ts +4 -0
- package/dist/lib/loop-status.d.ts +4 -0
- package/dist/lib/migration.d.ts +4 -17
- package/dist/lib/mode.d.ts +2 -5
- package/dist/lib/mode.js +27 -36
- package/dist/lib/route/index.d.ts +2 -2
- package/dist/lib/route/throttle.d.ts +7 -0
- package/dist/lib/route/types.d.ts +3 -0
- package/dist/lib/run-completion.d.ts +18 -0
- package/dist/lib/scheduler.d.ts +5 -11
- package/dist/lib/storage/contract.d.ts +15 -1
- package/dist/lib/storage/index.d.ts +1 -1
- package/dist/lib/storage/index.js +3864 -457
- package/dist/lib/storage/pg-executor.d.ts +10 -5
- package/dist/lib/storage/postgres-loop-storage.d.ts +50 -24
- package/dist/lib/storage/postgres-schema.d.ts +8 -0
- package/dist/lib/storage/postgres-schema.js +1323 -1
- package/dist/lib/storage/postgres.d.ts +3 -1
- package/dist/lib/storage/postgres.js +1353 -27
- package/dist/lib/storage/provider-credentials.d.ts +84 -0
- package/dist/lib/storage/shared-database-transfer.d.ts +136 -0
- package/dist/lib/storage/sqlite.d.ts +15 -2
- package/dist/lib/storage/sqlite.js +1299 -217
- package/dist/lib/storage/tenant-backfill-s3.d.ts +53 -0
- package/dist/lib/storage/tenant-backfill.d.ts +40 -0
- package/dist/lib/store/index.d.ts +11 -8
- package/dist/lib/store.d.ts +52 -7
- package/dist/lib/store.js +1266 -217
- package/dist/lib/templates.d.ts +11 -0
- package/dist/lib/workflow-events.d.ts +6 -0
- package/dist/lib/workflow-provenance.d.ts +8 -0
- package/dist/lib/workflow-runner.d.ts +52 -4
- package/dist/mcp/index.js +1961 -651
- package/dist/runner/index.d.ts +20 -2
- package/dist/runner/index.js +2113 -177
- package/dist/sdk/http.d.ts +211 -3
- package/dist/sdk/http.js +301 -0
- package/dist/sdk/index.d.ts +7 -2
- package/dist/sdk/index.js +1959 -711
- package/dist/serve/index.d.ts +14 -0
- package/dist/serve/index.js +12323 -1743
- package/dist/types.d.ts +64 -3
- package/docs/AUTOMATION_RUNTIME_DESIGN.md +32 -32
- package/docs/CUTOVER-RUNBOOK.md +158 -31
- package/docs/DEPLOYMENT_MODES.md +78 -56
- package/docs/RUNTIME_BOUNDARY.md +26 -26
- package/docs/SHARED-DATABASE-TRANSFER.md +95 -0
- package/docs/SHARED_KIT_EXTRACTION_INVENTORY.md +631 -0
- package/docs/TRANSCRIPT_LOOP_PATTERNS.md +3 -3
- package/docs/UNIFIED_PRODUCT_CONTRACT.md +365 -0
- package/docs/USAGE.md +143 -52
- package/docs/workflows/transcript-feedback-to-loops.json +2 -2
- package/package.json +7 -3
- package/dist/lib/storage/pg-runner-claim.d.ts +0 -40
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type SecretsManagerClientConfig } from "@aws-sdk/client-secrets-manager";
|
|
2
|
+
import type { PoolQueryClient } from "../../generated/storage-kit/query.js";
|
|
3
|
+
import { PostgresStorage } from "./postgres.js";
|
|
4
|
+
export declare const PROVIDER_CREDENTIAL_SPECS: Readonly<{
|
|
5
|
+
migrator: Readonly<{
|
|
6
|
+
login: "open_loops_migrator_login";
|
|
7
|
+
secretOption: "migratorSecretArn";
|
|
8
|
+
}>;
|
|
9
|
+
runtime: Readonly<{
|
|
10
|
+
login: "open_loops_runtime_login";
|
|
11
|
+
secretOption: "runtimeSecretArn";
|
|
12
|
+
role: "open_loops_runtime";
|
|
13
|
+
}>;
|
|
14
|
+
authenticator: Readonly<{
|
|
15
|
+
login: "open_loops_authenticator_login";
|
|
16
|
+
secretOption: "authenticatorSecretArn";
|
|
17
|
+
role: "open_loops_authenticator";
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
type CredentialPurpose = keyof typeof PROVIDER_CREDENTIAL_SPECS;
|
|
21
|
+
type ServicePurpose = Exclude<CredentialPurpose, "migrator">;
|
|
22
|
+
type CredentialPhase = "pre_0010" | "post_0010";
|
|
23
|
+
type SecretStage = "AWSCURRENT" | "AWSPENDING";
|
|
24
|
+
export interface ProviderCredentialOptions {
|
|
25
|
+
region: string;
|
|
26
|
+
credentialsRelativeUri: string;
|
|
27
|
+
masterSecretArn: string;
|
|
28
|
+
migratorSecretArn: string;
|
|
29
|
+
runtimeSecretArn: string;
|
|
30
|
+
authenticatorSecretArn: string;
|
|
31
|
+
expectedInstanceId: string;
|
|
32
|
+
expectedEndpoint: string;
|
|
33
|
+
expectedPort: number;
|
|
34
|
+
expectedDatabase: string;
|
|
35
|
+
expectedMasterUsername: string;
|
|
36
|
+
}
|
|
37
|
+
interface SecretValue {
|
|
38
|
+
value: string;
|
|
39
|
+
versionId: string;
|
|
40
|
+
}
|
|
41
|
+
type ProviderCredentialFetch = (input: string, init?: RequestInit) => Promise<Response>;
|
|
42
|
+
export interface ProviderCredentialSecretStore {
|
|
43
|
+
get(secretId: string, stage: SecretStage): Promise<SecretValue | undefined>;
|
|
44
|
+
putPending(secretId: string, value: string): Promise<SecretValue>;
|
|
45
|
+
promote(secretId: string, pendingVersionId: string, currentVersionId?: string): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
interface CredentialInspection {
|
|
48
|
+
valid: boolean;
|
|
49
|
+
enforcementApplied: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface ProviderCredentialDatabase {
|
|
52
|
+
bootstrapBeforeSecrets(): Promise<void>;
|
|
53
|
+
setPassword(purpose: CredentialPurpose, password: string): Promise<void>;
|
|
54
|
+
inspectCredential(purpose: CredentialPurpose, dsn: string, attached: boolean): Promise<CredentialInspection>;
|
|
55
|
+
probeMigrator(dsn: string): Promise<CredentialPhase>;
|
|
56
|
+
attachService(purpose: ServicePurpose): Promise<void>;
|
|
57
|
+
detachService(purpose: ServicePurpose): Promise<void>;
|
|
58
|
+
close(): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export interface ProviderCredentialResult {
|
|
61
|
+
phase: CredentialPhase;
|
|
62
|
+
status: "ok";
|
|
63
|
+
invariants: {
|
|
64
|
+
bootstrapNormalized: true;
|
|
65
|
+
transportVerified: true;
|
|
66
|
+
ledgerExact: true;
|
|
67
|
+
serviceMembershipsSafe: true;
|
|
68
|
+
};
|
|
69
|
+
affectedSecrets: number;
|
|
70
|
+
}
|
|
71
|
+
export interface ProviderCredentialDependencies {
|
|
72
|
+
secretStore?: ProviderCredentialSecretStore;
|
|
73
|
+
createDatabase?: (masterDsn: string, probe: BootstrapProbe) => ProviderCredentialDatabase;
|
|
74
|
+
random?: (bytes: number) => Uint8Array;
|
|
75
|
+
bootstrapProbe: BootstrapProbe;
|
|
76
|
+
}
|
|
77
|
+
export type BootstrapProbe = (client: PoolQueryClient, schema: PostgresStorage) => Promise<void>;
|
|
78
|
+
export declare function resolveProviderCredentialOptions(env?: NodeJS.ProcessEnv): ProviderCredentialOptions;
|
|
79
|
+
export declare function reconcileProviderCredentials(options: ProviderCredentialOptions, dependencies: ProviderCredentialDependencies): Promise<ProviderCredentialResult>;
|
|
80
|
+
export declare function logProviderCredentialSuccess(result: ProviderCredentialResult): void;
|
|
81
|
+
export declare function createAwsSecretsManagerClientConfig(options: ProviderCredentialOptions, fetchImpl?: ProviderCredentialFetch): SecretsManagerClientConfig;
|
|
82
|
+
export declare const PROVIDER_BOOTSTRAP_MEMBERSHIPS_SQL: string;
|
|
83
|
+
export declare const PROVIDER_BOOTSTRAP_INVARIANT_SQL: string;
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { AppliedStorageMigration } from "./contract.js";
|
|
2
|
+
export declare const SHARED_TRANSFER_SOURCE_DSN_ENV = "HASNA_LOOPS_TRANSFER_SOURCE_DATABASE_URL";
|
|
3
|
+
export declare const SHARED_TRANSFER_TARGET_DSN_ENV = "HASNA_LOOPS_TRANSFER_TARGET_DATABASE_URL";
|
|
4
|
+
export declare const SHARED_TRANSFER_SOURCE_DATABASE = "apps";
|
|
5
|
+
export declare const SHARED_TRANSFER_TARGET_DATABASE = "loops";
|
|
6
|
+
export declare const SHARED_TRANSFER_TARGET_BASE_THROUGH = "0007_work_item_gate_deaths";
|
|
7
|
+
export declare const SHARED_TRANSFER_TARGET_PREPARE_THROUGH = "0008_tenant_prepare";
|
|
8
|
+
export declare const SHARED_TRANSFER_FIXED_COMMAND: readonly ["bun", "dist/serve/index.js", "shared-to-dedicated-transfer"];
|
|
9
|
+
export declare const SHARED_TRANSFER_TABLES: readonly [{
|
|
10
|
+
readonly name: "loops";
|
|
11
|
+
readonly orderBy: readonly ["id"];
|
|
12
|
+
}, {
|
|
13
|
+
readonly name: "workflow_specs";
|
|
14
|
+
readonly orderBy: readonly ["id"];
|
|
15
|
+
}, {
|
|
16
|
+
readonly name: "runner_machines";
|
|
17
|
+
readonly orderBy: readonly ["id"];
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "goals";
|
|
20
|
+
readonly orderBy: readonly ["id"];
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "loop_runs";
|
|
23
|
+
readonly orderBy: readonly ["id"];
|
|
24
|
+
}, {
|
|
25
|
+
readonly name: "workflow_invocations";
|
|
26
|
+
readonly orderBy: readonly ["id"];
|
|
27
|
+
}, {
|
|
28
|
+
readonly name: "workflow_runs";
|
|
29
|
+
readonly orderBy: readonly ["id"];
|
|
30
|
+
}, {
|
|
31
|
+
readonly name: "workflow_work_items";
|
|
32
|
+
readonly orderBy: readonly ["id"];
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "workflow_step_runs";
|
|
35
|
+
readonly orderBy: readonly ["id"];
|
|
36
|
+
}, {
|
|
37
|
+
readonly name: "workflow_events";
|
|
38
|
+
readonly orderBy: readonly ["workflow_run_id", "sequence", "id"];
|
|
39
|
+
}, {
|
|
40
|
+
readonly name: "goal_plan_nodes";
|
|
41
|
+
readonly orderBy: readonly ["id"];
|
|
42
|
+
}, {
|
|
43
|
+
readonly name: "goal_runs";
|
|
44
|
+
readonly orderBy: readonly ["id"];
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "runner_leases";
|
|
47
|
+
readonly orderBy: readonly ["id"];
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "audit_events";
|
|
50
|
+
readonly orderBy: readonly ["id"];
|
|
51
|
+
}, {
|
|
52
|
+
readonly name: "run_receipts";
|
|
53
|
+
readonly orderBy: readonly ["run_id"];
|
|
54
|
+
}, {
|
|
55
|
+
readonly name: "daemon_lease";
|
|
56
|
+
readonly orderBy: readonly ["id"];
|
|
57
|
+
}];
|
|
58
|
+
export declare const SHARED_TRANSFER_API_KEY_COLUMNS: readonly ["kid", "app", "agent", "scopes", "token_hash", "issued_at", "expires_at", "revoked_at", "revoked_reason", "last_used_at", "created_by", "created_at"];
|
|
59
|
+
export interface CommandResult {
|
|
60
|
+
exitCode: number;
|
|
61
|
+
stdout: string;
|
|
62
|
+
stderr: string;
|
|
63
|
+
}
|
|
64
|
+
export interface CommandRunner {
|
|
65
|
+
(command: readonly string[], opts?: {
|
|
66
|
+
env?: Record<string, string>;
|
|
67
|
+
input?: string;
|
|
68
|
+
}): Promise<CommandResult>;
|
|
69
|
+
}
|
|
70
|
+
export interface SharedTransferOptions {
|
|
71
|
+
env?: NodeJS.ProcessEnv;
|
|
72
|
+
runner?: CommandRunner;
|
|
73
|
+
migrateTargetThrough?: (targetDsn: string, through: string) => Promise<AppliedStorageMigration[]>;
|
|
74
|
+
now?: () => Date;
|
|
75
|
+
}
|
|
76
|
+
export interface TransferCount {
|
|
77
|
+
table_name: string;
|
|
78
|
+
row_count: string | number;
|
|
79
|
+
}
|
|
80
|
+
export interface TransferHash {
|
|
81
|
+
table: string;
|
|
82
|
+
sha256: string;
|
|
83
|
+
}
|
|
84
|
+
export interface TransferEvidence {
|
|
85
|
+
schema: "open-loops.shared-to-dedicated-transfer/v1";
|
|
86
|
+
executedAt: string;
|
|
87
|
+
command: readonly string[];
|
|
88
|
+
source: {
|
|
89
|
+
database: typeof SHARED_TRANSFER_SOURCE_DATABASE;
|
|
90
|
+
};
|
|
91
|
+
target: {
|
|
92
|
+
database: typeof SHARED_TRANSFER_TARGET_DATABASE;
|
|
93
|
+
};
|
|
94
|
+
archive: {
|
|
95
|
+
file: "openloops-allowlist.dump";
|
|
96
|
+
sha256: string;
|
|
97
|
+
cleaned: boolean;
|
|
98
|
+
};
|
|
99
|
+
ledgers: {
|
|
100
|
+
sourceContains0001Through0007: AppliedStorageMigration[];
|
|
101
|
+
targetExact0001Through0007: AppliedStorageMigration[];
|
|
102
|
+
targetContains0001Through0008: AppliedStorageMigration[];
|
|
103
|
+
};
|
|
104
|
+
sourceCounts: TransferCount[];
|
|
105
|
+
targetCounts: TransferCount[];
|
|
106
|
+
sourceHashes: TransferHash[];
|
|
107
|
+
targetHashes: TransferHash[];
|
|
108
|
+
apiKeys: {
|
|
109
|
+
copiedRows: number;
|
|
110
|
+
sha256: string;
|
|
111
|
+
nonLoopRowsOnTarget: number;
|
|
112
|
+
};
|
|
113
|
+
orphanChecks: Array<{
|
|
114
|
+
check_name: string;
|
|
115
|
+
orphan_count: string | number;
|
|
116
|
+
}>;
|
|
117
|
+
unexpectedTargetObjects: Array<{
|
|
118
|
+
object_name: string;
|
|
119
|
+
object_kind: string;
|
|
120
|
+
}>;
|
|
121
|
+
nextSequence: readonly string[];
|
|
122
|
+
}
|
|
123
|
+
export interface TenantEnforcementForeignKeyCheck {
|
|
124
|
+
checkName: string;
|
|
125
|
+
childTable: string;
|
|
126
|
+
childColumn: string;
|
|
127
|
+
parentTable: string;
|
|
128
|
+
}
|
|
129
|
+
export declare function tenantEnforcementForeignKeyChecks(): readonly TenantEnforcementForeignKeyCheck[];
|
|
130
|
+
export declare function runSharedToDedicatedTransfer(opts?: SharedTransferOptions): Promise<TransferEvidence>;
|
|
131
|
+
export declare function buildPgServiceFile(sourceDsn: string, targetDsn: string): string;
|
|
132
|
+
export declare function expectedLedgerRows(through: string): AppliedStorageMigration[];
|
|
133
|
+
export declare function assertExactLedger(rows: AppliedStorageMigration[], through: string, label: string): AppliedStorageMigration[];
|
|
134
|
+
export declare function assertLedgerContainsExpected(rows: AppliedStorageMigration[], through: string, label: string): AppliedStorageMigration[];
|
|
135
|
+
export declare function pgDumpCommand(archivePath: string): readonly string[];
|
|
136
|
+
export declare function pgRestoreCommand(archivePath: string): readonly string[];
|
|
@@ -15,9 +15,12 @@ export declare class SqliteLoopStorage implements LoopStorageContract {
|
|
|
15
15
|
getLoop(...args: StoreMethod<"getLoop">["args"]): Promise<import("../../types.js").Loop | undefined>;
|
|
16
16
|
findLoopByName(...args: StoreMethod<"findLoopByName">["args"]): Promise<import("../../types.js").Loop | undefined>;
|
|
17
17
|
requireLoop(...args: StoreMethod<"requireLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
18
|
+
requireUniqueLoop(...args: StoreMethod<"requireUniqueLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
18
19
|
listLoops(...args: StoreMethod<"listLoops">["args"]): Promise<import("../../types.js").Loop[]>;
|
|
19
20
|
dueLoops(...args: StoreMethod<"dueLoops">["args"]): Promise<import("../../types.js").Loop[]>;
|
|
20
21
|
updateLoop(...args: StoreMethod<"updateLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
22
|
+
advanceLoopIfCurrent(...args: StoreMethod<"advanceLoopIfCurrent">["args"]): Promise<import("../../types.js").Loop | undefined>;
|
|
23
|
+
tripCircuitBreakerIfCurrent(...args: StoreMethod<"tripCircuitBreakerIfCurrent">["args"]): Promise<import("../store.js").CircuitBreakerTransitionResult | undefined>;
|
|
21
24
|
renameLoop(...args: StoreMethod<"renameLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
22
25
|
archiveLoop(...args: StoreMethod<"archiveLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
23
26
|
unarchiveLoop(...args: StoreMethod<"unarchiveLoop">["args"]): Promise<import("../../types.js").Loop>;
|
|
@@ -27,6 +30,7 @@ export declare class SqliteLoopStorage implements LoopStorageContract {
|
|
|
27
30
|
upsertMigrationWorkflow(...args: StoreMethod<"upsertMigrationWorkflow">["args"]): Promise<import("../../types.js").WorkflowSpec>;
|
|
28
31
|
createWorkflow(...args: StoreMethod<"createWorkflow">["args"]): Promise<import("../../types.js").WorkflowSpec>;
|
|
29
32
|
getWorkflow(...args: StoreMethod<"getWorkflow">["args"]): Promise<import("../../types.js").WorkflowSpec | undefined>;
|
|
33
|
+
requireWorkflow(...args: StoreMethod<"requireWorkflow">["args"]): Promise<import("../../types.js").WorkflowSpec>;
|
|
30
34
|
listWorkflows(...args: StoreMethod<"listWorkflows">["args"]): Promise<import("../../types.js").WorkflowSpec[]>;
|
|
31
35
|
countWorkflows(...args: StoreMethod<"countWorkflows">["args"]): Promise<number>;
|
|
32
36
|
archiveWorkflow(...args: StoreMethod<"archiveWorkflow">["args"]): Promise<import("../../types.js").WorkflowSpec>;
|
|
@@ -44,6 +48,8 @@ export declare class SqliteLoopStorage implements LoopStorageContract {
|
|
|
44
48
|
admitWorkflowWorkItem(...args: StoreMethod<"admitWorkflowWorkItem">["args"]): Promise<import("../../types.js").WorkflowWorkItem>;
|
|
45
49
|
createGoal(...args: StoreMethod<"createGoal">["args"]): Promise<import("../goal/types.js").Goal>;
|
|
46
50
|
getGoal(...args: StoreMethod<"getGoal">["args"]): Promise<import("../goal/types.js").Goal | undefined>;
|
|
51
|
+
requireGoal(...args: StoreMethod<"requireGoal">["args"]): Promise<import("../goal/types.js").Goal>;
|
|
52
|
+
findGoalByContext(...args: StoreMethod<"findGoalByContext">["args"]): Promise<import("../goal/types.js").Goal | undefined>;
|
|
47
53
|
listGoals(...args: StoreMethod<"listGoals">["args"]): Promise<import("../goal/types.js").Goal[]>;
|
|
48
54
|
createGoalPlanNodes(...args: StoreMethod<"createGoalPlanNodes">["args"]): Promise<import("../goal/types.js").GoalPlanNode[]>;
|
|
49
55
|
listGoalPlanNodes(...args: StoreMethod<"listGoalPlanNodes">["args"]): Promise<import("../goal/types.js").GoalPlanNode[]>;
|
|
@@ -53,26 +59,33 @@ export declare class SqliteLoopStorage implements LoopStorageContract {
|
|
|
53
59
|
listGoalRuns(...args: StoreMethod<"listGoalRuns">["args"]): Promise<import("../goal/types.js").GoalRun[]>;
|
|
54
60
|
createWorkflowRun(...args: StoreMethod<"createWorkflowRun">["args"]): Promise<import("../../types.js").WorkflowRun>;
|
|
55
61
|
getWorkflowRun(...args: StoreMethod<"getWorkflowRun">["args"]): Promise<import("../../types.js").WorkflowRun | undefined>;
|
|
62
|
+
requireWorkflowRun(...args: StoreMethod<"requireWorkflowRun">["args"]): Promise<import("../../types.js").WorkflowRun>;
|
|
56
63
|
listWorkflowRuns(...args: StoreMethod<"listWorkflowRuns">["args"]): Promise<import("../../types.js").WorkflowRun[]>;
|
|
57
64
|
listWorkflowStepRuns(...args: StoreMethod<"listWorkflowStepRuns">["args"]): Promise<import("../../types.js").WorkflowStepRun[]>;
|
|
58
65
|
getWorkflowStepRun(...args: StoreMethod<"getWorkflowStepRun">["args"]): Promise<import("../../types.js").WorkflowStepRun | undefined>;
|
|
66
|
+
isWorkflowRunTerminal(...args: StoreMethod<"isWorkflowRunTerminal">["args"]): Promise<boolean>;
|
|
59
67
|
startWorkflowStepRun(...args: StoreMethod<"startWorkflowStepRun">["args"]): Promise<import("../../types.js").WorkflowStepRun>;
|
|
68
|
+
markWorkflowStepPid(...args: StoreMethod<"markWorkflowStepPid">["args"]): Promise<import("../../types.js").WorkflowStepRun>;
|
|
69
|
+
recordWorkflowStepProgress(...args: StoreMethod<"recordWorkflowStepProgress">["args"]): Promise<import("../../types.js").WorkflowStepRun>;
|
|
60
70
|
recoverWorkflowRun(...args: StoreMethod<"recoverWorkflowRun">["args"]): Promise<{
|
|
61
71
|
run: import("../../types.js").WorkflowRun;
|
|
62
72
|
recoveredSteps: import("../../types.js").WorkflowStepRun[];
|
|
63
73
|
}>;
|
|
64
74
|
finalizeWorkflowStepRun(...args: StoreMethod<"finalizeWorkflowStepRun">["args"]): Promise<import("../../types.js").WorkflowStepRun>;
|
|
75
|
+
skipWorkflowStepRun(...args: StoreMethod<"skipWorkflowStepRun">["args"]): Promise<import("../../types.js").WorkflowStepRun>;
|
|
65
76
|
finalizeWorkflowRun(...args: StoreMethod<"finalizeWorkflowRun">["args"]): Promise<import("../../types.js").WorkflowRun>;
|
|
66
|
-
appendWorkflowEvent(...args: StoreMethod<"appendWorkflowEvent">["args"]): Promise<import("../../types.js").
|
|
67
|
-
listWorkflowEvents(...args: StoreMethod<"listWorkflowEvents">["args"]): Promise<import("../../types.js").
|
|
77
|
+
appendWorkflowEvent(...args: StoreMethod<"appendWorkflowEvent">["args"]): Promise<import("../../types.js").StoredWorkflowEvent>;
|
|
78
|
+
listWorkflowEvents(...args: StoreMethod<"listWorkflowEvents">["args"]): Promise<import("../../types.js").StoredWorkflowEvent[]>;
|
|
68
79
|
recordRunProcess(...args: StoreMethod<"recordRunProcess">["args"]): Promise<import("../../types.js").LoopRun | undefined>;
|
|
69
80
|
createSkippedRun(...args: StoreMethod<"createSkippedRun">["args"]): Promise<import("../../types.js").LoopRun>;
|
|
70
81
|
getRun(...args: StoreMethod<"getRun">["args"]): Promise<import("../../types.js").LoopRun | undefined>;
|
|
71
82
|
getRunBySlot(...args: StoreMethod<"getRunBySlot">["args"]): Promise<import("../../types.js").LoopRun | undefined>;
|
|
83
|
+
nextRetryableRun(...args: StoreMethod<"nextRetryableRun">["args"]): Promise<import("../../types.js").LoopRun | undefined>;
|
|
72
84
|
claimRun(...args: StoreMethod<"claimRun">["args"]): Promise<import("../store.js").ClaimRunResult | undefined>;
|
|
73
85
|
finalizeRun(...args: StoreMethod<"finalizeRun">["args"]): Promise<import("../../types.js").LoopRun>;
|
|
74
86
|
heartbeatRunLease(...args: StoreMethod<"heartbeatRunLease">["args"]): Promise<import("../../types.js").LoopRun | undefined>;
|
|
75
87
|
listRuns(...args: StoreMethod<"listRuns">["args"]): Promise<import("../../types.js").LoopRun[]>;
|
|
88
|
+
listRecoveredLeaseRunsPage(...args: StoreMethod<"listRecoveredLeaseRunsPage">["args"]): Promise<import("../store.js").RecoveredLeaseRunPage>;
|
|
76
89
|
writeRunReceipt(...args: StoreMethod<"writeRunReceipt">["args"]): Promise<import("../../types.js").RunReceipt>;
|
|
77
90
|
getRunReceipt(...args: StoreMethod<"getRunReceipt">["args"]): Promise<import("../../types.js").RunReceipt | undefined>;
|
|
78
91
|
listRunReceipts(...args: StoreMethod<"listRunReceipts">["args"]): Promise<import("../../types.js").RunReceipt[]>;
|