@nirmos/sdk 0.2.0 → 0.3.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 (81) hide show
  1. package/README.md +79 -45
  2. package/dist/cjs/client.js +120 -20
  3. package/dist/cjs/client.js.map +1 -1
  4. package/dist/cjs/core/errors.js +4 -2
  5. package/dist/cjs/core/errors.js.map +1 -1
  6. package/dist/cjs/core/metadata.js +3 -3
  7. package/dist/cjs/core/metadata.js.map +1 -1
  8. package/dist/cjs/core/transport.js +36 -9
  9. package/dist/cjs/core/transport.js.map +1 -1
  10. package/dist/cjs/index.js +3 -2
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/management/contracts.js +3 -0
  13. package/dist/cjs/management/contracts.js.map +1 -0
  14. package/dist/cjs/management/execution-types.js +3 -0
  15. package/dist/cjs/management/execution-types.js.map +1 -0
  16. package/dist/cjs/management/manifest.js +1535 -0
  17. package/dist/cjs/management/manifest.js.map +1 -0
  18. package/dist/cjs/management/resources.js +197 -0
  19. package/dist/cjs/management/resources.js.map +1 -0
  20. package/dist/cjs/memory/memory.js +68 -0
  21. package/dist/cjs/memory/memory.js.map +1 -0
  22. package/dist/cjs/memory/types.js +3 -0
  23. package/dist/cjs/memory/types.js.map +1 -0
  24. package/dist/esm/client.d.ts +154 -13
  25. package/dist/esm/client.d.ts.map +1 -1
  26. package/dist/esm/client.js +119 -20
  27. package/dist/esm/client.js.map +1 -1
  28. package/dist/esm/core/errors.d.ts +4 -0
  29. package/dist/esm/core/errors.d.ts.map +1 -1
  30. package/dist/esm/core/errors.js +4 -2
  31. package/dist/esm/core/errors.js.map +1 -1
  32. package/dist/esm/core/metadata.d.ts.map +1 -1
  33. package/dist/esm/core/metadata.js +3 -3
  34. package/dist/esm/core/metadata.js.map +1 -1
  35. package/dist/esm/core/transport.d.ts +9 -2
  36. package/dist/esm/core/transport.d.ts.map +1 -1
  37. package/dist/esm/core/transport.js +36 -9
  38. package/dist/esm/core/transport.js.map +1 -1
  39. package/dist/esm/gateway/types.d.ts +2 -0
  40. package/dist/esm/gateway/types.d.ts.map +1 -1
  41. package/dist/esm/index.d.ts +6 -2
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +2 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/management/contracts.d.ts +18813 -0
  46. package/dist/esm/management/contracts.d.ts.map +1 -0
  47. package/dist/esm/management/contracts.js +2 -0
  48. package/dist/esm/management/contracts.js.map +1 -0
  49. package/dist/esm/management/execution-types.d.ts +246 -0
  50. package/dist/esm/management/execution-types.d.ts.map +1 -0
  51. package/dist/esm/management/execution-types.js +2 -0
  52. package/dist/esm/management/execution-types.js.map +1 -0
  53. package/dist/esm/management/manifest.d.ts +1339 -0
  54. package/dist/esm/management/manifest.d.ts.map +1 -0
  55. package/dist/esm/management/manifest.js +1532 -0
  56. package/dist/esm/management/manifest.js.map +1 -0
  57. package/dist/esm/management/resources.d.ts +288 -0
  58. package/dist/esm/management/resources.d.ts.map +1 -0
  59. package/dist/esm/management/resources.js +194 -0
  60. package/dist/esm/management/resources.js.map +1 -0
  61. package/dist/esm/memory/memory.d.ts +35 -0
  62. package/dist/esm/memory/memory.d.ts.map +1 -0
  63. package/dist/esm/memory/memory.js +64 -0
  64. package/dist/esm/memory/memory.js.map +1 -0
  65. package/dist/esm/memory/types.d.ts +135 -0
  66. package/dist/esm/memory/types.d.ts.map +1 -0
  67. package/dist/esm/memory/types.js +2 -0
  68. package/dist/esm/memory/types.js.map +1 -0
  69. package/package.json +2 -2
  70. package/src/client.ts +319 -36
  71. package/src/core/errors.ts +8 -2
  72. package/src/core/metadata.ts +3 -12
  73. package/src/core/transport.ts +47 -11
  74. package/src/gateway/types.ts +2 -0
  75. package/src/index.ts +58 -2
  76. package/src/management/contracts.ts +1084 -0
  77. package/src/management/execution-types.ts +10 -0
  78. package/src/management/manifest.ts +1531 -0
  79. package/src/management/resources.ts +196 -0
  80. package/src/memory/memory.ts +108 -0
  81. package/src/memory/types.ts +157 -0
