@loxtep/sdk 0.9.31 → 0.9.33

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +3 -1
  3. package/dist/cli/commands/triggers-cmd.d.ts +5 -0
  4. package/dist/cli/commands/triggers-cmd.d.ts.map +1 -1
  5. package/dist/cli/commands/triggers-cmd.js +16 -0
  6. package/dist/cli/commands/triggers-cmd.js.map +1 -1
  7. package/dist/cli/help.d.ts.map +1 -1
  8. package/dist/cli/help.js +4 -2
  9. package/dist/cli/help.js.map +1 -1
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +9 -2
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/client/instances-types.d.ts +0 -1
  14. package/dist/client/instances-types.d.ts.map +1 -1
  15. package/dist/client/triggers.d.ts +5 -0
  16. package/dist/client/triggers.d.ts.map +1 -1
  17. package/dist/client/triggers.js +10 -0
  18. package/dist/client/triggers.js.map +1 -1
  19. package/dist/lib/entity-json-schemas/types.d.ts +9 -0
  20. package/dist/lib/entity-json-schemas/types.d.ts.map +1 -1
  21. package/dist/lib/entity-json-schemas/types.js +14 -0
  22. package/dist/lib/entity-json-schemas/types.js.map +1 -1
  23. package/dist/lib/workspace-lint.d.ts +7 -0
  24. package/dist/lib/workspace-lint.d.ts.map +1 -1
  25. package/dist/lib/workspace-lint.js +68 -25
  26. package/dist/lib/workspace-lint.js.map +1 -1
  27. package/package.json +2 -1
  28. package/schemas/entity-json-schemas/SCHEMA_SYNC.md +10 -11
  29. package/schemas/entity-json-schemas/SOURCE.json +24 -0
  30. package/schemas/entity-json-schemas/agent.json +97 -0
  31. package/schemas/entity-json-schemas/approval.json +92 -0
  32. package/schemas/entity-json-schemas/connection.json +92 -4
  33. package/schemas/entity-json-schemas/connector.json +2 -0
  34. package/schemas/entity-json-schemas/container.json +1 -1
  35. package/schemas/entity-json-schemas/contract.json +10 -0
  36. package/schemas/entity-json-schemas/data-product.json +18 -1
  37. package/schemas/entity-json-schemas/domain.json +15 -0
  38. package/schemas/entity-json-schemas/export.json +26 -0
  39. package/schemas/entity-json-schemas/odps-product.json +1 -1
  40. package/schemas/entity-json-schemas/projection.json +94 -0
  41. package/schemas/entity-json-schemas/quality-rule.json +10 -0
  42. package/schemas/entity-json-schemas/schema.json +10 -0
  43. package/schemas/entity-json-schemas/transformation.json +11 -3
  44. package/schemas/entity-json-schemas/validation.json +8 -2
  45. package/schemas/entity-json-schemas/workflow.json +58 -3
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-lint.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAkB,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAQD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AAEzE,mEAAmE;AACnE,eAAO,MAAM,gCAAgC,EAAG,sBAA+B,CAAC;AAmJhF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,UAAU,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GAAG,MAAM,GAAG,SAAS,CAKrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGrF;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAKzF;AAgKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CA4FjE;AAiDD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAcjE"}
1
+ {"version":3,"file":"workspace-lint.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAkB,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAQD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AAEzE,mEAAmE;AACnE,eAAO,MAAM,gCAAgC,EAAG,sBAA+B,CAAC;AAiFhF,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GACd,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,GAAG,IAAI,CA0BrD;AA8DD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACtC,UAAU,EAAE,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GAAG,MAAM,GAAG,SAAS,CAKrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGrF;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAKzF;AAgKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAyGjE;AAiDD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAcjE"}
@@ -25,6 +25,10 @@ const ENTITY_PRIMARY_ID_KEYS = {
25
25
  [EntityType.CONTRACT]: 'contract_id',
26
26
  [EntityType.QUALITY_RULE]: 'quality_rule_id',
27
27
  [EntityType.EXPORT]: 'export_id',
28
+ [EntityType.CONTAINER]: 'container_id',
29
+ [EntityType.PROJECTION]: 'projection_id',
30
+ [EntityType.APPROVAL]: 'approval_node_id',
31
+ [EntityType.AGENT]: 'agent_node_id',
28
32
  };
