@solidactions/sdk 0.1.1 → 0.2.0
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 +25 -4
- package/dist/src/cli/cli.js +0 -0
- package/dist/src/testing/index.d.ts +13 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +19 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/mock_server.d.ts +134 -0
- package/dist/src/testing/mock_server.d.ts.map +1 -0
- package/dist/src/testing/mock_server.js +613 -0
- package/dist/src/testing/mock_server.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/sdk-reference.md +1207 -0
- package/package.json +6 -1
- package/.claude/settings.local.json +0 -7
- package/dist/dbos-config.schema.json +0 -132
- package/dist/src/cli/commands.d.ts +0 -3
- package/dist/src/cli/commands.d.ts.map +0 -1
- package/dist/src/cli/commands.js +0 -46
- package/dist/src/cli/commands.js.map +0 -1
- package/dist/src/datasource.d.ts +0 -109
- package/dist/src/datasource.d.ts.map +0 -1
- package/dist/src/datasource.js +0 -204
- package/dist/src/datasource.js.map +0 -1
- package/dist/src/dbos-executor.d.ts +0 -189
- package/dist/src/dbos-executor.d.ts.map +0 -1
- package/dist/src/dbos-executor.js +0 -817
- package/dist/src/dbos-executor.js.map +0 -1
- package/dist/src/dbos.d.ts +0 -519
- package/dist/src/dbos.d.ts.map +0 -1
- package/dist/src/dbos.js +0 -1282
- package/dist/src/dbos.js.map +0 -1
- package/dist/src/debouncer.d.ts +0 -33
- package/dist/src/debouncer.d.ts.map +0 -1
- package/dist/src/debouncer.js +0 -170
- package/dist/src/debouncer.js.map +0 -1
- package/dist/src/scheduler/crontab.d.ts +0 -14
- package/dist/src/scheduler/crontab.d.ts.map +0 -1
- package/dist/src/scheduler/crontab.js +0 -308
- package/dist/src/scheduler/crontab.js.map +0 -1
- package/dist/src/scheduler/scheduler.d.ts +0 -41
- package/dist/src/scheduler/scheduler.d.ts.map +0 -1
- package/dist/src/scheduler/scheduler.js +0 -165
- package/dist/src/scheduler/scheduler.js.map +0 -1
- package/dist/src/wfqueue.d.ts +0 -64
- package/dist/src/wfqueue.d.ts.map +0 -1
- package/dist/src/wfqueue.js +0 -147
- package/dist/src/wfqueue.js.map +0 -1
- package/docs/api-schema.md +0 -1441
- package/docs/migration-guide.md +0 -460
- package/docs/phase-14-changes.md +0 -156
- package/docs/solidsteps-ai-prompt.md +0 -534
- package/solidactions-ai-prompt.md +0 -1504
package/README.md
CHANGED
|
@@ -165,11 +165,32 @@ await client.cancelWorkflow(workflowId);
|
|
|
165
165
|
await client.resumeWorkflow(workflowId);
|
|
166
166
|
```
|
|
167
167
|
|
|
168
|
+
## Deploying Workflows
|
|
169
|
+
|
|
170
|
+
Use the [`@solidactions/cli`](https://www.npmjs.com/package/@solidactions/cli) to deploy your workflows:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
npm install -g @solidactions/cli
|
|
174
|
+
|
|
175
|
+
# Authenticate
|
|
176
|
+
solidactions init <api-key>
|
|
177
|
+
|
|
178
|
+
# Deploy your project
|
|
179
|
+
solidactions deploy <project-name> <path>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
The CLI handles project creation, source upload, Docker builds, environment variables, and scheduling. See the [CLI repo](https://github.com/SolidActions/solidactions-cli) for full documentation.
|
|
183
|
+
|
|
168
184
|
## Documentation
|
|
169
185
|
|
|
170
|
-
See `
|
|
186
|
+
See [`docs/sdk-reference.md`](docs/sdk-reference.md) for comprehensive SDK documentation including:
|
|
171
187
|
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
188
|
+
- Lifecycle: `SolidActions.run()`, `setConfig()`/`launch()`/`shutdown()`, `getInput()`
|
|
189
|
+
- Workflows: registration, determinism rules, IDs and idempotency, timeouts, child workflows
|
|
190
|
+
- Steps: `runStep()`, configurable retries, parallel execution with `Promise.allSettled()`
|
|
191
|
+
- Durable primitives: `sleep()`, `now()`, `randomUUID()`
|
|
192
|
+
- Communication: `send()`/`recv()` messaging, `setEvent()`/`getEvent()` events, streaming, `respond()`
|
|
193
|
+
- Workflow handles and management: `listWorkflows()`, `cancelWorkflow()`, `forkWorkflow()`
|
|
194
|
+
- SolidActionsClient: standalone HTTP client for external workflow queries
|
|
195
|
+
- Configuration, custom serialization, testing, and error classes
|
|
175
196
|
- Recovery and versioning
|
package/dist/src/cli/cli.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SolidActions SDK Testing Utilities
|
|
3
|
+
*
|
|
4
|
+
* Import from '@solidactions/sdk/testing' to use the mock server
|
|
5
|
+
* for local development and testing without a real backend.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { createMockServer } from '@solidactions/sdk/testing';
|
|
9
|
+
* const server = await createMockServer();
|
|
10
|
+
* console.log(server.baseUrl); // http://127.0.0.1:<port>
|
|
11
|
+
*/
|
|
12
|
+
export { MockHttpServer, MockStore, createMockServer } from './mock_server';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SolidActions SDK Testing Utilities
|
|
4
|
+
*
|
|
5
|
+
* Import from '@solidactions/sdk/testing' to use the mock server
|
|
6
|
+
* for local development and testing without a real backend.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* import { createMockServer } from '@solidactions/sdk/testing';
|
|
10
|
+
* const server = await createMockServer();
|
|
11
|
+
* console.log(server.baseUrl); // http://127.0.0.1:<port>
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.createMockServer = exports.MockStore = exports.MockHttpServer = void 0;
|
|
15
|
+
var mock_server_1 = require("./mock_server");
|
|
16
|
+
Object.defineProperty(exports, "MockHttpServer", { enumerable: true, get: function () { return mock_server_1.MockHttpServer; } });
|
|
17
|
+
Object.defineProperty(exports, "MockStore", { enumerable: true, get: function () { return mock_server_1.MockStore; } });
|
|
18
|
+
Object.defineProperty(exports, "createMockServer", { enumerable: true, get: function () { return mock_server_1.createMockServer; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,6CAA4E;AAAnE,6GAAA,cAAc,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,+GAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock HTTP Server for SolidActions SDK Testing & Local Development
|
|
3
|
+
*
|
|
4
|
+
* Provides an in-memory HTTP server that implements the SolidActions API
|
|
5
|
+
* for testing and running workflows locally without a real backend.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { createMockServer } from '@solidactions/sdk/testing';
|
|
9
|
+
* const server = await createMockServer();
|
|
10
|
+
* // server.baseUrl is now available (e.g., http://127.0.0.1:12345)
|
|
11
|
+
*/
|
|
12
|
+
interface MockWorkflow {
|
|
13
|
+
workflowUUID: string;
|
|
14
|
+
status: string;
|
|
15
|
+
workflowName: string;
|
|
16
|
+
workflowClassName: string;
|
|
17
|
+
workflowConfigName: string;
|
|
18
|
+
authenticatedUser: string;
|
|
19
|
+
assumedRole: string;
|
|
20
|
+
authenticatedRoles: string[];
|
|
21
|
+
request: object;
|
|
22
|
+
executorId: string;
|
|
23
|
+
applicationVersion?: string;
|
|
24
|
+
applicationID: string;
|
|
25
|
+
input: string | null;
|
|
26
|
+
output: string | null;
|
|
27
|
+
error: string | null;
|
|
28
|
+
createdAt: number;
|
|
29
|
+
updatedAt: number;
|
|
30
|
+
queueName?: string;
|
|
31
|
+
recoveryAttempts: number;
|
|
32
|
+
timeoutMS?: number;
|
|
33
|
+
deadlineEpochMS?: number;
|
|
34
|
+
deduplicationID?: string;
|
|
35
|
+
priority: number;
|
|
36
|
+
queuePartitionKey?: string;
|
|
37
|
+
forkedFrom?: string;
|
|
38
|
+
}
|
|
39
|
+
interface MockOperation {
|
|
40
|
+
workflowUUID: string;
|
|
41
|
+
functionId?: number;
|
|
42
|
+
functionID?: number;
|
|
43
|
+
functionName: string;
|
|
44
|
+
output: string | null;
|
|
45
|
+
error: string | null;
|
|
46
|
+
childWorkflowId?: string | null;
|
|
47
|
+
childWorkflowID?: string | null;
|
|
48
|
+
startedAtEpochMs?: number;
|
|
49
|
+
startTimeEpochMs?: number;
|
|
50
|
+
completedAtEpochMs?: number;
|
|
51
|
+
endTimeEpochMs?: number;
|
|
52
|
+
checkConflict?: boolean;
|
|
53
|
+
}
|
|
54
|
+
interface MockMessage {
|
|
55
|
+
destinationUUID: string;
|
|
56
|
+
topic: string | null;
|
|
57
|
+
message: string | null;
|
|
58
|
+
consumed: boolean;
|
|
59
|
+
}
|
|
60
|
+
interface MockEvent {
|
|
61
|
+
workflowUUID: string;
|
|
62
|
+
key: string;
|
|
63
|
+
value: string | null;
|
|
64
|
+
}
|
|
65
|
+
interface MockStream {
|
|
66
|
+
workflowUUID: string;
|
|
67
|
+
key: string;
|
|
68
|
+
values: unknown[];
|
|
69
|
+
closed: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* In-memory storage for mock server
|
|
73
|
+
*/
|
|
74
|
+
export declare class MockStore {
|
|
75
|
+
workflows: Map<string, MockWorkflow>;
|
|
76
|
+
operations: Map<string, MockOperation[]>;
|
|
77
|
+
messages: MockMessage[];
|
|
78
|
+
events: Map<string, MockEvent>;
|
|
79
|
+
streams: Map<string, MockStream>;
|
|
80
|
+
eventDispatch: Map<string, object>;
|
|
81
|
+
clear(): void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Mock HTTP Server for testing
|
|
85
|
+
*/
|
|
86
|
+
export declare class MockHttpServer {
|
|
87
|
+
private server;
|
|
88
|
+
private port;
|
|
89
|
+
store: MockStore;
|
|
90
|
+
requestLog: Array<{
|
|
91
|
+
method: string;
|
|
92
|
+
path: string;
|
|
93
|
+
body?: unknown;
|
|
94
|
+
}>;
|
|
95
|
+
constructor(port?: number);
|
|
96
|
+
start(): Promise<number>;
|
|
97
|
+
stop(): Promise<void>;
|
|
98
|
+
get baseUrl(): string;
|
|
99
|
+
private handleRequest;
|
|
100
|
+
private readBody;
|
|
101
|
+
private route;
|
|
102
|
+
private createWorkflow;
|
|
103
|
+
private getWorkflow;
|
|
104
|
+
private listWorkflows;
|
|
105
|
+
private recordOutput;
|
|
106
|
+
private recordError;
|
|
107
|
+
private getResult;
|
|
108
|
+
private setWorkflowStatus;
|
|
109
|
+
private cancelWorkflow;
|
|
110
|
+
private resumeWorkflow;
|
|
111
|
+
private checkCancelled;
|
|
112
|
+
private getPendingWorkflows;
|
|
113
|
+
private forkWorkflow;
|
|
114
|
+
private getOperations;
|
|
115
|
+
private getOperation;
|
|
116
|
+
private recordOperation;
|
|
117
|
+
private sendMessage;
|
|
118
|
+
private receiveMessage;
|
|
119
|
+
private setEvent;
|
|
120
|
+
private getEvent;
|
|
121
|
+
private startQueuedWorkflows;
|
|
122
|
+
private getDeduplicatedWorkflow;
|
|
123
|
+
private writeStream;
|
|
124
|
+
private readStream;
|
|
125
|
+
private closeStream;
|
|
126
|
+
private getEventDispatch;
|
|
127
|
+
private upsertEventDispatch;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Helper function to create and start a mock server
|
|
131
|
+
*/
|
|
132
|
+
export declare function createMockServer(port?: number): Promise<MockHttpServer>;
|
|
133
|
+
export {};
|
|
134
|
+
//# sourceMappingURL=mock_server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock_server.d.ts","sourceRoot":"","sources":["../../../src/testing/mock_server.ts"],"names":[],"mappings":"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"}
|