openai 7.26.0 → 7.27.0

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 (67) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/helpers/beta/agents/filesystem.d.mts +17 -0
  3. package/helpers/beta/agents/filesystem.d.mts.map +1 -0
  4. package/helpers/beta/agents/filesystem.d.ts +17 -0
  5. package/helpers/beta/agents/filesystem.d.ts.map +1 -0
  6. package/helpers/beta/agents/filesystem.js +168 -0
  7. package/helpers/beta/agents/filesystem.js.map +1 -0
  8. package/helpers/beta/agents/filesystem.mjs +162 -0
  9. package/helpers/beta/agents/filesystem.mjs.map +1 -0
  10. package/internal/shim-types.d.mts +9 -0
  11. package/internal/shim-types.d.mts.map +1 -1
  12. package/internal/shim-types.d.ts +9 -0
  13. package/internal/shim-types.d.ts.map +1 -1
  14. package/internal/tslib.js +4 -0
  15. package/lib/beta/agents/files.d.mts +33 -0
  16. package/lib/beta/agents/files.d.mts.map +1 -0
  17. package/lib/beta/agents/files.d.ts +33 -0
  18. package/lib/beta/agents/files.d.ts.map +1 -0
  19. package/lib/beta/agents/files.js +93 -0
  20. package/lib/beta/agents/files.js.map +1 -0
  21. package/lib/beta/agents/files.mjs +86 -0
  22. package/lib/beta/agents/files.mjs.map +1 -0
  23. package/lib/beta/agents/pages.d.mts +9 -0
  24. package/lib/beta/agents/pages.d.mts.map +1 -0
  25. package/lib/beta/agents/pages.d.ts +9 -0
  26. package/lib/beta/agents/pages.d.ts.map +1 -0
  27. package/lib/beta/agents/pages.js +32 -0
  28. package/lib/beta/agents/pages.js.map +1 -0
  29. package/lib/beta/agents/pages.mjs +29 -0
  30. package/lib/beta/agents/pages.mjs.map +1 -0
  31. package/lib/beta/agents/result-artifacts.d.mts +19 -0
  32. package/lib/beta/agents/result-artifacts.d.mts.map +1 -0
  33. package/lib/beta/agents/result-artifacts.d.ts +19 -0
  34. package/lib/beta/agents/result-artifacts.d.ts.map +1 -0
  35. package/lib/beta/agents/result-artifacts.js +67 -0
  36. package/lib/beta/agents/result-artifacts.js.map +1 -0
  37. package/lib/beta/agents/result-artifacts.mjs +63 -0
  38. package/lib/beta/agents/result-artifacts.mjs.map +1 -0
  39. package/package.json +1 -1
  40. package/resources/beta/agents/environments/files.d.mts +12 -0
  41. package/resources/beta/agents/environments/files.d.mts.map +1 -1
  42. package/resources/beta/agents/environments/files.d.ts +12 -0
  43. package/resources/beta/agents/environments/files.d.ts.map +1 -1
  44. package/resources/beta/agents/environments/files.js +9 -0
  45. package/resources/beta/agents/environments/files.js.map +1 -1
  46. package/resources/beta/agents/environments/files.mjs +9 -0
  47. package/resources/beta/agents/environments/files.mjs.map +1 -1
  48. package/resources/beta/agents/sessions/artifacts.d.mts +4 -0
  49. package/resources/beta/agents/sessions/artifacts.d.mts.map +1 -1
  50. package/resources/beta/agents/sessions/artifacts.d.ts +4 -0
  51. package/resources/beta/agents/sessions/artifacts.d.ts.map +1 -1
  52. package/resources/beta/agents/sessions/artifacts.js +5 -0
  53. package/resources/beta/agents/sessions/artifacts.js.map +1 -1
  54. package/resources/beta/agents/sessions/artifacts.mjs +5 -0
  55. package/resources/beta/agents/sessions/artifacts.mjs.map +1 -1
  56. package/src/helpers/beta/agents/filesystem.ts +187 -0
  57. package/src/internal/shim-types.ts +17 -0
  58. package/src/lib/beta/agents/files.ts +119 -0
  59. package/src/lib/beta/agents/pages.ts +32 -0
  60. package/src/lib/beta/agents/result-artifacts.ts +76 -0
  61. package/src/resources/beta/agents/environments/files.ts +16 -0
  62. package/src/resources/beta/agents/sessions/artifacts.ts +7 -0
  63. package/src/version.ts +1 -1
  64. package/version.d.mts +1 -1
  65. package/version.d.ts +1 -1
  66. package/version.js +1 -1
  67. package/version.mjs +1 -1
