10xgraph-client 0.0.0-stage → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +276 -0
  2. package/LICENSE +21 -0
  3. package/README.md +400 -2
  4. package/dist/agent.d.ts +22 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/client.d.ts +479 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/compat.d.ts +28 -0
  9. package/dist/compat.d.ts.map +1 -0
  10. package/dist/endpoints/addThreadMessages.d.ts +22 -0
  11. package/dist/endpoints/addThreadMessages.d.ts.map +1 -0
  12. package/dist/endpoints/clearThreadState.d.ts +15 -0
  13. package/dist/endpoints/clearThreadState.d.ts.map +1 -0
  14. package/dist/endpoints/deleteMemory.d.ts +19 -0
  15. package/dist/endpoints/deleteMemory.d.ts.map +1 -0
  16. package/dist/endpoints/deleteThread.d.ts +19 -0
  17. package/dist/endpoints/deleteThread.d.ts.map +1 -0
  18. package/dist/endpoints/deleteThreadMessage.d.ts +20 -0
  19. package/dist/endpoints/deleteThreadMessage.d.ts.map +1 -0
  20. package/dist/endpoints/files.d.ts +83 -0
  21. package/dist/endpoints/files.d.ts.map +1 -0
  22. package/dist/endpoints/fixGraph.d.ts +29 -0
  23. package/dist/endpoints/fixGraph.d.ts.map +1 -0
  24. package/dist/endpoints/forgetMemories.d.ts +22 -0
  25. package/dist/endpoints/forgetMemories.d.ts.map +1 -0
  26. package/dist/endpoints/getMemory.d.ts +19 -0
  27. package/dist/endpoints/getMemory.d.ts.map +1 -0
  28. package/dist/endpoints/graph.d.ts +39 -0
  29. package/dist/endpoints/graph.d.ts.map +1 -0
  30. package/dist/endpoints/graphTools.d.ts +32 -0
  31. package/dist/endpoints/graphTools.d.ts.map +1 -0
  32. package/dist/endpoints/invoke.d.ts +59 -0
  33. package/dist/endpoints/invoke.d.ts.map +1 -0
  34. package/dist/endpoints/listMemories.d.ts +19 -0
  35. package/dist/endpoints/listMemories.d.ts.map +1 -0
  36. package/dist/endpoints/metadata.d.ts +6 -0
  37. package/dist/endpoints/metadata.d.ts.map +1 -0
  38. package/dist/endpoints/observability.d.ts +58 -0
  39. package/dist/endpoints/observability.d.ts.map +1 -0
  40. package/dist/endpoints/ping.d.ts +10 -0
  41. package/dist/endpoints/ping.d.ts.map +1 -0
  42. package/dist/endpoints/realtime.d.ts +134 -0
  43. package/dist/endpoints/realtime.d.ts.map +1 -0
  44. package/dist/endpoints/searchMemory.d.ts +57 -0
  45. package/dist/endpoints/searchMemory.d.ts.map +1 -0
  46. package/dist/endpoints/stateSchema.d.ts +50 -0
  47. package/dist/endpoints/stateSchema.d.ts.map +1 -0
  48. package/dist/endpoints/stopGraph.d.ts +26 -0
  49. package/dist/endpoints/stopGraph.d.ts.map +1 -0
  50. package/dist/endpoints/storeMemory.d.ts +33 -0
  51. package/dist/endpoints/storeMemory.d.ts.map +1 -0
  52. package/dist/endpoints/stream.d.ts +60 -0
  53. package/dist/endpoints/stream.d.ts.map +1 -0
  54. package/dist/endpoints/threadDetails.d.ts +19 -0
  55. package/dist/endpoints/threadDetails.d.ts.map +1 -0
  56. package/dist/endpoints/threadMessage.d.ts +17 -0
  57. package/dist/endpoints/threadMessage.d.ts.map +1 -0
  58. package/dist/endpoints/threadMessages.d.ts +23 -0
  59. package/dist/endpoints/threadMessages.d.ts.map +1 -0
  60. package/dist/endpoints/threadState.d.ts +14 -0
  61. package/dist/endpoints/threadState.d.ts.map +1 -0
  62. package/dist/endpoints/threads.d.ts +30 -0
  63. package/dist/endpoints/threads.d.ts.map +1 -0
  64. package/dist/endpoints/updateMemory.d.ts +21 -0
  65. package/dist/endpoints/updateMemory.d.ts.map +1 -0
  66. package/dist/endpoints/updateThreadState.d.ts +18 -0
  67. package/dist/endpoints/updateThreadState.d.ts.map +1 -0
  68. package/dist/endpoints/wsStream.d.ts +33 -0
  69. package/dist/endpoints/wsStream.d.ts.map +1 -0
  70. package/dist/errors.d.ts +155 -0
  71. package/dist/errors.d.ts.map +1 -0
  72. package/dist/index.cjs +6 -0
  73. package/dist/index.cjs.map +1 -0
  74. package/dist/index.d.ts +39 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +2664 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/message.d.ts +174 -0
  79. package/dist/message.d.ts.map +1 -0
  80. package/dist/request.d.ts +33 -0
  81. package/dist/request.d.ts.map +1 -0
  82. package/dist/tools.d.ts +67 -0
  83. package/dist/tools.d.ts.map +1 -0
  84. package/dist/ws.d.ts +48 -0
  85. package/dist/ws.d.ts.map +1 -0
  86. package/package.json +99 -4
  87. package/src/agent.ts +43 -0
  88. package/src/client.ts +1044 -0
  89. package/src/compat.ts +35 -0
  90. package/src/endpoints/addThreadMessages.ts +83 -0
  91. package/src/endpoints/clearThreadState.ts +75 -0
  92. package/src/endpoints/deleteMemory.ts +91 -0
  93. package/src/endpoints/deleteThread.ts +78 -0
  94. package/src/endpoints/deleteThreadMessage.ts +83 -0
  95. package/src/endpoints/files.ts +274 -0
  96. package/src/endpoints/fixGraph.ts +91 -0
  97. package/src/endpoints/forgetMemories.ts +95 -0
  98. package/src/endpoints/getMemory.ts +82 -0
  99. package/src/endpoints/graph.ts +97 -0
  100. package/src/endpoints/graphTools.ts +90 -0
  101. package/src/endpoints/invoke.ts +318 -0
  102. package/src/endpoints/listMemories.ts +97 -0
  103. package/src/endpoints/metadata.ts +6 -0
  104. package/src/endpoints/observability.ts +107 -0
  105. package/src/endpoints/ping.ts +58 -0
  106. package/src/endpoints/realtime.ts +326 -0
  107. package/src/endpoints/searchMemory.ts +132 -0
  108. package/src/endpoints/stateSchema.ts +106 -0
  109. package/src/endpoints/stopGraph.ts +85 -0
  110. package/src/endpoints/storeMemory.ts +98 -0
  111. package/src/endpoints/stream.ts +440 -0
  112. package/src/endpoints/threadDetails.ts +78 -0
  113. package/src/endpoints/threadMessage.ts +76 -0
  114. package/src/endpoints/threadMessages.ts +97 -0
  115. package/src/endpoints/threadState.ts +74 -0
  116. package/src/endpoints/threads.ts +112 -0
  117. package/src/endpoints/updateMemory.ts +90 -0
  118. package/src/endpoints/updateThreadState.ts +82 -0
  119. package/src/endpoints/wsStream.ts +251 -0
  120. package/src/errors.ts +553 -0
  121. package/src/index.ts +108 -0
  122. package/src/message.ts +436 -0
  123. package/src/request.ts +168 -0
  124. package/src/tools.ts +225 -0
  125. package/src/ws.ts +100 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,276 @@
