@pgflow/core 0.0.5 → 0.0.7
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 → dist/CHANGELOG.md} +6 -0
- package/package.json +8 -5
- package/__tests__/mocks/index.ts +0 -1
- package/__tests__/mocks/postgres.ts +0 -37
- package/__tests__/types/PgflowSqlClient.test-d.ts +0 -59
- package/docs/options_for_flow_and_steps.md +0 -75
- package/docs/pgflow-blob-reference-system.md +0 -179
- package/eslint.config.cjs +0 -22
- package/example-flow.mermaid +0 -5
- package/example-flow.svg +0 -1
- package/flow-lifecycle.mermaid +0 -83
- package/flow-lifecycle.svg +0 -1
- package/out-tsc/vitest/__tests__/mocks/index.d.ts +0 -2
- package/out-tsc/vitest/__tests__/mocks/index.d.ts.map +0 -1
- package/out-tsc/vitest/__tests__/mocks/postgres.d.ts +0 -15
- package/out-tsc/vitest/__tests__/mocks/postgres.d.ts.map +0 -1
- package/out-tsc/vitest/__tests__/types/PgflowSqlClient.test-d.d.ts +0 -2
- package/out-tsc/vitest/__tests__/types/PgflowSqlClient.test-d.d.ts.map +0 -1
- package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +0 -1
- package/out-tsc/vitest/vite.config.d.ts +0 -3
- package/out-tsc/vitest/vite.config.d.ts.map +0 -1
- package/pkgs/core/dist/index.js +0 -54
- package/pkgs/core/dist/pkgs/core/LICENSE.md +0 -660
- package/pkgs/core/dist/pkgs/core/README.md +0 -373
- package/pkgs/dsl/dist/index.js +0 -123
- package/pkgs/dsl/dist/pkgs/dsl/README.md +0 -11
- package/pkgs/edge-worker/dist/index.js +0 -953
- package/pkgs/edge-worker/dist/index.js.map +0 -7
- package/pkgs/edge-worker/dist/pkgs/edge-worker/LICENSE.md +0 -660
- package/pkgs/edge-worker/dist/pkgs/edge-worker/README.md +0 -46
- package/pkgs/example-flows/dist/index.js +0 -152
- package/pkgs/example-flows/dist/pkgs/example-flows/README.md +0 -11
- package/project.json +0 -125
- package/prompts/architect.md +0 -87
- package/prompts/condition.md +0 -33
- package/prompts/declarative_sql.md +0 -15
- package/prompts/deps_in_payloads.md +0 -20
- package/prompts/dsl-multi-arg.ts +0 -48
- package/prompts/dsl-options.md +0 -39
- package/prompts/dsl-single-arg.ts +0 -51
- package/prompts/dsl-two-arg.ts +0 -61
- package/prompts/dsl.md +0 -119
- package/prompts/fanout_steps.md +0 -1
- package/prompts/json_schemas.md +0 -36
- package/prompts/one_shot.md +0 -286
- package/prompts/pgtap.md +0 -229
- package/prompts/sdk.md +0 -59
- package/prompts/step_types.md +0 -62
- package/prompts/versioning.md +0 -16
- package/queries/fail_permanently.sql +0 -17
- package/queries/fail_task.sql +0 -21
- package/queries/sequential.sql +0 -47
- package/queries/two_roots_left_right.sql +0 -59
- package/schema.svg +0 -1
- package/scripts/colorize-pgtap-output.awk +0 -72
- package/scripts/run-test-with-colors +0 -5
- package/scripts/watch-test +0 -7
- package/src/PgflowSqlClient.ts +0 -85
- package/src/database-types.ts +0 -759
- package/src/index.ts +0 -3
- package/src/types.ts +0 -103
- package/supabase/config.toml +0 -32
- package/supabase/seed.sql +0 -202
- package/supabase/tests/add_step/basic_step_addition.test.sql +0 -29
- package/supabase/tests/add_step/circular_dependency.test.sql +0 -21
- package/supabase/tests/add_step/flow_isolation.test.sql +0 -26
- package/supabase/tests/add_step/idempotent_step_addition.test.sql +0 -20
- package/supabase/tests/add_step/invalid_step_slug.test.sql +0 -16
- package/supabase/tests/add_step/nonexistent_dependency.test.sql +0 -16
- package/supabase/tests/add_step/nonexistent_flow.test.sql +0 -13
- package/supabase/tests/add_step/options.test.sql +0 -66
- package/supabase/tests/add_step/step_with_dependency.test.sql +0 -36
- package/supabase/tests/add_step/step_with_multiple_dependencies.test.sql +0 -46
- package/supabase/tests/complete_task/archives_message.test.sql +0 -67
- package/supabase/tests/complete_task/completes_run_if_no_more_remaining_steps.test.sql +0 -62
- package/supabase/tests/complete_task/completes_task_and_updates_dependents.test.sql +0 -64
- package/supabase/tests/complete_task/decrements_remaining_steps_if_completing_step.test.sql +0 -62
- package/supabase/tests/complete_task/saves_output_when_completing_run.test.sql +0 -57
- package/supabase/tests/create_flow/flow_creation.test.sql +0 -27
- package/supabase/tests/create_flow/idempotency_and_duplicates.test.sql +0 -26
- package/supabase/tests/create_flow/invalid_slug.test.sql +0 -13
- package/supabase/tests/create_flow/options.test.sql +0 -57
- package/supabase/tests/fail_task/exponential_backoff.test.sql +0 -70
- package/supabase/tests/fail_task/mark_as_failed_if_no_retries_available.test.sql +0 -49
- package/supabase/tests/fail_task/respects_flow_retry_settings.test.sql +0 -48
- package/supabase/tests/fail_task/respects_step_retry_settings.test.sql +0 -48
- package/supabase/tests/fail_task/retry_task_if_retries_available.test.sql +0 -39
- package/supabase/tests/is_valid_slug.test.sql +0 -72
- package/supabase/tests/poll_for_tasks/builds_proper_input_from_deps_outputs.test.sql +0 -35
- package/supabase/tests/poll_for_tasks/hides_messages.test.sql +0 -35
- package/supabase/tests/poll_for_tasks/increments_attempts_count.test.sql +0 -35
- package/supabase/tests/poll_for_tasks/multiple_task_processing.test.sql +0 -24
- package/supabase/tests/poll_for_tasks/polls_only_queued_tasks.test.sql +0 -35
- package/supabase/tests/poll_for_tasks/reads_messages.test.sql +0 -38
- package/supabase/tests/poll_for_tasks/returns_no_tasks_if_no_step_task_for_message.test.sql +0 -34
- package/supabase/tests/poll_for_tasks/returns_no_tasks_if_queue_is_empty.test.sql +0 -19
- package/supabase/tests/poll_for_tasks/returns_no_tasks_when_qty_set_to_0.test.sql +0 -22
- package/supabase/tests/poll_for_tasks/sets_vt_delay_based_on_opt_timeout.test.sql +0 -41
- package/supabase/tests/poll_for_tasks/tasks_reapppear_if_not_processed_in_time.test.sql +0 -59
- package/supabase/tests/start_flow/creates_run.test.sql +0 -24
- package/supabase/tests/start_flow/creates_step_states_for_all_steps.test.sql +0 -25
- package/supabase/tests/start_flow/creates_step_tasks_only_for_root_steps.test.sql +0 -54
- package/supabase/tests/start_flow/returns_run.test.sql +0 -24
- package/supabase/tests/start_flow/sends_messages_on_the_queue.test.sql +0 -50
- package/supabase/tests/start_flow/starts_only_root_steps.test.sql +0 -21
- package/supabase/tests/step_dsl_is_idempotent.test.sql +0 -34
- package/tsconfig.json +0 -16
- package/tsconfig.lib.json +0 -26
- package/tsconfig.spec.json +0 -35
- package/vite.config.ts +0 -57
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
begin;
|
|
2
|
-
select plan(1);
|
|
3
|
-
select pgflow_tests.reset_db();
|
|
4
|
-
select pgflow_tests.setup_flow('sequential');
|
|
5
|
-
|
|
6
|
-
-- SETUP: Start a flow run
|
|
7
|
-
select pgflow.start_flow('sequential', '"hello"'::jsonb);
|
|
8
|
-
|
|
9
|
-
-- TEST: Only root steps should be started
|
|
10
|
-
-- (Root steps are steps with no dependencies)
|
|
11
|
-
select results_eq(
|
|
12
|
-
$$ SELECT step_slug
|
|
13
|
-
FROM pgflow.step_states
|
|
14
|
-
WHERE flow_slug = 'sequential'
|
|
15
|
-
AND status = 'started' $$,
|
|
16
|
-
$$ VALUES ('first') $$,
|
|
17
|
-
'Only root steps should be started'
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
select finish();
|
|
21
|
-
rollback;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
begin;
|
|
2
|
-
select plan(2);
|
|
3
|
-
select pgflow_tests.reset_db();
|
|
4
|
-
|
|
5
|
-
-- Create a simple flow first
|
|
6
|
-
select pgflow.create_flow('test_flow');
|
|
7
|
-
select pgflow.add_step('test_flow', 'step_one');
|
|
8
|
-
select pgflow.add_step('test_flow', 'step_two', array['step_one']);
|
|
9
|
-
select
|
|
10
|
-
pgflow.add_step('test_flow', 'step_three', array['step_one', 'step_two']);
|
|
11
|
-
|
|
12
|
-
-- Run the same flow creation and step addition sequence again to verify those are idempotent
|
|
13
|
-
select pgflow.create_flow('test_flow');
|
|
14
|
-
select pgflow.add_step('test_flow', 'step_one');
|
|
15
|
-
select pgflow.add_step('test_flow', 'step_two', array['step_one']);
|
|
16
|
-
select
|
|
17
|
-
pgflow.add_step('test_flow', 'step_three', array['step_one', 'step_two']);
|
|
18
|
-
|
|
19
|
-
-- Check the state after first sequence
|
|
20
|
-
select results_eq(
|
|
21
|
-
$$ SELECT step_slug FROM pgflow.steps WHERE flow_slug = 'test_flow' ORDER BY step_slug $$,
|
|
22
|
-
array['step_one', 'step_three', 'step_two']::text [],
|
|
23
|
-
'No duplicated steps were created'
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
-- Verify the state hasn't changed
|
|
27
|
-
select results_eq(
|
|
28
|
-
$$ SELECT DISTINCT flow_slug FROM pgflow.flows $$,
|
|
29
|
-
array['test_flow']::text [],
|
|
30
|
-
'No duplicated flows were created'
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
select * from finish();
|
|
34
|
-
rollback;
|
package/tsconfig.json
DELETED
package/tsconfig.lib.json
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "dist",
|
|
5
|
-
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
|
|
6
|
-
"emitDeclarationOnly": false,
|
|
7
|
-
"types": ["node", "vite/client"],
|
|
8
|
-
"allowImportingTsExtensions": true
|
|
9
|
-
},
|
|
10
|
-
"include": ["src/**/*.ts"],
|
|
11
|
-
"references": [{ "path": "../dsl/tsconfig.lib.json" }],
|
|
12
|
-
"exclude": [
|
|
13
|
-
"vite.config.ts",
|
|
14
|
-
"vite.config.mts",
|
|
15
|
-
"vitest.config.ts",
|
|
16
|
-
"vitest.config.mts",
|
|
17
|
-
"src/**/*.test.ts",
|
|
18
|
-
"src/**/*.spec.ts",
|
|
19
|
-
"src/**/*.test.tsx",
|
|
20
|
-
"src/**/*.spec.tsx",
|
|
21
|
-
"src/**/*.test.js",
|
|
22
|
-
"src/**/*.spec.js",
|
|
23
|
-
"src/**/*.test.jsx",
|
|
24
|
-
"src/**/*.spec.jsx"
|
|
25
|
-
]
|
|
26
|
-
}
|
package/tsconfig.spec.json
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.base.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "./out-tsc/vitest",
|
|
5
|
-
"types": [
|
|
6
|
-
"vitest/globals",
|
|
7
|
-
"vitest/importMeta",
|
|
8
|
-
"vite/client",
|
|
9
|
-
"node",
|
|
10
|
-
"vitest"
|
|
11
|
-
],
|
|
12
|
-
"allowImportingTsExtensions": true
|
|
13
|
-
},
|
|
14
|
-
"include": [
|
|
15
|
-
"vite.config.ts",
|
|
16
|
-
"vite.config.mts",
|
|
17
|
-
"vitest.config.ts",
|
|
18
|
-
"vitest.config.mts",
|
|
19
|
-
"src/**/*.test.ts",
|
|
20
|
-
"src/**/*.spec.ts",
|
|
21
|
-
"src/**/*.test.tsx",
|
|
22
|
-
"src/**/*.spec.tsx",
|
|
23
|
-
"src/**/*.test.js",
|
|
24
|
-
"src/**/*.spec.js",
|
|
25
|
-
"src/**/*.test.jsx",
|
|
26
|
-
"src/**/*.spec.jsx",
|
|
27
|
-
"src/**/*.d.ts",
|
|
28
|
-
"__tests__/**/*.ts"
|
|
29
|
-
],
|
|
30
|
-
"references": [
|
|
31
|
-
{
|
|
32
|
-
"path": "./tsconfig.lib.json"
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
}
|
package/vite.config.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/// <reference types='vitest' />
|
|
2
|
-
import { defineConfig } from 'vite';
|
|
3
|
-
import dts from 'vite-plugin-dts';
|
|
4
|
-
import * as path from 'path';
|
|
5
|
-
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
6
|
-
|
|
7
|
-
export default defineConfig({
|
|
8
|
-
root: __dirname,
|
|
9
|
-
cacheDir: '../../node_modules/.vite/pkgs/core',
|
|
10
|
-
plugins: [
|
|
11
|
-
tsconfigPaths(),
|
|
12
|
-
dts({
|
|
13
|
-
entryRoot: 'src',
|
|
14
|
-
tsconfigPath: path.join(__dirname, 'tsconfig.lib.json'),
|
|
15
|
-
}),
|
|
16
|
-
],
|
|
17
|
-
// Uncomment this if you are using workers.
|
|
18
|
-
// worker: {
|
|
19
|
-
// plugins: [ nxViteTsPaths() ],
|
|
20
|
-
// },
|
|
21
|
-
// Configuration for building your library.
|
|
22
|
-
// See: https://vitejs.dev/guide/build.html#library-mode
|
|
23
|
-
build: {
|
|
24
|
-
outDir: './dist',
|
|
25
|
-
emptyOutDir: true,
|
|
26
|
-
reportCompressedSize: true,
|
|
27
|
-
commonjsOptions: {
|
|
28
|
-
transformMixedEsModules: true,
|
|
29
|
-
},
|
|
30
|
-
lib: {
|
|
31
|
-
// Could also be a dictionary or array of multiple entry points.
|
|
32
|
-
entry: 'src/index.ts',
|
|
33
|
-
name: 'core',
|
|
34
|
-
fileName: 'index',
|
|
35
|
-
// Change this to the formats you want to support.
|
|
36
|
-
// Don't forget to update your package.json as well.
|
|
37
|
-
formats: ['es'],
|
|
38
|
-
},
|
|
39
|
-
rollupOptions: {
|
|
40
|
-
// External packages that should not be bundled into your library.
|
|
41
|
-
external: [],
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
test: {
|
|
45
|
-
watch: false,
|
|
46
|
-
globals: true,
|
|
47
|
-
environment: 'node',
|
|
48
|
-
include: [
|
|
49
|
-
'{src,__tests__}/**/*.{test,spec,test-d,spec-d}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
|
|
50
|
-
],
|
|
51
|
-
reporters: ['default'],
|
|
52
|
-
coverage: {
|
|
53
|
-
reportsDirectory: './test-output/vitest/coverage',
|
|
54
|
-
provider: 'v8',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
});
|