@@ -0,0 +1,196 @@
1
+ // Generated from HTTP contracts and curated SDK namespaces.
2
+ import type { HttpTransport } from "../core/transport.js";
3
+ import type { RequestOptions } from "../core/types.js";
4
+ import type { Requests, Queries, Responses } from "./contracts.js";
5
+ export function managementResources(transport: HttpTransport) { return { providers: { list: (query: Queries["listProviders"] = {}, options?: RequestOptions) => transport.data<Responses["listProviders"]>({ method: "GET", path: `/v1/providers`, query, options }),
6
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getProvider"]>({ method: "GET", path: `/v1/providers/${encodeURIComponent(id)}`, options }),
7
+ create: (body: Requests["createProvider"], options?: RequestOptions) => transport.data<Responses["createProvider"]>({ method: "POST", path: `/v1/providers`, body, options }),
8
+ update: (id: string, body: Requests["updateProvider"], options?: RequestOptions) => transport.data<Responses["updateProvider"]>({ method: "PATCH", path: `/v1/providers/${encodeURIComponent(id)}`, body, options }),
9
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteProvider"]>({ method: "DELETE", path: `/v1/providers/${encodeURIComponent(id)}`, options }),
10
+ health: (options?: RequestOptions) => transport.data<Responses["providerHealth"]>({ method: "GET", path: `/v1/providers/health`, options }) },
11
+ models: { list: (query: Queries["listModels"] = {}, options?: RequestOptions) => transport.data<Responses["listModels"]>({ method: "GET", path: `/v1/models`, query, options }),
12
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getModel"]>({ method: "GET", path: `/v1/models/${encodeURIComponent(id)}`, options }),
13
+ create: (body: Requests["createModel"], options?: RequestOptions) => transport.data<Responses["createModel"]>({ method: "POST", path: `/v1/models`, body, options }),
14
+ update: (id: string, body: Requests["updateModel"], options?: RequestOptions) => transport.data<Responses["updateModel"]>({ method: "PATCH", path: `/v1/models/${encodeURIComponent(id)}`, body, options }),
15
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteModel"]>({ method: "DELETE", path: `/v1/models/${encodeURIComponent(id)}`, options }),
16
+ promptOptions: (query: Queries["promptModelOptions"] = {}, options?: RequestOptions) => transport.data<Responses["promptModelOptions"]>({ method: "GET", path: `/v1/models/prompt-options`, query, options }) },
17
+ providerCredentials: { list: (query: Queries["listCredentials"] = {}, options?: RequestOptions) => transport.data<Responses["listCredentials"]>({ method: "GET", path: `/v1/provider-credentials`, query, options }),
18
+ create: (body: Requests["createCredential"], options?: RequestOptions) => transport.data<Responses["createCredential"]>({ method: "POST", path: `/v1/provider-credentials`, body, options }),
19
+ update: (id: string, body: Requests["updateCredential"], options?: RequestOptions) => transport.data<Responses["updateCredential"]>({ method: "PATCH", path: `/v1/provider-credentials/${encodeURIComponent(id)}`, body, options }),
20
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteCredential"]>({ method: "DELETE", path: `/v1/provider-credentials/${encodeURIComponent(id)}`, options }),
21
+ validate: (id: string, options?: RequestOptions) => transport.data<Responses["validateCredential"]>({ method: "POST", path: `/v1/provider-credentials/${encodeURIComponent(id)}/validate`, options }) },
22
+ prompts: { list: (query: Queries["listPrompts"] = {}, options?: RequestOptions) => transport.data<Responses["listPrompts"]>({ method: "GET", path: `/v1/prompts`, query, options }),
23
+ get: (id: string, query: Queries["getPrompt"] = {}, options?: RequestOptions) => transport.data<Responses["getPrompt"]>({ method: "GET", path: `/v1/prompts/${encodeURIComponent(id)}`, query, options }),
24
+ create: (body: Requests["createPrompt"], options?: RequestOptions) => transport.data<Responses["createPrompt"]>({ method: "POST", path: `/v1/prompts`, body, options }),
25
+ update: (id: string, body: Requests["updatePrompt"], options?: RequestOptions) => transport.data<Responses["updatePrompt"]>({ method: "PATCH", path: `/v1/prompts/${encodeURIComponent(id)}`, body, options }),
26
+ duplicate: (id: string, options?: RequestOptions) => transport.data<Responses["duplicatePromptAction"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/duplicate`, options }),
27
+ archive: (id: string, options?: RequestOptions) => transport.data<Responses["archivePromptAction"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/archive`, options }),
28
+ restore: (id: string, options?: RequestOptions) => transport.data<Responses["unarchivePromptAction"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/restore`, options }),
29
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deletePromptAction"]>({ method: "DELETE", path: `/v1/prompts/${encodeURIComponent(id)}`, options }),
30
+ versions: { list: (id: string, query: Queries["listPromptVersions"] = {}, options?: RequestOptions) => transport.data<Responses["listPromptVersions"]>({ method: "GET", path: `/v1/prompts/${encodeURIComponent(id)}/versions`, query, options }),
31
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getPromptVersion"]>({ method: "GET", path: `/v1/prompt-versions/${encodeURIComponent(id)}`, options }),
32
+ create: (id: string, body: Requests["createPromptVersion"], options?: RequestOptions) => transport.data<Responses["createPromptVersion"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/versions`, body, options }),
33
+ publish: (id: string, versionId: string, options?: RequestOptions) => transport.data<Responses["publishPromptVersion"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/versions/${encodeURIComponent(versionId)}/publish`, options }) },
34
+ branches: { list: (id: string, query: Queries["listPromptBranches"] = {}, options?: RequestOptions) => transport.data<Responses["listPromptBranches"]>({ method: "GET", path: `/v1/prompts/${encodeURIComponent(id)}/branches`, query, options }),
35
+ create: (id: string, body: Requests["createPromptBranch"], options?: RequestOptions) => transport.data<Responses["createPromptBranch"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/branches`, body, options }),
36
+ merge: (id: string, body: Requests["mergePromptBranches"], options?: RequestOptions) => transport.data<Responses["mergePromptBranches"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/branches/merge`, body, options }),
37
+ delete: (id: string, branchId: string, options?: RequestOptions) => transport.data<Responses["deletePromptBranch"]>({ method: "DELETE", path: `/v1/prompts/${encodeURIComponent(id)}/branches/${encodeURIComponent(branchId)}`, options }) },
38
+ preview: (id: string, body: Requests["simulatePromptPreview"], options?: RequestOptions) => transport.data<Responses["simulatePromptPreview"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/preview`, body, options }),
39
+ compile: (id: string, body: Requests["compilePromptPreview"], options?: RequestOptions) => transport.data<Responses["compilePromptPreview"]>({ method: "POST", path: `/v1/prompts/${encodeURIComponent(id)}/compile`, body, options }) },
40
+ routes: { list: (query: Queries["listRoutes"] = {}, options?: RequestOptions) => transport.data<Responses["listRoutes"]>({ method: "GET", path: `/v1/routes`, query, options }),
41
+ editor: (id: string, options?: RequestOptions) => transport.data<Responses["getRouteEditor"]>({ method: "GET", path: `/v1/routes/${encodeURIComponent(id)}/editor`, options }),
42
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getRoute"]>({ method: "GET", path: `/v1/routes/${encodeURIComponent(id)}`, options }),
43
+ create: (body: Requests["createRoute"], options?: RequestOptions) => transport.data<Responses["createRoute"]>({ method: "POST", path: `/v1/routes`, body, options }),
44
+ update: (id: string, body: Requests["updateRoute"], options?: RequestOptions) => transport.data<Responses["updateRoute"]>({ method: "PATCH", path: `/v1/routes/${encodeURIComponent(id)}`, body, options }),
45
+ duplicate: (id: string, options?: RequestOptions) => transport.data<Responses["duplicateRoute"]>({ method: "POST", path: `/v1/routes/${encodeURIComponent(id)}/duplicate`, options }),
46
+ setStatus: (id: string, body: Requests["setRouteStatus"], options?: RequestOptions) => transport.data<Responses["setRouteStatus"]>({ method: "POST", path: `/v1/routes/${encodeURIComponent(id)}/status`, body, options }),
47
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteRoute"]>({ method: "DELETE", path: `/v1/routes/${encodeURIComponent(id)}`, options }),
48
+ reorder: (body: Requests["reorderRoutes"], options?: RequestOptions) => transport.data<Responses["reorderRoutes"]>({ method: "POST", path: `/v1/routes/reorder`, body, options }) },
49
+ endpoints: { list: (query: Queries["listEndpoints"] = {}, options?: RequestOptions) => transport.data<Responses["listEndpoints"]>({ method: "GET", path: `/v1/endpoints`, query, options }),
50
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getEndpoint"]>({ method: "GET", path: `/v1/endpoints/${encodeURIComponent(id)}`, options }),
51
+ promptOptions: (query: Queries["endpointPromptOptions"] = {}, options?: RequestOptions) => transport.data<Responses["endpointPromptOptions"]>({ method: "GET", path: `/v1/endpoints/prompt-options`, query, options }),
52
+ overview: (query: Queries["endpointOverview"] = {}, options?: RequestOptions) => transport.data<Responses["endpointOverview"]>({ method: "GET", path: `/v1/endpoints/overview`, query, options }),
53
+ create: (body: Requests["createEndpoint"], options?: RequestOptions) => transport.data<Responses["createEndpoint"]>({ method: "POST", path: `/v1/endpoints`, body, options }),
54
+ update: (id: string, body: Requests["updateEndpoint"], options?: RequestOptions) => transport.data<Responses["updateEndpoint"]>({ method: "PATCH", path: `/v1/endpoints/${encodeURIComponent(id)}`, body, options }),
55
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteEndpointAction"]>({ method: "DELETE", path: `/v1/endpoints/${encodeURIComponent(id)}`, options }),
56
+ duplicate: (id: string, options?: RequestOptions) => transport.data<Responses["duplicateEndpointAction"]>({ method: "POST", path: `/v1/endpoints/${encodeURIComponent(id)}/duplicate`, options }),
57
+ archive: (id: string, options?: RequestOptions) => transport.data<Responses["archiveEndpointAction"]>({ method: "POST", path: `/v1/endpoints/${encodeURIComponent(id)}/archive`, options }),
58
+ setStatus: (id: string, body: Requests["setEndpointStatus"], options?: RequestOptions) => transport.data<Responses["setEndpointStatus"]>({ method: "POST", path: `/v1/endpoints/${encodeURIComponent(id)}/status`, body, options }) },
59
+ evaluations: { suites: { list: (query: Queries["listEvaluationsuites"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationsuites"]>({ method: "GET", path: `/v1/evaluations/suites`, query, options }),
60
+ get: (id: string, query: Queries["getEvaluationsuites"] = {}, options?: RequestOptions) => transport.data<Responses["getEvaluationsuites"]>({ method: "GET", path: `/v1/evaluations/suites/${encodeURIComponent(id)}`, query, options }),
61
+ create: (body: Requests["createEvaluationsuites"], options?: RequestOptions) => transport.data<Responses["createEvaluationsuites"]>({ method: "POST", path: `/v1/evaluations/suites`, body, options }),
62
+ update: (id: string, body: Requests["updateEvaluationsuites"], options?: RequestOptions) => transport.data<Responses["updateEvaluationsuites"]>({ method: "PATCH", path: `/v1/evaluations/suites/${encodeURIComponent(id)}`, body, options }),
63
+ duplicate: (id: string, body: Requests["duplicateEvaluationsuites"], options?: RequestOptions) => transport.data<Responses["duplicateEvaluationsuites"]>({ method: "POST", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/duplicate`, body, options }),
64
+ archive: (id: string, options?: RequestOptions) => transport.data<Responses["archiveEvaluationsuites"]>({ method: "POST", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/archive`, options }),
65
+ restore: (id: string, options?: RequestOptions) => transport.data<Responses["restoreEvaluationsuites"]>({ method: "POST", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/restore`, options }),
66
+ dataset: (id: string, options?: RequestOptions) => transport.data<Responses["getSuiteDataset"]>({ method: "GET", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/dataset`, options }),
67
+ workspace: (id: string, query: Queries["getSuiteWorkspace"] = {}, options?: RequestOptions) => transport.data<Responses["getSuiteWorkspace"]>({ method: "GET", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/workspace`, query, options }),
68
+ columns: { reorder: (id: string, body: Requests["reorderEvaluationColumns"], options?: RequestOptions) => transport.data<Responses["reorderEvaluationColumns"]>({ method: "POST", path: `/v1/evaluations/suites/${encodeURIComponent(id)}/columns/reorder`, body, options }) } },
69
+ datasets: { list: (query: Queries["listEvaluationdatasets"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationdatasets"]>({ method: "GET", path: `/v1/evaluations/datasets`, query, options }),
70
+ get: (id: string, query: Queries["getEvaluationdatasets"] = {}, options?: RequestOptions) => transport.data<Responses["getEvaluationdatasets"]>({ method: "GET", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}`, query, options }),
71
+ create: (body: Requests["createEvaluationdatasets"], options?: RequestOptions) => transport.data<Responses["createEvaluationdatasets"]>({ method: "POST", path: `/v1/evaluations/datasets`, body, options }),
72
+ update: (id: string, body: Requests["updateEvaluationdatasets"], options?: RequestOptions) => transport.data<Responses["updateEvaluationdatasets"]>({ method: "PATCH", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}`, body, options }),
73
+ duplicate: (id: string, body: Requests["duplicateEvaluationdatasets"], options?: RequestOptions) => transport.data<Responses["duplicateEvaluationdatasets"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/duplicate`, body, options }),
74
+ archive: (id: string, options?: RequestOptions) => transport.data<Responses["archiveEvaluationdatasets"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/archive`, options }),
75
+ restore: (id: string, options?: RequestOptions) => transport.data<Responses["restoreEvaluationdatasets"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/restore`, options }),
76
+ versions: { create: (id: string, body: Requests["newDatasetVersion"], options?: RequestOptions) => transport.data<Responses["newDatasetVersion"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/versions`, body, options }),
77
+ freeze: (id: string, versionId: string, options?: RequestOptions) => transport.data<Responses["freezeDatasetVersion"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/versions/${encodeURIComponent(versionId)}/freeze`, options }),
78
+ list: (id: string, query: Queries["listEvaluationVersions_datasets"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationVersions_datasets"]>({ method: "GET", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/versions`, query, options }) },
79
+ cases: { list: (id: string, query: Queries["listDatasetCases"] = {}, options?: RequestOptions) => transport.data<Responses["listDatasetCases"]>({ method: "GET", path: `/v1/evaluations/dataset-versions/${encodeURIComponent(id)}/cases`, query, options }),
80
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getDatasetCase"]>({ method: "GET", path: `/v1/evaluations/cases/${encodeURIComponent(id)}`, options }),
81
+ create: (id: string, body: Requests["createDatasetCase"], options?: RequestOptions) => transport.data<Responses["createDatasetCase"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/cases`, body, options }),
82
+ update: (id: string, caseId: string, body: Requests["updateDatasetCase"], options?: RequestOptions) => transport.data<Responses["updateDatasetCase"]>({ method: "PATCH", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/cases/${encodeURIComponent(caseId)}`, body, options }),
83
+ deleteBatch: (id: string, body: Requests["deleteDatasetCases"], options?: RequestOptions) => transport.data<Responses["deleteDatasetCases"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/cases/delete`, body, options }),
84
+ import: (id: string, body: Requests["importDatasetCases"], options?: RequestOptions) => transport.data<Responses["importDatasetCases"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/cases/import`, body, options }) },
85
+ columns: { create: (id: string, body: Requests["createDatasetColumn"], options?: RequestOptions) => transport.data<Responses["createDatasetColumn"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/columns`, body, options }),
86
+ update: (id: string, columnId: string, body: Requests["updateDatasetColumn"], options?: RequestOptions) => transport.data<Responses["updateDatasetColumn"]>({ method: "PATCH", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/columns/${encodeURIComponent(columnId)}`, body, options }),
87
+ delete: (id: string, columnId: string, options?: RequestOptions) => transport.data<Responses["deleteDatasetColumn"]>({ method: "DELETE", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/columns/${encodeURIComponent(columnId)}`, options }),
88
+ reorder: (id: string, body: Requests["reorderDatasetColumns"], options?: RequestOptions) => transport.data<Responses["reorderDatasetColumns"]>({ method: "POST", path: `/v1/evaluations/datasets/${encodeURIComponent(id)}/columns/reorder`, body, options }) },
89
+ importTrace: (body: Requests["importTraceToDataset"], options?: RequestOptions) => transport.data<Responses["importTraceToDataset"]>({ method: "POST", path: `/v1/evaluations/datasets/import-trace`, body, options }),
90
+ importTraces: (body: Requests["importTracesToDataset"], options?: RequestOptions) => transport.data<Responses["importTracesToDataset"]>({ method: "POST", path: `/v1/evaluations/datasets/import-traces`, body, options }) },
91
+ evaluators: { list: (query: Queries["listEvaluationevaluators"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationevaluators"]>({ method: "GET", path: `/v1/evaluations/evaluators`, query, options }),
92
+ get: (id: string, query: Queries["getEvaluationevaluators"] = {}, options?: RequestOptions) => transport.data<Responses["getEvaluationevaluators"]>({ method: "GET", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}`, query, options }),
93
+ create: (body: Requests["createEvaluationevaluators"], options?: RequestOptions) => transport.data<Responses["createEvaluationevaluators"]>({ method: "POST", path: `/v1/evaluations/evaluators`, body, options }),
94
+ update: (id: string, body: Requests["updateEvaluationevaluators"], options?: RequestOptions) => transport.data<Responses["updateEvaluationevaluators"]>({ method: "PATCH", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}`, body, options }),
95
+ duplicate: (id: string, body: Requests["duplicateEvaluationevaluators"], options?: RequestOptions) => transport.data<Responses["duplicateEvaluationevaluators"]>({ method: "POST", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}/duplicate`, body, options }),
96
+ archive: (id: string, options?: RequestOptions) => transport.data<Responses["archiveEvaluationevaluators"]>({ method: "POST", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}/archive`, options }),
97
+ restore: (id: string, options?: RequestOptions) => transport.data<Responses["restoreEvaluationevaluators"]>({ method: "POST", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}/restore`, options }),
98
+ fromTemplate: (body: Requests["createEvaluatorFromTemplate"], options?: RequestOptions) => transport.data<Responses["createEvaluatorFromTemplate"]>({ method: "POST", path: `/v1/evaluations/evaluators/from-template`, body, options }),
99
+ versions: { create: (id: string, body: Requests["createEvaluatorVersion"], options?: RequestOptions) => transport.data<Responses["createEvaluatorVersion"]>({ method: "POST", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}/versions`, body, options }),
100
+ list: (id: string, query: Queries["listEvaluationVersions_evaluators"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationVersions_evaluators"]>({ method: "GET", path: `/v1/evaluations/evaluators/${encodeURIComponent(id)}/versions`, query, options }) } },
101
+ selectors: (query: Queries["evaluationSelectors"] = {}, options?: RequestOptions) => transport.data<Responses["evaluationSelectors"]>({ method: "GET", path: `/v1/evaluations/selectors`, query, options }),
102
+ runs: { list: (query: Queries["listPersistedEvaluationRuns"] = {}, options?: RequestOptions) => transport.data<Responses["listPersistedEvaluationRuns"]>({ method: "GET", path: `/v1/evaluations/runs`, query, options }),
103
+ summary: (id: string, options?: RequestOptions) => transport.data<Responses["persistedEvaluationRun"]>({ method: "GET", path: `/v1/evaluations/runs/${encodeURIComponent(id)}`, options }) },
104
+ failures: (options?: RequestOptions) => transport.data<Responses["evaluationfailures"]>({ method: "GET", path: `/v1/evaluations/failures`, options }),
105
+ traceCandidates: (options?: RequestOptions) => transport.data<Responses["evaluationtrace-candidates"]>({ method: "GET", path: `/v1/evaluations/trace-candidates`, options }),
106
+ columns: { create: (body: Requests["createEvaluationColumn"], options?: RequestOptions) => transport.data<Responses["createEvaluationColumn"]>({ method: "POST", path: `/v1/evaluations/columns`, body, options }),
107
+ update: (id: string, body: Requests["updateEvaluationColumn"], options?: RequestOptions) => transport.data<Responses["updateEvaluationColumn"]>({ method: "PATCH", path: `/v1/evaluations/columns/${encodeURIComponent(id)}`, body, options }),
108
+ duplicate: (id: string, options?: RequestOptions) => transport.data<Responses["duplicateEvaluationColumnAction"]>({ method: "POST", path: `/v1/evaluations/columns/${encodeURIComponent(id)}/duplicate`, options }),
109
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteEvaluationColumnAction"]>({ method: "DELETE", path: `/v1/evaluations/columns/${encodeURIComponent(id)}`, options }) },
110
+ segments: { create: (body: Requests["createSegment"], options?: RequestOptions) => transport.data<Responses["createSegment"]>({ method: "POST", path: `/v1/evaluations/segments`, body, options }),
111
+ update: (id: string, body: Requests["updateSegment"], options?: RequestOptions) => transport.data<Responses["updateSegment"]>({ method: "PATCH", path: `/v1/evaluations/segments/${encodeURIComponent(id)}`, body, options }),
112
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteSegment"]>({ method: "DELETE", path: `/v1/evaluations/segments/${encodeURIComponent(id)}`, options }) },
113
+ releasePolicies: { create: (body: Requests["createReleasePolicy"], options?: RequestOptions) => transport.data<Responses["createReleasePolicy"]>({ method: "POST", path: `/v1/evaluations/release-policies`, body, options }),
114
+ update: (id: string, body: Requests["updateReleasePolicy"], options?: RequestOptions) => transport.data<Responses["updateReleasePolicy"]>({ method: "PATCH", path: `/v1/evaluations/release-policies/${encodeURIComponent(id)}`, body, options }),
115
+ versions: { create: (id: string, body: Requests["createReleasePolicyVersion"], options?: RequestOptions) => transport.data<Responses["createReleasePolicyVersion"]>({ method: "POST", path: `/v1/evaluations/release-policies/${encodeURIComponent(id)}/versions`, body, options }),
116
+ list: (id: string, query: Queries["listEvaluationVersions_release-policies"] = {}, options?: RequestOptions) => transport.data<Responses["listEvaluationVersions_release-policies"]>({ method: "GET", path: `/v1/evaluations/release-policies/${encodeURIComponent(id)}/versions`, query, options }) } },
117
+ experiments: { prepare: (body: Requests["prepareEvaluationExperiment"], options?: RequestOptions) => transport.data<Responses["prepareEvaluationExperiment"]>({ method: "POST", path: `/v1/evaluations/experiments/prepare`, body, options }) },
118
+ reviews: { list: (query: Queries["listHumanReviews"] = {}, options?: RequestOptions) => transport.data<Responses["listHumanReviews"]>({ method: "GET", path: `/v1/evaluations/reviews`, query, options }),
119
+ filterOptions: (options?: RequestOptions) => transport.data<Responses["reviewFilterOptions"]>({ method: "GET", path: `/v1/evaluations/reviews/filter-options`, options }),
120
+ runCounts: (id: string, options?: RequestOptions) => transport.data<Responses["reviewRunCounts"]>({ method: "GET", path: `/v1/evaluations/runs/${encodeURIComponent(id)}/review-counts`, options }),
121
+ get: (body: Requests["getHumanReview"], options?: RequestOptions) => transport.data<Responses["getHumanReview"]>({ method: "POST", path: `/v1/evaluations/reviews/lookup`, body, options }),
122
+ scoreSummaries: (body: Requests["reviewScoreSummaries"], options?: RequestOptions) => transport.data<Responses["reviewScoreSummaries"]>({ method: "POST", path: `/v1/evaluations/reviews/score-summaries`, body, options }),
123
+ start: (id: string, body: Requests["startHumanReviewAction"], options?: RequestOptions) => transport.data<Responses["startHumanReviewAction"]>({ method: "POST", path: `/v1/evaluations/reviews/${encodeURIComponent(id)}/start`, body, options }),
124
+ submit: (id: string, body: Requests["submitHumanReviewAction"], options?: RequestOptions) => transport.data<Responses["submitHumanReviewAction"]>({ method: "POST", path: `/v1/evaluations/reviews/${encodeURIComponent(id)}/submit`, body, options }),
125
+ dismiss: (id: string, body: Requests["dismissHumanReviewAction"], options?: RequestOptions) => transport.data<Responses["dismissHumanReviewAction"]>({ method: "POST", path: `/v1/evaluations/reviews/${encodeURIComponent(id)}/dismiss`, body, options }) } },
126
+ permissions: { list: (options?: RequestOptions) => transport.data<Responses["listPermissions"]>({ method: "GET", path: `/v1/permissions`, options }) },
127
+ organizations: { roles: { list: (id: string, options?: RequestOptions) => transport.data<Responses["listOrganizationRoles"]>({ method: "GET", path: `/v1/organizations/${encodeURIComponent(id)}/roles`, options }),
128
+ create: (id: string, body: Requests["createOrganizationRole"], options?: RequestOptions) => transport.data<Responses["createOrganizationRole"]>({ method: "POST", path: `/v1/organizations/${encodeURIComponent(id)}/roles`, body, options }),
129
+ update: (id: string, roleId: string, body: Requests["updateOrganizationRole"], options?: RequestOptions) => transport.data<Responses["updateOrganizationRole"]>({ method: "PATCH", path: `/v1/organizations/${encodeURIComponent(id)}/roles/${encodeURIComponent(roleId)}`, body, options }),
130
+ delete: (id: string, roleId: string, options?: RequestOptions) => transport.data<Responses["deleteOrganizationRole"]>({ method: "DELETE", path: `/v1/organizations/${encodeURIComponent(id)}/roles/${encodeURIComponent(roleId)}`, options }) },
131
+ members: { assignRoles: (id: string, memberId: string, body: Requests["assignMemberRoles"], options?: RequestOptions) => transport.data<Responses["assignMemberRoles"]>({ method: "PATCH", path: `/v1/organizations/${encodeURIComponent(id)}/members/${encodeURIComponent(memberId)}/roles`, body, options }),
132
+ list: (id: string, query: Queries["listOrganizationMembers"] = {}, options?: RequestOptions) => transport.data<Responses["listOrganizationMembers"]>({ method: "GET", path: `/v1/organizations/${encodeURIComponent(id)}/members`, query, options }) },
133
+ list: (query: Queries["listOrganizations"] = {}, options?: RequestOptions) => transport.data<Responses["listOrganizations"]>({ method: "GET", path: `/v1/organizations`, query, options }),
134
+ create: (body: Requests["createOrganization"], options?: RequestOptions) => transport.data<Responses["createOrganization"]>({ method: "POST", path: `/v1/organizations`, body, options }),
135
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getOrganization"]>({ method: "GET", path: `/v1/organizations/${encodeURIComponent(id)}`, options }),
136
+ update: (id: string, body: Requests["updateOrganization"], options?: RequestOptions) => transport.data<Responses["updateOrganization"]>({ method: "PATCH", path: `/v1/organizations/${encodeURIComponent(id)}`, body, options }),
137
+ activate: (id: string, options?: RequestOptions) => transport.data<Responses["activateOrganization"]>({ method: "POST", path: `/v1/organizations/${encodeURIComponent(id)}/activate`, options }),
138
+ delete: (id: string, body: Requests["deleteOrganization"], options?: RequestOptions) => transport.data<Responses["deleteOrganization"]>({ method: "DELETE", path: `/v1/organizations/${encodeURIComponent(id)}`, body, options }),
139
+ leave: (id: string, options?: RequestOptions) => transport.data<Responses["leaveOrganization"]>({ method: "POST", path: `/v1/organizations/${encodeURIComponent(id)}/leave`, options }),
140
+ invitations: { list: (id: string, query: Queries["listInvitations"] = {}, options?: RequestOptions) => transport.data<Responses["listInvitations"]>({ method: "GET", path: `/v1/organizations/${encodeURIComponent(id)}/invitations`, query, options }),
141
+ create: (id: string, body: Requests["inviteMember"], options?: RequestOptions) => transport.data<Responses["inviteMember"]>({ method: "POST", path: `/v1/organizations/${encodeURIComponent(id)}/invitations`, body, options }) } },
142
+ auth: { getContext: (options?: RequestOptions) => transport.data<Responses["getAuthContext"]>({ method: "GET", path: `/v1/auth-context`, options }) },
143
+ users: { me: (options?: RequestOptions) => transport.data<Responses["getCurrentUser"]>({ method: "GET", path: `/v1/me`, options }) },
144
+ invitations: { cancel: (id: string, options?: RequestOptions) => transport.data<Responses["cancelInvitation"]>({ method: "POST", path: `/v1/invitations/${encodeURIComponent(id)}/cancel`, options }) },
145
+ apiKeys: { list: (query: Queries["listApiKeys"] = {}, options?: RequestOptions) => transport.data<Responses["listApiKeys"]>({ method: "GET", path: `/v1/api-keys`, query, options }),
146
+ create: (body: Requests["createApiKey"], options?: RequestOptions) => transport.data<Responses["createApiKey"]>({ method: "POST", path: `/v1/api-keys`, body, options }),
147
+ revoke: (id: string, query: Queries["deleteApiKey"], options?: RequestOptions) => transport.data<Responses["deleteApiKey"]>({ method: "DELETE", path: `/v1/api-keys/${encodeURIComponent(id)}`, query, options }) },
148
+ workspace: { resolveDefault: (options?: RequestOptions) => transport.data<Responses["resolveDefaultWorkspace"]>({ method: "POST", path: `/v1/workspaces/default`, options }),
149
+ get: (options?: RequestOptions) => transport.data<Responses["workspaceSummary"]>({ method: "GET", path: `/v1/workspace`, options }) },
150
+ logs: { list: (query: Queries["listLogs"] = {}, options?: RequestOptions) => transport.data<Responses["listLogs"]>({ method: "GET", path: `/v1/logs`, query, options }),
151
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getLog"]>({ method: "GET", path: `/v1/logs/${encodeURIComponent(id)}`, options }) },
152
+ traces: { list: (query: Queries["listTraces"] = {}, options?: RequestOptions) => transport.data<Responses["listTraces"]>({ method: "GET", path: `/v1/traces`, query, options }),
153
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getTrace"]>({ method: "GET", path: `/v1/traces/${encodeURIComponent(id)}`, options }) },
154
+ observability: { gatewayOverview: (options?: RequestOptions) => transport.data<Responses["gatewayOverview"]>({ method: "GET", path: `/v1/gateway/overview`, options }),
155
+ overview: (query: Queries["observabilityOverview"] = {}, options?: RequestOptions) => transport.data<Responses["observabilityOverview"]>({ method: "GET", path: `/v1/observability/overview`, query, options }),
156
+ metrics: (query: Queries["metrics"] = {}, options?: RequestOptions) => transport.data<Responses["metrics"]>({ method: "GET", path: `/v1/metrics`, query, options }) },
157
+ knowledge: { list: (query: Queries["listKnowledgeBases"] = {}, options?: RequestOptions) => transport.data<Responses["listKnowledgeBases"]>({ method: "GET", path: `/v1/knowledge-bases`, query, options }),
158
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getKnowledgeBase"]>({ method: "GET", path: `/v1/knowledge-bases/${encodeURIComponent(id)}`, options }),
159
+ create: (body: Requests["createKnowledgeBase"], options?: RequestOptions) => transport.data<Responses["createKnowledgeBase"]>({ method: "POST", path: `/v1/knowledge-bases`, body, options }),
160
+ update: (id: string, body: Requests["updateKnowledgeBase"], options?: RequestOptions) => transport.data<Responses["updateKnowledgeBase"]>({ method: "PATCH", path: `/v1/knowledge-bases/${encodeURIComponent(id)}`, body, options }),
161
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteKnowledgeBase"]>({ method: "DELETE", path: `/v1/knowledge-bases/${encodeURIComponent(id)}`, options }),
162
+ documents: { list: (id: string, query: Queries["listKnowledgeDocuments"] = {}, options?: RequestOptions) => transport.data<Responses["listKnowledgeDocuments"]>({ method: "GET", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents`, query, options }),
163
+ get: (id: string, documentId: string, options?: RequestOptions) => transport.data<Responses["getKnowledgeDocument"]>({ method: "GET", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}`, options }),
164
+ chunks: (id: string, documentId: string, query: Queries["listKnowledgeChunks"] = {}, options?: RequestOptions) => transport.data<Responses["listKnowledgeChunks"]>({ method: "GET", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}/chunks`, query, options }),
165
+ create: (id: string, body: Requests["ingestKnowledgeDocument"], options?: RequestOptions) => transport.data<Responses["ingestKnowledgeDocument"]>({ method: "POST", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents`, body, options }),
166
+ update: (id: string, documentId: string, body: Requests["updateKnowledgeDocument"], options?: RequestOptions) => transport.data<Responses["updateKnowledgeDocument"]>({ method: "PATCH", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}`, body, options }),
167
+ delete: (id: string, documentId: string, options?: RequestOptions) => transport.data<Responses["deleteKnowledgeDocument"]>({ method: "DELETE", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}`, options }),
168
+ reindex: (id: string, documentId: string, options?: RequestOptions) => transport.data<Responses["reindexKnowledgeDocument"]>({ method: "POST", path: `/v1/knowledge-bases/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}/reindex`, options }) } },
169
+ vectorStores: { list: (query: Queries["listVectorStores"] = {}, options?: RequestOptions) => transport.data<Responses["listVectorStores"]>({ method: "GET", path: `/v1/vector-stores`, query, options }),
170
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getVectorStore"]>({ method: "GET", path: `/v1/vector-stores/${encodeURIComponent(id)}`, options }),
171
+ create: (body: Requests["createVectorStore"], options?: RequestOptions) => transport.data<Responses["createVectorStore"]>({ method: "POST", path: `/v1/vector-stores`, body, options }),
172
+ update: (id: string, body: Requests["updateVectorStore"], options?: RequestOptions) => transport.data<Responses["updateVectorStore"]>({ method: "PATCH", path: `/v1/vector-stores/${encodeURIComponent(id)}`, body, options }),
173
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteVectorStore"]>({ method: "DELETE", path: `/v1/vector-stores/${encodeURIComponent(id)}`, options }),
174
+ test: (id: string, options?: RequestOptions) => transport.data<Responses["testVectorStore"]>({ method: "POST", path: `/v1/vector-stores/${encodeURIComponent(id)}/test`, options }) },
175
+ memory: { spaces: { create: (body: Requests["createMemorySpace"], options?: RequestOptions) => transport.data<Responses["createMemorySpace"]>({ method: "POST", path: `/v1/memory/spaces`, body, options }),
176
+ list: (query: Queries["listMemorySpaces"] = {}, options?: RequestOptions) => transport.data<Responses["listMemorySpaces"]>({ method: "GET", path: `/v1/memory/spaces`, query, options }),
177
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getMemorySpace"]>({ method: "GET", path: `/v1/memory/spaces/${encodeURIComponent(id)}`, options }),
178
+ update: (id: string, body: Requests["updateMemorySpace"], options?: RequestOptions) => transport.data<Responses["updateMemorySpace"]>({ method: "PATCH", path: `/v1/memory/spaces/${encodeURIComponent(id)}`, body, options }),
179
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteMemorySpace"]>({ method: "DELETE", path: `/v1/memory/spaces/${encodeURIComponent(id)}`, options }),
180
+ profile: (id: string, query: Queries["getMemorySpaceProfile"] = {}, options?: RequestOptions) => transport.data<Responses["getMemorySpaceProfile"]>({ method: "GET", path: `/v1/memory/spaces/${encodeURIComponent(id)}/profile`, query, options }) },
181
+ policies: { create: (body: Requests["createMemoryPolicy"], options?: RequestOptions) => transport.data<Responses["createMemoryPolicy"]>({ method: "POST", path: `/v1/memory/policies`, body, options }),
182
+ list: (query: Queries["listMemoryPolicies"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryPolicies"]>({ method: "GET", path: `/v1/memory/policies`, query, options }),
183
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getMemoryPolicy"]>({ method: "GET", path: `/v1/memory/policies/${encodeURIComponent(id)}`, options }),
184
+ update: (id: string, body: Requests["updateMemoryPolicy"], options?: RequestOptions) => transport.data<Responses["updateMemoryPolicy"]>({ method: "PATCH", path: `/v1/memory/policies/${encodeURIComponent(id)}`, body, options }),
185
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteMemoryPolicy"]>({ method: "DELETE", path: `/v1/memory/policies/${encodeURIComponent(id)}`, options }) },
186
+ items: { list: (query: Queries["listMemoryItems"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryItems"]>({ method: "GET", path: `/v1/memory/items`, query, options }),
187
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getMemoryItem"]>({ method: "GET", path: `/v1/memory/items/${encodeURIComponent(id)}`, options }),
188
+ update: (id: string, body: Requests["updateMemoryItem"], options?: RequestOptions) => transport.data<Responses["updateMemoryItem"]>({ method: "PATCH", path: `/v1/memory/items/${encodeURIComponent(id)}`, body, options }),
189
+ delete: (id: string, options?: RequestOptions) => transport.data<Responses["deleteMemoryItem"]>({ method: "DELETE", path: `/v1/memory/items/${encodeURIComponent(id)}`, options }),
190
+ evidence: (id: string, query: Queries["listMemoryItemEvidence"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryItemEvidence"]>({ method: "GET", path: `/v1/memory/items/${encodeURIComponent(id)}/evidence`, query, options }),
191
+ relations: (id: string, query: Queries["listMemoryItemRelations"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryItemRelations"]>({ method: "GET", path: `/v1/memory/items/${encodeURIComponent(id)}/relations`, query, options }),
192
+ embeddings: (id: string, query: Queries["listMemoryItemEmbeddings"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryItemEmbeddings"]>({ method: "GET", path: `/v1/memory/items/${encodeURIComponent(id)}/embeddings`, query, options }),
193
+ entities: (id: string, query: Queries["listMemoryItemEntities"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryItemEntities"]>({ method: "GET", path: `/v1/memory/items/${encodeURIComponent(id)}/entities`, query, options }) },
194
+ runs: { list: (query: Queries["listMemoryRuns"] = {}, options?: RequestOptions) => transport.data<Responses["listMemoryRuns"]>({ method: "GET", path: `/v1/memory/runs`, query, options }),
195
+ get: (id: string, options?: RequestOptions) => transport.data<Responses["getMemoryRun"]>({ method: "GET", path: `/v1/memory/runs/${encodeURIComponent(id)}`, options }) } } }; }
196
+ export type ManagementResources = ReturnType<typeof managementResources>;
@@ -0,0 +1,108 @@
1
+ import type { HttpTransport } from "../core/transport.js";
2
+ import type { RequestOptions } from "../core/types.js";
3
+ import type { ManagementResources } from "../management/resources.js";
4
+ import type * as T from "./types.js";
5
+
6
+ /** One public domain; transports remain a client composition detail. */
7
+ export class Memory {
8
+ readonly spaces: ManagementResources["memory"]["spaces"];
9
+ readonly policies: ManagementResources["memory"]["policies"];
10
+ readonly items: ManagementResources["memory"]["items"] & {
11
+ create: (
12
+ body: T.MemoryManualRequest,
13
+ options?: RequestOptions,
14
+ ) => Promise<T.MemoryIngestResponse>;
15
+ };
16
+ readonly runs: ManagementResources["memory"]["runs"];
17
+ readonly profiles: {
18
+ get: ManagementResources["memory"]["spaces"]["profile"];
19
+ generate: (
20
+ body: T.MemoryGenerateRequest,
21
+ options?: RequestOptions,
22
+ ) => Promise<T.MemoryProfileGenerateResponse>;
23
+ };
24
+ readonly observations: {
25
+ generate: (
26
+ body: T.MemoryGenerateRequest,
27
+ options?: RequestOptions,
28
+ ) => Promise<T.MemoryObservationGenerateResponse>;
29
+ };
30
+ constructor(
31
+ management: ManagementResources["memory"],
32
+ private readonly runtime: HttpTransport,
33
+ ) {
34
+ this.spaces = management.spaces;
35
+ this.policies = management.policies;
36
+ this.runs = management.runs;
37
+ this.items = {
38
+ ...management.items,
39
+ create: (body, options) => this.command("items", body, options),
40
+ };
41
+ this.profiles = {
42
+ get: management.spaces.profile,
43
+ generate: (body, options) =>
44
+ this.command("profiles/generate", body, options),
45
+ };
46
+ this.observations = {
47
+ generate: (body, options) =>
48
+ this.command("observations/generate", body, options),
49
+ };
50
+ }
51
+ private command<R>(
52
+ path: string,
53
+ body: unknown,
54
+ options?: RequestOptions,
55
+ ): Promise<R> {
56
+ const replayable = path === "ingest" || path === "items";
57
+ const input =
58
+ replayable && options?.idempotencyKey && body && typeof body === "object"
59
+ ? {
60
+ ...body,
61
+ idempotencyKey:
62
+ (body as { idempotencyKey?: string }).idempotencyKey ??
63
+ options.idempotencyKey,
64
+ }
65
+ : body;
66
+ return this.runtime.data<R>({
67
+ method: "POST",
68
+ path: `/v1/memory/${path}`,
69
+ body: input,
70
+ options: replayable ? options : { ...options, maxRetries: 0 },
71
+ });
72
+ }
73
+ ingest(
74
+ body: T.MemoryIngestRequest,
75
+ options?: RequestOptions,
76
+ ): Promise<T.MemoryIngestResponse> {
77
+ return this.command("ingest", body, options);
78
+ }
79
+ search(
80
+ body: T.MemorySearchRequest,
81
+ options?: RequestOptions,
82
+ ): Promise<T.MemorySearchResponse> {
83
+ return this.command("search", body, options);
84
+ }
85
+ context(
86
+ body: T.MemoryContextRequest,
87
+ options?: RequestOptions,
88
+ ): Promise<T.MemoryContextResponse> {
89
+ return this.command("context", body, options);
90
+ }
91
+ reindex(
92
+ body: T.MemoryReindexRequest,
93
+ options?: RequestOptions,
94
+ ): Promise<T.MemoryIndexingResult & { memoryRunId: string }> {
95
+ return this.command("reindex", body, options);
96
+ }
97
+ /** Requires a space tombstoned through spaces.delete; backend owns cleanup. */
98
+ erase(
99
+ spaceId: string,
100
+ options?: RequestOptions,
101
+ ): Promise<{ id: string; erased: boolean }> {
102
+ return this.runtime.data({
103
+ method: "DELETE",
104
+ path: `/v1/memory/spaces/${encodeURIComponent(spaceId)}/erase`,
105
+ options,
106
+ });
107
+ }
108
+ }
@@ -0,0 +1,157 @@
1
+ import type { Requests, Queries, Responses } from "../management/contracts.js";
2
+ import type { JsonValue } from "../core/types.js";
3
+
4
+ export interface MemoryPage<T> {
5
+ items: T[];
6
+ nextCursor: string | null;
7
+ }
8
+ export type MemorySpace = Responses["getMemorySpace"];
9
+ export type MemoryPolicy = Responses["getMemoryPolicy"];
10
+ export type MemoryItem = Responses["getMemoryItem"];
11
+ export type MemoryEvidence =
12
+ Responses["listMemoryItemEvidence"]["items"][number];
13
+ export type MemoryRelation =
14
+ Responses["listMemoryItemRelations"]["items"][number];
15
+ export type MemoryEmbedding =
16
+ Responses["listMemoryItemEmbeddings"]["items"][number];
17
+ export type MemoryItemEntity =
18
+ Responses["listMemoryItemEntities"]["items"][number];
19
+ export type MemoryEntity = MemoryItemEntity["entity"];
20
+ export type MemoryProfile = Responses["getMemorySpaceProfile"];
21
+ export type MemoryRun = Responses["getMemoryRun"];
22
+ export type MemorySpaceCreate = Requests["createMemorySpace"];
23
+ export type MemorySpaceUpdate = Requests["updateMemorySpace"];
24
+ export type MemoryPolicyCreate = Requests["createMemoryPolicy"];
25
+ export type MemoryPolicyUpdate = Requests["updateMemoryPolicy"];
26
+ export type MemoryItemUpdate = Requests["updateMemoryItem"];
27
+ export type MemorySpaceFilters = Queries["listMemorySpaces"];
28
+ export type MemoryPolicyFilters = Queries["listMemoryPolicies"];
29
+ export type MemoryItemFilters = Queries["listMemoryItems"];
30
+ export type MemoryRunFilters = Queries["listMemoryRuns"];
31
+ export type MemoryType = NonNullable<MemoryItemFilters["type"]>;
32
+ export type MemoryStatus = NonNullable<MemoryItemFilters["status"]>;
33
+ export type MemoryLayer = NonNullable<MemoryItemFilters["layer"]>;
34
+ export type MemorySourceType =
35
+ | "chat_message"
36
+ | "conversation"
37
+ | "api"
38
+ | "tool"
39
+ | "event"
40
+ | "document"
41
+ | "manual"
42
+ | "system"
43
+ | "other";
44
+ export interface MemoryMessage {
45
+ id?: string;
46
+ role: "user" | "assistant" | "tool" | "system" | "developer";
47
+ content: string;
48
+ createdAt?: string;
49
+ }
50
+ export interface MemoryEvent {
51
+ sourceType: MemorySourceType;
52
+ externalSourceId?: string;
53
+ content: string;
54
+ occurredAt?: string;
55
+ actorType?: string;
56
+ actorId?: string;
57
+ sourceUri?: string;
58
+ metadata?: JsonValue;
59
+ }
60
+ export interface MemoryIngestRequest {
61
+ memorySpaceId: string;
62
+ conversationId?: string;
63
+ sessionId?: string;
64
+ messages?: MemoryMessage[];
65
+ events?: MemoryEvent[];
66
+ context?: MemoryMessage[];
67
+ metadata?: JsonValue;
68
+ idempotencyKey?: string;
69
+ }
70
+ export interface MemorySearchFilters {
71
+ types?: MemoryType[];
72
+ layers?: MemoryLayer[];
73
+ activeOnly?: boolean;
74
+ validAt?: string;
75
+ entityId?: string;
76
+ containsPII?: boolean;
77
+ sensitivities?: NonNullable<MemoryItemUpdate["sensitivity"]>[];
78
+ }
79
+ export interface MemorySearchRequest {
80
+ memorySpaceId: string;
81
+ query: string;
82
+ limit?: number;
83
+ filters?: MemorySearchFilters;
84
+ }
85
+ export interface MemoryContextRequest extends Omit<
86
+ MemorySearchRequest,
87
+ "query"
88
+ > {
89
+ messages: Array<Pick<MemoryMessage, "role" | "content">>;
90
+ }
91
+ export type MemoryResult = Pick<
92
+ MemoryItem,
93
+ | "id"
94
+ | "content"
95
+ | "type"
96
+ | "layer"
97
+ | "status"
98
+ | "validFrom"
99
+ | "validUntil"
100
+ | "confidence"
101
+ >;
102
+ export interface MemorySearchResponse {
103
+ memories: Array<MemoryResult & { score: number }>;
104
+ }
105
+ export interface MemoryContextResponse {
106
+ memories: Array<MemoryResult & { score?: number }>;
107
+ }
108
+ export interface MemoryIndexingResult {
109
+ indexed: number;
110
+ failed: number;
111
+ }
112
+ export interface MemoryIngestResponse {
113
+ memoryRunId: string;
114
+ memories: MemoryResult[];
115
+ candidateCount: number;
116
+ acceptedCount: number;
117
+ rejectedCount: number;
118
+ insertedCount: number;
119
+ mergedCount: number;
120
+ reinforcedCount: number;
121
+ supersededCount: number;
122
+ ignoredCount: number;
123
+ indexing: MemoryIndexingResult;
124
+ replayed?: boolean;
125
+ }
126
+ export interface MemoryManualRequest {
127
+ memorySpaceId: string;
128
+ content: string;
129
+ type?: MemoryType;
130
+ canonicalKey?: string;
131
+ idempotencyKey?: string;
132
+ validFrom?: string;
133
+ }
134
+ export interface MemoryIndexingConfig {
135
+ model: string;
136
+ dimensions: number;
137
+ /** Optional organization-owned override. Omit to use Nirmos-managed storage. */
138
+ vectorStoreConnectionId?: string | null;
139
+ distanceMetric?: "cosine" | "dot" | "euclid";
140
+ }
141
+ export interface MemoryReindexRequest {
142
+ memorySpaceId: string;
143
+ memoryIds?: string[];
144
+ indexing?: MemoryIndexingConfig;
145
+ }
146
+ export interface MemoryGenerateRequest {
147
+ memorySpaceId: string;
148
+ }
149
+ export interface MemoryProfileGenerateResponse {
150
+ memoryRunId: string;
151
+ profile: MemoryProfile;
152
+ }
153
+ export interface MemoryObservationGenerateResponse {
154
+ memoryRunId: string;
155
+ observations: Array<Pick<MemoryItem, "id" | "content" | "type" | "layer">>;
156
+ indexing: MemoryIndexingResult;
157
+ }