@ancplua/qyl-api-schema 1.0.4 → 2.0.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/otel/resource.tsp CHANGED
@@ -18,143 +18,143 @@ namespace Qyl.Api.Contracts.OTel.Resource;
18
18
  @doc("Resource describes the entity producing telemetry")
19
19
  model Resource {
20
20
  @doc("Service name (required)")
21
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Service.Name)
21
+ @encodedName("application/json", "service_name")
22
22
  serviceName: string;
23
23
 
24
24
  @doc("Service namespace for grouping")
25
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Service.Namespace)
25
+ @encodedName("application/json", "service_namespace")
26
26
  serviceNamespace?: string;
27
27
 
28
28
  @doc("Service instance ID (unique per instance)")
29
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Service.InstanceId)
29
+ @encodedName("application/json", "service_instance_id")
30
30
  serviceInstanceId?: string;
31
31
 
32
32
  @doc("Service version")
33
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Service.Version)
33
+ @encodedName("application/json", "service_version")
34
34
  serviceVersion?: SemVer;
35
35
 
36
36
  @doc("Telemetry SDK name")
37
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Telemetry.SdkName)
37
+ @encodedName("application/json", "telemetry_sdk_name")
38
38
  telemetrySdkName?: string;
39
39
 
40
40
  @doc("Telemetry SDK language")
41
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Telemetry.SdkLanguage)
41
+ @encodedName("application/json", "telemetry_sdk_language")
42
42
  telemetrySdkLanguage?: Enums.TelemetrySdkLanguage;
43
43
 
44
44
  @doc("Telemetry SDK version")
45
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Telemetry.SdkVersion)
45
+ @encodedName("application/json", "telemetry_sdk_version")
46
46
  telemetrySdkVersion?: SemVer;
47
47
 
48
- @doc("Auto-instrumentation agent name")
49
- @encodedName("application/json", "telemetry.auto.version")
50
- telemetryAutoVersion?: SemVer;
48
+ @doc("Telemetry distribution version")
49
+ @encodedName("application/json", "telemetry_distro_version")
50
+ telemetryDistroVersion?: SemVer;
51
51
 
52
52
  @doc("Deployment environment (e.g., production, staging)")
53
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Deployment.EnvironmentName)
53
+ @encodedName("application/json", "deployment_environment")
54
54
  deploymentEnvironment?: string;
55
55
 
56
56
  @doc("Cloud provider")
57
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Cloud.Provider)
57
+ @encodedName("application/json", "cloud_provider")
58
58
  cloudProvider?: CloudProvider;
59
59
 
60
60
  @doc("Cloud region")
61
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Cloud.Region)
61
+ @encodedName("application/json", "cloud_region")
62
62
  cloudRegion?: string;
63
63
 
64
64
  @doc("Cloud availability zone")
65
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Cloud.AvailabilityZone)
65
+ @encodedName("application/json", "cloud_availability_zone")
66
66
  cloudAvailabilityZone?: string;
67
67
 
68
68
  @doc("Cloud account ID")
69
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Cloud.AccountId)
69
+ @encodedName("application/json", "cloud_account_id")
70
70
  cloudAccountId?: string;
71
71
 
72
72
  @doc("Cloud platform (e.g., aws_ecs, gcp_cloud_run)")
73
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Cloud.Platform)
73
+ @encodedName("application/json", "cloud_platform")
74
74
  cloudPlatform?: string;
75
75
 
76
76
  @doc("Host name")
77
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Host.Name)
77
+ @encodedName("application/json", "host_name")
78
78
  hostName?: string;
79
79
 
80
80
  @doc("Host ID")
81
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Host.Id)
81
+ @encodedName("application/json", "host_id")
82
82
  hostId?: string;
83
83
 
84
84
  @doc("Host type (e.g., n1-standard-1)")
85
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Host.Type)
85
+ @encodedName("application/json", "host_type")
86
86
  hostType?: string;
87
87
 
88
88
  @doc("Host architecture (e.g., amd64, arm64)")
89
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Host.Arch)
89
+ @encodedName("application/json", "host_arch")
90
90
  hostArch?: HostArch;
