Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
46c344f
feat: implement flow comparison store and integrate with flow schema …
nicosammito May 18, 2026
6d2fd0e
feat: dep updates
nicosammito Jun 13, 2026
424595c
feat: correct imports
nicosammito Jun 13, 2026
9ff8af4
feat: updating pictor
nicosammito Jun 13, 2026
f041087
feat: new definition panel
nicosammito Jun 13, 2026
2484e29
feat: undefined bug with hashToColor
nicosammito Jun 13, 2026
340e7f9
feat: UI screen
nicosammito Jun 13, 2026
f203374
feat: moving style import to layout
nicosammito Jun 14, 2026
8818f88
feat: new flow overview page with ai chat
nicosammito Jun 14, 2026
745121a
feat: design changes to control panel
nicosammito Jun 14, 2026
af8b2a1
feat: remove imports
nicosammito Jun 14, 2026
d880c41
feat: design changes to trigger node
nicosammito Jun 14, 2026
0431f3b
feat: correct border radius styling for flow builder
nicosammito Jun 14, 2026
229f02b
feat: correct link for flow tab
nicosammito Jun 14, 2026
cd0bf41
feat: updating pictor version
nicosammito Jun 14, 2026
3b200e7
feat: correct import
nicosammito Jun 15, 2026
4e6ea31
feat: introducing static flow templates
nicosammito Jun 15, 2026
fcba246
feat: same design for ai chat
nicosammito Jun 15, 2026
b7b5aa2
feat: using border instead of box shadow
nicosammito Jun 15, 2026
cacaead
feat: tooltip
nicosammito Jun 15, 2026
2c8738a
feat: design changes and tooltip
nicosammito Jun 15, 2026
35d173b
feat: support for simple icons
nicosammito Jun 15, 2026
25192eb
feat: size prop
nicosammito Jun 15, 2026
5f6d468
feat: hot key for opening the edit menu and if tab is changing curren…
nicosammito Jun 15, 2026
97f7d3b
feat: removing layout control, because currently we only support 1 la…
nicosammito Jun 15, 2026
11cf748
feat: updating triangulum
nicosammito Jun 15, 2026
31ea699
feat: install necessary deps for subscriptions to work
nicosammito Jun 16, 2026
11f571a
feat: implement subscription routing
nicosammito Jun 16, 2026
9c67243
feat: generate flow mutation
nicosammito Jun 16, 2026
2367199
feat: generate flow subscription
nicosammito Jun 16, 2026
d53fc97
feat: model fragment
nicosammito Jun 16, 2026
bab6ad7
feat: query all available models
nicosammito Jun 16, 2026
3f31c30
feat: ai service to query models and execute ai request
nicosammito Jun 16, 2026
77ee874
feat: undefinable errors
nicosammito Jun 16, 2026
5c69f29
feat: imports
nicosammito Jun 16, 2026
99ad7e8
feat: imports
nicosammito Jun 17, 2026
4807ee5
feat: AI Chat component
nicosammito Jun 17, 2026
8848cf7
feat: using ai chat component
nicosammito Jun 17, 2026
a80ed10
feat: using ai chat component
nicosammito Jun 17, 2026
d3c7089
feat: adding ai service to layout
nicosammito Jun 17, 2026
829c94a
feat: adding function support for paramater result view
nicosammito Jun 20, 2026
31fba25
feat: optional types
nicosammito Jun 20, 2026
d7bdfd1
feat: updating triangulum
nicosammito Jun 20, 2026
50c2ddc
feat: updating triangulum
nicosammito Jun 20, 2026
0110e37
feat: ai interface changes because of sagittarius changes
nicosammito Jun 21, 2026
6ef4047
feat: ai interface
nicosammito Jun 21, 2026
5a6ad40
feat: remove empty space
nicosammito Jun 22, 2026
28e19ae
feat: adding namespace link over project to flow
nicosammito Jun 22, 2026
4612581
feat: interface design for flow compare store
nicosammito Jun 22, 2026
a382c81
feat: new correct deps for nodes and edge calculation
nicosammito Jun 22, 2026
8dbf00a
feat: namespace link over project on flow
nicosammito Jun 22, 2026
07a523d
feat: adding re-fetch possibility on flow update
nicosammito Jun 22, 2026
aa41ff3
feat: correct ids for FlowPanelControlComponent
nicosammito Jun 22, 2026
40a4bc2
feat: adding ai support
nicosammito Jun 22, 2026
22de95b
feat: correct ids
nicosammito Jun 22, 2026
b26d01c
feat: switching back to use memo
nicosammito Jun 22, 2026
2e1b615
feat: correct cancellation
nicosammito Jun 22, 2026
48e8422
feat: network only request to make sure the curren flow is received
nicosammito Jun 22, 2026
52cccea
feat: routing prompt change back to parent component
nicosammito Jun 22, 2026
0163fc9
feat: removing unnecessary callback
nicosammito Jun 22, 2026
43c7c0a
feat: adding key for memorization
nicosammito Jun 22, 2026
5253b05
feat: adding shortcut for execution tab
nicosammito Jun 22, 2026
0d76729
feat: renaming, alias imports and outsourcing
nicosammito Jun 22, 2026
6ba506a
feat: alias import
nicosammito Jun 22, 2026
d9d2d14
feat: rollback to only id
nicosammito Jun 22, 2026
f08c179
feat: error handling
nicosammito Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .env.local
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ EDITION=ce
NEXT_PUBLIC_EDITION=ce

SAGITTARIUS_GRAPHQL_URL=http://localhost:80/graphql
SAGITTARIUS_CABLE_URL=http://localhost:80/cable

