Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
5a0a5cf
feat: add constructive-infra pgpm package (standalone, no RLS/grants)
pyramation Jun 8, 2026
68a782f
feat: add proper pgpm module scaffolding (package.json, Makefile, .np…
pyramation Jun 8, 2026
45c8d90
pkgs
pyramation Jun 8, 2026
63d3dbe
fix: update constructive-infra with dependency resolution and metasch…
pyramation Jun 8, 2026
39d0522
feat: add constructive-infra-services package for MetaSchema registra…
pyramation Jun 8, 2026
7784149
feat: add pgpm integration test workflow + fix type revert SQL
pyramation Jun 8, 2026
0d22dac
feat: add compute-worker, compute-service, 3-tier dev setup, and skills
pyramation Jun 8, 2026
4fb2c9d
fix: add pgpm install step before deploy (resolves missing extension …
pyramation Jun 8, 2026
80ff516
feat: add make status and make verify-platform commands
pyramation Jun 8, 2026
b3eded2
updates
pyramation Jun 8, 2026
b750aeb
chore: remove pgpm install steps (extensions now committed to repo)
pyramation Jun 8, 2026
d58708d
feat: move function seeds into pgpm fixture (no manual seed step)
pyramation Jun 8, 2026
e9f376d
refactor: extract seed fixture into constructive-infra-seed package
pyramation Jun 8, 2026
5e8e3e9
fix: remove generated function deps from compute-service
pyramation Jun 8, 2026
dc97639
feat: add secret definitions seed + env checker + required_secrets/co…
pyramation Jun 8, 2026
9119928
feat: add make up/down lifecycle + make up:email-job/down:email-job
pyramation Jun 8, 2026
d469381
fix: filter non-Node functions, add port summary, respect env var ove…
pyramation Jun 8, 2026
56a6a34
feat: add www/ platform UI + default namespace seed + make up:www
pyramation Jun 8, 2026
5f6d473
fix: add missing tsconfig.app.json and tsconfig.node.json for www/
pyramation Jun 8, 2026
e902cb1
feat: add commander + kubernetesjs with K8s tab for browser-based clu…
pyramation Jun 8, 2026
7664730
fix: parse ANSI colors to HTML + remove output height cap in Commands…
pyramation Jun 8, 2026
3c03a12
feat: add secret/config coverage check to email-job-up startup
pyramation Jun 8, 2026
f4b0a28
feat: add .env loader + DB-driven secret/config coverage to dev-compute
pyramation Jun 8, 2026
b984d0b
fix: add default partitions for invocations + namespace_events
pyramation Jun 8, 2026
72f94dc
feat: add secrets editor UI with .env read/write
pyramation Jun 8, 2026
9743294
feat: add inline Trigger button on Functions tab
pyramation Jun 8, 2026
19b6320
fix: make shell scripts bash 3 compatible (macOS)
pyramation Jun 8, 2026
ac2dd57
fix: use default database_id when job doesn't provide one
pyramation Jun 8, 2026
b73f70f
feat: add FBP integration, Flow Graph UI, and inline trigger enhancem…
pyramation Jun 8, 2026
ef13963
feat: bidirectional DB <-> .env secrets sync + per-function env injec…
pyramation Jun 8, 2026
42c6889
fix: update default payloads to match actual handler signatures
pyramation Jun 8, 2026
1cf0713
Merge pull request #55 from constructive-io/feat/secrets-sync
pyramation Jun 8, 2026
d8a6cc5
Merge pull request #53 from constructive-io/feat/fbp-flow-graph
pyramation Jun 8, 2026
ab91579
feat: add standalone pgpm modules (store, objects, fbp, storage)
pyramation Jun 8, 2026
ed3638e
feat: deploy all 5 base modules + add MinIO for storage
pyramation Jun 8, 2026
8ebee9f
fix: show actual pgpm deploy errors instead of swallowing them
pyramation Jun 8, 2026
8f85710
fix: add missing uuid-ossp/pgcrypto to module .control files
pyramation Jun 8, 2026
7c3475a
feat: replace React Flow with @fbp/graph-editor
pyramation Jun 8, 2026
764d623
fix: reorder pgpm.plan so procedures deploy after table columns
pyramation Jun 8, 2026
dc558b5
fix: add pgpm-database-jobs to constructive-infra requires
pyramation Jun 8, 2026
ece9b18
fix: create default partitions for range-partitioned tables
pyramation Jun 8, 2026
e7ad628
feat: restyle graph editor nodes to match React Flow visual
pyramation Jun 8, 2026
317cbd9
feat: auto-registration from handler.json + example templates
pyramation Jun 8, 2026
6986fea
feat: unified node palette — merge inner/outer sidebars into single s…
pyramation Jun 8, 2026
65b7295
fix: Jobs panel dynamically loads registered functions
pyramation Jun 8, 2026
fc860f5
feat: standardize node sizes and improve icon/title alignment
pyramation Jun 8, 2026
0ba29c2
feat: schematize functions with payloadSchema → FBP NodeDefinition
pyramation Jun 8, 2026
e83b82b
unify node sizes: rich function nodes now use same 240px width as com…
pyramation Jun 8, 2026
9b5661d
feat: auto-seed secrets/configs from handler.json + load .env values …
pyramation Jun 8, 2026
0ccf757
uniform sidebar items + fix icon alignment on canvas nodes
pyramation Jun 8, 2026
d6ea86e
refactor: use real upstream tables for secrets/configs, remove vibe-c…
pyramation Jun 8, 2026
c0b5054
Merge pull request #56 from constructive-io/feat/fbp-graph-editor
pyramation Jun 8, 2026
1c88750
Merge pull request #57 from constructive-io/feat/fbp-flow-graph
pyramation Jun 8, 2026
66bb873
Merge pull request #52 from constructive-io/feat/compute-worker
pyramation Jun 8, 2026
23809dc
refactor: use platform_secrets_set/get for production PGP encryption
pyramation Jun 8, 2026
6849b48
Merge pull request #58 from constructive-io/feat/secrets-encryption
pyramation Jun 8, 2026
ef52e1d
fix: set all JWT claims before calling upstream secret functions
pyramation Jun 8, 2026
06c93f7
Merge pull request #60 from constructive-io/feat/jwt-claims-standalone
pyramation Jun 8, 2026
a573041
fix: standalone compat for platform_secrets ON CONFLICT
pyramation Jun 8, 2026
6353e5a
refactor: move standalone compat patch to its own pgpm package
pyramation Jun 8, 2026
0d5f095
refactor: combine standalone compat patch into constructive-infra-seed
pyramation Jun 8, 2026
c7df5da
Merge pull request #61 from constructive-io/feat/standalone-secrets-c…
pyramation Jun 8, 2026
ce4b5ba
fix: add argument signatures to all function revert SQL
pyramation Jun 8, 2026
07638e2
Merge pull request #64 from constructive-io/fix/slicer-revert-signatures
pyramation Jun 8, 2026
cde70b9
feat: add constructive-compute-stubs pgpm package
pyramation Jun 10, 2026
32d554b
feat: replace constructive-compute-stubs with per-module packages
pyramation Jun 10, 2026
dfc1bd6
Merge pull request #67 from constructive-io/feat/compute-stubs
pyramation Jun 11, 2026
6b32711
feat: consolidated compute schema export from constructive-db
pyramation Jun 10, 2026
bcbf943
fix: remove constructive-services from MODULES (services deployed as …
pyramation Jun 11, 2026
5346b73
feat: dynamic schema resolution + org-scoped invocations for compute-…
pyramation Jun 11, 2026
5b44649
Merge pull request #74 from constructive-io/feat/compute-worker-dynam…
pyramation Jun 11, 2026
5b18ec6
fix: auto-generate function packages when missing
pyramation Jun 11, 2026
68d3b88
Merge pull request #75 from constructive-io/feat/auto-generate-fix
pyramation Jun 11, 2026
2b8736c
fix: update scripts to use constructive_compute_public for function d…
pyramation Jun 11, 2026
705a58f
Merge pull request #76 from constructive-io/feat/fix-compute-scripts
pyramation Jun 11, 2026
44a67b7
fix: graceful fallback when metaschema config tables are empty
pyramation Jun 11, 2026
68edb98
chore: update @pgpm extensions to 0.28.0
pyramation Jun 11, 2026
120f4a8
chore: update sliced pgpm packages from constructive-db
pyramation Jun 11, 2026
e38ffcf
chore: replace constructive-compute-fbp references with constructive-…
pyramation Jun 11, 2026
97e8d6c
chore: rename knative-job-example to node-example in skaffold
pyramation Jun 11, 2026
9ce30cf
chore: remove obsolete constructive-compute-fbp package
pyramation Jun 11, 2026
6c82f2e
Merge pull request #78 from constructive-io/feat/unprefixed-functions…
pyramation Jun 11, 2026
77e2ea5
fix: reorder pgpm.plan so storage procedures deploy after columns
pyramation Jun 11, 2026
aa47b59
Merge pull request #79 from constructive-io/fix/storage-deploy-order
pyramation Jun 11, 2026
3573c0f
fix: pgpm deploy standalone — reorder procedures, remove stubs, strip…
pyramation Jun 11, 2026
9788da2
Merge pull request #80 from constructive-io/feat/pgpm-deploy-standalone
pyramation Jun 11, 2026
aa9d1d0
fix: update schema refs from constructive_infra_public to constructiv…
pyramation Jun 11, 2026
e10d6d4
Merge pull request #81 from constructive-io/feat/fix-infra-to-compute…
pyramation Jun 11, 2026
5f9197f
feat: add constructive-platform-seed (metaschema routing chain)
pyramation Jun 11, 2026
55e88fd
Merge pull request #82 from constructive-io/feat/platform-seed
pyramation Jun 11, 2026
99c55ae
feat: integrate GraphQL server into make up/down (port 6464)
pyramation Jun 11, 2026
f452c52
Merge pull request #83 from constructive-io/feat/graphql-server
pyramation Jun 11, 2026
a1f49f3
feat: split compute and graph into separate APIs
pyramation Jun 11, 2026
51b16c4
Merge pull request #84 from constructive-io/feat/split-apis
pyramation Jun 11, 2026
ba3dd04
feat: align API routing with constructive-db provision_base_modules
pyramation Jun 11, 2026
42f1fd8
Merge pull request #85 from constructive-io/feat/canonical-api-routing
pyramation Jun 11, 2026
3f3bb38
feat: add make kill (down + pgpm kill)
pyramation Jun 11, 2026
8aee935
Merge pull request #86 from constructive-io/feat/make-kill
pyramation Jun 11, 2026
74d5f53
feat: add SDK generation pipeline (schemas, ORM, CLI, hooks)
pyramation Jun 11, 2026
99dddc2
Merge pull request #87 from constructive-io/feat/sdk-generation
pyramation Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
58 changes: 58 additions & 0 deletions .agents/skills/cli-api/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: cli-api
description: CLI commands for the api API target — 8 tables and 9 custom operations via constructive-functions
---

# cli-api

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

CLI commands for the api API target — 8 tables and 9 custom operations via constructive-functions

## Usage

```bash
# CRUD for api tables (e.g. role-type)
constructive-functions api:role-type list
constructive-functions api:role-type get --id <value>
constructive-functions api:role-type create --<field> <value>

# Non-interactive mode (skip all prompts, use flags only)
constructive-functions --no-tty api:role-type list
```

## Examples

### Query api records

```bash
constructive-functions api:role-type list
```

### Non-interactive mode (for scripts and CI)

```bash
constructive-functions --no-tty api:role-type create --<field> <value>
```

## References

See the `references/` directory for detailed per-entity API documentation:

- [role-type](references/role-type.md)
- [platform-config-definition](references/platform-config-definition.md)
- [platform-namespace](references/platform-namespace.md)
- [platform-config](references/platform-config.md)
- [platform-bucket](references/platform-bucket.md)
- [platform-file](references/platform-file.md)
- [user](references/user.md)
- [platform-namespace-event](references/platform-namespace-event.md)
- [platform-secrets-del](references/platform-secrets-del.md)
- [platform-secrets-set](references/platform-secrets-set.md)
- [org-secrets-del](references/org-secrets-del.md)
- [org-secrets-set](references/org-secrets-set.md)
- [org-secrets-remove-array](references/org-secrets-remove-array.md)
- [platform-files-rename](references/platform-files-rename.md)
- [upload-platform-file](references/upload-platform-file.md)
- [upload-platform-files](references/upload-platform-files.md)
- [provision-bucket](references/provision-bucket.md)
19 changes: 19 additions & 0 deletions .agents/skills/cli-api/references/org-secrets-del.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# orgSecretsDel

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

Execute the orgSecretsDel mutation (api target)

## Usage

```bash
constructive-functions api:org-secrets-del --input.clientMutationId <String> --input.ownerId <UUID> --input.secretName <String> --input.secretNamespace <String>
```

## Examples

### Run orgSecretsDel

```bash
constructive-functions api:org-secrets-del --input.clientMutationId <String> --input.ownerId <UUID> --input.secretName <String> --input.secretNamespace <String>
```
19 changes: 19 additions & 0 deletions .agents/skills/cli-api/references/org-secrets-remove-array.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# orgSecretsRemoveArray

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

Execute the orgSecretsRemoveArray mutation (api target)

## Usage

```bash
constructive-functions api:org-secrets-remove-array --input.clientMutationId <String> --input.ownerId <UUID> --input.secretNames <String> --input.secretNamespace <String>
```

## Examples

### Run orgSecretsRemoveArray

```bash
constructive-functions api:org-secrets-remove-array --input.clientMutationId <String> --input.ownerId <UUID> --input.secretNames <String> --input.secretNamespace <String>
```
19 changes: 19 additions & 0 deletions .agents/skills/cli-api/references/org-secrets-set.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# orgSecretsSet

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

Execute the orgSecretsSet mutation (api target)

## Usage

```bash
constructive-functions api:org-secrets-set --input.clientMutationId <String> --input.ownerId <UUID> --input.secretName <String> --input.secretValue <String> --input.algo <String> --input.secretNamespace <String>
```

## Examples

### Run orgSecretsSet

```bash
constructive-functions api:org-secrets-set --input.clientMutationId <String> --input.ownerId <UUID> --input.secretName <String> --input.secretValue <String> --input.algo <String> --input.secretNamespace <String>
```
56 changes: 56 additions & 0 deletions .agents/skills/cli-api/references/platform-bucket.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# platformBucket

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

CRUD operations for PlatformBucket records via constructive-functions CLI (api target)

## Usage

```bash
constructive-functions api:platform-bucket list
constructive-functions api:platform-bucket list --where.<field>.<op> <value> --orderBy <values>
constructive-functions api:platform-bucket list --limit 10 --after <cursor>
constructive-functions api:platform-bucket find-first --where.<field>.<op> <value>
constructive-functions api:platform-bucket get --id <UUID>
constructive-functions api:platform-bucket create --actorId <UUID> --databaseId <UUID> --key <String> [--allowCustomKeys <Boolean>] [--allowedMimeTypes <String>] [--allowedOrigins <String>] [--description <String>] [--isPublic <Boolean>] [--maxFileSize <BigInt>] [--type <String>]
constructive-functions api:platform-bucket update --id <UUID> [--actorId <UUID>] [--allowCustomKeys <Boolean>] [--allowedMimeTypes <String>] [--allowedOrigins <String>] [--databaseId <UUID>] [--description <String>] [--isPublic <Boolean>] [--key <String>] [--maxFileSize <BigInt>] [--type <String>]
constructive-functions api:platform-bucket delete --id <UUID>
```

## Examples

### List platformBucket records

```bash
constructive-functions api:platform-bucket list
```

### List platformBucket records with pagination

```bash
constructive-functions api:platform-bucket list --limit 10 --offset 0
```

### List platformBucket records with cursor pagination

```bash
constructive-functions api:platform-bucket list --limit 10 --after <cursor>
```

### Find first matching platformBucket

```bash
constructive-functions api:platform-bucket find-first --where.id.equalTo <value>
```

### List platformBucket records with filtering and ordering

```bash
constructive-functions api:platform-bucket list --where.id.equalTo <value> --orderBy ID_ASC
```

### Create a platformBucket

```bash
constructive-functions api:platform-bucket create --actorId <UUID> --databaseId <UUID> --key <String> [--allowCustomKeys <Boolean>] [--allowedMimeTypes <String>] [--allowedOrigins <String>] [--description <String>] [--isPublic <Boolean>] [--maxFileSize <BigInt>] [--type <String>]
```
56 changes: 56 additions & 0 deletions .agents/skills/cli-api/references/platform-config-definition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# platformConfigDefinition

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

CRUD operations for PlatformConfigDefinition records via constructive-functions CLI (api target)

## Usage

```bash
constructive-functions api:platform-config-definition list
constructive-functions api:platform-config-definition list --where.<field>.<op> <value> --orderBy <values>
constructive-functions api:platform-config-definition list --limit 10 --after <cursor>
constructive-functions api:platform-config-definition find-first --where.<field>.<op> <value>
constructive-functions api:platform-config-definition get --id <UUID>
constructive-functions api:platform-config-definition create --name <String> [--annotations <JSON>] [--defaultValue <String>] [--description <String>] [--isBuiltIn <Boolean>] [--labels <JSON>]
constructive-functions api:platform-config-definition update --id <UUID> [--annotations <JSON>] [--defaultValue <String>] [--description <String>] [--isBuiltIn <Boolean>] [--labels <JSON>] [--name <String>]
constructive-functions api:platform-config-definition delete --id <UUID>
```

## Examples

### List platformConfigDefinition records

```bash
constructive-functions api:platform-config-definition list
```

### List platformConfigDefinition records with pagination

```bash
constructive-functions api:platform-config-definition list --limit 10 --offset 0
```

### List platformConfigDefinition records with cursor pagination

```bash
constructive-functions api:platform-config-definition list --limit 10 --after <cursor>
```

### Find first matching platformConfigDefinition

```bash
constructive-functions api:platform-config-definition find-first --where.id.equalTo <value>
```

### List platformConfigDefinition records with filtering and ordering

```bash
constructive-functions api:platform-config-definition list --where.id.equalTo <value> --orderBy ID_ASC
```

### Create a platformConfigDefinition

```bash
constructive-functions api:platform-config-definition create --name <String> [--annotations <JSON>] [--defaultValue <String>] [--description <String>] [--isBuiltIn <Boolean>] [--labels <JSON>]
```
56 changes: 56 additions & 0 deletions .agents/skills/cli-api/references/platform-config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# platformConfig

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

CRUD operations for PlatformConfig records via constructive-functions CLI (api target)

## Usage

```bash
constructive-functions api:platform-config list
constructive-functions api:platform-config list --where.<field>.<op> <value> --orderBy <values>
constructive-functions api:platform-config list --limit 10 --after <cursor>
constructive-functions api:platform-config find-first --where.<field>.<op> <value>
constructive-functions api:platform-config get --id <UUID>
constructive-functions api:platform-config create --name <String> --namespaceId <UUID> [--annotations <JSON>] [--description <String>] [--expiresAt <Datetime>] [--labels <JSON>] [--value <String>]
constructive-functions api:platform-config update --id <UUID> [--annotations <JSON>] [--description <String>] [--expiresAt <Datetime>] [--labels <JSON>] [--name <String>] [--namespaceId <UUID>] [--value <String>]
constructive-functions api:platform-config delete --id <UUID>
```

## Examples

### List platformConfig records

```bash
constructive-functions api:platform-config list
```

### List platformConfig records with pagination

```bash
constructive-functions api:platform-config list --limit 10 --offset 0
```

### List platformConfig records with cursor pagination

```bash
constructive-functions api:platform-config list --limit 10 --after <cursor>
```

### Find first matching platformConfig

```bash
constructive-functions api:platform-config find-first --where.id.equalTo <value>
```

### List platformConfig records with filtering and ordering

```bash
constructive-functions api:platform-config list --where.id.equalTo <value> --orderBy ID_ASC
```

### Create a platformConfig

```bash
constructive-functions api:platform-config create --name <String> --namespaceId <UUID> [--annotations <JSON>] [--description <String>] [--expiresAt <Datetime>] [--labels <JSON>] [--value <String>]
```
56 changes: 56 additions & 0 deletions .agents/skills/cli-api/references/platform-file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# platformFile

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

CRUD operations for PlatformFile records via constructive-functions CLI (api target)

## Usage

```bash
constructive-functions api:platform-file list
constructive-functions api:platform-file list --where.<field>.<op> <value> --orderBy <values>
constructive-functions api:platform-file list --limit 10 --after <cursor>
constructive-functions api:platform-file find-first --where.<field>.<op> <value>
constructive-functions api:platform-file get --id <UUID>
constructive-functions api:platform-file create --actorId <UUID> --bucketId <UUID> --databaseId <UUID> --key <String> --mimeType <String> --size <BigInt> [--contentHash <String>] [--description <String>] [--filename <String>] [--isPublic <Boolean>] [--tags <String>] [--upload <Upload>] [--status <FileStatus>]
constructive-functions api:platform-file update --id <UUID> [--actorId <UUID>] [--bucketId <UUID>] [--contentHash <String>] [--databaseId <UUID>] [--description <String>] [--filename <String>] [--isPublic <Boolean>] [--key <String>] [--mimeType <String>] [--size <BigInt>] [--tags <String>] [--upload <Upload>] [--status <FileStatus>]
constructive-functions api:platform-file delete --id <UUID>
```

## Examples

### List platformFile records

```bash
constructive-functions api:platform-file list
```

### List platformFile records with pagination

```bash
constructive-functions api:platform-file list --limit 10 --offset 0
```

### List platformFile records with cursor pagination

```bash
constructive-functions api:platform-file list --limit 10 --after <cursor>
```

### Find first matching platformFile

```bash
constructive-functions api:platform-file find-first --where.id.equalTo <value>
```

### List platformFile records with filtering and ordering

```bash
constructive-functions api:platform-file list --where.id.equalTo <value> --orderBy ID_ASC
```

### Create a platformFile

```bash
constructive-functions api:platform-file create --actorId <UUID> --bucketId <UUID> --databaseId <UUID> --key <String> --mimeType <String> --size <BigInt> [--contentHash <String>] [--description <String>] [--filename <String>] [--isPublic <Boolean>] [--tags <String>] [--upload <Upload>] [--status <FileStatus>]
```
19 changes: 19 additions & 0 deletions .agents/skills/cli-api/references/platform-files-rename.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# platformFilesRename

<!-- @constructive-io/graphql-codegen - DO NOT EDIT -->

Execute the platformFilesRename mutation (api target)

## Usage

```bash
constructive-functions api:platform-files-rename --input.clientMutationId <String> --input.pFileId <UUID> --input.pNewFilename <String>
```

## Examples

### Run platformFilesRename

```bash
constructive-functions api:platform-files-rename --input.clientMutationId <String> --input.pFileId <UUID> --input.pNewFilename <String>
```
Loading
Loading