@api-client/core 0.21.0 → 0.21.1

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 (72) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/src/sdk/AiSdk.d.ts +4 -4
  3. package/build/src/sdk/AiSdk.d.ts.map +1 -1
  4. package/build/src/sdk/AiSdk.js +2 -2
  5. package/build/src/sdk/AiSdk.js.map +1 -1
  6. package/build/src/sdk/DataCatalogSdk.d.ts +5 -5
  7. package/build/src/sdk/DataCatalogSdk.d.ts.map +1 -1
  8. package/build/src/sdk/DataCatalogSdk.js +1 -1
  9. package/build/src/sdk/DataCatalogSdk.js.map +1 -1
  10. package/build/src/sdk/DeploymentsSdk.d.ts +2 -2
  11. package/build/src/sdk/DeploymentsSdk.d.ts.map +1 -1
  12. package/build/src/sdk/DeploymentsSdk.js +2 -2
  13. package/build/src/sdk/DeploymentsSdk.js.map +1 -1
  14. package/build/src/sdk/GroupsSdk.d.ts +2 -2
  15. package/build/src/sdk/GroupsSdk.d.ts.map +1 -1
  16. package/build/src/sdk/GroupsSdk.js +1 -1
  17. package/build/src/sdk/GroupsSdk.js.map +1 -1
  18. package/build/src/sdk/HttpNode.js +1 -1
  19. package/build/src/sdk/HttpNode.js.map +1 -1
  20. package/build/src/sdk/HttpWeb.js +2 -2
  21. package/build/src/sdk/HttpWeb.js.map +1 -1
  22. package/build/src/sdk/OrganizationsSdk.d.ts +5 -5
  23. package/build/src/sdk/OrganizationsSdk.d.ts.map +1 -1
  24. package/build/src/sdk/OrganizationsSdk.js +1 -1
  25. package/build/src/sdk/OrganizationsSdk.js.map +1 -1
  26. package/build/src/sdk/RevisionsSdk.d.ts +2 -2
  27. package/build/src/sdk/RevisionsSdk.d.ts.map +1 -1
  28. package/build/src/sdk/RevisionsSdk.js +1 -1
  29. package/build/src/sdk/RevisionsSdk.js.map +1 -1
  30. package/build/src/sdk/RouteBuilder.d.ts +1 -1
  31. package/build/src/sdk/RouteBuilder.d.ts.map +1 -1
  32. package/build/src/sdk/RouteBuilder.js.map +1 -1
  33. package/build/src/sdk/Sdk.d.ts +1 -1
  34. package/build/src/sdk/Sdk.d.ts.map +1 -1
  35. package/build/src/sdk/Sdk.js.map +1 -1
  36. package/build/src/sdk/SdkBase.d.ts +3 -3
  37. package/build/src/sdk/SdkBase.d.ts.map +1 -1
  38. package/build/src/sdk/SdkBase.js +1 -1
  39. package/build/src/sdk/SdkBase.js.map +1 -1
  40. package/build/src/sdk/SdkMock.d.ts +2 -2
  41. package/build/src/sdk/SdkMock.d.ts.map +1 -1
  42. package/build/src/sdk/SdkMock.js +5 -5
  43. package/build/src/sdk/SdkMock.js.map +1 -1
  44. package/build/src/sdk/SharedSdk.d.ts +2 -2
  45. package/build/src/sdk/SharedSdk.d.ts.map +1 -1
  46. package/build/src/sdk/SharedSdk.js +1 -1
  47. package/build/src/sdk/SharedSdk.js.map +1 -1
  48. package/build/src/sdk/TrashSdk.d.ts +2 -2
  49. package/build/src/sdk/TrashSdk.d.ts.map +1 -1
  50. package/build/src/sdk/TrashSdk.js +1 -1
  51. package/build/src/sdk/TrashSdk.js.map +1 -1
  52. package/build/src/sdk/UsersSdk.d.ts +1 -1
  53. package/build/src/sdk/UsersSdk.d.ts.map +1 -1
  54. package/build/src/sdk/UsersSdk.js +1 -1
  55. package/build/src/sdk/UsersSdk.js.map +1 -1
  56. package/build/tsconfig.build.tsbuildinfo +1 -1
  57. package/package.json +1 -1
  58. package/src/sdk/AiSdk.ts +6 -6
  59. package/src/sdk/DataCatalogSdk.ts +6 -6
  60. package/src/sdk/DeploymentsSdk.ts +3 -3
  61. package/src/sdk/GroupsSdk.ts +3 -3
  62. package/src/sdk/HttpNode.ts +1 -1
  63. package/src/sdk/HttpWeb.ts +2 -2
  64. package/src/sdk/OrganizationsSdk.ts +6 -6
  65. package/src/sdk/RevisionsSdk.ts +3 -3
  66. package/src/sdk/RouteBuilder.ts +1 -1
  67. package/src/sdk/Sdk.ts +1 -1
  68. package/src/sdk/SdkBase.ts +3 -3
  69. package/src/sdk/SdkMock.ts +10 -10
  70. package/src/sdk/SharedSdk.ts +3 -3
  71. package/src/sdk/TrashSdk.ts +3 -3
  72. package/src/sdk/UsersSdk.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SdkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ResponseGenerator,\n setupWorker,\n type MockHandler,\n type SetupWorkerOptions,\n type InterceptOptions,\n type SerializedRequest,\n} from '@jarrodek/amw'\nimport { isAtomicFilter, type ContextChangeRecord, type QueryFilter } from '../../../core/src/events/BaseEvents.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../../../core/src/mocking/ModelingMock.js'\nimport type { DataCatalogSchema, DataCatalogStatus } from '../../../core/src/models/DataCatalog.js'\nimport type { DataCatalogVersionSchema } from '../../../core/src/models/DataCatalogVersion.js'\nimport { DataDomain, type DataDomainSchema } from '../../../core/src/modeling/DataDomain.js'\nimport type { ForeignDomainDependency } from '../../../core/src/modeling/types.js'\nimport { nanoid } from '../../../core/src/nanoid.js'\nimport type { AiSessionApp } from '../../../core/src/models/AiSession.js'\nimport type { DeploymentSchema } from '../../../core/src/models/store/Deployment.js'\nimport { DeploymentEnvironment, DeploymentStatus } from '../../../core/src/models/store/Deployment.js'\nimport type { CreateDeploymentPayload, DeploymentLatestEnvironments } from './DeploymentsSdk.js'\n\nexport interface MockResult {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: ResponseGenerator\n /**\n * If true, the request body will be generated using the body generator.\n * It is useful when only setting up response headers or status code, but\n * the request body should still be generated, even when missing in the `response` option.\n */\n forceBody?: boolean\n}\n\nexport interface MockListResult extends MockResult {\n /**\n * Number of items to generate in the list response.\n */\n size?: number\n /**\n * If true, the response will include a cursor for pagination.\n * If false, the response will not include a cursor.\n * If not set, a random choice will be made.\n * If string, the exact cursor value will be used.\n */\n cursor?: boolean | string\n}\n\n/**\n * SDK mocking utility for testing. Uses Service Workers to intercept HTTP requests\n * and provide mock responses for API calls.\n *\n * This class uses the `@jarrodek/amw` library to set up a Service Worker that intercepts\n * fetch requests matching the configured routes. Each method adds an intercept for a specific\n * API endpoint, returning either random generated data or custom responses.\n *\n * @example\n * ```typescript\n * import { SdkMock } from '@api-client/core/sdk/SdkMock.js';\n * import { StoreSdk } from '@api-client/core/sdk/StoreSdkWeb.js';\n *\n * const sdk = new StoreSdk('http://localhost:8080');\n * const mocker = new SdkMock({\n * swPath: '/mockServiceWorker.js', // Path to the Service Worker script\n * base: 'http://localhost:8080' // Base URL matching the SDK\n * });\n *\n * // Initialize the Service Worker\n * await mocker.setup();\n *\n * // Add intercept - returns random organizations\n * await mocker.organizations.list();\n *\n * // Custom response with specific data\n * await mocker.organizations.create(\"name\", \"slug\", {\n * response: {\n * status: 201,\n * headers: { 'Content-Type': 'application/json', 'X-Custom-Header': 'value' },\n * body: JSON.stringify({ key: 'custom-id', name: 'Custom Org' })\n * }\n * });\n *\n * // Control pagination in list responses\n * await mocker.groups.list({\n * size: 10, // Number of items to generate\n * cursor: true // Include pagination cursor\n * });\n *\n * // Error simulation\n * await mocker.users.me({\n * response: {\n * status: 404,\n * headers: { 'Content-Type': 'application/json' },\n * body: JSON.stringify({ error: 'Not found' })\n * }\n * });\n *\n * // Remove all intercepts (keep Service Worker active)\n * await mocker.reset();\n *\n * // Stop and remove the Service Worker\n * await mocker.teardown();\n * ```\n *\n * @TODO: Add a in-memory state store so that mocks can maintain state across requests.\n * This way, operations like create, update, delete can affect subsequent list/read calls\n * and we can mimic the API behavior more closely.\n */\nexport class SdkMock {\n handler?: MockHandler\n gen = new ModelingMock()\n\n constructor(public options?: SetupWorkerOptions) {}\n\n /**\n * Initializes the mock handler. It uses options provided in the constructor.\n * It has to be called before using any of the mock methods.\n */\n async setup(): Promise<void> {\n this.handler = await setupWorker(this.options)\n }\n\n /**\n * Removes the mock worker and all intercepts.\n */\n async teardown(): Promise<void> {\n await this.mock.stop()\n }\n\n /**\n * Removes all added intercepts.\n */\n async reset(): Promise<void> {\n await this.mock.reset()\n }\n\n get mock(): MockHandler {\n if (!this.handler) {\n throw new Error('Mock handler not initialized. Call setup() first.')\n }\n return this.handler\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param options Optional response configuration\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.organization.organizations(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param options Optional response configuration\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organization()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n invitations: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.invitation.invitations(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n findByToken: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.findInvitation(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n decline: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.declineInvitation(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n resend: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.resendInvitation(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n },\n\n users: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUsers(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n readBatch: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const path = RouteBuilder.organizationUserBatch(':oid')\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: path,\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n activate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserActivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n deactivate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserDeactivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n slugs: {\n /**\n * Mocks the `slugs.validate()` method.\n * @param options Optional response customization.\n */\n validate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organizationSlugValidateResponse()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.orgSlugValidate(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `slugs.generate()` method.\n * @param options Optional response customization.\n */\n generate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organizationSlugGenerateResponse()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.orgSlugGenerate(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n },\n }\n\n /**\n * Group API mocks.\n */\n groups = {\n /**\n * Mocks the `groups.list()` method.\n * @param options Optional response customization.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.group.groups(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.create()` method.\n * @param options Optional response customization.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.update()` method.\n * @param options Optional response customization.\n */\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n ai = {\n sessions: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.ai.sessions('general', init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n messages: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.ai.messages(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessages(':oid', ':sid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.message()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessage(':oid', ':sid', ':mid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessage(':oid', ':sid', ':mid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n modifyDomain: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // Return a basic JSON response simulating the stream end state for simplicity if not overriding.\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'text/event-stream' },\n () => 'event: done\\ndata: {}\\n\\n',\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiModifyDomain(':oid', ':fid') as string,\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * User API mocks.\n */\n users = {\n /**\n * Mocks the `user.me()` method.\n * @param options Optional response customization.\n */\n me: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.usersMe(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Files API mocks.\n */\n files = {\n /**\n * Mocks the `file.list()` method.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.createMeta(init, options)\n // When SDK's file.create() is called, it responds with\n // what the result of file.createMeta() would be.\n // Because of that, we don't need to configure the media request.\n await this.files.createMedia(undefined, options)\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.folder()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n {\n 'content-type': 'application/json',\n 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n },\n () => this.gen.wrapResource({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), { cursor: false }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesBatch(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.patch.mediaPatchRevision()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesAccess(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileUsers(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.fileBreadcrumbs(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileBreadcrumbs(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * @deprecated Use `files` instead.\n */\n file = this.files\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.shared(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.trash.trashEntries(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trash(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchDelete(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n restore: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchRestore(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n empty: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashEmpty(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Deployments API mocks.\n */\n deployments = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const { query } = req\n const filter = this.decodeFilter(query.filter)\n const schema: Partial<DeploymentSchema> = {}\n if (isAtomicFilter(filter)) {\n if (filter.field === 'fid') {\n if (filter.operator === 'eq') {\n schema.apiId = filter.value as string\n }\n }\n if (['apiSlug', 'api_slug'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.apiSlug = filter.value as string\n }\n }\n if (['orgId', 'organization'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.orgId = filter.value as string\n }\n }\n if (['modelVersion', 'model_version'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.modelVersion = filter.value as string\n }\n }\n if (filter.field === 'version') {\n if (filter.operator === 'eq') {\n schema.version = filter.value as string\n }\n }\n if (filter.field === 'env') {\n if (filter.operator === 'eq') {\n schema.env = filter.value as DeploymentEnvironment\n }\n }\n }\n const limit = this.readQueryLimit(req, init)\n const data = this.gen.deployments.deployments(limit, schema)\n const { order = 'asc', sort } = req.query\n if (sort) {\n data.sort((a, b) => {\n const aValue = a[sort as keyof DeploymentSchema] ?? 0\n const bValue = b[sort as keyof DeploymentSchema] ?? 0\n if (order === 'asc') {\n return aValue < bValue ? -1 : aValue > bValue ? 1 : 0\n } else {\n return aValue > bValue ? -1 : aValue < bValue ? 1 : 0\n }\n })\n }\n return this.gen.wrapList(data, init)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployments(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 202,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const raw = req.body as string\n const payload = JSON.parse(raw) as CreateDeploymentPayload\n const obj = this.gen.deployments.deployment({\n orgId: req.params.oid,\n apiId: payload.fid,\n modelVersion: payload.modelVersion,\n env: payload.env,\n ...(payload.env === DeploymentEnvironment.PROD ? { version: payload.version } : {}),\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployments(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params.id,\n orgId: req.params.oid,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployment(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n deactivate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params.id,\n orgId: req.params.oid,\n status: DeploymentStatus.Inactive,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployment(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n apis: {\n getLatestPerEnvironment: async (\n init?: MockResult & { prod?: boolean; staging?: boolean; dev?: boolean },\n options?: InterceptOptions\n ): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: DeploymentLatestEnvironments = {}\n const hasProd = init?.prod ?? this.gen.faker.datatype.boolean()\n const hasStaging = init?.staging ?? this.gen.faker.datatype.boolean()\n const hasDev = init?.dev ?? this.gen.faker.datatype.boolean()\n\n if (hasProd) {\n obj.prod = this.gen.deployments.deployment()\n }\n if (hasStaging) {\n obj.staging = this.gen.deployments.deployment()\n }\n if (hasDev) {\n obj.dev = this.gen.deployments.deployment()\n }\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deploymentsApisByEnvLatest(':oid', ':fileId'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.deployments.deploymentApis(init?.size ?? 5), { cursor: false }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deploymentsApis(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n },\n }\n\n /**\n * Trash Data Catalog mocks.\n */\n dataCatalog = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.dataCatalog.dataCatalogsWithVersion(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listVersions: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.dataCatalog.versionInfos(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n publish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog()\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntry(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n deprecate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDeprecate(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogUnpublish(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n publishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const raw = req.body as string\n const body = JSON.parse(raw) as DataCatalogVersionSchema\n\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: body.key,\n item: body,\n kind: body.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n readVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersion(':id', ':vid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listDependencies: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const requirements = JSON.parse(req.body as string) as { items: ForeignDomainDependency[] }\n const data: DataDomainSchema[] = []\n for (const item of requirements.items) {\n const domain = new DataDomain({\n key: item.key,\n info: { name: `Domain ${item.key}`, version: item.version },\n })\n data.push(domain.toJSON())\n }\n return this.gen.wrapList(data, { cursor: false })\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDependencies(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n deprecateVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.deprecated = true\n obj.deprecatedAt = this.gen.faker.date.past().getTime()\n obj.deprecatedBy = nanoid()\n const info = JSON.parse(req.body as string) as { reason: string }\n obj.deprecationReason = info.reason\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionDeprecate(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.unpublishedAt = this.gen.faker.date.past().getTime()\n obj.scope = 'private'\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionUnpublish(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n checkPublicationStatus: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog() as DataCatalogStatus\n obj.versions = this.gen.dataCatalog.versionInfos(1)\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogStatus(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n //\n // Helpers\n //\n\n /**\n * Decodes the filter parameter from the query string.\n *\n * @param filter The filter parameter from the query string.\n * @returns The decoded filter or undefined if the filter is invalid.\n */\n decodeFilter(filter?: string | string[]): QueryFilter | undefined {\n if (typeof filter !== 'string' || !filter) {\n return undefined\n }\n try {\n return JSON.parse(atob(filter)) as QueryFilter\n } catch {\n return undefined\n }\n }\n\n readQueryLimit(req: SerializedRequest, init?: MockListResult): number {\n let limit = init?.size ?? 5\n if (req.query?.limit) {\n const l = Array.isArray(req.query.limit) ? req.query.limit[0] : req.query.limit\n const tmp = parseInt(l, 10)\n if (Number.isInteger(tmp) && tmp > 0) {\n limit = tmp\n }\n }\n return limit\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: (req: SerializedRequest) => string,\n userConfig?: MockResult\n ): ResponseGenerator {\n let respond: ResponseGenerator\n if (userConfig?.response) {\n // user config takes precedence\n respond = userConfig.response\n } else {\n respond = {}\n }\n // Set defaults if not provided in user config\n if (!respond.status) {\n respond.status = status\n }\n // only set headers if the user didn't configure the response only.\n // The user may want to remove default headers.\n if (!userConfig || !userConfig.response) {\n respond.headers = headers\n }\n if (!respond.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n respond.body = (req: SerializedRequest) => body(req)\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n respond.body = (req: SerializedRequest) => body(req)\n }\n return respond\n }\n}\n"]}
1
+ {"version":3,"file":"SdkMock.js","sourceRoot":"","sources":["../../../src/sdk/SdkMock.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ResponseGenerator,\n setupWorker,\n type MockHandler,\n type SetupWorkerOptions,\n type InterceptOptions,\n type SerializedRequest,\n} from '@jarrodek/amw'\nimport { isAtomicFilter, type ContextChangeRecord, type QueryFilter } from '../events/BaseEvents.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { ModelingMock } from '../mocking/ModelingMock.js'\nimport type { DataCatalogSchema, DataCatalogStatus } from '../models/DataCatalog.js'\nimport type { DataCatalogVersionSchema } from '../models/DataCatalogVersion.js'\nimport { DataDomain, type DataDomainSchema } from '../modeling/DataDomain.js'\nimport type { ForeignDomainDependency } from '../modeling/types.js'\nimport { nanoid } from '../nanoid.js'\nimport type { AiSessionApp } from '../models/AiSession.js'\nimport type { DeploymentSchema } from '../models/store/Deployment.js'\nimport { DeploymentEnvironment, DeploymentStatus } from '../models/store/Deployment.js'\nimport type { CreateDeploymentPayload, DeploymentLatestEnvironments } from './DeploymentsSdk.js'\n\nexport interface MockResult {\n /**\n * Custom response generator for the mock intercept.\n */\n response?: ResponseGenerator\n /**\n * If true, the request body will be generated using the body generator.\n * It is useful when only setting up response headers or status code, but\n * the request body should still be generated, even when missing in the `response` option.\n */\n forceBody?: boolean\n}\n\nexport interface MockListResult extends MockResult {\n /**\n * Number of items to generate in the list response.\n */\n size?: number\n /**\n * If true, the response will include a cursor for pagination.\n * If false, the response will not include a cursor.\n * If not set, a random choice will be made.\n * If string, the exact cursor value will be used.\n */\n cursor?: boolean | string\n}\n\n/**\n * SDK mocking utility for testing. Uses Service Workers to intercept HTTP requests\n * and provide mock responses for API calls.\n *\n * This class uses the `@jarrodek/amw` library to set up a Service Worker that intercepts\n * fetch requests matching the configured routes. Each method adds an intercept for a specific\n * API endpoint, returning either random generated data or custom responses.\n *\n * @example\n * ```typescript\n * import { SdkMock } from '@api-client/core/sdk/SdkMock.js';\n * import { StoreSdk } from '@api-client/core/sdk/StoreSdkWeb.js';\n *\n * const sdk = new StoreSdk('http://localhost:8080');\n * const mocker = new SdkMock({\n * swPath: '/mockServiceWorker.js', // Path to the Service Worker script\n * base: 'http://localhost:8080' // Base URL matching the SDK\n * });\n *\n * // Initialize the Service Worker\n * await mocker.setup();\n *\n * // Add intercept - returns random organizations\n * await mocker.organizations.list();\n *\n * // Custom response with specific data\n * await mocker.organizations.create(\"name\", \"slug\", {\n * response: {\n * status: 201,\n * headers: { 'Content-Type': 'application/json', 'X-Custom-Header': 'value' },\n * body: JSON.stringify({ key: 'custom-id', name: 'Custom Org' })\n * }\n * });\n *\n * // Control pagination in list responses\n * await mocker.groups.list({\n * size: 10, // Number of items to generate\n * cursor: true // Include pagination cursor\n * });\n *\n * // Error simulation\n * await mocker.users.me({\n * response: {\n * status: 404,\n * headers: { 'Content-Type': 'application/json' },\n * body: JSON.stringify({ error: 'Not found' })\n * }\n * });\n *\n * // Remove all intercepts (keep Service Worker active)\n * await mocker.reset();\n *\n * // Stop and remove the Service Worker\n * await mocker.teardown();\n * ```\n *\n * @TODO: Add a in-memory state store so that mocks can maintain state across requests.\n * This way, operations like create, update, delete can affect subsequent list/read calls\n * and we can mimic the API behavior more closely.\n */\nexport class SdkMock {\n handler?: MockHandler\n gen = new ModelingMock()\n\n constructor(public options?: SetupWorkerOptions) {}\n\n /**\n * Initializes the mock handler. It uses options provided in the constructor.\n * It has to be called before using any of the mock methods.\n */\n async setup(): Promise<void> {\n this.handler = await setupWorker(this.options)\n }\n\n /**\n * Removes the mock worker and all intercepts.\n */\n async teardown(): Promise<void> {\n await this.mock.stop()\n }\n\n /**\n * Removes all added intercepts.\n */\n async reset(): Promise<void> {\n await this.mock.reset()\n }\n\n get mock(): MockHandler {\n if (!this.handler) {\n throw new Error('Mock handler not initialized. Call setup() first.')\n }\n return this.handler\n }\n\n /**\n * Organization API mocks.\n */\n organizations = {\n /**\n * Adds an intercept to mock the `organizations.list()` method.\n * @param options Optional response configuration\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.organization.organizations(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Adds an intercept to mock the `organizations.create()` method.\n * @param options Optional response configuration\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organization()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizations(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n invitations: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.invitation.invitations(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitations(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n findByToken: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.findInvitation(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n decline: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.declineInvitation(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.invitation(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n resend: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.invitation.invitation()),\n init\n )\n\n await mock.add(\n {\n match: {\n uri: RouteBuilder.resendInvitation(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n },\n\n users: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUsers(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n readBatch: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const path = RouteBuilder.organizationUserBatch(':oid')\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: path,\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n activate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserActivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n deactivate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUserDeactivate(':oid', ':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.organizationUser(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n slugs: {\n /**\n * Mocks the `slugs.validate()` method.\n * @param options Optional response customization.\n */\n validate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organizationSlugValidateResponse()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.orgSlugValidate(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `slugs.generate()` method.\n * @param options Optional response customization.\n */\n generate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.organization.organizationSlugGenerateResponse()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.orgSlugGenerate(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n },\n }\n\n /**\n * Group API mocks.\n */\n groups = {\n /**\n * Mocks the `groups.list()` method.\n * @param options Optional response customization.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.group.groups(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.create()` method.\n * @param options Optional response customization.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groups(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.update()` method.\n * @param options Optional response customization.\n */\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.delete()` method.\n * @param options Optional response customization.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.group(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.addUsers()` method.\n */\n addUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `groups.removeUsers()` method.\n */\n removeUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.group.group()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.groupUsers(':oid', ':key'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n ai = {\n sessions: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.ai.sessions('general', init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSessions(':oid', ':app' as AiSessionApp),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.session()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiSession(':oid', ':app' as AiSessionApp, ':sid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n messages: {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.ai.messages(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessages(':oid', ':sid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n update: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.ai.message()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessage(':oid', ':sid', ':mid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiMessage(':oid', ':sid', ':mid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n },\n\n modifyDomain: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n // Return a basic JSON response simulating the stream end state for simplicity if not overriding.\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'text/event-stream' },\n () => 'event: done\\ndata: {}\\n\\n',\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.aiModifyDomain(':oid', ':fid') as string,\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * User API mocks.\n */\n users = {\n /**\n * Mocks the `user.me()` method.\n * @param options Optional response customization.\n */\n me: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.users.user()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.usersMe(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Files API mocks.\n */\n files = {\n /**\n * Mocks the `file.list()` method.\n */\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMeta()` method.\n */\n createMeta: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.createMedia()` method.\n */\n createMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(200, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.create()` method.\n */\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.createMeta(init, options)\n // When SDK's file.create() is called, it responds with\n // what the result of file.createMeta() would be.\n // Because of that, we don't need to configure the media request.\n await this.files.createMedia(undefined, options)\n },\n\n /**\n * Mocks the `file.createFolder()` method.\n */\n createFolder: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 201,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.folder()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.read()` method.\n */\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readMedia()` method.\n */\n readMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n {\n 'content-type': 'application/json',\n 'x-version': `${this.gen.faker.number.int({ min: 1, max: 100 })}`,\n },\n () => this.gen.wrapResource({ data: this.gen.faker.lorem.sentences() }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.readBulk()` method.\n */\n readBulk: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), { cursor: false }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesBatch(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patch()` method.\n */\n patch: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchMedia()` method.\n */\n patchMedia: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.patch.mediaPatchRevision()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileMedia(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.delete()` method.\n */\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.file(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.deleteBulk()` method.\n */\n deleteBulk: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.files(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.patchUsers()` method.\n */\n patchUsers: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapResource(this.gen.files.file()),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.filesAccess(':oid', ':id'),\n methods: ['PATCH'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.addUser()` method.\n */\n addUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.removeUser()` method.\n */\n removeUser: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n await this.files.patchUsers(init, options)\n },\n\n /**\n * Mocks the `file.listUsers()` method.\n */\n listUsers: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.users.users(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileUsers(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n /**\n * Mocks the `file.breadcrumbs()` method.\n */\n breadcrumbs: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.fileBreadcrumbs(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.fileBreadcrumbs(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * @deprecated Use `files` instead.\n */\n file = this.files\n\n /**\n * Shared API mocks.\n */\n shared = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.files.files(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.shared(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Trash API mocks.\n */\n trash = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.trash.trashEntries(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trash(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n delete: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchDelete(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n restore: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashBatchRestore(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n empty: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(204, undefined, undefined, init)\n await mock.add(\n {\n match: {\n uri: RouteBuilder.trashEmpty(':oid'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n }\n\n /**\n * Deployments API mocks.\n */\n deployments = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const { query } = req\n const filter = this.decodeFilter(query.filter)\n const schema: Partial<DeploymentSchema> = {}\n if (isAtomicFilter(filter)) {\n if (filter.field === 'fid') {\n if (filter.operator === 'eq') {\n schema.apiId = filter.value as string\n }\n }\n if (['apiSlug', 'api_slug'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.apiSlug = filter.value as string\n }\n }\n if (['orgId', 'organization'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.orgId = filter.value as string\n }\n }\n if (['modelVersion', 'model_version'].includes(filter.field)) {\n if (filter.operator === 'eq') {\n schema.modelVersion = filter.value as string\n }\n }\n if (filter.field === 'version') {\n if (filter.operator === 'eq') {\n schema.version = filter.value as string\n }\n }\n if (filter.field === 'env') {\n if (filter.operator === 'eq') {\n schema.env = filter.value as DeploymentEnvironment\n }\n }\n }\n const limit = this.readQueryLimit(req, init)\n const data = this.gen.deployments.deployments(limit, schema)\n const { order = 'asc', sort } = req.query\n if (sort) {\n data.sort((a, b) => {\n const aValue = a[sort as keyof DeploymentSchema] ?? 0\n const bValue = b[sort as keyof DeploymentSchema] ?? 0\n if (order === 'asc') {\n return aValue < bValue ? -1 : aValue > bValue ? 1 : 0\n } else {\n return aValue > bValue ? -1 : aValue < bValue ? 1 : 0\n }\n })\n }\n return this.gen.wrapList(data, init)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployments(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n create: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 202,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const raw = req.body as string\n const payload = JSON.parse(raw) as CreateDeploymentPayload\n const obj = this.gen.deployments.deployment({\n orgId: req.params.oid,\n apiId: payload.fid,\n modelVersion: payload.modelVersion,\n env: payload.env,\n ...(payload.env === DeploymentEnvironment.PROD ? { version: payload.version } : {}),\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployments(':oid'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params.id,\n orgId: req.params.oid,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployment(':oid', ':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n deactivate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.deployments.deployment({\n key: req.params.id,\n orgId: req.params.oid,\n status: DeploymentStatus.Inactive,\n })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deployment(':oid', ':id'),\n methods: ['DELETE'],\n },\n respond,\n },\n options\n )\n },\n apis: {\n getLatestPerEnvironment: async (\n init?: MockResult & { prod?: boolean; staging?: boolean; dev?: boolean },\n options?: InterceptOptions\n ): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj: DeploymentLatestEnvironments = {}\n const hasProd = init?.prod ?? this.gen.faker.datatype.boolean()\n const hasStaging = init?.staging ?? this.gen.faker.datatype.boolean()\n const hasDev = init?.dev ?? this.gen.faker.datatype.boolean()\n\n if (hasProd) {\n obj.prod = this.gen.deployments.deployment()\n }\n if (hasStaging) {\n obj.staging = this.gen.deployments.deployment()\n }\n if (hasDev) {\n obj.dev = this.gen.deployments.deployment()\n }\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deploymentsApisByEnvLatest(':oid', ':fileId'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.deployments.deploymentApis(init?.size ?? 5), { cursor: false }),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.deploymentsApis(':oid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n },\n }\n\n /**\n * Trash Data Catalog mocks.\n */\n dataCatalog = {\n list: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.dataCatalog.dataCatalogsWithVersion(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listVersions: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => this.gen.wrapList(this.gen.dataCatalog.versionInfos(init?.size ?? 5), init),\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n publish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog()\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalog(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n read: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntry(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n deprecate: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDeprecate(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublish: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalog({ key: req.params.id })\n const result: ContextChangeRecord<DataCatalogSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogUnpublish(':id'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n publishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const raw = req.body as string\n const body = JSON.parse(raw) as DataCatalogVersionSchema\n\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: body.key,\n item: body,\n kind: body.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogEntryVersions(':id'),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n readVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersion(':id', ':vid'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n\n listDependencies: async (init?: MockListResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const requirements = JSON.parse(req.body as string) as { items: ForeignDomainDependency[] }\n const data: DataDomainSchema[] = []\n for (const item of requirements.items) {\n const domain = new DataDomain({\n key: item.key,\n info: { name: `Domain ${item.key}`, version: item.version },\n })\n data.push(domain.toJSON())\n }\n return this.gen.wrapList(data, { cursor: false })\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogDependencies(),\n methods: ['POST'],\n },\n respond,\n },\n options\n )\n },\n\n deprecateVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.deprecated = true\n obj.deprecatedAt = this.gen.faker.date.past().getTime()\n obj.deprecatedBy = nanoid()\n const info = JSON.parse(req.body as string) as { reason: string }\n obj.deprecationReason = info.reason\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionDeprecate(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n unpublishVersion: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n (req: SerializedRequest) => {\n const obj = this.gen.dataCatalog.dataCatalogVersion({ key: req.params.vid, catalogKey: req.params.id })\n obj.unpublishedAt = this.gen.faker.date.past().getTime()\n obj.scope = 'private'\n const result: ContextChangeRecord<DataCatalogVersionSchema> = {\n key: obj.key,\n item: obj,\n kind: obj.kind,\n }\n return this.gen.wrapResource(result)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogVersionUnpublish(':id', ':vid'),\n methods: ['PUT'],\n },\n respond,\n },\n options\n )\n },\n\n checkPublicationStatus: async (init?: MockResult, options?: InterceptOptions): Promise<void> => {\n const { mock } = this\n const respond = this.createDefaultResponse(\n 200,\n { 'content-type': 'application/json' },\n () => {\n const obj = this.gen.dataCatalog.dataCatalog() as DataCatalogStatus\n obj.versions = this.gen.dataCatalog.versionInfos(1)\n return this.gen.wrapResource(obj)\n },\n init\n )\n await mock.add(\n {\n match: {\n uri: RouteBuilder.dataCatalogStatus(':id'),\n methods: ['GET'],\n },\n respond,\n },\n options\n )\n },\n }\n\n //\n // Helpers\n //\n\n /**\n * Decodes the filter parameter from the query string.\n *\n * @param filter The filter parameter from the query string.\n * @returns The decoded filter or undefined if the filter is invalid.\n */\n decodeFilter(filter?: string | string[]): QueryFilter | undefined {\n if (typeof filter !== 'string' || !filter) {\n return undefined\n }\n try {\n return JSON.parse(atob(filter)) as QueryFilter\n } catch {\n return undefined\n }\n }\n\n readQueryLimit(req: SerializedRequest, init?: MockListResult): number {\n let limit = init?.size ?? 5\n if (req.query?.limit) {\n const l = Array.isArray(req.query.limit) ? req.query.limit[0] : req.query.limit\n const tmp = parseInt(l, 10)\n if (Number.isInteger(tmp) && tmp > 0) {\n limit = tmp\n }\n }\n return limit\n }\n\n protected createDefaultResponse(\n status: number,\n headers?: Record<string, string>,\n body?: (req: SerializedRequest) => string,\n userConfig?: MockResult\n ): ResponseGenerator {\n let respond: ResponseGenerator\n if (userConfig?.response) {\n // user config takes precedence\n respond = userConfig.response\n } else {\n respond = {}\n }\n // Set defaults if not provided in user config\n if (!respond.status) {\n respond.status = status\n }\n // only set headers if the user didn't configure the response only.\n // The user may want to remove default headers.\n if (!userConfig || !userConfig.response) {\n respond.headers = headers\n }\n if (!respond.body && userConfig?.forceBody && body) {\n // when body is missing and forceBody is set, generate the body\n respond.body = (req: SerializedRequest) => body(req)\n } else if (body && (!userConfig || !userConfig.response)) {\n // we set the body by default when the user config is missing\n respond.body = (req: SerializedRequest) => body(req)\n }\n return respond\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { SdkBase, SdkOptions } from './SdkBase.js';
2
- import { FileSchema } from '../../../core/src/models/store/File.js';
3
- import { ContextListOptions, ContextListResult } from '../../../core/src/events/BaseEvents.js';
2
+ import { FileSchema } from '../models/store/File.js';
3
+ import { ContextListOptions, ContextListResult } from '../events/BaseEvents.js';
4
4
  export declare class SharedSdk extends SdkBase {
5
5
  /**
6
6
  * Lists shared with the user files.
@@ -1 +1 @@
1
- {"version":3,"file":"SharedSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/SharedSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKP,UAAU,EACX,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAG9F,qBAAa,SAAU,SAAQ,OAAO;IACpC;;;;;;OAMG;IACG,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,EAC5B,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAyB1C"}
1
+ {"version":3,"file":"SharedSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/SharedSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKP,UAAU,EACX,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAG/E,qBAAa,SAAU,SAAQ,OAAO;IACpC;;;;;;OAMG;IACG,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,EAC5B,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAyB1C"}
@@ -1,6 +1,6 @@
1
1
  import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, } from './SdkBase.js';
2
2
  import { RouteBuilder } from './RouteBuilder.js';
3
- import { Exception } from '../../../core/src/exceptions/exception.js';
3
+ import { Exception } from '../exceptions/exception.js';
4
4
  export class SharedSdk extends SdkBase {
5
5
  /**
6
6
  * Lists shared with the user files.
@@ -1 +1 @@
1
- {"version":3,"file":"SharedSdk.js","sourceRoot":"","sources":["../../../src/sdk/SharedSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GAEnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAErE,MAAM,OAAO,SAAU,SAAQ,OAAO;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,OAA4B,EAC5B,UAAsB,EAAE;QAExB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,+BAA+B,CAAA;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAClH,CAAC;QACD,IAAI,IAAmC,CAAA;QACvC,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACxG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAChH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","sourcesContent":["import {\n SdkBase,\n E_RESPONSE_STATUS,\n E_RESPONSE_NO_VALUE,\n E_INVALID_JSON,\n E_RESPONSE_UNKNOWN,\n SdkOptions,\n} from './SdkBase.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { FileSchema } from '../../../core/src/models/store/File.js'\nimport { ContextListOptions, ContextListResult } from '../../../core/src/events/BaseEvents.js'\nimport { Exception } from '../../../core/src/exceptions/exception.js'\n\nexport class SharedSdk extends SdkBase {\n /**\n * Lists shared with the user files.\n *\n * @param kinds the list of kinds to list.\n * @param options Optional query options.\n * @param request Optional request options.\n */\n async list(\n organization: string,\n options?: ContextListOptions,\n request: SdkOptions = {}\n ): Promise<ContextListResult<FileSchema>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.shared(organization))\n this.sdk.appendListOptions(url, options)\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list shared files. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)\n }\n if (!result.body) {\n throw new Exception(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`, { code: 'E_RESPONSE_NO_VALUE', status: result.status })\n }\n let data: ContextListResult<FileSchema>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })\n }\n if (!Array.isArray(data.data)) {\n throw new Exception(`${E_PREFIX}${E_RESPONSE_UNKNOWN}`, { code: 'E_RESPONSE_UNKNOWN', status: result.status })\n }\n return data\n }\n}\n"]}
1
+ {"version":3,"file":"SharedSdk.js","sourceRoot":"","sources":["../../../src/sdk/SharedSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GAEnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAEtD,MAAM,OAAO,SAAU,SAAQ,OAAO;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,OAA4B,EAC5B,UAAsB,EAAE;QAExB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,+BAA+B,CAAA;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAClH,CAAC;QACD,IAAI,IAAmC,CAAA;QACvC,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACxG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,GAAG,QAAQ,GAAG,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QAChH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF","sourcesContent":["import {\n SdkBase,\n E_RESPONSE_STATUS,\n E_RESPONSE_NO_VALUE,\n E_INVALID_JSON,\n E_RESPONSE_UNKNOWN,\n SdkOptions,\n} from './SdkBase.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { FileSchema } from '../models/store/File.js'\nimport { ContextListOptions, ContextListResult } from '../events/BaseEvents.js'\nimport { Exception } from '../exceptions/exception.js'\n\nexport class SharedSdk extends SdkBase {\n /**\n * Lists shared with the user files.\n *\n * @param kinds the list of kinds to list.\n * @param options Optional query options.\n * @param request Optional request options.\n */\n async list(\n organization: string,\n options?: ContextListOptions,\n request: SdkOptions = {}\n ): Promise<ContextListResult<FileSchema>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.shared(organization))\n this.sdk.appendListOptions(url, options)\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list shared files. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)\n }\n if (!result.body) {\n throw new Exception(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`, { code: 'E_RESPONSE_NO_VALUE', status: result.status })\n }\n let data: ContextListResult<FileSchema>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })\n }\n if (!Array.isArray(data.data)) {\n throw new Exception(`${E_PREFIX}${E_RESPONSE_UNKNOWN}`, { code: 'E_RESPONSE_UNKNOWN', status: result.status })\n }\n return data\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { SdkBase, type SdkOptions } from './SdkBase.js';
2
- import type { ContextListOptions, ContextListResult } from '../../../core/src/events/BaseEvents.js';
3
- import type { TrashEntry } from '../../../core/src/models/TrashEntry.js';
2
+ import type { ContextListOptions, ContextListResult } from '../events/BaseEvents.js';
3
+ import type { TrashEntry } from '../models/TrashEntry.js';
4
4
  export declare class TrashSdk extends SdkBase {
5
5
  /**
6
6
  * Lists trashed entires.
@@ -1 +1 @@
1
- {"version":3,"file":"TrashSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/TrashSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKP,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AAGxE,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IA0BzC;;;;;;OAMG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnF;;;OAGG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3E"}
1
+ {"version":3,"file":"TrashSdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/TrashSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAKP,KAAK,UAAU,EAChB,MAAM,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGzD,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IA0BzC;;;;;;OAMG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnF;;;OAGG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3E"}
@@ -1,6 +1,6 @@
1
1
  import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, } from './SdkBase.js';
2
2
  import { RouteBuilder } from './RouteBuilder.js';
3
- import { Exception } from '../../../core/src/exceptions/exception.js';
3
+ import { Exception } from '../exceptions/exception.js';
4
4
  export class TrashSdk extends SdkBase {
5
5
  /**
6
6
  * Lists trashed entires.