91
91
 
92
92
  @doc("Operating system type")
93
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Os.Type)
93
+ @encodedName("application/json", "os_type")
94
94
  osType?: OsType;
95
95
 
96
96
  @doc("Operating system description")
97
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Os.Description)
97
+ @encodedName("application/json", "os_description")
98
98
  osDescription?: string;
99
99
 
100
100
  @doc("Operating system version")
101
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Os.Version)
101
+ @encodedName("application/json", "os_version")
102
102
  osVersion?: string;
103
103
 
104
104
  @doc("Process ID")
105
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Process.Pid)
105
+ @encodedName("application/json", "process_pid")
106
106
  processPid?: int64;
107
107
 
108
108
  @doc("Process executable name")
109
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Process.ExecutableName)
109
+ @encodedName("application/json", "process_executable_name")
110
110
  processExecutableName?: string;
111
111
 
112
112
  @doc("Process command line")
113
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Process.CommandLine)
113
+ @encodedName("application/json", "process_command_line")
114
114
  processCommandLine?: string;
115
115
 
116
116
  @doc("Process runtime name")
117
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Process.RuntimeName)
117
+ @encodedName("application/json", "process_runtime_name")
118
118
  processRuntimeName?: string;
119
119
 
120
120
  @doc("Process runtime version")
121
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Process.RuntimeVersion)
121
+ @encodedName("application/json", "process_runtime_version")
122
122
  processRuntimeVersion?: string;
123
123
 
124
124
  @doc("Container ID")
125
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Container.Id)
125
+ @encodedName("application/json", "container_id")
126
126
  containerId?: string;
127
127
 
128
128
  @doc("Container name")
129
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Container.Name)
129
+ @encodedName("application/json", "container_name")
130
130
  containerName?: string;
131
131
 
132
132
  @doc("Container image name")
133
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.Container.ImageName)
133
+ @encodedName("application/json", "container_image_name")
134
134
  containerImageName?: string;
135
135
 
136
- @doc("Container image tag")
137
- @encodedName("application/json", "container.image.tag")
138
- containerImageTag?: string;
136
+ @doc("Container image tags")
137
+ @encodedName("application/json", "container_image_tags")
138
+ containerImageTags?: string[];
139
139
 
140
140
  @doc("Kubernetes cluster name")
141
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.K8s.ClusterName)
141
+ @encodedName("application/json", "k8s_cluster_name")
142
142
  k8sClusterName?: string;
143
143
 
144
144
  @doc("Kubernetes namespace")
145
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.K8s.NamespaceName)
145
+ @encodedName("application/json", "k8s_namespace_name")
146
146
  k8sNamespaceName?: string;
147
147
 
148
148
  @doc("Kubernetes pod name")
149
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.K8s.PodName)
149
+ @encodedName("application/json", "k8s_pod_name")
150
150
  k8sPodName?: string;
151
151
 
152
152
  @doc("Kubernetes pod UID")
153
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.K8s.PodUid)
153
+ @encodedName("application/json", "k8s_pod_uid")
154
154
  k8sPodUid?: string;
155
155
 
156
156
  @doc("Kubernetes deployment name")
157
- @encodedName("application/json", ANcpLua.OpenTelemetry.SemanticConventions.Keys.K8s.DeploymentName)
157
+ @encodedName("application/json", "k8s_deployment_name")
158
158
  k8sDeploymentName?: string;
159
159
 
160
160
  @doc("Additional resource attributes")
