@@ -7,8 +7,6 @@ const concurrently = require('concurrently');
7
7
const gitRoot = execSync ( 'git rev-parse --show-toplevel' , { encoding : 'utf-8' } ) . trim ( ) ;
8
8
const integrationsRoot = path . join ( gitRoot , 'typescript-sdk' , 'integrations' ) ;
9
9
10
-
11
-
12
10
// Server Starter
13
11
const serverStarter = {
14
12
command : 'poetry run dev' ,
@@ -49,36 +47,44 @@ const langgraphFastapi = {
49
47
env : { PORT : 8004 } ,
50
48
}
51
49
52
- // Langgraph (Platform)
53
- const langgraph = {
50
+ // Langgraph (Platform {python} )
51
+ const langgraphPlatformPython = {
54
52
command : 'pnpx @langchain/langgraph-cli@latest dev --no-browser --port 8005' ,
55
53
name : 'LG Platform' ,
56
- cwd : path . join ( integrationsRoot , 'langgraph/examples' ) ,
54
+ cwd : path . join ( integrationsRoot , 'langgraph/examples/python ' ) ,
57
55
env : { PORT : 8005 } ,
58
56
}
59
57
58
+ // Langgraph (Platform {typescript})
59
+ const langgraphPlatformTypescript = {
60
+ command : 'pnpx @langchain/langgraph-cli@latest dev --no-browser --port 8006' ,
61
+ name : 'LG Platform TS' ,
62
+ cwd : path . join ( integrationsRoot , 'langgraph/examples/typescript/' ) ,
63
+ env : { PORT : 8006 } ,
64
+ }
65
+
60
66
// Llama Index
61
67
const llamaIndex = {
62
68
command : 'uv run dev' ,
63
69
name : 'Llama Index' ,
64
70
cwd : path . join ( integrationsRoot , 'llamaindex/server-py' ) ,
65
- env : { PORT : 8006 } ,
71
+ env : { PORT : 8007 } ,
66
72
}
67
73
68
74
// Mastra
69
75
const mastra = {
70
76
command : 'npm run dev' ,
71
77
name : 'Mastra' ,
72
78
cwd : path . join ( integrationsRoot , 'mastra/example' ) ,
73
- env : { PORT : 8007 } ,
79
+ env : { PORT : 8008 } ,
74
80
}
75
81
76
82
// Pydantic AI
77
83
const pydanticAi = {
78
84
command : 'uv run dev' ,
79
85
name : 'Pydantic AI' ,
80
86
cwd : path . join ( integrationsRoot , 'pydantic-ai/examples' ) ,
81
- env : { PORT : 8008 } ,
87
+ env : { PORT : 8009 } ,
82
88
}
83
89
84
90
// THE ACTUAL DOJO
@@ -87,31 +93,51 @@ const dojo = {
87
93
name : 'Dojo' ,
88
94
cwd : path . join ( gitRoot , 'typescript-sdk/apps/dojo' ) ,
89
95
env : {
96
+ PORT : 9999 ,
90
97
SERVER_STARTER_URL : 'http://localhost:8000' ,
91
98
SERVER_STARTER_ALL_FEATURES_URL : 'http://localhost:8001' ,
92
99
AGNO_URL : 'http://localhost:8002' ,
93
100
CREW_AI_URL : 'http://localhost:8003' ,
94
101
LANGGRAPH_FAST_API_URL : 'http://localhost:8004' ,
102
+ // TODO: Move this to run 2 platforms for testing.
95
103
LANGGRAPH_URL : 'http://localhost:8005' ,
96
- LLAMA_INDEX_URL : 'http://localhost:8006' ,
97
- MASTRA_URL : 'http://localhost:8007' ,
98
- PYDANTIC_AI_URL : 'http://localhost:8008' ,
104
+ // LANGGRAPH_PLATFORM_PYTHON_URL: 'http://localhost:8005',
105
+ // LANGGRAPH_PLATFORM_TYPESCRIPT_URL: 'http://localhost:8006',
106
+ LLAMA_INDEX_URL : 'http://localhost:8007' ,
107
+ MASTRA_URL : 'http://localhost:8008' ,
108
+ PYDANTIC_AI_URL : 'http://localhost:8009' ,
99
109
}
100
110
}
101
111
112
+ // TODO: wire in actual tests here
113
+ const e2e = {
114
+ // Silly little sleep until we have a healthcheck or something on agents to know they're ready
115
+ command : 'npx wait-port 9999 && sleep 10 && echo "I AM ECHOING INSTEAD OF RUNNING TESTS"' ,
116
+ name : 'E2E' ,
117
+ cwd : path . join ( gitRoot , 'typescript-sdk/apps/dojo' ) ,
118
+ }
119
+
120
+ const procs = [
121
+ serverStarter ,
122
+ serverStarterAllFeatures ,
123
+ agno ,
124
+ crewai ,
125
+ // langgraphFastapi, // Disabled until it runs
126
+ langgraphPlatformPython ,
127
+ // TODO: Also run the typescript version of langgraph.
128
+ langgraphPlatformTypescript ,
129
+ llamaIndex ,
130
+ mastra ,
131
+ pydanticAi ,
132
+ dojo
133
+ ] ;
134
+
135
+ if ( process . argv . includes ( '--e2e' ) ) {
136
+ procs . push ( e2e ) ;
137
+ }
138
+
102
139
async function main ( ) {
103
- const { result} = concurrently ( [
104
- serverStarter ,
105
- serverStarterAllFeatures ,
106
- agno ,
107
- crewai ,
108
- langgraphFastapi ,
109
- langgraph ,
110
- llamaIndex ,
111
- mastra ,
112
- pydanticAi ,
113
- dojo ,
114
- ] ) ;
140
+ const { result} = concurrently ( procs ) ;
115
141
116
142
result . then ( ( ) => process . exit ( 0 ) ) . catch ( ( err ) => {
117
143
console . error ( err ) ;
0 commit comments