Claude
|
d12581ad12
|
docs: fix Plan-4 order — push to origin BEFORE triggering Coolify deploy
|
2026-08-28 19:20:22 +00:00 |
|
Claude
|
bbb76b5920
|
docs: pin Plan-4 close-out head SHA
|
2026-08-28 19:11:43 +00:00 |
|
Claude
|
d237cc06e4
|
docs: close out Plan 4 — live at core.tes.gd, clear Plan-4 follow-ups
|
2026-08-28 19:11:33 +00:00 |
|
Claude
|
c41d0f9216
|
docs: add Plan 4 — Container + Coolify deploy
|
2026-08-28 19:11:33 +00:00 |
|
Claude
|
b6943c0e69
|
chore: gitignore deploy.json before populating
|
2026-08-28 19:07:03 +00:00 |
|
Claude
|
d82705d8ab
|
feat(deploy): coolify docker-compose — expose:8080, /data volume, SERVICE_FQDN_APP_8080
|
2026-08-28 19:06:15 +00:00 |
|
Claude
|
a5d76e109f
|
feat(docker): multi-stage Dockerfile — pnpm SPA build + dotnet publish + aspnet:9.0 runtime
|
2026-08-28 19:03:27 +00:00 |
|
Claude
|
32a2b2ee53
|
chore(docker): add .dockerignore excluding bin/obj/node_modules/wwwroot
|
2026-08-28 18:57:44 +00:00 |
|
Claude
|
6ffc59870c
|
fix(auth): heal legacy plaintext admin.password_hash_source on boot
|
2026-08-28 18:54:35 +00:00 |
|
Claude
|
3d9df50f20
|
feat(api): honour X-Forwarded-Proto so Secure cookies flip on behind Traefik
|
2026-08-28 18:48:30 +00:00 |
|
Claude
|
7854cb02ec
|
chore(frontend): exclude e2e/ from Vitest discovery
|
2026-08-28 16:40:16 +00:00 |
|
Claude
|
2a1b90c731
|
docs: close out Plan 3 — React SPA live
|
2026-08-28 16:38:55 +00:00 |
|
Claude
|
294bd57317
|
test(e2e): playwright smoke — login/create/edit/save happy path
|
2026-08-28 16:37:26 +00:00 |
|
Claude
|
03de45cf8e
|
feat(api): serve SPA from wwwroot + SPA fallback for client-side routes
|
2026-08-28 16:32:16 +00:00 |
|
Claude
|
2f7f18008e
|
feat(frontend): executions viewer — list + expandable per-node IO
|
2026-08-28 16:29:24 +00:00 |
|
Claude
|
64cf7fbed9
|
chore(frontend): vite dev proxy for /api and /wh
|
2026-08-28 16:27:43 +00:00 |
|
Claude
|
655bd17f55
|
feat(frontend): editor toolbar — Save / Test run / Activate / Deactivate
|
2026-08-28 16:27:15 +00:00 |
|
Claude
|
12c5fb1990
|
feat(frontend): editor — palette + drag-drop + config panel + selection
|
2026-08-28 16:25:33 +00:00 |
|
Claude
|
d81b59896e
|
test(frontend): satisfy HttpResponse.json JsonBodyType constraint
|
2026-08-28 16:23:31 +00:00 |
|
Claude
|
891ff6a722
|
feat(frontend): editor scaffold — graph adapter + React Flow canvas
|
2026-08-28 16:21:33 +00:00 |
|
Claude
|
c9193dbf36
|
feat(frontend): connections page — schema-driven create + list + delete
|
2026-08-28 16:17:56 +00:00 |
|
Claude
|
03cb34d009
|
feat(frontend): SchemaForm — schema-driven form generator
|
2026-08-28 16:15:59 +00:00 |
|
Claude
|
942d001c1f
|
feat(frontend): workflows list — create/activate/deactivate/delete
|
2026-08-28 16:14:09 +00:00 |
|
Claude
|
1f317564f5
|
feat(frontend): login page — POST /api/session + error UI
|
2026-08-28 16:12:15 +00:00 |
|
Claude
|
e0a2447d23
|
feat(frontend): router shell + PrivateRoute + stub pages
|
2026-08-28 16:10:51 +00:00 |
|
Claude
|
2cf3c8759f
|
feat(frontend): TanStack Query hooks + useSession/useLogin/useLogout
Adds api/hooks.ts (query keys, list/detail queries, useApiMutation,
useInvalidate) and auth/session.ts (useSession swallows 401 into
authenticated=false; useLogin/useLogout invalidate the me key).
tsconfig now maps @/* -> src/* so tsc -b matches Vite's resolver.
|
2026-08-28 16:09:01 +00:00 |
|
Claude
|
e1632f1272
|
test(frontend): MSW server + renderWithProviders harness
|
2026-08-28 16:07:14 +00:00 |
|
Claude
|
a28d34a48c
|
feat(frontend): apiFetch — cookie-included fetch wrapper with typed errors
|
2026-08-28 16:06:02 +00:00 |
|
Claude
|
a9b6ae6975
|
feat(frontend): API type surface for Plan 2 endpoints
|
2026-08-28 16:04:03 +00:00 |
|
Claude
|
5bfa7baad6
|
docs: add Plan 3 — React SPA plan
|
2026-08-28 16:03:16 +00:00 |
|
Claude
|
e29a4f7763
|
chore(frontend): wire Tailwind v3 + brand palette
|
2026-08-28 16:02:54 +00:00 |
|
Claude
|
c4c650e3d0
|
chore(frontend): scaffold Vite + React 18 + TypeScript under frontend/
|
2026-08-28 16:00:34 +00:00 |
|
Claude
|
bc56e9edf1
|
docs: close out Plan 2 — workflow engine live
|
2026-08-28 15:39:36 +00:00 |
|
Claude
|
6065f0c91e
|
feat(api): DI-register 5 nodes + NATS provider; enable pending integration tests
|
2026-08-28 15:35:43 +00:00 |
|
Claude
|
df64e9e512
|
feat(nodes): PythonTransformNode (IronPython 3) — items in, output out
|
2026-08-28 15:22:49 +00:00 |
|
Claude
|
ebd06a6abc
|
feat(nodes): WebResponseNode — resolves webhook TCS with configured payload; move WebhookRouter to Core
|
2026-08-28 15:20:10 +00:00 |
|
Claude
|
3d7910c5e7
|
feat(nodes): WebhookNode — registers (workflow,path) route and emits body items
|
2026-08-28 15:16:51 +00:00 |
|
Claude
|
001c60bf86
|
feat(nodes): NatsPublishNode — publishes each item as its JSON bytes
|
2026-08-28 15:13:36 +00:00 |
|
Claude
|
b9a3926be2
|
feat(nodes): NatsHookNode — trigger emits one execution per message
|
2026-08-28 15:11:49 +00:00 |
|
Claude
|
b9097b1812
|
feat(providers): NatsConnectionProvider (NATS.Net)
|
2026-08-28 15:09:13 +00:00 |
|
Claude
|
5137591b8a
|
feat(engine): RetentionService — hourly executions sweep
|
2026-08-28 15:07:58 +00:00 |
|
Claude
|
0895dc5f8f
|
feat(api): manual run + executions REST (list + detail with per-node ports)
|
2026-08-28 15:05:54 +00:00 |
|
Claude
|
850eb4a12c
|
feat(engine): TriggerHost with activation/deactivation + startup abort sweep
|
2026-08-28 15:03:35 +00:00 |
|
Claude
|
ff54b1f22d
|
feat(api): POST /wh/{workflow-id}/{*path} endpoint
|
2026-08-28 15:00:24 +00:00 |
|
Claude
|
c88d27294b
|
feat(engine): WebhookRegistry — (workflowId, path) → invocation lookup
|
2026-08-28 14:58:06 +00:00 |
|
Claude
|
eabd6f175d
|
feat(engine): WebhookRouter (TCS + first-write-wins + timeout)
|
2026-08-28 14:56:52 +00:00 |
|
Claude
|
159102e27e
|
feat(engine): Executor fan-out + failure propagation + status rollup
|
2026-08-28 14:52:53 +00:00 |
|
Claude
|
8c58b6574d
|
feat(engine): Executor — linear happy-path (trigger → action → terminal)
|
2026-08-28 14:49:47 +00:00 |
|
Claude
|
8fd152d977
|
feat(engine): ConnectionInstanceRegistry with per-id caching + invalidate on delete
|
2026-08-28 14:46:15 +00:00 |
|
Claude
|
8f4196de51
|
feat(engine): concrete ExecutionContext + TriggerActivationSink
|
2026-08-28 14:43:56 +00:00 |
|