@ancplua/qyl-api-schema 0.2.2 → 0.2.3
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/README.md +11 -7
- package/generated/README.md +24 -7
- package/generated/otel-keys-legacy.tsp +51 -0
- package/generated/otel-keys.gen.tsp +605 -64
- package/index.tsp +1 -0
- package/intelligence/main.tsp +0 -2
- package/intelligence/seed/patterns.tsp +1 -2
- package/intelligence/seed/rules.tsp +1 -2
- package/intelligence/seed/strategies.tsp +1 -2
- package/models/agent/agent-run.tsp +1 -1
- package/models/agent/tool-call.tsp +1 -1
- package/models/agent/workflow-checkpoint.tsp +1 -1
- package/models/agent/workflow-execution.tsp +1 -1
- package/models/db.tsp +3 -3
- package/models/deployment.tsp +1 -1
- package/models/error.tsp +1 -1
- package/models/genai.tsp +4 -4
- package/models/http.tsp +3 -3
- package/models/identity.tsp +1 -1
- package/models/log.tsp +1 -1
- package/models/messaging.tsp +1 -1
- package/models/otel-config.tsp +1 -1
- package/models/rpc.tsp +1 -1
- package/models/session.tsp +1 -1
- package/models/system.tsp +1 -1
- package/models/test.tsp +1 -1
- package/otel/enums.tsp +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -9,11 +9,12 @@ owned by qyl.
|
|
|
9
9
|
## Contract pipeline
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
|
-
open-telemetry/semantic-conventions @ v1.
|
|
12
|
+
open-telemetry/semantic-conventions @ v1.43.0 + semantic-conventions-genai (dev registry)
|
|
13
13
|
|
|
|
14
|
-
| Weaver
|
|
14
|
+
| Weaver (Qyl.OpenTelemetry.SemanticConventions repo:
|
|
15
|
+
| generate.sh -> resolved-registry.json -> emit_typespec_keys.py)
|
|
15
16
|
v
|
|
16
|
-
|
|
17
|
+
generated/otel-keys.gen.tsp (+ generated/otel-keys-legacy.tsp, hand-frozen wire keys)
|
|
17
18
|
|
|
|
18
19
|
| TypeSpec import / lockstep key projection
|
|
19
20
|
v
|
|
@@ -27,10 +28,13 @@ OpenAPI JSON + JSON Schema + Qyl.Api.Contracts + TS contract types
|
|
|
27
28
|
qyl services, dashboard, tools, and generated clients
|
|
28
29
|
```
|
|
29
30
|
|
|
30
|
-
The generic OpenTelemetry key projection
|
|
31
|
-
|
|
32
|
-
`ANcpLua.OpenTelemetry.SemanticConventions.Keys
|
|
33
|
-
|
|
31
|
+
The generic OpenTelemetry key projection is the checked-in
|
|
32
|
+
`generated/otel-keys.gen.tsp` under
|
|
33
|
+
`ANcpLua.OpenTelemetry.SemanticConventions.Keys.*`, regenerated by the
|
|
34
|
+
`Qyl.OpenTelemetry.SemanticConventions` repo's Weaver pipeline (the retired
|
|
35
|
+
`@ancplua/typespec-otel-semconv@1.41.0-2` package was its frozen predecessor).
|
|
36
|
+
This repo defines qyl domain models, routes, and response contracts under
|
|
37
|
+
`Qyl.Api.Contracts.*`.
|
|
34
38
|
|
|
35
39
|
## Published artifacts
|
|
36
40
|
|
package/generated/README.md
CHANGED
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
# generated
|
|
2
2
|
|
|
3
|
-
This directory holds
|
|
3
|
+
This directory holds the semconv TypeSpec key projection and the emitter
|
|
4
|
+
outputs. `otel-keys.gen.tsp` is Weaver-generated — **do not edit by hand**.
|
|
5
|
+
`otel-keys-legacy.tsp` is the one deliberate exception: hand-maintained,
|
|
6
|
+
see below.
|
|
4
7
|
|
|
5
8
|
## Files
|
|
6
9
|
|
|
7
10
|
| File | Source | Regenerate via |
|
|
8
11
|
| --- | --- | --- |
|
|
9
|
-
| `otel-keys.gen.tsp` | OpenTelemetry semantic-conventions v1.
|
|
12
|
+
| `otel-keys.gen.tsp` | OpenTelemetry semantic-conventions core **v1.43.0** + the GenAI dev registry (`open-telemetry/semantic-conventions-genai`, pinned commit), merged and projected by the `Qyl.OpenTelemetry.SemanticConventions` repo's Weaver pipeline | In that repo: `src/…SourceGeneration/scripts/generate.sh` (refresh `Resources/resolved-registry.json`), then `src/…SourceGeneration/scripts/emit_typespec_keys.py --write <path-to-this-file>` |
|
|
13
|
+
| `otel-keys-legacy.tsp` | Hand-maintained. Frozen legacy wire keys (10 `gen_ai.*` consts) that upstream deleted at the 1.41→1.43 bump but that qyl's published contracts still carry on deprecated migration fields. Values are verbatim from the last registry that defined them (v1.41.0). | Never regenerated. Delete a const here only if upstream re-introduces the same name (the `VerifyKeysLockstep` Nuke target and the TypeSpec duplicate-declaration error both catch that). |
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
The predecessor projection was the npm package
|
|
16
|
+
[`@ancplua/typespec-otel-semconv@1.41.0-2`](https://github.com/ANcpLua/typespec-otel-semconv)
|
|
17
|
+
— its source repo is archived/deleted, so 1.41.0-2 was its last possible
|
|
18
|
+
release; it is no longer a dependency of this repo.
|
|
19
|
+
|
|
20
|
+
## What the key files provide
|
|
12
21
|
|
|
13
22
|
One TypeSpec namespace per OpenTelemetry root group, each declaring `const <Name>: string = "<dotted.key>"`. Extracted `.tsp` models reference these consts inside `@encodedName(...)` instead of hand-typing dotted attribute keys.
|
|
14
23
|
|
|
@@ -17,10 +26,18 @@ One TypeSpec namespace per OpenTelemetry root group, each declaring `const <Name
|
|
|
17
26
|
system?: string;
|
|
18
27
|
```
|
|
19
28
|
|
|
20
|
-
Deprecated upstream attributes are emitted with `#deprecated "..."` so models that reference them produce a TypeSpec compiler warning matching upstream's own deprecation notes.
|
|
29
|
+
Deprecated upstream attributes are emitted with `#deprecated "..."` so models that reference them produce a TypeSpec compiler warning matching upstream's own deprecation notes. The legacy file's consts are all `#deprecated` by construction.
|
|
21
30
|
|
|
22
31
|
## Pin
|
|
23
32
|
|
|
24
|
-
The checked-in projection is pinned to
|
|
25
|
-
|
|
26
|
-
|
|
33
|
+
The checked-in projection is pinned to core semantic-conventions **v1.43.0**
|
|
34
|
+
(commit in the file header) plus the GenAI dev registry commit pinned in the
|
|
35
|
+
SemanticConventions repo's `generate.sh` (`SEMCONV_GENAI_REF`). The
|
|
36
|
+
`VerifyKeysLockstep` Nuke target asserts the header pin matches the
|
|
37
|
+
`OtelKeysVersion` parameter (`.nuke/parameters.json`).
|
|
38
|
+
|
|
39
|
+
Bumping the pin: update the refs in that repo's `generate.sh`, re-run it plus
|
|
40
|
+
`emit_typespec_keys.py --write`, replace this checked-in projection, and keep
|
|
41
|
+
`SemConvSchemaVersion` in that repo's `Version.props` in lockstep — the .NET
|
|
42
|
+
constants and this TypeSpec projection must cite the same registry versions.
|
|
43
|
+
Direction is one-way: this repo never invokes Weaver directly.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Hand-maintained companion to otel-keys.gen.tsp — NOT generated. Frozen legacy
|
|
2
|
+
// wire keys that upstream removed from the registries at the 1.41→1.43 bump
|
|
3
|
+
// (the GenAI split: gen_ai.system/prompt/completion/usage.{prompt,completion}_tokens
|
|
4
|
+
// were dropped outright; of the gen_ai.openai.* vendor keys, service_tier ×2 and
|
|
5
|
+
// response.system_fingerprint were renamed to openai.*, seed and
|
|
6
|
+
// request.response_format were removed with no successor).
|
|
7
|
+
//
|
|
8
|
+
// qyl's public contracts still carry these dotted keys on deliberately-deprecated
|
|
9
|
+
// migration fields (`@removed(GenAiVersions.…)` in models/genai.tsp). A wire name
|
|
10
|
+
// is a published contract: it stays frozen even after upstream deletes the key.
|
|
11
|
+
// The values below are verbatim from the last registry that defined them
|
|
12
|
+
// (open-telemetry/semantic-conventions v1.41.0, via the retired
|
|
13
|
+
// @ancplua/typespec-otel-semconv@1.41.0-2 projection).
|
|
14
|
+
//
|
|
15
|
+
// TypeSpec merges namespaces across files, so these consts land in the same
|
|
16
|
+
// Keys.GenAi namespace the generated file populates — consuming models did not
|
|
17
|
+
// change. If a future regeneration re-introduces one of these names, the
|
|
18
|
+
// compiler will error on the duplicate: resolve by deleting it HERE.
|
|
19
|
+
|
|
20
|
+
namespace ANcpLua.OpenTelemetry.SemanticConventions.Keys.GenAi {
|
|
21
|
+
/** Frozen legacy wire key; removed from semconv (replaced by gen_ai.output.messages). */
|
|
22
|
+
#deprecated "Removed upstream; frozen for contract compatibility."
|
|
23
|
+
const Completion: string = "gen_ai.completion";
|
|
24
|
+
/** Frozen legacy wire key; removed from semconv (no openai.* successor at 1.43). */
|
|
25
|
+
#deprecated "Removed upstream; frozen for contract compatibility."
|
|
26
|
+
const OpenaiRequestResponseFormat: string = "gen_ai.openai.request.response_format";
|
|
27
|
+
/** Frozen legacy wire key; removed from semconv (no openai.* successor at 1.43). */
|
|
28
|
+
#deprecated "Removed upstream; frozen for contract compatibility."
|
|
29
|
+
const OpenaiRequestSeed: string = "gen_ai.openai.request.seed";
|
|
30
|
+
/** Frozen legacy wire key; renamed upstream to openai.request.service_tier. */
|
|
31
|
+
#deprecated "Renamed upstream to openai.request.service_tier; frozen for contract compatibility."
|
|
32
|
+
const OpenaiRequestServiceTier: string = "gen_ai.openai.request.service_tier";
|
|
33
|
+
/** Frozen legacy wire key; renamed upstream to openai.response.service_tier. */
|
|
34
|
+
#deprecated "Renamed upstream to openai.response.service_tier; frozen for contract compatibility."
|
|
35
|
+
const OpenaiResponseServiceTier: string = "gen_ai.openai.response.service_tier";
|
|
36
|
+
/** Frozen legacy wire key; renamed upstream to openai.response.system_fingerprint. */
|
|
37
|
+
#deprecated "Renamed upstream to openai.response.system_fingerprint; frozen for contract compatibility."
|
|
38
|
+
const OpenaiResponseSystemFingerprint: string = "gen_ai.openai.response.system_fingerprint";
|
|
39
|
+
/** Frozen legacy wire key; removed from semconv (replaced by gen_ai.input.messages). */
|
|
40
|
+
#deprecated "Removed upstream; frozen for contract compatibility."
|
|
41
|
+
const Prompt: string = "gen_ai.prompt";
|
|
42
|
+
/** Frozen legacy wire key; removed from semconv (replaced by gen_ai.provider.name). */
|
|
43
|
+
#deprecated "Replaced by gen_ai.provider.name; frozen for contract compatibility."
|
|
44
|
+
const System: string = "gen_ai.system";
|
|
45
|
+
/** Frozen legacy wire key; removed from semconv (replaced by gen_ai.usage.output_tokens). */
|
|
46
|
+
#deprecated "Replaced by gen_ai.usage.output_tokens; frozen for contract compatibility."
|
|
47
|
+
const UsageCompletionTokens: string = "gen_ai.usage.completion_tokens";
|
|
48
|
+
/** Frozen legacy wire key; removed from semconv (replaced by gen_ai.usage.input_tokens). */
|
|
49
|
+
#deprecated "Replaced by gen_ai.usage.input_tokens; frozen for contract compatibility."
|
|
50
|
+
const UsagePromptTokens: string = "gen_ai.usage.prompt_tokens";
|
|
51
|
+
}
|