package/otel/span.tsp CHANGED
@@ -195,12 +195,12 @@ model Trace extends TraceSummary {
195
195
  @doc("Filter parameters for querying spans")
196
196
  model SpanQueryFilters {
197
197
  @doc("Filter by trace ID")
198
- @query
198
+ @query("trace_id")
199
199
  @encodedName("application/json", "trace_id")
200
200
  traceId?: TraceId;
201
201
 
202
202
  @doc("Filter by parent span ID")
203
- @query
203
+ @query("parent_span_id")
204
204
  @encodedName("application/json", "parent_span_id")
205
205
  parentSpanId?: SpanId;
206
206
 
@@ -213,22 +213,22 @@ model SpanQueryFilters {
213
213
  kind?: SpanKind;
214
214
 
215
215
  @doc("Filter by service name")
216
- @query
216
+ @query("service_name")
217
217
  @encodedName("application/json", "service_name")
218
218
  serviceName?: string;
219
219
 
220
220
  @doc("Filter by status code")
221
- @query
221
+ @query("status_code")
222
222
  @encodedName("application/json", "status_code")
223
223
  statusCode?: SpanStatusCode;
224
224
 
225
225
  @doc("Minimum duration in nanoseconds")
226
- @query
226
+ @query("min_duration_ns")
227
227
  @encodedName("application/json", "min_duration_ns")
228
228
  minDurationNs?: DurationNs;
229
229
 
230
230
  @doc("Maximum duration in nanoseconds")
231
- @query
231
+ @query("max_duration_ns")
232
232
  @encodedName("application/json", "max_duration_ns")
233
233
  maxDurationNs?: DurationNs;
234
234
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancplua/qyl-api-schema",
3
- "version": "1.0.4",
3
+ "version": "2.0.0",
4
4
  "description": "TypeSpec source of truth for qyl API contracts. Emits OpenAPI, JSON Schema, Qyl.Api.Contracts DTOs, and TypeScript contract types; not an OpenTelemetry package, storage schema, or server implementation.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -19,6 +19,9 @@
19
19
  "openapi"
20
20
  ],
21
21
  "type": "module",
22
+ "engines": {
23
+ "node": ">=22"
24
+ },
22
25
  "tspMain": "index.tsp",
23
26
  "exports": {
24
27
  ".": {
@@ -50,12 +53,13 @@
50
53
  "api/routes.tsp",
51
54
  "api/runner.tsp",
52
55
  "api/streaming.tsp",
56
+ "api/workbench.tsp",
53
57
  "common/errors.tsp",
54
58
  "common/pagination.tsp",
55
59
  "common/types.tsp",
56
60
  "models/health.tsp",
57
- "models/runner-mcp.tsp",
58
61
  "models/runner.tsp",
62
+ "models/workbench.tsp",
59
63
  "models/mcp-tools.tsp",
60
64
  "models/session.tsp",
61
65
  "otel/enums.tsp",
@@ -78,7 +82,7 @@
78
82
  },
79
83
  "scripts": {
80
84
  "clean:generated": "node scripts/clean-generated.mjs",
81
- "build:emitters": "tsc -p emitters/csharp && tsc -p emitters/ts-types",
85
+ "build:emitters": "tsc -p emitters/csharp && tsc -p emitters/ts-types && tsc -p emitters/qyl-lint",
82
86
  "build:ts-runtime": "tsc -p tsconfig.contracts.json",
83
87
  "build:json-schema": "node scripts/openapi-to-json-schema.mjs",
84
88
  "prepare": "npm run build:emitters",
@@ -87,7 +91,7 @@
87
91
  "watch": "tsp compile main.tsp --watch",
88
92
  "format": "tsp format **/*.tsp",
89
93
  "lint": "npm run build:emitters && tsp compile main.tsp --no-emit --warn-as-error",
90
- "lint:public": "tsp compile index.tsp --no-emit --warn-as-error",
94
+ "lint:public": "npm run build:emitters && tsp compile index.tsp --no-emit --warn-as-error",
91
95
  "verify:routes": "node scripts/verify-route-contracts.mjs",
92
96
  "verify:contracts": "node scripts/verify-contract-fixtures.mjs"
93
97
  },
@@ -122,7 +126,8 @@
122
126
  "devDependencies": {
123
127
  "@ancplua/typespec-emit-csharp": "file:./emitters/csharp",
124
128
  "@ancplua/typespec-emit-ts-types": "file:./emitters/ts-types",
125
- "@types/node": "25.9.5",
129
+ "@ancplua/typespec-qyl-lint": "file:./emitters/qyl-lint",
130
+ "@types/node": "24.13.3",
126
131
  "@typespec/compiler": "1.14.0",
127
132
  "@typespec/events": "0.83.0",
128
133
  "@typespec/http": "1.13.0",