@@ -1,4 +1,5 @@
1
1
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
2
+ import { prepareAgentFiles, uploadAgentFile, } from "../../../../lib/beta/agents/files.mjs";
2
3
  import { APIResource } from "../../../../core/resource.mjs";
3
4
  import { TokenPage } from "../../../../core/pagination.mjs";
4
5
  import { buildHeaders } from "../../../../internal/headers.mjs";
@@ -7,6 +8,14 @@ function resolveResourceRequestOptions(options, buildOptions) {
7
8
  return Promise.resolve(options).then(buildOptions);
8
9
  }
9
10
  export class Files extends APIResource {
11
+ /** Beta: prepare initial hosted file references; uploaded Files API objects remain caller-owned. */
12
+ prepare(files, options) {
13
+ return prepareAgentFiles(this._client, files, options);
14
+ }
15
+ /** Beta: upload one local file and stage its reference in a live environment. */
16
+ upload(environmentID, params, options) {
17
+ return uploadAgentFile(this._client, this, environmentID, params, options);
18
+ }
10
19
  /**
11
20
  * Copies inline bytes or a Files API file into a connected execution environment.
12
21
  * See
@@ -1 +1 @@
1
- {"version":3,"file":"files.mjs","sourceRoot":"","sources":["../../../../src/resources/beta/agents/environments/files.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,WAAW,EAAE,sCAAkC;AAExD,OAAO,EAAe,SAAS,EAAwB,wCAAoC;AAC3F,OAAO,EAAE,YAAY,EAAE,yCAAqC;AAE5D,OAAO,EAAE,IAAI,EAAE,4CAAwC;AAEvD,SAAS,6BAA6B,CACpC,OAAmC,EACnC,YAA+F;IAE/F,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,OAAO,KAAM,SAAQ,WAAW;IACpC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CACJ,aAAqB,EACrB,IAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAA,wBAAwB,aAAa,QAAQ,EACjD,6BAA6B,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CACF,aAAqB,EACrB,QAA2C,EAAE,EAC7C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,IAAI,CAAA,wBAAwB,aAAa,QAAQ,EACjD,CAAA,SAA0B,CAAA,EAC1B,6BAA6B,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,KAAK;YACL,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"files.mjs","sourceRoot":"","sources":["../../../../src/resources/beta/agents/environments/files.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EACL,iBAAiB,EACjB,eAAe,GAEhB,8CAA0C;AAE3C,OAAO,EAAE,WAAW,EAAE,sCAAkC;AAExD,OAAO,EAAe,SAAS,EAAwB,wCAAoC;AAC3F,OAAO,EAAE,YAAY,EAAE,yCAAqC;AAE5D,OAAO,EAAE,IAAI,EAAE,4CAAwC;AAEvD,SAAS,6BAA6B,CACpC,OAAmC,EACnC,YAA+F;IAE/F,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,OAAO,KAAM,SAAQ,WAAW;IACpC,oGAAoG;IACpG,OAAO,CAAC,KAAiC,EAAE,OAAwB;QACjE,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,aAAqB,EAAE,MAA0C,EAAE,OAAwB;QAChG,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CACJ,aAAqB,EACrB,IAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,IAAI,CAAA,wBAAwB,aAAa,QAAQ,EACjD,6BAA6B,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CACF,aAAqB,EACrB,QAA2C,EAAE,EAC7C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,IAAI,CAAA,wBAAwB,aAAa,QAAQ,EACjD,CAAA,SAA0B,CAAA,EAC1B,6BAA6B,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,KAAK;YACL,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACzE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +1,12 @@
1
+ import { AgentResultArtifacts } from "../../../../lib/beta/agents/result-artifacts.mjs";
2
+ import type { AgentTurnResult } from "../../../../lib/beta/agents/agent-turn-result.mjs";
1
3
  import { APIResource } from "../../../../core/resource.mjs";
2
4
  import { APIPromise } from "../../../../core/api-promise.mjs";
3
5
  import { CursorPage, type CursorPageParams, PagePromise } from "../../../../core/pagination.mjs";
4
6
  import { RequestOptions } from "../../../../internal/request-options.mjs";
5
7
  export declare class Artifacts extends APIResource {
8
+ /** Beta: bind artifact lookup and downloads to a completed result's exact session and turn. */
9
+ forResult(result: AgentTurnResult): AgentResultArtifacts;
6
10
  /**
7
11
  * Retrieves immutable metadata for one durable session artifact. See
8
12
  * [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.mts","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,sCAAkC;AACxD,OAAO,EAAE,UAAU,EAAE,yCAAqC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,wCAAoC;AAE7F,OAAO,EAAE,cAAc,EAAE,iDAA6C;AAqHtE,qBAAa,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;;;OAYG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,eAAe,CAAC;IAY9B;;;;;;;;;;;;;OAaG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EACF,CAAC,kBAAkB,GACjB,CACI;SAEI,CAAC,IACG,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,uBAAuB,CAC5B,CAAC,EAAE,KAAK;KACV,GACD,IAAI,GACJ,SAAS,CACZ,CAAC,GACJ,IAAI,GACJ,SAAS,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACrD,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;KACxG,GAAG;SAEA,CAAC,IACG,QAAQ,GACR,MAAM,GACN,MAAM,GACN,QAAQ,GACR,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,uBAAuB,CAC5B,CAAC,EAAE,KAAK;KACV,GACA,WAAW,CAAC,oBAAoB,EAAE,eAAe,CAAC;IAqDrD;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,sBAAsB,CAAC;IAYrC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;CAe3G;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,wBAAwB,CAAC;IAEjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,gCAAgC,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;IACnF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,OAAO,EACL,KAAK,eAAe,IAAI,eAAe,EACvC,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
1
+ {"version":3,"file":"artifacts.d.mts","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,yDAAqD;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,0DAAsD;AACrF,OAAO,EAAE,WAAW,EAAE,sCAAkC;AACxD,OAAO,EAAE,UAAU,EAAE,yCAAqC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE,wCAAoC;AAE7F,OAAO,EAAE,cAAc,EAAE,iDAA6C;AAqHtE,qBAAa,SAAU,SAAQ,WAAW;IACxC,+FAA+F;IAC/F,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB;IAIxD;;;;;;;;;;;;OAYG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,eAAe,CAAC;IAY9B;;;;;;;;;;;;;OAaG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EACF,CAAC,kBAAkB,GACjB,CACI;SAEI,CAAC,IACG,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,uBAAuB,CAC5B,CAAC,EAAE,KAAK;KACV,GACD,IAAI,GACJ,SAAS,CACZ,CAAC,GACJ,IAAI,GACJ,SAAS,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACrD,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;KACxG,GAAG;SAEA,CAAC,IACG,QAAQ,GACR,MAAM,GACN,MAAM,GACN,QAAQ,GACR,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,uBAAuB,CAC5B,CAAC,EAAE,KAAK;KACV,GACA,WAAW,CAAC,oBAAoB,EAAE,eAAe,CAAC;IAqDrD;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,sBAAsB,CAAC;IAYrC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;CAe3G;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,wBAAwB,CAAC;IAEjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,gCAAgC,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;IACnF;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,OAAO,EACL,KAAK,eAAe,IAAI,eAAe,EACvC,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,sBAAsB,IAAI,sBAAsB,EACrD,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,oBAAoB,IAAI,oBAAoB,EACjD,KAAK,qBAAqB,IAAI,qBAAqB,GACpD,CAAC;CACH"}
@@ -1,8 +1,12 @@
1
+ import { AgentResultArtifacts } from "../../../../lib/beta/agents/result-artifacts.js";
2
+ import type { AgentTurnResult } from "../../../../lib/beta/agents/agent-turn-result.js";
1
3
  import { APIResource } from "../../../../core/resource.js";
2
4
  import { APIPromise } from "../../../../core/api-promise.js";
3
5
  import { CursorPage, type CursorPageParams, PagePromise } from "../../../../core/pagination.js";
4
6
  import { RequestOptions } from "../../../../internal/request-options.js";
5
7
  export declare class Artifacts extends APIResource {
8
+ /** Beta: bind artifact lookup and downloads to a completed result's exact session and turn. */
9
+ forResult(result: AgentTurnResult): AgentResultArtifacts;
6
10
  /**
7
11
  * Retrieves immutable metadata for one durable session artifact. See
8
12
  * [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Artifacts = void 0;
5
+ const result_artifacts_1 = require("../../../../lib/beta/agents/result-artifacts.js");
5
6
  const resource_1 = require("../../../../core/resource.js");
6
7
  const pagination_1 = require("../../../../core/pagination.js");
7
8
  const headers_1 = require("../../../../internal/headers.js");
@@ -62,6 +63,10 @@ function normalizeRequestOptionsForQuery(value, queryKeys, options) {
62
63
  }));
63
64
  }
64
65
  class Artifacts extends resource_1.APIResource {
66
+ /** Beta: bind artifact lookup and downloads to a completed result's exact session and turn. */
67
+ forResult(result) {
68
+ return new result_artifacts_1.AgentResultArtifacts(this, result);
69
+ }
65
70
  /**
66
71
  * Retrieves immutable metadata for one durable session artifact. See
67
72
  * [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
2
+ import { AgentResultArtifacts } from "../../../../lib/beta/agents/result-artifacts.mjs";
2
3
  import { APIResource } from "../../../../core/resource.mjs";
3
4
  import { CursorPage } from "../../../../core/pagination.mjs";
4
5
  import { buildHeaders } from "../../../../internal/headers.mjs";
@@ -59,6 +60,10 @@ function normalizeRequestOptionsForQuery(value, queryKeys, options) {
59
60
  }));
60
61
  }
61
62
  export class Artifacts extends APIResource {
63
+ /** Beta: bind artifact lookup and downloads to a completed result's exact session and turn. */
64
+ forResult(result) {
65
+ return new AgentResultArtifacts(this, result);
66
+ }
62
67
  /**
63
68
  * Retrieves immutable metadata for one durable session artifact. See
64
69
  * [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.mjs","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.mjs","sourceRoot":"","sources":["../../../../src/resources/beta/agents/sessions/artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ import { constants } from 'node:fs';
2
+ import type { Stats } from 'node:fs';
3
+ import type { WritableStream as AgentWritableStream } from '../../../internal/shim-types';
4
+ import { lstat, open, realpath } from 'node:fs/promises';
5
+ import type { FileHandle } from 'node:fs/promises';
6
+ import nodePath from 'node:path';
7
+ import { OpenAIError } from '../../../core/error';
8
+ import { toStreamingFile } from '../../../internal/uploads';
9
+ import type { StreamingFile } from '../../../internal/uploads';
10
+ import type { RequestOptions } from '../../../internal/request-options';
11
+ import type { Files } from '../../../resources/beta/agents/environments/files';
12
+ import type { PreparedAgentFiles } from '../../../lib/beta/agents/files';
13
+
14
+ async function checkedPath(path: string, boundary?: string): Promise<{ path: string; info: Stats }> {
15
+ const absolute = nodePath.resolve(path);
16
+ const root = boundary ?? nodePath.dirname(absolute);
17
+ let current = root;
18
+ let selected: Stats | undefined;
19
+ for (const component of nodePath.relative(root, absolute).split(nodePath.sep)) {
20
+ current = nodePath.join(current, component);
21
+ // oxlint-disable-next-line no-await-in-loop -- Check each ancestor before following the next path component.
22
+ const info = await lstat(current);
23
+ selected = info;
24
+ if (info.isSymbolicLink()) {
25
+ throw new OpenAIError('Agent file sources cannot contain symbolic links');
26
+ }
27
+ }
28
+ const resolved = await realpath(absolute);
29
+ const info = await lstat(resolved);
30
+ const relative = boundary ? nodePath.relative(boundary, resolved) : '';
31
+ if (
32
+ !selected ||
33
+ selected.dev !== info.dev ||
34
+ selected.ino !== info.ino ||
35
+ selected.size !== info.size ||
36
+ (boundary &&
37
+ (relative === '..' || relative.startsWith(`..${nodePath.sep}`) || nodePath.isAbsolute(relative)))
38
+ ) {
39
+ throw new OpenAIError('Selected agent file changed while resolving its path');
40
+ }
41
+ return { path: resolved, info: selected };
42
+ }
43
+
44
+ function selectedAgentFile({
45
+ path: absolute,
46
+ info,
47
+ }: {
48
+ path: string;
49
+ info: Stats;
50
+ }): StreamingFile & { size: number } {
51
+ if (!info.isFile()) {
52
+ throw new OpenAIError('Agent file sources must be regular files');
53
+ }
54
+ async function* bytes() {
55
+ // oxlint-disable-next-line no-bitwise -- Combine native filesystem open flags.
56
+ const handle = await open(absolute, constants.O_RDONLY | constants.O_NOFOLLOW);
57
+ try {
58
+ const current = await handle.stat();
59
+ if (
60
+ !current.isFile() ||
61
+ current.dev !== info.dev ||
62
+ current.ino !== info.ino ||
63
+ current.size !== info.size
64
+ ) {
65
+ throw new OpenAIError('Selected agent file changed before upload');
66
+ }
67
+ let received = 0;
68
+ if (info.size > 0) {
69
+ for await (const chunk of handle.createReadStream({ autoClose: false, end: info.size - 1 })) {
70
+ received += chunk.length;
71
+ yield chunk;
72
+ }
73
+ }
74
+ const finalInfo = await handle.stat();
75
+ if (received !== info.size || finalInfo.size !== info.size) {
76
+ throw new OpenAIError('Selected agent file changed while uploading');
77
+ }
78
+ } finally {
79
+ await handle.close();
80
+ }
81
+ }
82
+ return Object.assign(toStreamingFile({ [Symbol.asyncIterator]: bytes }, nodePath.basename(absolute)), {
83
+ size: info.size,
84
+ });
85
+ }
86
+
87
+ /** Beta, Node.js: select an application-owned file in a stable directory for a lazy upload. */
88
+ export async function agentFile(path: string): Promise<StreamingFile & { size: number }> {
89
+ return selectedAgentFile(await checkedPath(path));
90
+ }
91
+
92
+ /** Beta, Node.js: prepare explicit files from a stable application-owned directory once. */
93
+ export async function prepareAgentDirectory(
94
+ resource: Files,
95
+ directory: string,
96
+ params: { include: readonly string[]; to?: string },
97
+ options?: RequestOptions,
98
+ ): Promise<PreparedAgentFiles> {
99
+ const include = [...params.include];
100
+ const destination = params.to ?? '/workspace';
101
+ const { path: root, info: rootInfo } = await checkedPath(directory);
102
+ if (!rootInfo.isDirectory()) {
103
+ throw new OpenAIError('Expected a directory');
104
+ }
105
+ const selected: Record<string, StreamingFile & { size: number }> = {};
106
+ const seen = new Set<string>();
107
+ for (const relative of include) {
108
+ if (
109
+ relative.includes('\\') ||
110
+ relative.includes('\0') ||
111
+ relative.split('/').some((part) => part === '' || part === '.' || part === '..') ||
112
+ seen.has(relative)
113
+ ) {
114
+ throw new OpenAIError('Directory selections must be unique relative file paths');
115
+ }
116
+ seen.add(relative);
117
+ // oxlint-disable-next-line no-await-in-loop -- Prepare each explicitly selected source before any upload begins.
118
+ const source = await checkedPath(nodePath.join(root, relative), root);
119
+ selected[`${destination}/${relative}`] = selectedAgentFile(source);
120
+ }
121
+ return resource.prepare(selected, options);
122
+ }
123
+
124
+ /** Beta, Node.js: an application-owned safe path in a stable directory, opened lazily for a download. */
125
+ export function agentFileDestination(path: string): AgentWritableStream<Uint8Array> {
126
+ const absolute = nodePath.resolve(path);
127
+ let handle: FileHandle | undefined;
128
+ const close = async () => {
129
+ await handle?.close();
130
+ handle = undefined;
131
+ };
132
+ const file = async () => {
133
+ if (handle) {
134
+ return handle;
135
+ }
136
+ let expected: Stats | undefined;
137
+ try {
138
+ expected = await lstat(absolute);
139
+ } catch (error) {
140
+ if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT')) {
141
+ throw error;
142
+ }
143
+ }
144
+ if (expected && !expected.isFile()) {
145
+ throw new OpenAIError('Agent artifact destinations must be regular files');
146
+ }
147
+ // Never truncate before verifying the opened entry. Exclusive creation also rejects dangling links.
148
+ /* oxlint-disable no-bitwise -- Combine native flags; identity validation also covers Windows. */
149
+ const flags =
150
+ constants.O_WRONLY |
151
+ (constants.O_NOFOLLOW ?? 0) |
152
+ (constants.O_NONBLOCK ?? 0) |
153
+ (expected ? 0 : constants.O_CREAT | constants.O_EXCL);
154
+ /* oxlint-enable no-bitwise */
155
+ const opened = await open(absolute, flags);
156
+ try {
157
+ const current = await opened.stat();
158
+ if (!current.isFile() || (expected && (current.dev !== expected.dev || current.ino !== expected.ino))) {
159
+ throw new OpenAIError('Agent artifact destination changed before opening');
160
+ }
161
+ await opened.truncate(0);
162
+ handle = opened;
163
+ return handle;
164
+ } catch (error) {
165
+ await opened.close();
166
+ throw error;
167
+ }
168
+ };
169
+ return new WritableStream<Uint8Array>({
170
+ async write(chunk) {
171
+ try {
172
+ const target = await file();
173
+ await target.writeFile(chunk);
174
+ } catch (error) {
175
+ await close();
176
+ throw error;
177
+ }
178
+ },
179
+ async close() {
180
+ await file();
181
+ await close();
182
+ },
183
+ async abort() {
184
+ await close();
185
+ },
186
+ });
187
+ }
@@ -23,3 +23,20 @@ type _ReadableStream<R = any> = NeverToAny<
23
23
  >;
