julep icon indicating copy to clipboard operation
julep copied to clipboard

Restructure tool models and extend BrowserBase

Open creatorrr opened this issue 6 months ago • 2 comments
trafficstars

Summary

  • split large tool models.tsp into focused component files
  • expand BrowserBase context/session models
  • add granular system call model definitions
  • support parallel tool calls in chat input

Testing

  • bash scripts/generate_openapi_code.sh (fails: tsp not found)
  • poetry run poe codegen (fails: pyproject.toml missing)

creatorrr avatar May 17 '25 17:05 creatorrr

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Typecheck

Failed stage: Generate openapi code [❌]

Failure summary:

The action failed because the TypeSpec compiler encountered 6 errors while compiling the TypeSpec
files:

1. Unknown identifier HasTimestamps in file tool_definitions.tsp (line 41)
2. Unknown identifier
HasId in file tool_definitions.tsp (line 42)
3. Unknown identifier validPythonIdentifier in file
tool_definitions.tsp (line 16)
4. Unknown identifier MailgunIntegrationDef in file integrations.tsp
(line 56)
5. Type mismatch error in file sessions.tsp (line 209) - property method has incompatible
types
6. Unknown identifier uuid in file system.tsp (line 50)

The TypeSpec compilation failed with exit code 1, causing the entire action to fail.

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