29
33
  /** Entity types that may appear as upstream_entity_id targets within a package. */
30
34
  const UPSTREAM_REFERENCE_ENTITY_TYPES = new Set([
@@ -67,38 +71,64 @@ function listJsonFiles(dir) {
67
71
  }
68
72
  return out;
69
73
  }
70
- function classifyEntity(projectDir, filePath) {
71
- const rel = relative(projectDir, filePath).replace(/\\/g, '/');
74
+ /** Workflow-scoped entity folders (`workflows/<id>/<segment>/<file>.json`). */
75
+ const WORKFLOW_SCOPED_SEGMENTS = [
76
+ ['connections', EntityType.CONNECTION],
77
+ ['data-products', EntityType.DATA_PRODUCT],
78
+ ['transformations', EntityType.TRANSFORMATION],
79
+ ['validations', EntityType.VALIDATION],
80
+ ['schemas', EntityType.SCHEMA],
81
+ ['contracts', EntityType.CONTRACT],
82
+ ['quality-rules', EntityType.QUALITY_RULE],
83
+ ['exports', EntityType.EXPORT],
84
+ ['containers', EntityType.CONTAINER],
85
+ ['projections', EntityType.PROJECTION],
86
+ ['approvals', EntityType.APPROVAL],
87
+ ['agents', EntityType.AGENT],
88
+ ];
89
+ /** Human-readable list of the paths lint understands (used in the unrecognised-file issue). */
90
+ export const RECOGNISED_PACKAGE_PATHS = [
91
+ 'connectors/<file>.json',
92
+ 'domains/<file>.json',
93
+ 'schemas/<file>.json',
94
+ 'contracts/<file>.json',
95
+ 'workflows/<id>/workflow.json',
96
+ 'workflows/<id>/_graph.json',
97
+ ...WORKFLOW_SCOPED_SEGMENTS.map(([segment]) => `workflows/<id>/${segment}/<file>.json`),
98
+ ];
99
+ /**
100
+ * Map a package-relative path to the entity type whose shipped schema validates it.
101
+ * Returns null for a path lint does not recognise; callers must report it, not skip it.
102
+ */
103
+ export function classifyPackagePath(relPath) {
104
+ const rel = relPath.replace(/\\/g, '/');
72
105
  if (rel.startsWith('connectors/') && rel.endsWith('.json')) {
73
106
  return EntityType.CONNECTOR;
74
107
  }
75
- if (rel.match(/^workflows\/[^/]+\/workflow\.json$/)) {
76
- return EntityType.WORKFLOW;
77
- }
78
- if (rel.match(/^workflows\/[^/]+\/connections\/[^/]+\.json$/)) {
79
- return EntityType.CONNECTION;
80
- }
81
- if (rel.match(/^workflows\/[^/]+\/data-products\/[^/]+\.json$/)) {
82
- return EntityType.DATA_PRODUCT;
83
- }
84
- if (rel.match(/^workflows\/[^/]+\/transformations\/[^/]+\.json$/)) {
85
- return EntityType.TRANSFORMATION;
86
- }
87
- if (rel.match(/^workflows\/[^/]+\/validations\/[^/]+\.json$/)) {
88
- return EntityType.VALIDATION;
89
- }
90
108
  if (rel.startsWith('domains/') && rel.endsWith('.json')) {
91
109
  return EntityType.DOMAIN;
92
110
  }
93
- if (rel.match(/^(?:schemas|workflows\/[^/]+\/schemas)\/[^/]+\.json$/)) {
111
+ if (/^schemas\/[^/]+\.json$/.test(rel)) {
94
112
  return EntityType.SCHEMA;
95
113
  }
96
- if (rel.match(/^(?:contracts|workflows\/[^/]+\/contracts)\/[^/]+\.json$/)) {
114
+ if (/^contracts\/[^/]+\.json$/.test(rel)) {
97
115
  return EntityType.CONTRACT;
98
116
  }
117
+ if (/^workflows\/[^/]+\/workflow\.json$/.test(rel)) {
118
+ return EntityType.WORKFLOW;
119
+ }
120
+ if (/^workflows\/[^/]+\/_graph\.json$/.test(rel)) {
121
+ return EntityType.WORKFLOW_GRAPH;
122
+ }
123
+ const scoped = rel.match(/^workflows\/[^/]+\/([^/]+)\/[^/]+\.json$/);
124
+ if (scoped) {
125
+ const hit = WORKFLOW_SCOPED_SEGMENTS.find(([segment]) => segment === scoped[1]);
126
+ if (hit)
127
+ return hit[1];
128
+ }
99
129
  return null;
100
130
  }
101
- function discoverEntities(projectDir, workflowId) {
131
+ function discoverEntities(projectDir, workflowId, unrecognised = []) {
102
132
  const entities = [];
103
133
  const roots = [
104
134
  join(projectDir, 'connectors'),
@@ -114,11 +144,13 @@ function discoverEntities(projectDir, workflowId) {
114
144
  }
115
145
  for (const root of roots) {
116
146
  for (const filePath of listJsonFiles(root)) {
117
- const entityType = classifyEntity(projectDir, filePath);
118
- if (!entityType)
147
+ const rel = relative(projectDir, filePath).replace(/\\/g, '/');
148
+ const entityType = classifyPackagePath(rel);
149
+ if (!entityType) {
150
+ unrecognised.push(rel);
119
151
  continue;
152
+ }
120
153
  const data = readJsonObject(filePath);
121
- const rel = relative(projectDir, filePath).replace(/\\/g, '/');
122
154
  if (!data) {
123
155
  entities.push({
124
156
  path: rel,
@@ -323,8 +355,19 @@ export function lintLocalPackage(options) {
323
355
  issues: [{ path: projectDir, severity: 'error', message: 'Project directory not found' }],
324
356
  };
325
357
  }
326
- const entities = discoverEntities(projectDir, workflow_id);
358
+ const unrecognised = [];
359
+ const entities = discoverEntities(projectDir, workflow_id, unrecognised);
327
360
  const byType = buildEntityIndex(entities);
361
+ // A file lint cannot classify is never silently skipped: it is reported so the
362
+ // author either moves it to a recognised path or removes it.
363
+ for (const rel of unrecognised.sort()) {
364
+ issues.push({
365
+ path: rel,
366
+ severity: 'error',
367
+ message: 'Unrecognised file: not a Loxtep entity path, so lint cannot validate it. ' +
368
+ `Expected one of: ${RECOGNISED_PACKAGE_PATHS.join(', ')}`,
369
+ });
370
+ }
328
371
  for (const entity of entities) {
329
372
  if (Object.keys(entity.data).length === 0) {
330
373
  issues.push({
@@ -393,7 +436,7 @@ export function lintLocalPackage(options) {
393
436
  return {
394
437
  ok: issues.length === 0,
395
438
  issues,
396
- files_checked: entities.length,
439
+ files_checked: entities.length + unrecognised.length,
397
440
  };
398
441
  }
399
442
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-lint.js","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-lint.js","sourceRoot":"","sources":["../../src/lib/workspace-lint.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loxtep/sdk",
3
- "version": "0.9.31",
3
+ "version": "0.9.33",
4
4
  "description": "Loxtep SDK for Node.js — the Enterprise Context Layer: data products, workflows, projects, queues, and machine-usable context for AI",
5
5
  "author": "Loxtep <engineering@loxtep.io>",
6
6
  "homepage": "https://loxtep.io",
@@ -43,6 +43,7 @@
43
43
  "test": "jest --config jest.config.cjs",
44
44
  "lint": "eslint src --ext .ts",
45
45
  "sync:entity-schemas": "node scripts/sync-entity-schemas.mjs",
46
+ "check:entity-schemas": "node scripts/check-entity-schemas.mjs",
46
47
  "generate:api-types": "tsx scripts/generate-api-types.ts",
47
48
  "docs": "typedoc",
48
49
  "test:e2e:cli": "bash scripts/cli-e2e.sh",
@@ -1,19 +1,18 @@
1
1
  # Entity JSON schemas (vendored)
2
2
 
3
- These JSON Schema draft-07 files are a copy of the Loxtep platform schemas used
4
- for customer workspace entity validation.
3
+ These JSON Schema draft-07 files are byte-identical copies of the Loxtep platform's
4
+ single entity-schema source, used by `loxtep lint` and `validateEntity()`.
5
5
 
6
- **Source (canonical):** Loxtep platform customer-workspace entity JSON schemas
7
- (private platform monorepo). Sync from a local checkout when those schemas
8
- change.
6
+ **Source:** `LoxtepInc/loxtep` `platform-backend/_core/src/workspace/entity-json-schemas/`
7
+ **Pinned commit:** `3dbf25ff227874d1a475c7a82939893fcc4c222b` (git blob ids per file in `SOURCE.json`)
9
8
 
10
- **Sync command** (from `nodejs/`):
9
+ **Sync** (from `nodejs/`, with a loxtep checkout at the commit to pin):
11
10
 
12
11
  ```bash
13
- node scripts/sync-entity-schemas.mjs /path/to/loxtep
12
+ pnpm run sync:entity-schemas /path/to/loxtep
13
+ pnpm run check:entity-schemas
14
14
  ```
15
15
 
16
- When platform schemas change, re-run the sync script and note the date/source
17
- commit in the SDK CHANGELOG.
18
-
19
- **Last synced:** 2026-07-24 (from local Loxtep platform checkout)
16
+ `check:entity-schemas` runs in CI and before publish. It fails if any vendored file
17
+ differs from the pinned commit's blob, or if a file is missing or extra. Do not edit
18
+ these files by hand; re-sync instead and note the commit in CHANGELOG.md.
@@ -0,0 +1,24 @@
1
+ {
2
+ "repository": "LoxtepInc/loxtep",
3
+ "path": "platform-backend/_core/src/workspace/entity-json-schemas",
4
+ "commit": "3dbf25ff227874d1a475c7a82939893fcc4c222b",
5
+ "files": {
6
+ "agent.json": "925caaa71058fea41f4820a92232169af9e391b3",
7
+ "approval.json": "b341fe232f1f2a7ceb3d100f9475abc3ca790c22",
8
+ "connection.json": "7252312151bdaebd2ee579208636b0b1c73aacb2",
9
+ "connector.json": "712b7f7abb0c06aecd29a76b667950a0eda070d7",
10
+ "container.json": "3b5b3a51d4f27645e3db2e8e2992aeee984de5ee",
11
+ "contract.json": "04fec0f7f4c26890e8163d88770a5613316b245d",
12
+ "data-product.json": "ceb1b6211740b85be37dd4ce64753db240c42851",
13
+ "domain.json": "42e83648bdebec54fabdb1ba9f7d7a1369f3ba05",
14
+ "export.json": "44ef4bb5c21860a66cd57d86e06a66ff7813c225",
15
+ "odps-product.json": "53b8eb5eb070d0d1e60a91fe908e038ee3e5d599",
16
+ "projection.json": "5457e3f233f936d3fba38bc8513fb99a54961607",
17
+ "quality-rule.json": "917a26d325d47c39d68630df5bd9e0c0c411a246",
18
+ "schema.json": "38940cc4e8b59a70cf44699459af0b8a09f0fc52",
19
+ "transformation.json": "7f5c8a5f771964d0637ec2f38def6d7c8dbd3fd1",
20
+ "validation.json": "bba581abb2f12a360ba910f7ed912bafdefa81dd",
21
+ "workflow-graph.json": "9715eea18965bea97fc5546edb4b37629c77315b",
22
+ "workflow.json": "afe25e55833ac957bdcd62d32e6c9df83779c54b"
23
+ }
24
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://loxtep.io/schemas/entity/agent.json",
4
+ "title": "Agent Node Entity",
5
+ "description": "JSON Schema for Agent node entity (workflows/{workflow_id}/agents/{id}.json). AI model invocation node in the streaming pipeline. Bounds match graph-patch-apply validateAgentNodePayload. additionalProperties stays open because AgentNodeEntity ([key: string]: unknown) and graph patch node_config carry runtime-specific keys; known fields are typed and required fields are enforced.",
6
+ "type": "object",
7
+ "required": [
8
+ "agent_node_id",
9
+ "workflow_id",
10
+ "name",
11
+ "model_id",
12
+ "prompt_template"
13
+ ],
14
+ "properties": {
15
+ "agent_node_id": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "description": "Unique identifier for the agent node"
19
+ },
20
+ "workflow_id": {
21
+ "type": "string",
22
+ "format": "uuid",
23
+ "description": "Workflow this agent node belongs to"
24
+ },
25
+ "name": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 128,
29
+ "description": "Display name (1-128 characters)"
30
+ },
31
+ "model_id": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 256,
35
+ "description": "Model identifier to invoke (1-256 characters)"
36
+ },
37
+ "prompt_template": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 10000,
41
+ "description": "Prompt template rendered with the event payload (1-10000 characters)"
42
+ },
43
+ "timeout_seconds": {
44
+ "type": "number",
45
+ "minimum": 1,
46
+ "maximum": 300,
47
+ "description": "Invocation timeout in seconds (1-300)"
48
+ },
49
+ "output_schema": {
50
+ "type": ["object", "null"],
51
+ "description": "Optional JSON Schema for the model output (at most 50KB serialized)"
52
+ },
53
+ "error_queue_name": {
54
+ "type": "string",
55
+ "minLength": 1,
56
+ "description": "Queue that receives failed invocations"
57
+ },
58
+ "upstream_entity_id": {
59
+ "type": ["string", "null"],
60
+ "description": "Upstream node in the workflow graph"
61
+ },
62
+ "upstream_entity_type": {
63
+ "type": ["string", "null"],
64
+ "description": "Entity type of the upstream node"
65
+ },
66
+ "upstream_label": {
67
+ "type": "string",
68
+ "enum": ["approved", "rejected", "error"],
69
+ "description": "Labelled edge from the upstream node (approval branches)"
70
+ },
71
+ "description": {
72
+ "type": ["string", "null"],
73
+ "description": "Free-text description"
74
+ },
75
+ "organization_id": {
76
+ "type": "string",
77
+ "format": "uuid",
78
+ "description": "Organization that owns this node"
79
+ },
80
+ "project_id": {
81
+ "type": "string",
82
+ "format": "uuid",
83
+ "description": "Project that owns this node"
84
+ },
85
+ "created_at": {
86
+ "type": "string",
87
+ "format": "date-time",
88
+ "description": "ISO 8601 timestamp when the node was created"
89
+ },
90
+ "updated_at": {
91
+ "type": "string",
92
+ "format": "date-time",
93
+ "description": "ISO 8601 timestamp when the node was last updated"
94
+ }
95
+ },
96
+ "additionalProperties": true
97
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://loxtep.io/schemas/entity/approval.json",
4
+ "title": "Approval Node Entity",
5
+ "description": "JSON Schema for Approval node entity (workflows/{workflow_id}/approvals/{id}.json). Human-in-the-loop gate that pauses event flow pending a decision. Bounds match graph-patch-apply validateApprovalNodePayload. additionalProperties stays open because ApprovalNodeEntity ([key: string]: unknown) and graph patch node_config carry runtime-specific keys; known fields are typed and required fields are enforced.",
6
+ "type": "object",
7
+ "required": [
8
+ "approval_node_id",
9
+ "workflow_id",
10
+ "name",
11
+ "approval_channel",
12
+ "timeout_hours"
13
+ ],
14
+ "properties": {
15
+ "approval_node_id": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "description": "Unique identifier for the approval node"
19
+ },
20
+ "workflow_id": {
21
+ "type": "string",
22
+ "format": "uuid",
23
+ "description": "Workflow this approval node belongs to"
24
+ },
25
+ "name": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 128,
29
+ "description": "Display name (1-128 characters)"
30
+ },
31
+ "approval_channel": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 256,
35
+ "description": "Channel where approval requests are sent (1-256 characters)"
36
+ },
37
+ "timeout_hours": {
38
+ "type": "number",
39
+ "minimum": 1,
40
+ "maximum": 168,
41
+ "description": "Hours before the approval request times out (1-168)"
42
+ },
43
+ "approved_queue_name": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "description": "Queue that receives approved events"
47
+ },
48
+ "rejected_queue_name": {
49
+ "type": "string",
50
+ "minLength": 1,
51
+ "description": "Queue that receives rejected events"
52
+ },
53
+ "upstream_entity_id": {
54
+ "type": ["string", "null"],
55
+ "description": "Upstream node in the workflow graph"
56
+ },
57
+ "upstream_entity_type": {
58
+ "type": ["string", "null"],
59
+ "description": "Entity type of the upstream node"
60
+ },
61
+ "upstream_label": {
62
+ "type": "string",
63
+ "enum": ["approved", "rejected", "error"],
64
+ "description": "Labelled edge from the upstream node (approval branches)"
65
+ },
66
+ "description": {
67
+ "type": ["string", "null"],
68
+ "description": "Free-text description"
69
+ },
70
+ "organization_id": {
71
+ "type": "string",
72
+ "format": "uuid",
73
+ "description": "Organization that owns this node"
74
+ },
75
+ "project_id": {
76
+ "type": "string",
77
+ "format": "uuid",
78
+ "description": "Project that owns this node"
79
+ },
80
+ "created_at": {
81
+ "type": "string",
82
+ "format": "date-time",
83
+ "description": "ISO 8601 timestamp when the node was created"
84
+ },
85
+ "updated_at": {
86
+ "type": "string",
87
+ "format": "date-time",
88
+ "description": "ISO 8601 timestamp when the node was last updated"
89
+ }
90
+ },
91
+ "additionalProperties": true
92
+ }
@@ -67,6 +67,11 @@
67
67
  "minLength": 1,
68
68
  "description": "Connection type: database, api, webhook, file, or connector type (e.g. spotify, shopify)"
69
69
  },
70
+ "connector_type": {
71
+ "type": "string",
72
+ "minLength": 1,
73
+ "description": "Connector package type emitted on connection-created (for example data-product-trigger). Distinct from type when a template sets both."
74
+ },
70
75
  "status": {
71
76
  "type": "string",
72
77
  "enum": ["active", "inactive", "error"],
@@ -186,6 +191,15 @@
186
191
  "type": ["string", "null"],
187
192
  "description": "Cron expression (LeoCron `time`) or platform-supported schedule string for this connection's registered bot. Distinct from `polling_interval_ms`, which is a millisecond gap for application-level throttling between requests—not the Leo schedule field."
188
193
  },
194
+ "primary_key": {
195
+ "type": "array",
196
+ "minItems": 1,
197
+ "description": "Business-identity field names. A top-level primary_key is still read, and the next connection save moves it here.",
198
+ "items": {
199
+ "type": "string",
200
+ "minLength": 1
201
+ }
202
+ },
189
203
  "runtime_memory_mb": {
190
204
  "description": "Shared runtimes tier for trigger registration (256–2048). Defaults to 256 when unset. LeoCron `lambdaName`: `w-{org4}-{inst4}-bot-connectors-{mb}-rtime`; bot id: `w-{org4}-{inst4}-{workflow4}-bot-connectors-{mb}-{container_id}`. Instance `connection_details.runtimes_stack_identifier` may override the org/instance middle segment (CDK `microserviceIdentifier` = `w-{that middle}`).",
191
205
  "oneOf": [
@@ -212,6 +226,80 @@
212
226
  "timeout_ms": {
213
227
  "type": ["integer", "null"],
214
228
  "description": "Request/timeout in milliseconds"
229
+ },
230
+ "type": {
231
+ "type": ["string", "null"],
232
+ "description": "Ingestion mode. Use api_poll for REST pollers."
233
+ },
234
+ "url": {
235
+ "type": ["string", "null"],
236
+ "description": "Request URL or URL template. For entity_loop include {key} (e.g. https://api.example.com/V2/products?styleID={styleID}). The rest-api runtime refuses to fire if the required key would be missing (unfiltered child collection URLs)."
237
+ },
238
+ "pagination": {
239
+ "type": ["object", "null"],
240
+ "description": "Page-to-exhaustion settings for rest-api pollers. S&S uses type=page, page_param=page, page_size_param=perPage, page_size=100, start_page=1.",
241
+ "properties": {
242
+ "type": {
243
+ "type": "string",
244
+ "enum": ["page", "offset", "cursor", "none"]
245
+ },
246
+ "page_param": {
247
+ "type": "string",
248
+ "description": "Query param for page index. Default page."
249
+ },
250
+ "page_size_param": {
251
+ "type": "string",
252
+ "description": "Query param for page size (pageSize or perPage)."
253
+ },
254
+ "page_size": { "type": "integer" },
255
+ "start_page": {
256
+ "type": "integer",
257
+ "description": "First page index. Default 1."
258
+ },
259
+ "cursor_field": { "type": "string" },
260
+ "next_url_field": { "type": "string" },
261
+ "offset_param": { "type": "string" },
262
+ "limit_param": { "type": "string" }
263
+ },
264
+ "additionalProperties": true
265
+ },
266
+ "entity_loop": {
267
+ "type": ["object", "null"],
268
+ "description": "Generic rest-api fan-out: resolve entity keys from a parent data product or parent_poll, substitute {key} into the child URL, page each entity to exhaustion, skip per-entity 4xx, and checkpoint across scheduled runs. Not vendor-specific.",
269
+ "properties": {
270
+ "key": {
271
+ "type": "string",
272
+ "description": "Entity field / URL placeholder (e.g. styleID)."
273
+ },
274
+ "source": {
275
+ "type": "string",
276
+ "enum": ["data_product", "parent_poll"],
277
+ "description": "data_product uses data_product_id (optional parent_poll to enumerate keys). parent_poll pages parent_poll.url."
278
+ },
279
+ "data_product_id": {
280
+ "type": "string",
281
+ "format": "uuid",
282
+ "description": "Parent data product that holds the entity keys (graph bind / lineage)."
283
+ },
284
+ "source_queue": {
285
+ "type": "string",
286
+ "description": "Optional parent rstreams queue name."
287
+ },
288
+ "parent_poll": {
289
+ "type": "object",
290
+ "description": "HTTP parent catalog used to resolve keys (page to exhaustion).",
291
+ "properties": {
292
+ "url": { "type": "string" },
293
+ "base_url": { "type": "string" },
294
+ "pagination": { "type": "object" },
295
+ "data_path": { "type": "string" },
296
+ "query_params": { "type": "object" }
297
+ },
298
+ "additionalProperties": true
299
+ }
300
+ },
301
+ "required": ["key", "source"],
302
+ "additionalProperties": true
215
303
  }
216
304
  },
217
305
  "additionalProperties": true
@@ -233,7 +321,7 @@
233
321
  ],
234
322
  "description": "Authentication type for the connection (optional, backwards compat)."
235
323
  },
236
- "ingestion_type": {
324
+ "transfer_mechanism": {
237
325
  "type": ["string", "null"],
238
326
  "enum": [
239
327
  "polling",
@@ -246,7 +334,7 @@
246
334
  "other",
247
335
  null
248
336
  ],
249
- "description": "How data is ingested (optional)."
337
+ "description": "How data moves for this connection (optional). Formerly ingestion_type; renamed because connector_mode now carries direction and this field only ever described mechanism."
250
338
  },
251
339
  "export_type": {
252
340
  "type": ["string", "null"],
@@ -287,12 +375,12 @@
287
375
  "connector_mode": {
288
376
  "type": ["string", "null"],
289
377
  "enum": ["inbound", "outbound", "bidirectional", null],
290
- "description": "For enrichment workflows: mid-flow connection must be 'bidirectional'. For ingestion head use 'inbound'; for consumption tail use 'outbound'. Must match connector supported_directions."
378
+ "description": "For enrichment workflows: mid-flow connection must be 'bidirectional'. For ingestion head use 'inbound'; for delivery tail use 'outbound'. Must match connector supported_directions."
291
379
  },
292
380
  "upstream_entity_id": {
293
381
  "type": ["string", "null"],
294
382
  "format": "uuid",
295
- "description": "Upstream entity in the flow graph (e.g. data-product in consumption flows). Null for source connections."
383
+ "description": "Upstream entity in the flow graph (e.g. data-product in delivery flows). Null for source connections."
296
384
  },
297
385
  "upstream_entity_type": {
298
386
  "type": ["string", "null"],
@@ -48,6 +48,7 @@
48
48
  "category": {
49
49
  "type": "string",
50
50
  "enum": [
51
+ "basic",
51
52
  "e_commerce",
52
53
  "crm",
53
54
  "marketing",
@@ -57,6 +58,7 @@
57
58
  "analytics",
58
59
  "communication",
59
60
  "productivity",
61
+ "fulfillment",
60
62
  "custom"
61
63
  ],
62
64
  "description": "Connector category"
@@ -33,7 +33,7 @@
33
33
  "workflow_id": {
34
34
  "type": "string",
35
35
  "format": "uuid",
36
- "description": "Workflow this container belongs to"
36
+ "description": "Workflow (flow) this container belongs to"
37
37
  },
38
38
  "wrapped_entity_type": {
39
39
  "type": "string",