@@ -47,76 +47,76 @@ const integrationsRoot = path.join(gitRoot, 'typescript-sdk', 'integrations');
4747
4848// Define all runnable services keyed by a stable id
4949const ALL_SERVICES = {
50- 'server-starter' : {
50+ 'server-starter' : [ {
5151 command : 'poetry run dev' ,
5252 name : 'Server Starter' ,
5353 cwd : path . join ( integrationsRoot , 'server-starter/server/python' ) ,
5454 env : { PORT : 8000 } ,
55- } ,
56- 'server-starter-all' : {
55+ } ] ,
56+ 'server-starter-all' : [ {
5757 command : 'poetry run dev' ,
5858 name : 'Server AF' ,
5959 cwd : path . join ( integrationsRoot , 'server-starter-all-features/server/python' ) ,
6060 env : { PORT : 8001 } ,
61- } ,
62- 'agno' : {
61+ } ] ,
62+ 'agno' : [ {
6363 command : 'uv run dev' ,
6464 name : 'Agno' ,
6565 cwd : path . join ( integrationsRoot , 'agno/examples' ) ,
6666 env : { PORT : 8002 } ,
67- } ,
67+ } ] ,
6868 'crew-ai' : {
6969 command : 'poetry run dev' ,
7070 name : 'CrewAI' ,
7171 cwd : path . join ( integrationsRoot , 'crewai/python' ) ,
7272 env : { PORT : 8003 } ,
7373 } ,
74- 'langgraph-fastapi' : {
74+ 'langgraph-fastapi' : [ {
7575 command : 'poetry run dev' ,
7676 name : 'LG FastAPI' ,
7777 cwd : path . join ( integrationsRoot , 'langgraph/examples/python' ) ,
7878 env : {
7979 PORT : 8004 ,
8080 POETRY_VIRTUALENVS_IN_PROJECT : 'false' ,
8181 } ,
82- } ,
82+ } ] ,
8383 'langgraph-platform-python' : {
8484 command : 'pnpx @langchain/langgraph-cli@latest dev --no-browser --host 127.0.0.1 --port 8005' ,
8585 name : 'LG Platform Py' ,
8686 cwd : path . join ( integrationsRoot , 'langgraph/examples/python' ) ,
8787 env : { PORT : 8005 } ,
8888 } ,
89- 'langgraph-platform-typescript' : {
89+ 'langgraph-platform-typescript' : [ {
9090 command : 'pnpx @langchain/langgraph-cli@latest dev --no-browser --host 127.0.0.1 --port 8006' ,
9191 name : 'LG Platform TS' ,
9292 cwd : path . join ( integrationsRoot , 'langgraph/examples/typescript/' ) ,
9393 env : { PORT : 8006 } ,
94- } ,
94+ } ] ,
9595 'llama-index' : {
9696 command : 'uv run dev' ,
9797 name : 'Llama Index' ,
9898 cwd : path . join ( integrationsRoot , 'llamaindex/server-py' ) ,
9999 env : { PORT : 8007 } ,
100100 } ,
101- 'mastra' : {
101+ 'mastra' : [ {
102102 command : 'npm run dev' ,
103103 name : 'Mastra' ,
104104 cwd : path . join ( integrationsRoot , 'mastra/example' ) ,
105105 env : { PORT : 8008 } ,
106- } ,
106+ } ] ,
107107 'pydantic-ai' : {
108108 command : 'uv run dev' ,
109109 name : 'Pydantic AI' ,
110110 cwd : path . join ( integrationsRoot , 'pydantic-ai/examples' ) ,
111111 env : { PORT : 8009 } ,
112112 } ,
113- 'adk-middleware' : {
113+ 'adk-middleware' : [ {
114114 command : 'uv run dev' ,
115115 name : 'ADK Middleware' ,
116116 cwd : path . join ( integrationsRoot , 'adk-middleware/python/examples' ) ,
117117 env : { PORT : 8010 } ,
118- } ,
119- 'dojo' : {
118+ } ] ,
119+ 'dojo' : [ {
120120 command : 'pnpm run start' ,
121121 name : 'Dojo' ,
122122 cwd : path . join ( gitRoot , 'typescript-sdk/apps/dojo' ) ,
@@ -135,7 +135,7 @@ const ALL_SERVICES = {
135135 ADK_MIDDLEWARE_URL : 'http://localhost:8010' ,
136136 NEXT_PUBLIC_CUSTOM_DOMAIN_TITLE : 'cpkdojo.local___CopilotKit Feature Viewer' ,
137137 } ,
138- } ,
138+ } ] ,
139139} ;
140140
141141function printDryRunServices ( procs ) {
@@ -169,12 +169,12 @@ async function main() {
169169 // Build processes, warn for unknown keys
170170 const procs = [ ] ;
171171 for ( const key of selectedKeys ) {
172- const svc = ALL_SERVICES [ key ] ;
173- if ( ! svc ) {
172+ const svcs = ALL_SERVICES [ key ] ;
173+ if ( ! svcs || svcs . length === 0 ) {
174174 console . warn ( `Skipping unknown service: ${ key } ` ) ;
175175 continue ;
176176 }
177- procs . push ( svc ) ;
177+ procs . push ( ... svcs ) ;
178178 }
179179
180180 if ( dryRun ) {
0 commit comments