164:  prune-cache: true
165:  ignore-nothing-to-cache: false
166:  ##[endgroup]
167:  Downloading uv from "https://github.com/astral-sh/uv/releases/download/0.7.5/uv-x86_64-unknown-linux-gnu.tar.gz" ...
168:  [command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/c7326344-47fb-4135-aec2-b6dbd8acb1fd -f /home/runner/work/_temp/98070e69-1f60-4ef2-89fb-7e4692ecba3c
169:  Added /opt/hostedtoolcache/uv/0.7.5/x86_64 to the path
170:  Added /home/runner/.local/bin to the path
171:  Set UV_CACHE_DIR to /home/runner/work/_temp/setup-uv-cache
172:  Successfully installed uv version 0.7.5
173:  Searching files using cache dependency glob: **/uv.lock
174:  /home/runner/work/julep/julep/agents-api/uv.lock
175:  /home/runner/work/julep/julep/cli/uv.lock
176:  /home/runner/work/julep/julep/integrations-service/uv.lock
177:  Found 3 files to hash.
178:  Trying to restore uv cache from GitHub Actions cache with key: setup-uv-1-x86_64-unknown-linux-gnu-0.7.5-d92603d25acef1c08e643c37cc2475e5e190deb9690356b084828d60043a591f
179:  ##[warning]Failed to restore: Cache service responded with 422
180:  No GitHub Actions cache found for key: setup-uv-1-x86_64-unknown-linux-gnu-0.7.5-d92603d25acef1c08e643c37cc2475e5e190deb9690356b084828d60043a591f
...

204:  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
205:  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
206:  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
207:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.10/x64/lib
208:  ##[endgroup]
209:  added 108 packages, and audited 109 packages in 1s
210:  13 packages are looking for funding
211:  run `npm fund` for details
212:  found 0 vulnerabilities
213:  /home/runner/work/julep/julep
214:  + set -e
215:  + cd typespec/
216:  + tsp compile .
217:  TypeSpec compiler v0.61.2
218:  Diagnostics were reported during compilation:
219:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m41[39m:[33m8[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier HasTimestamps
220:  > 41 |     ...HasTimestamps;
221:  |        ^^^^^^^^^^^^^
222:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m42[39m:[33m8[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier HasId
223:  > 42 |     ...HasId;
224:  |        ^^^^^
225:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m16[39m:[33m11[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier validPythonIdentifier
226:  > 16 |     name: validPythonIdentifier;
227:  |           ^^^^^^^^^^^^^^^^^^^^^
228:  [36m/home/runner/work/julep/julep/typespec/tools/integrations.tsp[39m:[33m56[39m:[33m7[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier MailgunIntegrationDef
229:  > 56 |     | MailgunIntegrationDef
230:  |       ^^^^^^^^^^^^^^^^^^^^^
231:  [36m/home/runner/work/julep/julep/typespec/tools/browserbase/sessions.tsp[39m:[33m209[39m:[33m5[39m - [31merror[39m [90moverride-property-mismatch[39m: Model has an inherited property named method of type "create_session_uploads" which cannot override type "get_live_urls" | "list_sessions" | "create_session" | "get_session" | "complete_session" | "get_connect_url" | "install_extension_from_github" | "create_context" | "get_session_downloads" | "get_logs" | "get_recordings"
232:  > 209 |     method: "create_session_uploads" = "create_session_uploads";
233:  |     ^^^^^^
234:  [36m/home/runner/work/julep/julep/typespec/tools/system.tsp[39m:[33m50[39m:[33m19[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier uuid
235:  > 50 |     resource_id?: uuid;
236:  |                   ^^^^
237:  Found 6 errors.
238:  ##[error]Process completed with exit code 1.
239:  Post job cleanup.

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: Typecheck

Failed stage: Generate openapi code [❌]

Failure summary:

The action failed because the TypeSpec compiler encountered 6 errors during compilation:

1. Unknown identifier HasTimestamps in file tool_definitions.tsp (line 41)
2. Unknown identifier
HasId in file tool_definitions.tsp (line 42)
3. Unknown identifier validPythonIdentifier in file
tool_definitions.tsp (line 16)
4. Unknown identifier MailgunIntegrationDef in file integrations.tsp
(line 56)
5. Type mismatch error in file sessions.tsp (line 209) - property method has incompatible
types
6. Unknown identifier uuid in file system.tsp (line 50)

The TypeSpec compiler exited with code 1, causing the action to fail.

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

156:  prune-cache: true
157:  ignore-nothing-to-cache: false
158:  ##[endgroup]
159:  Downloading uv from "https://github.com/astral-sh/uv/releases/download/0.7.5/uv-x86_64-unknown-linux-gnu.tar.gz" ...
160:  [command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/cdf8fe95-2f68-497e-9693-c072099268d6 -f /home/runner/work/_temp/e74fd1e1-b103-4bc2-b7fd-159c599f65c3
161:  Added /opt/hostedtoolcache/uv/0.7.5/x86_64 to the path
162:  Added /home/runner/.local/bin to the path
163:  Set UV_CACHE_DIR to /home/runner/work/_temp/setup-uv-cache
164:  Successfully installed uv version 0.7.5
165:  Searching files using cache dependency glob: **/uv.lock
166:  /home/runner/work/julep/julep/agents-api/uv.lock
167:  /home/runner/work/julep/julep/cli/uv.lock
168:  /home/runner/work/julep/julep/integrations-service/uv.lock
169:  Found 3 files to hash.
170:  Trying to restore uv cache from GitHub Actions cache with key: setup-uv-1-x86_64-unknown-linux-gnu-0.7.5-d92603d25acef1c08e643c37cc2475e5e190deb9690356b084828d60043a591f
171:  ##[warning]Failed to restore: Cache service responded with 422
172:  No GitHub Actions cache found for key: setup-uv-1-x86_64-unknown-linux-gnu-0.7.5-d92603d25acef1c08e643c37cc2475e5e190deb9690356b084828d60043a591f
...

196:  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
197:  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
198:  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.10/x64
199:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.10/x64/lib
200:  ##[endgroup]
201:  added 108 packages, and audited 109 packages in 1s
202:  13 packages are looking for funding
203:  run `npm fund` for details
204:  found 0 vulnerabilities
205:  /home/runner/work/julep/julep
206:  + set -e
207:  + cd typespec/
208:  + tsp compile .
209:  TypeSpec compiler v0.61.2
210:  Diagnostics were reported during compilation:
211:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m41[39m:[33m8[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier HasTimestamps
212:  > 41 |     ...HasTimestamps;
213:  |        ^^^^^^^^^^^^^
214:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m42[39m:[33m8[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier HasId
215:  > 42 |     ...HasId;
216:  |        ^^^^^
217:  [36m/home/runner/work/julep/julep/typespec/tools/tool_definitions.tsp[39m:[33m16[39m:[33m11[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier validPythonIdentifier
218:  > 16 |     name: validPythonIdentifier;
219:  |           ^^^^^^^^^^^^^^^^^^^^^
220:  [36m/home/runner/work/julep/julep/typespec/tools/integrations.tsp[39m:[33m56[39m:[33m7[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier MailgunIntegrationDef
221:  > 56 |     | MailgunIntegrationDef
222:  |       ^^^^^^^^^^^^^^^^^^^^^
223:  [36m/home/runner/work/julep/julep/typespec/tools/browserbase/sessions.tsp[39m:[33m209[39m:[33m5[39m - [31merror[39m [90moverride-property-mismatch[39m: Model has an inherited property named method of type "create_session_uploads" which cannot override type "get_live_urls" | "list_sessions" | "create_session" | "get_session" | "complete_session" | "get_connect_url" | "install_extension_from_github" | "create_context" | "get_session_downloads" | "get_logs" | "get_recordings"
224:  > 209 |     method: "create_session_uploads" = "create_session_uploads";
225:  |     ^^^^^^
226:  [36m/home/runner/work/julep/julep/typespec/tools/system.tsp[39m:[33m50[39m:[33m19[39m - [31merror[39m [90munknown-identifier[39m: Unknown identifier uuid
227:  > 50 |     resource_id?: uuid;
228:  |                   ^^^^
229:  Found 6 errors.
230:  ##[error]Process completed with exit code 1.
231:  Post job cleanup.

what's this for? doesn't even generate the typespec code.

Ahmad-mtos avatar Jul 09 '25 15:07 Ahmad-mtos