24
24
 
25
25
  export type { _ReadableStream as ReadableStream };
26
+
27
+ /** @ts-ignore */
28
+ type _DOMWritableStream<R = any> = globalThis.WritableStream<R>;
29
+
30
+ /** @ts-ignore */
31
+ type _NodeWritableStream<R = any> = import('stream/web').WritableStream<R>;
32
+
33
+ type _ConditionalNodeWritableStream<R = any> = typeof globalThis extends { WritableStream: any }
34
+ ? never
35
+ : _NodeWritableStream<R>;
36
+
37
+ type _WritableStream<R = any> = NeverToAny<
38
+ | ([0] extends [1 & _DOMWritableStream<R>] ? never : _DOMWritableStream<R>)
39
+ | ([0] extends [1 & _ConditionalNodeWritableStream<R>] ? never : _ConditionalNodeWritableStream<R>)
40
+ >;
41
+
42
+ export type { _WritableStream as WritableStream };
@@ -0,0 +1,119 @@
1
+ import type { OpenAI } from '../../../client';
2
+ import { OpenAIError } from '../../../core/error';
3
+ import { buildHeaders } from '../../../internal/headers';
4
+ import type { RequestOptions } from '../../../internal/request-options';
5
+ import type { Uploadable } from '../../../internal/uploads';
6
+ import type { FileObject } from '../../../resources/files';
7
+ import type {
8
+ EnvironmentFile,
9
+ FileCreateParams,
10
+ Files,
11
+ } from '../../../resources/beta/agents/environments/files';
12
+
13
+ /** Beta: file references ready for a hosted environment, plus caller-owned uploads. */
14
+ export interface PreparedAgentFiles {
15
+ files: Extract<FileCreateParams, { type: 'file_id' }>[];
16
+ uploadedFiles: FileObject[];
17
+ }
18
+
19
+ /** Beta: uploaded file IDs remain available after partial preparation or staging failure. */
20
+ export class AgentFileUploadError extends OpenAIError {
21
+ override readonly name = 'AgentFileUploadError';
22
+ declare readonly cause: unknown;
23
+ readonly uploadedFiles: FileObject[];
24
+ constructor(uploadedFiles: FileObject[], cause: unknown) {
25
+ super('Agent file preparation or staging failed; uploaded files remain caller-owned.');
26
+ this.uploadedFiles = uploadedFiles;
27
+ Object.defineProperty(this, 'cause', { value: cause, configurable: true });
28
+ }
29
+ }
30
+
31
+ /** @internal */
32
+ export function validateAgentFilePath(path: string): void {
33
+ const parts = path.split('/');
34
+ const root = parts[2] ?? '';
35
+ if (
36
+ !path.startsWith('/workspace/') ||
37
+ path.includes('\\') ||
38
+ path.includes('\0') ||
39
+ parts.slice(1).some((part) => part === '' || part === '.' || part === '..') ||
40
+ root === '.codex' ||
41
+ root === '.managed-agents' ||
42
+ root.startsWith('.managed-agents-') ||
43
+ path === '/workspace/outputs'
44
+ ) {
45
+ throw new OpenAIError('Agent files require a non-reserved absolute file path inside /workspace');
46
+ }
47
+ }
48
+
49
+ function preflight(files: Record<string, Uploadable>, options: RequestOptions): [string, Uploadable][] {
50
+ const entries = Object.entries(files);
51
+ const headers = buildHeaders([options.headers]);
52
+ if (
53
+ entries.length > 1 &&
54
+ (headers.values.has('idempotency-key') ||
55
+ (!headers.nulls.has('idempotency-key') && options?.idempotencyKey !== undefined))
56
+ ) {
57
+ throw new OpenAIError('Do not reuse an Idempotency-Key across multiple file uploads');
58
+ }
59
+ const paths = new Set(entries.map(([path]) => path));
60
+ for (const [path] of entries) {
61
+ validateAgentFilePath(path);
62
+ for (let slash = path.lastIndexOf('/'); slash > 0; slash = path.lastIndexOf('/', slash - 1)) {
63
+ if (paths.has(path.slice(0, slash))) {
64
+ throw new OpenAIError('Agent file destinations conflict');
65
+ }
66
+ }
67
+ }
68
+ return entries;
69
+ }
70
+
71
+ /** @internal */
72
+ export async function prepareAgentFiles(
73
+ client: OpenAI,
74
+ files: Record<string, Uploadable>,
75
+ options?: RequestOptions,
76
+ ): Promise<PreparedAgentFiles> {
77
+ const requestOptions = { ...options };
78
+ // Internal SDK read: capture effective headers once, including defaults and explicit omissions.
79
+ const headers = buildHeaders([client['_options'].defaultHeaders, requestOptions.headers]);
80
+ requestOptions.headers = headers;
81
+ const entries = preflight(files, requestOptions);
82
+ if (entries.length > 1) {
83
+ // Keep a later mutation of client defaults from adding one key to this entire batch.
84
+ headers.nulls.add('idempotency-key');
85
+ }
86
+ const prepared: PreparedAgentFiles = { files: [], uploadedFiles: [] };
87
+ try {
88
+ for (const [path, file] of entries) {
89
+ // oxlint-disable-next-line no-await-in-loop -- Stop on the first failure and expose precisely the uploads already created.
90
+ const uploaded = await client.files.create({ file, purpose: 'user_data' }, requestOptions);
91
+ prepared.uploadedFiles.push(uploaded);
92
+ prepared.files.push({ type: 'file_id', file_id: uploaded.id, path });
93
+ }
94
+ return prepared;
95
+ } catch (error) {
96
+ throw new AgentFileUploadError(prepared.uploadedFiles, error);
97
+ }
98
+ }
99
+
100
+ /** @internal */
101
+ export async function uploadAgentFile(
102
+ client: OpenAI,
103
+ resource: Files,
104
+ environmentID: string,
105
+ params: { file: Uploadable; path: string },
106
+ options?: RequestOptions,
107
+ ): Promise<{ uploadedFile: FileObject; environmentFile: EnvironmentFile }> {
108
+ const prepared = await prepareAgentFiles(client, { [params.path]: params.file }, options);
109
+ const [reference] = prepared.files;
110
+ const [uploadedFile] = prepared.uploadedFiles;
111
+ if (!reference || !uploadedFile) {
112
+ throw new OpenAIError('Missing prepared agent file');
113
+ }
114
+ try {
115
+ return { uploadedFile, environmentFile: await resource.create(environmentID, reference, options) };
116
+ } catch (error) {
117
+ throw new AgentFileUploadError(prepared.uploadedFiles, error);
118
+ }
119
+ }
@@ -0,0 +1,32 @@
1
+ import { OpenAIError } from '../../../core/error';
2
+ import type { CursorPage } from '../../../core/pagination';
3
+ import { isObj } from '../../../internal/utils/values';
4
+
5
+ /** Retain server cursor metadata for legacy Agents items with nullable IDs.
6
+ * @internal
7
+ * @yields {T} Each item in server order, failing if pagination cannot advance.
8
+ */
9
+ export async function* agentItems<T extends { id?: string | null }>(
10
+ load: (after: string | undefined) => PromiseLike<CursorPage<T>>,
11
+ ): AsyncGenerator<T, void, undefined> {
12
+ let after: string | undefined;
13
+ while (true) {
14
+ // oxlint-disable-next-line no-await-in-loop -- Each page determines the next cursor.
15
+ const page = await load(after);
16
+ yield* page.data;
17
+ if (!page.has_more) {
18
+ return;
19
+ }
20
+ // Internal SDK read: CursorPage keeps raw metadata but does not expose last_id.
21
+ // oxlint-disable-next-line prefer-destructuring -- Bracket access intentionally reads a protected internal field.
22
+ const body = page['body'];
23
+ // oxlint-disable-next-line unicorn/prefer-at -- Keep published source compatible with ES2020 declarations.
24
+ const last = page.data[page.data.length - 1];
25
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- Validate only the opaque cursor from response metadata.
26
+ const cursor = isObj(body) && typeof body['last_id'] === 'string' ? body['last_id'] : last?.id;
27
+ if (!cursor || cursor === after) {
28
+ throw new OpenAIError('Agent pagination cannot advance to the next page');
29
+ }
30
+ after = cursor;
31
+ }
32
+ }
@@ -0,0 +1,76 @@
1
+ import type { WritableStream } from '../../../internal/shim-types';
2
+ import { agentItems } from './pages';
3
+ import { OpenAIError } from '../../../core/error';
4
+ import type { RequestOptions } from '../../../internal/request-options';
5
+ import type { Artifacts, SessionArtifact } from '../../../resources/beta/agents/sessions/artifacts';
6
+ import type { AgentTurnResult } from './agent-turn-result';
7
+
8
+ /** Beta: artifacts from the exact session and turn represented by a result. */
9
+ export class AgentResultArtifacts {
10
+ readonly #resource: Artifacts;
11
+ readonly #sessionID: string;
12
+ readonly #turnID: string;
13
+ constructor(resource: Artifacts, result: AgentTurnResult) {
14
+ this.#resource = resource;
15
+ this.#sessionID = result.session_id;
16
+ this.#turnID = result.turn_id;
17
+ }
18
+
19
+ /** Find one immutable artifact by its exact hosted path, across all pages. */
20
+ async retrieve(path: string, options?: RequestOptions): Promise<SessionArtifact> {
21
+ let selected: SessionArtifact | undefined;
22
+ for await (const artifact of agentItems((after) =>
23
+ this.#resource.list(
24
+ this.#sessionID,
25
+ {},
26
+ { ...options, query: { ...options?.query, after, environment_id: undefined } },
27
+ ),
28
+ )) {
29
+ if (
30
+ artifact.session_id === this.#sessionID &&
31
+ artifact.turn_id === this.#turnID &&
32
+ artifact.path === path
33
+ ) {
34
+ if (selected) {
35
+ throw new OpenAIError('Multiple artifacts match this result and path');
36
+ }
37
+ selected = artifact;
38
+ }
39
+ }
40
+ if (!selected) {
41
+ throw new OpenAIError('No artifact matches this result and path');
42
+ }
43
+ return selected;
44
+ }
45
+
46
+ /** Return the native binary response for this result's exact artifact path. */
47
+ async content(path: string, options?: RequestOptions): Promise<Response> {
48
+ const artifact = await this.retrieve(path, options);
49
+ return this.#resource.content(artifact.id, { session_id: this.#sessionID }, options);
50
+ }
51
+
52
+ /** Stream bytes to a caller-chosen destination; the hosted path never selects a local path. */
53
+ async download(
54
+ params: { path: string; to: WritableStream<Uint8Array> },
55
+ options?: RequestOptions,
56
+ ): Promise<SessionArtifact> {
57
+ const { path, to } = params;
58
+ const artifact = await this.retrieve(path, options);
59
+ const response = await this.#resource.content(artifact.id, { session_id: this.#sessionID }, options);
60
+ if (!response.body) {
61
+ throw new OpenAIError('Artifact response has no content stream');
62
+ }
63
+ try {
64
+ await response.body.pipeTo(to, options?.signal ? { signal: options.signal } : {});
65
+ } catch (error) {
66
+ // pipeTo can reject before acquiring a reader, for example when the destination is locked.
67
+ try {
68
+ await response.body.cancel();
69
+ } catch {
70
+ /* already cancelled or owned by pipeTo */
71
+ }
72
+ throw error;
73
+ }
74
+ return artifact;
75
+ }
76
+ }
@@ -1,5 +1,11 @@
1
1
  // File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.
