skills.mjs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
  2. import { APIResource } from "../../../core/resource.mjs";
  3. import * as VersionsAPI from "./versions.mjs";
  4. import { Versions, } from "./versions.mjs";
  5. import { PageCursor } from "../../../core/pagination.mjs";
  6. import { buildHeaders } from "../../../internal/headers.mjs";
  7. import { multipartFormRequestOptions } from "../../../internal/uploads.mjs";
  8. import { path } from "../../../internal/utils/path.mjs";
  9. export class Skills extends APIResource {
  10. constructor() {
  11. super(...arguments);
  12. this.versions = new VersionsAPI.Versions(this._client);
  13. }
  14. /**
  15. * Create Skill
  16. *
  17. * @example
  18. * ```ts
  19. * const skill = await client.beta.skills.create();
  20. * ```
  21. */
  22. create(params = {}, options) {
  23. const { betas, ...body } = params ?? {};
  24. return this._client.post('/v1/skills?beta=true', multipartFormRequestOptions({
  25. body,
  26. ...options,
  27. headers: buildHeaders([
  28. { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },
  29. options?.headers,
  30. ]),
  31. }, this._client, false));
  32. }
  33. /**
  34. * Get Skill
  35. *
  36. * @example
  37. * ```ts
  38. * const skill = await client.beta.skills.retrieve('skill_id');
  39. * ```
  40. */
  41. retrieve(skillID, params = {}, options) {
  42. const { betas } = params ?? {};
  43. return this._client.get(path `/v1/skills/${skillID}?beta=true`, {
  44. ...options,
  45. headers: buildHeaders([
  46. { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },
  47. options?.headers,
  48. ]),
  49. });
  50. }
  51. /**
  52. * List Skills
  53. *
  54. * @example
  55. * ```ts
  56. * // Automatically fetches more pages as needed.
  57. * for await (const skillListResponse of client.beta.skills.list()) {
  58. * // ...
  59. * }
  60. * ```
  61. */
  62. list(params = {}, options) {
  63. const { betas, ...query } = params ?? {};
  64. return this._client.getAPIList('/v1/skills?beta=true', (PageCursor), {
  65. query,
  66. ...options,
  67. headers: buildHeaders([
  68. { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },
  69. options?.headers,
  70. ]),
  71. });
  72. }
  73. /**
  74. * Delete Skill
  75. *
  76. * @example
  77. * ```ts
  78. * const skill = await client.beta.skills.delete('skill_id');
  79. * ```
  80. */
  81. delete(skillID, params = {}, options) {
  82. const { betas } = params ?? {};
  83. return this._client.delete(path `/v1/skills/${skillID}?beta=true`, {
  84. ...options,
  85. headers: buildHeaders([
  86. { 'anthropic-beta': [...(betas ?? []), 'skills-2025-10-02'].toString() },
  87. options?.headers,
  88. ]),
  89. });
  90. }
  91. }
  92. Skills.Versions = Versions;
  93. //# sourceMappingURL=skills.mjs.map