@standardagents/builder 0.37.6 → 0.37.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/built-in-routes.js +72 -1
  2. package/dist/built-in-routes.js.map +1 -1
  3. package/dist/client/{ApiKeysView-Pk5oljVU.js → ApiKeysView-L85eJb6G.js} +1 -1
  4. package/dist/client/{CenteredContentView-HGpMGAQj.js → CenteredContentView-D9jkWoLc.js} +1 -1
  5. package/dist/client/{CompositionView-DN8dTOCO.js → CompositionView-BGp0EJCk.js} +1 -1
  6. package/dist/client/{ConfirmDialog.vue_vue_type_script_setup_true_lang--j_hnMZ0.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-DgwqZrLV.js} +1 -1
  7. package/dist/client/{CopyButton.vue_vue_type_script_setup_true_lang-CpJDcbZx.js → CopyButton.vue_vue_type_script_setup_true_lang-B8cGgU2J.js} +1 -1
  8. package/dist/client/{DataTable.vue_vue_type_script_setup_true_lang-unLrY-PY.js → DataTable.vue_vue_type_script_setup_true_lang-CRBXym9D.js} +1 -1
  9. package/dist/client/{JsonViewer-BYj_yrGB.js → JsonViewer-DkHnIfq3.js} +1 -1
  10. package/dist/client/{LoginView-CfVqItZV.js → LoginView-BXD9Odc-.js} +1 -1
  11. package/dist/client/{MarketplaceView-Cidt0nLf.js → MarketplaceView-DEnujUBs.js} +1 -1
  12. package/dist/client/{Modal.vue_vue_type_script_setup_true_lang-C1dmm1HX.js → Modal.vue_vue_type_script_setup_true_lang-keKEwm3K.js} +1 -1
  13. package/dist/client/{ModelModal.vue_vue_type_script_setup_true_lang-DIKLuPXT.js → ModelModal.vue_vue_type_script_setup_true_lang-t1n0bbJe.js} +1 -1
  14. package/dist/client/{ModelsView-DH6wNe38.js → ModelsView-BkCLr8sp.js} +1 -1
  15. package/dist/client/{PromptEditView-D_VjoAa-.js → PromptEditView-BjCfsJQE.js} +1 -1
  16. package/dist/client/{PromptModal-a9LTOWNt.js → PromptModal-nxu_LIv6.js} +1 -1
  17. package/dist/client/{PromptsView-BCCCryKR.js → PromptsView-1yXGCmEZ.js} +1 -1
  18. package/dist/client/{ProvidersView-CF4x5F6G.js → ProvidersView-DxF6gafk.js} +1 -1
  19. package/dist/client/{ThreadInspectorPane.vue_vue_type_script_setup_true_lang-D5VDoQiK.js → ThreadInspectorPane.vue_vue_type_script_setup_true_lang-CjwWJ3uw.js} +14 -14
  20. package/dist/client/{ThreadsView-BzscU1l2.js → ThreadsView-CBup_w8u.js} +1 -1
  21. package/dist/client/{ToolsView-CeEtxDZV.js → ToolsView-B30TfXU9.js} +1 -1
  22. package/dist/client/{UsersView-Di5cmUYL.js → UsersView-kE7Xr4f3.js} +1 -1
  23. package/dist/client/{VariablesView-CXUr05jD.js → VariablesView-yYuynG0M.js} +1 -1
  24. package/dist/client/assets/{ThreadInspectorPane-D9ZMzSTn.css → ThreadInspectorPane-BRGO_P0_.css} +1 -1
  25. package/dist/client/{index-BMqXblce.js → index-AUGwDdSH.js} +2 -2
  26. package/dist/client/index.html +1 -1
  27. package/dist/index.js +7 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin.js.map +1 -1
  30. package/dist/runtime.d.ts +0 -1
  31. package/dist/runtime.js +7 -0
  32. package/dist/runtime.js.map +1 -1
  33. package/package.json +5 -5
@@ -67987,7 +67987,7 @@ var config_get_default = defineController2(async ({ config, env: env2, req }) =>
67987
67987
  });
67988
67988
 
67989
67989
  // src/version.ts
67990
- var BUILDER_VERSION = "0.37.6".length > 0 ? "0.37.6" : "dev";
67990
+ var BUILDER_VERSION = "0.37.7".length > 0 ? "0.37.7" : "dev";
67991
67991
 
67992
67992
  // src/api/diagnostics.get.ts
67993
67993
  init_LLMRequest();