NEXT_PUBLIC_SCULPTOR_VERSION=0.0.0
NEXT_PUBLIC_PICTOR_VERSION=0.10.3
NEXT_PUBLIC_PICTOR_VERSION=0.10.4
NEXT_PUBLIC_ALLOWED_REDIRECT_DOMAINS=*.code0.tech,*.codezero.build

NEXT_PUBLIC_OTEL_SERVICE_NAME=#"sculptor-client"
Expand Down
7 changes: 6 additions & 1 deletion next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import path from "node:path";

const EDITION = process.env.EDITION ?? "ce";
const SAGITTARIUS_GRAPHQL_URL = process.env.SAGITTARIUS_GRAPHQL_URL ?? 'http://localhost:3010/graphql';
const SAGITTARIUS_CABLE_URL = process.env.SAGITTARIUS_CABLE_URL ?? 'http://localhost:3010/cable';

const cspHeader = `
default-src 'self';
Expand All @@ -15,7 +16,7 @@ const cspHeader = `
form-action 'self';
frame-ancestors 'none';
worker-src 'self' blob: data: *;
connect-src 'self' ${SAGITTARIUS_GRAPHQL_URL} ${process.env.NEXT_PUBLIC_OTEL_LOGS_ENDPOINT} ${process.env.NEXT_PUBLIC_OTEL_TRACES_ENDPOINT};
connect-src 'self' ${SAGITTARIUS_GRAPHQL_URL} ${SAGITTARIUS_CABLE_URL.replace("http", "ws")} ${process.env.NEXT_PUBLIC_OTEL_LOGS_ENDPOINT} ${process.env.NEXT_PUBLIC_OTEL_TRACES_ENDPOINT};
`

const nextConfig: NextConfig = {
Expand Down Expand Up @@ -55,6 +56,10 @@ const nextConfig: NextConfig = {
{
source: '/graphql',
destination: SAGITTARIUS_GRAPHQL_URL // Proxy to Backend
},
{
source: '/cable',
destination: SAGITTARIUS_CABLE_URL // Proxy to Backend
}
];
}
Expand Down
164 changes: 149 additions & 15 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@
},
"dependencies": {
"@apollo/client": "^4.0.9",
"@code0-tech/pictor": "^0.10.3",
"@code0-tech/triangulum": "^0.22.0",
"@code0-tech/pictor": "^0.10.4",
"@code0-tech/triangulum": "^0.25.0",
"@codemirror/lang-javascript": "^6.2.5",
"@codemirror/lint": "^6.9.5",
"@icons-pack/react-simple-icons": "^13.13.0",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/context-zone": "^2.6.1",
"@opentelemetry/exporter-logs-otlp-http": "^0.218.0",
Expand All @@ -27,11 +28,14 @@
"@opentelemetry/instrumentation-fetch": "^0.218.0",
"@opentelemetry/instrumentation-xml-http-request": "^0.218.0",
"@opentelemetry/sdk-trace-web": "^2.6.1",
"@rails/actioncable": "^8.1.300",
"@types/rails__actioncable": "^8.0.3",
"@uidotdev/usehooks": "^2.4.1",
"@vercel/otel": "^2.1.1",
"@xyflow/react": "^12.11.0",
"date-fns": "^4.1.0",
"graphql": "^16.12.0",
"graphql-ruby-client": "^1.15.1",
"graphql-tag": "^2.12.6",
"ldrs": "^1.1.9",
"lodash": "^4.18.1",
Expand Down
5 changes: 3 additions & 2 deletions src/app/(flow)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import {RoleView} from "@edition/role/services/Role.view";
import {useUserSession} from "@edition/user/hooks/User.session.hook";
import {Layout} from "@code0-tech/pictor/dist/components/layout/Layout";
import {ModuleService} from "@edition/module/services/Module.service";
import {AIService, Model} from "@edition/ai/services/AI.service";

export default function FlowLayout({bar, tab, children}: {
bar: React.ReactNode,
Expand Down Expand Up @@ -67,7 +68,7 @@ export default function FlowLayout({bar, tab, children}: {
const datatype = usePersistentReactiveArrayService<DataType, DatatypeService>(`dashboard::datatypes::${currentSession?.id}`, (store) => new DatatypeService(graphqlClient, store))
const flowtype = usePersistentReactiveArrayService<FlowType, FlowTypeService>(`dashboard::flowtypes::${currentSession?.id}`, (store) => new FlowTypeService(graphqlClient, store))
const module = usePersistentReactiveArrayService<RuntimeModule, ModuleService>(`dashboard::modules::${currentSession?.id}`, (store) => new ModuleService(graphqlClient, store))

const ai = usePersistentReactiveArrayService<Model, AIService>(`dashboard::ai::${currentSession?.id}`, (store) => new AIService(graphqlClient, store))

const runtimeId = React.useMemo(() => project[1].getById(projectId, {namespaceId})?.primaryRuntime?.id, [projectId, project[0], namespaceId])

Expand All @@ -82,7 +83,7 @@ export default function FlowLayout({bar, tab, children}: {
}, [runtimeId, namespaceId, projectId, currentSession, flow, functions, datatype, flowtype])

return <ContextStoreProvider
services={[user, organization, member, namespace, runtime, project, role, flow, functions, datatype, flowtype, module]}>
services={[user, organization, member, namespace, runtime, project, role, flow, functions, datatype, flowtype, module, ai]}>
<Layout layoutGap={0} style={{zIndex: 0}} showLayoutSplitter={false} leftContent={
<Flex p={0.7} pt={1} align={"center"} style={{flexDirection: "column", gap: "0.7rem"}}>
<div style={{
Expand Down
Loading