@axiom-lattice/protocols 4.4.1 → 4.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.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +65 -0
- package/dist/index.d.mts +670 -1
- package/dist/index.d.ts +670 -1
- package/dist/index.js +25 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/ModelLatticeProtocol.ts +10 -0
- package/src/ModelProviderProtocol.ts +821 -0
- package/src/TrustedRunContextProtocol.ts +17 -2
- package/src/__tests__/TrustedRunContextProtocol.test.ts +39 -0
- package/src/index.ts +1 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @axiom-lattice/protocols@4.
|
|
2
|
+
> @axiom-lattice/protocols@4.6.0 build /home/runner/work/agentic/agentic/packages/protocols
|
|
3
3
|
> tsup src/index.ts --format cjs,esm --dts --sourcemap
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
[34mCLI[39m Target: es2020
|
|
9
9
|
[34mCJS[39m Build start
|
|
10
10
|
[34mESM[39m Build start
|
|
11
|
-
[
|
|
12
|
-
[
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[
|
|
11
|
+
[32mCJS[39m [1mdist/index.js [22m[32m46.24 KB[39m
|
|
12
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m187.63 KB[39m
|
|
13
|
+
[32mCJS[39m ⚡️ Build success in 270ms
|
|
14
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m41.58 KB[39m
|
|
15
|
+
[32mESM[39m [1mdist/index.mjs.map [22m[32m183.90 KB[39m
|
|
16
|
+
[32mESM[39m ⚡️ Build success in 270ms
|
|
17
17
|
[34mDTS[39m Build start
|
|
18
|
-
[32mDTS[39m ⚡️ Build success in
|
|
19
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
20
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[
|
|
18
|
+
[32mDTS[39m ⚡️ Build success in 7655ms
|
|
19
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m243.17 KB[39m
|
|
20
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m243.17 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# @axiom-lattice/protocols
|
|
2
2
|
|
|
3
|
+
## 4.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6e07f01: Add a tenant-scoped model provider catalog.
|
|
8
|
+
|
|
9
|
+
Model lists were a process-wide in-memory registry: every model lived under
|
|
10
|
+
`models:default:{key}`, nothing was persisted, and `GET /api/models` returned
|
|
11
|
+
each model's `apiKey` in plaintext to any caller.
|
|
12
|
+
|
|
13
|
+
A tenant owner/admin can now register an upstream provider (base URL + API key),
|
|
14
|
+
run discovery against `{baseURL}/v1/models`, and see a tenant-isolated model
|
|
15
|
+
catalog. See ADR-138 for the full decision record.
|
|
16
|
+
|
|
17
|
+
Key points:
|
|
18
|
+
|
|
19
|
+
- **`modelKey` is `${providerId}/${modelId}`.** The same upstream model id
|
|
20
|
+
offered by two providers is two independent models — the real case being a
|
|
21
|
+
tenant running OpenAI direct and Azure OpenAI side by side. The provider id is
|
|
22
|
+
immutable, so renaming a provider never invalidates a key already stored in
|
|
23
|
+
agent or eval configuration.
|
|
24
|
+
- **Credentials never leave the server.** The API key is stored AES-256-GCM
|
|
25
|
+
encrypted and responses carry only `hasApiKey` / `apiKeyHint`. An omitted or
|
|
26
|
+
empty `apiKey` on update keeps the stored value.
|
|
27
|
+
- **Tenant scope comes from the authenticated session only**, never from the
|
|
28
|
+
request body, and writes require a tenant owner/admin role. A provider
|
|
29
|
+
belonging to another tenant is indistinguishable from a missing one (404).
|
|
30
|
+
- **Upstream URLs are validated** before any outbound request: http(s) only, no
|
|
31
|
+
embedded credentials, and private/loopback/link-local/CGNAT addresses are
|
|
32
|
+
rejected. Discovery does not follow redirects, times out after 8s, and never
|
|
33
|
+
echoes the upstream body in an error.
|
|
34
|
+
- **Discovery is explicit.** `POST /api/model-providers/:id/discover` refreshes a
|
|
35
|
+
persisted snapshot; the catalog endpoints never make outbound calls, so an
|
|
36
|
+
upstream outage leaves the list intact.
|
|
37
|
+
|
|
38
|
+
Phase 1 registers discovered models for execution only for the `default` tenant,
|
|
39
|
+
whose registry keys are byte-identical to the previous key-only API. Other
|
|
40
|
+
tenants get the catalog but their models report `executable: false`. Registering
|
|
41
|
+
them would let one tenant's model silently overwrite another's, sending the
|
|
42
|
+
second tenant's agents to the first tenant's upstream with the first tenant's
|
|
43
|
+
credentials.
|
|
44
|
+
|
|
45
|
+
**Contract changes on the legacy endpoints** (breaking for any consumer of
|
|
46
|
+
`GET /api/models`):
|
|
47
|
+
|
|
48
|
+
- `GET /api/models` no longer returns `apiKey`; it returns `hasApiKey` instead,
|
|
49
|
+
and is now scoped to the `default` tenant rather than enumerating all of them.
|
|
50
|
+
- `PUT /api/models` treats an empty `apiKey` as "keep the existing key". Without
|
|
51
|
+
this, the first save after the change above would clear every stored key.
|
|
52
|
+
|
|
53
|
+
The console UI ships the matching change, so a react-sdk built from this version
|
|
54
|
+
must be deployed together with this gateway.
|
|
55
|
+
|
|
56
|
+
## 4.5.0
|
|
57
|
+
|
|
58
|
+
### Minor Changes
|
|
59
|
+
|
|
60
|
+
- 132c78e: Make the Project members endpoint kind-aware. `GET /api/projects/:projectId/bots` (`ProjectRosterService.list`) returns a `kind: "public"` project's every available agent as an implicit active member (built on the assistant catalog), and any other project's stored roster unchanged. No new endpoint and no new query parameter; `client.projectRooms.bots.list(projectId)` is unchanged. The task start picker reuses it and filters to active members.
|
|
61
|
+
|
|
62
|
+
Adds an optional `rosterExempt` flag to `ProjectTaskTrustedRunContext`; Core skips caller/owner roster authorization when the host stamps it (public project tasks) while still enforcing exact task scope.
|
|
63
|
+
|
|
64
|
+
### Patch Changes
|
|
65
|
+
|
|
66
|
+
- 132c78e: add document parse
|
|
67
|
+
|
|
3
68
|
## 4.4.1
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|