feat(python): serve the shipped ai library, so the trace generator …
#460
local-ci.yml
on: push
detect
3s
gates
9s
ts-fast
4m 22s
ts-unit
17s
ts-slow
1m 40s
java-fast
1m 33s
java-slow
3m 47s
python
2m 0s
csharp
1m 23s
notify
3s
Annotations
2 errors and 9 warnings
|
ts-unit
Process completed with exit code 1.
|
|
error: expect(received).toBe(expected):
server/typescript/packages/sdk/test/agent-context-conformance.test.ts#L39
@@ -117,11 +117,45 @@
the `trace-helper`
> generator emits a `record_<entity>(recorder, input, redact=None)` helper (per
> concrete entity extending `LlmCallBase` with a `@responseRef`/`@payloadRef`-carrying
> `template.prompt`) that tolerantly extracts the typed response, builds the base
- > trace row, and persists it once. What's still TS-only is the **`call<Entity>`
+ > trace row, and persists it once.
+ >
+ > `LlmCallBase` is shipped metadata, not something you author: opt in when you load,
+ > then inherit from it. Without the opt-in the `extends` fails with
+ > `ERR_UNRESOLVED_SUPER`.
+ >
+ > ```python
+ > load_directory("metadata/", libraries=["ai"]) # metaobjects::ai::LlmCallBase
+ > ```
+ > the CLI reads the same opt-in from there:
+ > ```yaml
+ > metadata: metadata/
+ > libraries: ["ai"]
+ > ```
+ > ```yaml
+ > - object.entity:
+ > name: AssistantCall
+ > extends: metaobjects::ai::LlmCallBase
+ > children:
+ > - source.rdb: { table: assistant_call, role: primary }
+ > - identity.primary: { name: id, fields: ["spanId"] }
+ > # Typed columns are AUTHORED, never derived (ADR-0024 amendment).
+ > # Declare BOTH: the generated record_<entity> writes voRequest and
+ > # voResponse unconditionally, and any key the entity does not declare
+ > # raises "no field '<name>' in metadata" on the first persist.
+ > - field.object: { name: voRequest, objectRef: MyRequestVO, storage: jsonb }
+ > - field.object: { name: voResponse, objectRef: MyResponseVO, storage: jsonb }
+ > ```
+ >
+ > Note the opt-in also brings in the library's own concrete `LlmCall` entity
it will appear in codegen output
+ > and in a schema diff unless you filter it.
+ >
+ > What's still TS-only is the **`call<Entity>`
Python intentionally does not emit it,
> because the `LlmClient` seam it wraps is BYO / vendor-neutral here (ADR-0024). So
the generated `record_<entity>(...)` yourself;
> the parser above is the standalone receive side if you don't even want the
> recorder.
- Expected - 1
+ Received + 35
at <anonymous> (/home/doug/actions-runners/runner-3/_work/metaobjects/metaobjects/server/typescript/packages/sdk/test/agent-context-conformance.test.ts:39:70)
|
|
detect
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
csharp
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
gates
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
java-fast
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
ts-slow
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
ts-unit
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
python
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
ts-fast
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
java-slow
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|