2
2
 
3
+ import {
4
+ prepareAgentFiles,
5
+ uploadAgentFile,
6
+ type PreparedAgentFiles,
7
+ } from '../../../../lib/beta/agents/files';
8
+ import type { Uploadable } from '../../../../internal/uploads';
3
9
  import { APIResource } from '../../../../core/resource';
4
10
  import { APIPromise } from '../../../../core/api-promise';
5
11
  import { PagePromise, TokenPage, type TokenPageParams } from '../../../../core/pagination';
@@ -15,6 +21,16 @@ function resolveResourceRequestOptions(
15
21
  }
16
22
 
17
23
  export class Files extends APIResource {
24
+ /** Beta: prepare initial hosted file references; uploaded Files API objects remain caller-owned. */
25
+ prepare(files: Record<string, Uploadable>, options?: RequestOptions): Promise<PreparedAgentFiles> {
26
+ return prepareAgentFiles(this._client, files, options);
27
+ }
28
+
29
+ /** Beta: upload one local file and stage its reference in a live environment. */
30
+ upload(environmentID: string, params: { file: Uploadable; path: string }, options?: RequestOptions) {
31
+ return uploadAgentFile(this._client, this, environmentID, params, options);
32
+ }
33
+
18
34
  /**
19
35
  * Copies inline bytes or a Files API file into a connected execution environment.
20
36
  * See