Skip to content

Commit e79f79e

Browse files
Merge pull request #24 from synergycodes/main
Release v2.0.1
2 parents c78e841 + 43b6eee commit e79f79e

67 files changed

Lines changed: 3022 additions & 650 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/global-store-singleton.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

.changeset/node-properties-onchange-phantom-undo.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/palette-nested-var-fix.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

DECISION-LOGS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@
1515
- _05.05.2026_: [Extract AI Studio from `apps/demo` into its own `apps/ai-studio` app](./apps/ai-studio/ai-studio-extraction.decision-log.md)
1616
- _05.05.2026_: [Workspace layout — relocate libraries to `packages/`](./packages/sdk/workspace-layout.decision-log.md)
1717
- _06.05.2026_: [Make execution-core generic over the consumer's node union](./packages/execution-core/generic-execution-core.decision-log.md)
18+
- _15.05.2026_: [AuthPort seam for backend authn/authz](./apps/backend/auth-port.decision-log.md)

apps/ai-studio/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@jsonforms/core": "^3.4.1",
1717
"@jsonforms/react": "^3.4.1",
1818
"@phosphor-icons/react": "^2.1.7",
19-
"@synergycodes/overflow-ui": "1.0.0-beta.26",
19+
"@synergycodes/overflow-ui": "1.0.0-beta.27",
2020
"@workflow-builder/types": "workspace:*",
2121
"@xyflow/react": "catalog:",
2222
"clsx": "^2.1.1",

apps/ai-studio/src/data/sales-inquiry-flow.ts

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Be concise. Use the exact format above.`,
9898
decisionBranches: [
9999
{
100100
id: 'branch-pricing',
101-
sourceHandle: 'decision-1:source:inner:pricing',
101+
sourceHandle: 'source:inner:pricing',
102102
label: 'Pricing',
103103
conditions: [
104104
{
@@ -111,7 +111,7 @@ Be concise. Use the exact format above.`,
111111
},
112112
{
113113
id: 'branch-technical',
114-
sourceHandle: 'decision-1:source:inner:technical',
114+
sourceHandle: 'source:inner:technical',
115115
label: 'Technical',
116116
conditions: [
117117
{
@@ -124,7 +124,7 @@ Be concise. Use the exact format above.`,
124124
},
125125
{
126126
id: 'branch-general',
127-
sourceHandle: 'decision-1:source:inner:general',
127+
sourceHandle: 'source:inner:general',
128128
label: 'General',
129129
conditions: [],
130130
},
@@ -252,72 +252,75 @@ If there are issues, output: "⚠️ NEEDS REVISION" followed by specific correc
252252
edges: [
253253
{
254254
source: 'trigger-1',
255-
sourceHandle: 'trigger-1:source',
255+
sourceHandle: 'source',
256256
target: 'classify-1',
257-
targetHandle: 'classify-1:target',
257+
targetHandle: 'target',
258258
type: 'labelEdge',
259259
id: 'edge-trigger-classify',
260260
data: {},
261261
},
262262
{
263263
source: 'classify-1',
264-
sourceHandle: 'classify-1:source',
264+
sourceHandle: 'source',
265265
target: 'decision-1',
266-
targetHandle: 'decision-1:target',
266+
targetHandle: 'target',
267267
type: 'labelEdge',
268268
id: 'edge-classify-decision',
269269
data: {},
270270
},
271271
{
272272
source: 'decision-1',
273-
sourceHandle: 'decision-1:source:inner:pricing',
273+
sourceHandle: 'source:inner:pricing',
274+
zIndex: 1001,
274275
target: 'pricing-1',
275-
targetHandle: 'pricing-1:target',
276+
targetHandle: 'target',
276277
type: 'labelEdge',
277278
id: 'edge-decision-pricing',
278279
data: {},
279280
},
280281
{
281282
source: 'decision-1',
282-
sourceHandle: 'decision-1:source:inner:technical',
283+
sourceHandle: 'source:inner:technical',
284+
zIndex: 1001,
283285
target: 'technical-1',
284-
targetHandle: 'technical-1:target',
286+
targetHandle: 'target',
285287
type: 'labelEdge',
286288
id: 'edge-decision-technical',
287289
data: {},
288290
},
289291
{
290292
source: 'decision-1',
291-
sourceHandle: 'decision-1:source:inner:general',
293+
sourceHandle: 'source:inner:general',
294+
zIndex: 1001,
292295
target: 'general-1',
293-
targetHandle: 'general-1:target',
296+
targetHandle: 'target',
294297
type: 'labelEdge',
295298
id: 'edge-decision-general',
296299
data: {},
297300
},
298301
{
299302
source: 'pricing-1',
300-
sourceHandle: 'pricing-1:source',
303+
sourceHandle: 'source',
301304
target: 'review-1',
302-
targetHandle: 'review-1:target',
305+
targetHandle: 'target',
303306
type: 'labelEdge',
304307
id: 'edge-pricing-review',
305308
data: {},
306309
},
307310
{
308311
source: 'technical-1',
309-
sourceHandle: 'technical-1:source',
312+
sourceHandle: 'source',
310313
target: 'review-1',
311-
targetHandle: 'review-1:target',
314+
targetHandle: 'target',
312315
type: 'labelEdge',
313316
id: 'edge-technical-review',
314317
data: {},
315318
},
316319
{
317320
source: 'general-1',
318-
sourceHandle: 'general-1:source',
321+
sourceHandle: 'source',
319322
target: 'review-1',
320-
targetHandle: 'review-1:target',
323+
targetHandle: 'target',
321324
type: 'labelEdge',
322325
id: 'edge-general-review',
323326
data: {},

apps/backend/.env.example

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
DATABASE_URL=postgresql://wb:wb@127.0.0.1:5432/workflow_builder
22
TEMPORAL_ADDRESS=127.0.0.1:7233
33
PORT=3001
4-
# Hostname to bind. Default 127.0.0.1 (loopback only single-tenant local dev).
4+
# Hostname to bind. Default 127.0.0.1 (loopback only - single-tenant local dev).
55
# Change ONLY if you understand: this server has no auth, anyone reachable on
66
# the host:port can fully control workflows.
77
HOST=127.0.0.1
8+
# AuthPort opt-in. The reference backend wires AllowAllAuthPort, which permits
9+
# every caller and every action. It refuses to start without this explicit
10+
# opt-in so a forgotten env var (CI, deploy template) fails loudly instead of
11+
# exposing the API. Remove this line when wiring a real AuthPort. See:
12+
# apps/backend/auth-port.decision-log.md
13+
WB_AUTH_PORT=allow-all

apps/backend/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# AI Studio — Execution Backend
22

3-
> ⚠️ **Reference implementation local development only.**
4-
> No authentication, no authorization, no tenant isolation. The HTTP server and the docker-compose services bind to `127.0.0.1` by default. Do not expose to the internet or shared networks without first implementing real authn/authz.
3+
> ⚠️ **Reference implementation, local development only.**
4+
> No real authentication. The bundled `AllowAllAuthPort` permits every caller and every action (see `src/auth/`), and the constructor refuses to start without the explicit `WB_AUTH_PORT=allow-all` opt-in so a forgotten env var fails loudly. No tenant isolation. The HTTP server and the docker-compose services bind to `127.0.0.1` by default. Do not expose to the internet or shared networks without first plugging in a real `AuthPort`, see [`auth-port.decision-log.md`](./auth-port.decision-log.md) for the seam, default, and a JWT adapter sketch.
55
66
> **Note:** setup is in [root README "Path B. Run the full stack demo"](../../README.md#path-b-run-the-full-stack-demo). This file documents the backend's internals, not how to start it.
77

0 commit comments

Comments
 (0)