@@ -75605,6 +75605,76 @@ var messageId_patch_default = defineController2(async ({ req, params, env: env2
75605
75605
  }
75606
75606
  });
75607
75607
 
75608
+ // src/api/threads/[id]/public/[...path].ts
75609
+ var path_default4 = defineController2(async ({ req, params, env: env2 }) => {
75610
+ if (req.method !== "GET" && req.method !== "HEAD") {
75611
+ return Response.json({ error: "Method not allowed" }, { status: 405 });
75612
+ }
75613
+ const threadId = params.id;
75614
+ if (!threadId) {
75615
+ return Response.json({ error: "Thread ID required" }, { status: 400 });
75616
+ }
75617
+ const rawPathParam = params._ || params.path || params["*"] || "";
75618
+ const relative4 = rawPathParam === "public" ? "" : rawPathParam.replace(/^\/?public\//, "");
75619
+ const segments = [];
75620
+ for (const part of relative4.replace(/\\/g, "/").split("/")) {
75621
+ if (!part || part === ".") continue;
75622
+ if (part === "..") return notFound();
75623
+ segments.push(part);
75624
+ }
75625
+ if (segments.length === 0) return notFound();
75626
+ const path10 = `/public/${segments.join("/")}`;
75627
+ try {
75628
+ const durableId = env2.AGENT_BUILDER_THREAD.idFromName(threadId);
75629
+ const stub = env2.AGENT_BUILDER_THREAD.get(durableId);
75630
+ const statResult = await stub.statFile(path10);
75631
+ if (!statResult?.success) return notFound();
75632
+ const file = statResult.file;
75633
+ if (!file || file.isDirectory || file.storage !== "local") return notFound();
75634
+ const headers = {
75635
+ "Content-Type": file.mimeType || "application/octet-stream",
75636
+ "Content-Length": String(file.size),
75637
+ "Content-Disposition": `inline; filename="${file.name}"`,
75638
+ // Public files are mutable (unlike content-addressed assets): cache
75639
+ // briefly so shares are fast without pinning stale content for a year.
75640
+ "Cache-Control": "public, max-age=300"
75641
+ };
75642
+ if (req.method === "HEAD") return new Response(null, { headers });
75643
+ if (file.isChunked && file.chunkCount) {
75644
+ const { readable, writable } = new TransformStream();
75645
+ const writer = writable.getWriter();
75646
+ (async () => {
75647
+ try {
75648
+ for (let i = 0; i < file.chunkCount; i++) {
75649
+ const chunk = await stub.readFileChunk(path10, i);
75650
+ if (!chunk?.success) break;
75651
+ const binary2 = atob(chunk.data);
75652
+ const bytes2 = new Uint8Array(binary2.length);
75653
+ for (let j = 0; j < binary2.length; j++) bytes2[j] = binary2.charCodeAt(j);
75654
+ await writer.write(bytes2);
75655
+ }
75656
+ } finally {
75657
+ await writer.close().catch(() => {
75658
+ });
75659
+ }
75660
+ })();
75661
+ return new Response(readable, { headers });
75662
+ }
75663
+ const result = await stub.readFile(path10);
75664
+ if (!result?.success) return notFound();
75665
+ const binary = atob(result.data);
75666
+ const bytes = new Uint8Array(binary.length);
75667
+ for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
75668
+ return new Response(bytes, { headers });
75669
+ } catch (error) {
75670
+ console.error(`Error serving public file for thread ${threadId}:`, error);
75671
+ return notFound();
75672
+ }
75673
+ });
75674
+ function notFound() {
75675
+ return Response.json({ error: "Not found" }, { status: 404 });
75676
+ }
75677
+
75608
75678
  // src/api/threads/[id]/variables/[requestId].get.ts
75609
75679
  var requestId_get_default = defineController2(async ({ req, params, env: env2 }) => {
75610
75680
  const authResult = await requireAuth(req, env2);
@@ -76249,6 +76319,7 @@ var routeHandlers = {
76249
76319
  "GET:/threads/:id/logs/:logId": logId_get_default,
76250
76320
  "DELETE:/threads/:id/messages/:messageId": messageId_delete_default,
76251
76321
  "PATCH:/threads/:id/messages/:messageId": messageId_patch_default,
76322
+ "GET:/threads/:id/public/**": path_default4,
76252
76323
  "GET:/threads/:id/variables/:requestId": requestId_get_default,
76253
76324
  "POST:/threads/:id/variables/:requestId": requestId_post_default,
76254
76325
  "POST:/threads/:id/effects/:effectId/cancel": cancel_post_default,