1
+ # Changelog
2
+
3
+ All notable changes to `10xgraph-client` (formerly `@10xscale/agentflow-client`) are
4
+ documented here.
5
+
6
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
7
+ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
+
9
+ ## Compatibility policy
10
+
11
+ - **Nothing public is removed without a deprecation cycle.** Anything exported from
12
+ `src/index.ts` is public API. A public export is first marked deprecated with a
13
+ `@deprecated` JSDoc tag, kept working for at least one subsequent minor release, and
14
+ only then removed in a major release.
15
+ - **Moved modules keep a re-export shim** at the old path for at least one minor release.
16
+ - **Breaking changes are documented under a `### Breaking` heading**, with migration steps.
17
+ - The package entry points (`main`, `module`, `types`, `exports`) are part of the contract.
18
+ Changing them is a breaking change.
19
+
20
+ ---
21
+
22
+ ## [0.6.0] - 2026-10-10
23
+
24
+ **First release as `10xgraph-client`.** The package formerly published as
25
+ `@10xscale/agentflow-client` (last version 0.5.0) is renamed along with the project:
26
+ Agentflow is now 10xGraph ([10xgraph.com](https://10xgraph.com),
27
+ [github.com/10xGraph/10xgraph-client](https://github.com/10xGraph/10xgraph-client)).
28
+
29
+ ### Breaking
30
+
31
+ - **WebSocket bearer auth uses the `10xgraph-bearer` subprotocol** (`WS_BEARER_SUBPROTOCOL`),
32
+ replacing `agentflow-bearer`. `10xgraph-api` 0.7.0 accepts both; an older
33
+ `10xscale-agentflow-cli` server only knows the old name, so `wsStream()` and `realtime()`
34
+ with bearer auth fail against it.
35
+
36
+ **Migration:** upgrade the server to `10xgraph-api` >= 0.7.0. HTTP endpoints are unaffected.
37
+
38
+ - **`TenxGraphError.name` is `'TenxGraphError'`** (was `'AgentFlowError'`). Code that compares
39
+ `error.name` should use `instanceof` instead.
40
+
41
+ ### Changed
42
+
43
+ - npm package renamed: `npm install 10xgraph-client`, `import { ... } from '10xgraph-client'`.
44
+ - Exported names renamed: `TenxGraphClient`, `TenxGraphConfig`, `TenxGraphError`,
45
+ `TenxGraphAuth`, `TenxGraphBearerAuth`, `TenxGraphBasicAuth`, `TenxGraphHeaderAuth`.
46
+ - Debug log prefix is `TenxGraphClient:`.
47
+ - Docs, examples and package metadata point at [10xgraph.com/docs](https://10xgraph.com/docs/client),
48
+ the server's `10xgraph.json`, and the `10xGraph/10xgraph-client` repository.
49
+
50
+ ### Deprecated
51
+
52
+ - `AgentFlowClient`, `AgentFlowConfig`, `AgentFlowError`, `AgentFlowAuth`,
53
+ `AgentFlowBearerAuth`, `AgentFlowBasicAuth`, `AgentFlowHeaderAuth`. Each is exported from
54
+ `src/compat.ts` as an alias of the same class or type, so existing code and `instanceof`
55
+ checks keep working. Removed in 2.0.
56
+
57
+ ### Compatibility
58
+
59
+ Requires `10xgraph-api` >= 0.7.0 for WebSocket bearer auth; verified against its current route
60
+ table (every endpoint the client calls exists with the same method, path and body).
61
+
62
+ ---
63
+
64
+ ## [0.5.0] - 2026-10-08
65
+
66
+ **Final release of `@10xscale/agentflow-client`.** Agentflow is now 10xGraph
67
+ ([10xgraph.com](https://10xgraph.com), [github.com/10xGraph](https://github.com/10xGraph)).
68
+ No further versions will be published under this name; the TypeScript client continues
69
+ under the 10xGraph name. Installed copies keep working, and
70
+ `@10xscale/agentflow-client@0.5.0` can be pinned.
71
+
72
+ ### Breaking
73
+
74
+ - **`client.setup()` is removed**, together with the `setupGraph` endpoint module and its
75
+ exported types (`SetupGraphContext`, `SetupGraphRequest`, `SetupGraphResponse`,
76
+ `RemoteTool`). The server removed `POST /v1/graph/setup` in `10xscale-agentflow-cli`
77
+ 0.6.0, so the call could no longer succeed against a current server. Clients can no longer
78
+ define the schema the model sees.
79
+
80
+ **Migration:** declare each client-executed tool (node, name, description, parameters)
81
+ under `remote_tools` in the server's `agentflow.json`, and register only its handler on the
82
+ client with `client.registerToolHandler(name, handler)`. Delete any `await client.setup()`
83
+ call.
84
+
85
+ ### Added
86
+
87
+ - `client.registerToolHandler(name, handler)` registers the client-side implementation of a
88
+ remote tool whose schema is declared on the server.
89
+
90
+ ### Changed
91
+
92
+ - `ToolRegistration.node` is optional. `registerTool()` still works; its `description` and
93
+ `parameters` are no longer sent anywhere.
94
+ - `RealtimeInit.model` is optional. The server honours it only when the model is listed in
95
+ `websocket.realtime_models`, and otherwise uses the agent's own model. `tools_tags` can only
96
+ narrow the agent's own tag filter.
97
+ - `MultimodalConfigResponse.data` no longer declares `media_storage_path`; the server does not
98
+ return it.
99
+ - Package metadata points at the client's own repository
100
+ ([10xHub/agentflow-client](https://github.com/10xHub/agentflow-client)) and at
101
+ [10xgraph.com](https://10xgraph.com).
102
+
103
+ ### Compatibility
104
+
105
+ Requires `10xscale-agentflow-cli` >= 0.6.0, the first server release with `remote_tools` in
106
+ `agentflow.json`. It also works with the renamed server `10xgraph-api`, which still accepts the
107
+ `agentflow-bearer` WebSocket subprotocol this client sends.
108
+
109
+ ---
110
+
111
+ ## [0.4.0] - 2026-07-27
112
+
113
+ ### Breaking
114
+
115
+ - **WebSocket auth: `auth` now takes precedence over `authToken`.** `resolveBearerToken()`
116
+ previously checked `authToken` first and only fell back to `auth`. It now resolves `auth`
117
+ first, matching `buildHeaders()` on the HTTP path, and returns `null` when `auth` is set to
118
+ a non-bearer scheme instead of falling back to `authToken`. This affects `wsStream()` and
119
+ `realtime()`.
120
+
121
+ You are affected only if you set **both** `auth` and `authToken` on the client - a single
122
+ credential behaves exactly as before. Two cases change:
123
+
124
+ | Config | Before | After |
125
+ | ---------------------------------------------------------- | ------- | ------ |
126
+ | `auth: {type:'bearer', token:'b'}` + `authToken: 'tok'` | `'tok'` | `'b'` |
127
+ | `auth: {type:'basic'\|'header', ...}` + `authToken: 'tok'` | `'tok'` | `null` |
128
+
129
+ The rationale for the first case is consistency: `buildHeaders()` has always resolved `auth`
130
+ before `authToken`, so the socket and the HTTP path now agree on which credential wins.
131
+
132
+ The second case is the one to check before upgrading, because what still reaches the server
133
+ depends on your runtime. `openWebSocket()` forwards only the `Authorization` header, and only
134
+ to implementations that accept a third options argument:
135
+
136
+ - **Basic auth on Node** (`ws`, or a passed `webSocketImpl`) - unaffected in practice. The
137
+ `Authorization: Basic ...` header is still sent; you simply no longer also get an unrelated
138
+ bearer subprotocol alongside it.
139
+ - **Basic auth in a browser** - the socket now carries no credential. Browsers cannot set
140
+ headers on a WebSocket, so the basic header is dropped and the bearer fallback is gone.
141
+ - **Header auth (`{ type: 'header' }`) in any runtime** - the socket now carries no
142
+ credential. A custom header name is never forwarded by `openWebSocket()`, in Node or the
143
+ browser, and the bearer fallback is gone.
144
+
145
+ **Migration:** if you hit one of the last two, pass the socket credential as bearer -
146
+ `auth: { type: 'bearer', token }`, or drop `auth` and keep `authToken` - so the credential
147
+ travels by the one mechanism the WebSocket endpoints accept in every runtime.
148
+
149
+ ### Fixed
150
+
151
+ - **`ToolParameter.required` was mandatory, so all-optional tools did not typecheck**
152
+ ([#12](https://github.com/10xHub/agentflow-client/issues/12)). In JSON Schema `required` is
153
+ an optional keyword, but the interface declared it as `required: string[]`, so registering a
154
+ tool whose arguments are all optional failed with `TS2741: Property 'required' is missing`
155
+ unless the caller wrote `required: []` by hand. This hit exactly the read-only tools an agent
156
+ calls most (`list_files`, `read_problems`, `read_terminal`, `read_diff`). `required` and
157
+ `properties` are now both optional, so `parameters: { type: 'object' }` is valid for a tool
158
+ that takes no arguments. `ToolParameter` also accepts arbitrary JSON Schema keywords
159
+ (`additionalProperties`, `$defs`, ...) instead of rejecting them as excess properties.
160
+
161
+ The change is backwards compatible - existing declarations that pass `required` keep working,
162
+ and the wire format is unchanged: `client.setup()` and `ToolExecutor.all_tools()` now fill in
163
+ the omitted keywords via the new exported `normalizeToolParameters()` helper, so the server
164
+ still receives a complete `{ type, properties, required }` schema. Registrations with no
165
+ `parameters` at all now serialize to `{ type: 'object', properties: {}, required: [] }`
166
+ instead of a bare `{}`, which is a valid function schema for every provider.
167
+
168
+ - **`agent.ts` broke type resolution under `moduleResolution: nodenext`.** Its `./message`
169
+ import was the only extensionless relative import in `src/`, so consumers on `node16`/
170
+ `nodenext` - the recommended setting for modern Node projects - got `TS2834` from inside
171
+ `dist/agent.d.ts`. Now imports `./message.js`, matching every other module.
172
+
173
+ - **The three thread-state endpoints rejected string thread IDs.** `threadState()`,
174
+ `updateThreadState()`, and `clearThreadState()` typed `threadId` as `number`, while every
175
+ other thread method (`threadDetails`, `threadMessages`, `addThreadMessages`, `singleMessage`,
176
+ `deleteMessage`, `deleteThread`) already accepted `string | number`. The server types
177
+ `thread_id` as a string in its request schemas, so the three outliers could not be passed a
178
+ thread ID straight from a response without a cast. All three now take `string | number`,
179
+ matching the rest of the surface.
180
+
181
+ This widens a parameter type, so existing calls passing a `number` keep compiling.
182
+
183
+ ### Added
184
+
185
+ - `normalizeToolParameters(parameters?)`, exported from `tools.ts` - applies the JSON Schema
186
+ defaults (`type: 'object'`, `properties: {}`, `required: []`) to a partial tool schema.
187
+ - README: a version-compatibility table mapping client versions to `10xscale-agentflow-cli`
188
+ (API server) and `10xscale-agentflow` (core) versions, since the three packages version
189
+ independently and their numbers do not line up.
190
+
191
+ ---
192
+
193
+ ## [0.3.0] - 2026-07-21
194
+
195
+ ### Fixed
196
+
197
+ - **`uploadFile()` threw on Node 18.** `File` only became a global in Node 20, and the
198
+ upload path did an unguarded `file instanceof File`, so on Node 18 every call failed with
199
+ `ReferenceError: File is not defined` - including calls passing a plain `Blob`, which
200
+ never needed the global at all. The package declares `engines.node >= 18`, so this broke
201
+ file upload for supported runtimes. The check is now guarded before it touches the
202
+ global, and a regression test runs the upload path with `File` removed.
203
+ - **`npm publish` would have failed.** `@10xscale/agentflow-client` is a scoped package,
204
+ and scoped packages default to `restricted`. Without `publishConfig.access: "public"`
205
+ the publish is rejected. Added, along with `provenance: true`.
206
+ - **The build was not cross-platform.** `npm run build` ended in `cp -r dist-types/* dist/`,
207
+ which does not exist on Windows, so Windows contributors could not build the package at
208
+ all. `tsc` now emits declarations straight into `dist/` via `tsconfig.build.json`, and
209
+ the `cp` step is gone.
210
+ - **Shipped sourcemaps did not resolve.** The tarball contained 41 `.map` files but no
211
+ sources, so every map pointed at files the consumer did not have. `src/` is now included
212
+ in `files`.
213
+ - **`NodeJS.Timeout` leaked into the public types.** `forgetMemories` annotated its timer
214
+ with the `NodeJS` namespace, which forced every consumer - including browser-only ones -
215
+ to install `@types/node`. Now uses the portable `ReturnType<typeof setTimeout>`.
216
+ - `Error.captureStackTrace` is now accessed structurally, so the build no longer depends
217
+ on ambient Node typings.
218
+
219
+ ### Added
220
+
221
+ - `client.graphTools()` - lists the tools exposed by the graph's tool nodes, grouped by
222
+ node, each tagged with its source (`local` / `mcp` / `remote`). Types are exported from
223
+ `endpoints/graphTools.ts`.
224
+ - `client.observability(threadId, runId?)` - returns the reconstructed trace (spans,
225
+ events, cost) for a thread, defaulting to the latest run. Types are exported from
226
+ `endpoints/observability.ts`.
227
+ - ESLint 9 (flat config) and Prettier, with `lint`, `format`, `typecheck`, and an
228
+ aggregate `check` script.
229
+ - `tsconfig.build.json` for declaration emit, separate from the type-check config.
230
+ - CI workflow: lint + Prettier + `tsc --noEmit`, tests on Node 18/20/22, and a `package`
231
+ job that verifies every declared entry point exists inside the actual tarball and smoke
232
+ tests both the CJS and ESM entry points from a clean install.
233
+ - Release workflow gated on CI, with a tag-vs-`package.json` version check.
234
+ - CodeQL scanning and Dependabot.
235
+ - `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, `RELEASE_NOTES.md`, issue forms,
236
+ and a pull request template.
237
+
238
+ ### Changed
239
+
240
+ - **Upgraded vitest 1.x to 3.x and vite 5.x to 7.x**, clearing all 11 reported
241
+ vulnerabilities (3 critical, 5 high). `npm audit` now reports zero.
242
+ - Coverage thresholds raised and pinned to the measured numbers as a ratchet
243
+ (72% lines/statements, 82% branches, 76% functions). Note that vitest 3 remaps v8
244
+ coverage more accurately than vitest 1 did, so these read lower than the previous
245
+ config claimed without any real change in what the tests exercise.
246
+ - `tsconfig.json` now type-checks `tests/` as well as `src/`; it previously covered only
247
+ `src/`, so six type errors in the test suite had gone unnoticed. All are fixed.
248
+ - Twelve `@ts-ignore` comments became `@ts-expect-error`, which revealed that every one of
249
+ them was suppressing nothing. All removed.
250
+
251
+ ### Removed
252
+
253
+ - `check.ts` - an unreferenced scratch script at the repo root that imported from a
254
+ non-existent `./dist/index.d.js`.
255
+ - `.npmignore` - dead configuration. `files` in `package.json` takes precedence, so this
256
+ file had no effect and only invited confusion.
257
+ - Dead code in `src`: `makeSingleStreamCall` (`endpoints/stream.ts`),
258
+ `isRemoteToolCallChunk` and `REMOTE_TOOL_CALL_REASON` (`endpoints/wsStream.ts`). All were
259
+ unexported and unreferenced. Three unused imports in `client.ts` were also dropped; the
260
+ types remain publicly exported from their own modules, so this is not an API change.
261
+
262
+ ---
263
+
264
+ ## [0.2.0]
265
+
266
+ Initial entry in this changelog. Releases before `0.2.0` were not tracked here.
267
+
268
+ - a2a, a2ui, and the React surface were removed.
269
+ - Added the realtime audio client (`client.realtime(...)` returning `RealtimeSession`).
270
+ - Added dual ESM/CJS exports.
271
+
272
+ [0.6.0]: https://github.com/10xGraph/10xgraph-client/compare/v0.5.0...v0.6.0
273
+ [0.5.0]: https://github.com/10xHub/agentflow-client/compare/v0.4.0...v0.5.0
274
+ [0.4.0]: https://github.com/10xHub/agentflow-client/compare/v0.3.0...v0.4.0
275
+ [0.3.0]: https://github.com/10xHub/agentflow-client/compare/v-0.2.0...v0.3.0
276
+ [0.2.0]: https://github.com/10xHub/agentflow-client/releases/tag/v-0.2.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 10xScale
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.