@ancplua/qyl-api-schema 7.1.0 → 7.3.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/common/types.tsp CHANGED
@@ -2,8 +2,7 @@
2
2
  // qyl common types and scalars
3
3
  // =============================================================================
4
4
  // Foundational types used across qyl API contracts and OTel-compatible models.
5
- // OpenTelemetry semantic-convention references are pinned to core v1.43.0
6
- // (GenAI keys come from the dedicated GenAI registry since the 1.42 split).
5
+ // OpenTelemetry registry provenance is owned by generated/otel-keys.gen.tsp.
7
6
  // =============================================================================
8
7
 
9
8
  import "@typespec/openapi";
@@ -1,8 +1,8 @@
1
1
  // <auto-generated/>
2
2
  // Generated by qyl's Weaver pipeline (emit_typespec_keys.py) from:
3
- // open-telemetry/semantic-conventions v1.43.0 (89aae438b3b3b0a8dd33003c9d70592baf7dbd0d)
4
- // open-telemetry/semantic-conventions-genai f77b9235f2ad49fe95b61e9809ca82bb08ef9d47 (f77b9235f2ad49fe95b61e9809ca82bb08ef9d47)
5
- // Schema: https://opentelemetry.io/schemas/1.43.0
3
+ // open-telemetry/semantic-conventions v1.44.0 (e10a930844c6951757a43b849d364f7d056ac32b)
4
+ // open-telemetry/semantic-conventions-genai eaefa142a94cefe5d199d47e4a73727dfbd825df (eaefa142a94cefe5d199d47e4a73727dfbd825df)
5
+ // Schema: https://opentelemetry.io/schemas/1.44.0
6
6
  // GenAI schema: https://opentelemetry.io/schemas/gen-ai-dev/1.42.0-dev
7
7
  // Licensed under Apache-2.0 (inherited from OpenTelemetry upstream)
8
8
  // </auto-generated>
@@ -15,7 +15,7 @@
15
15
  namespace Qyl.Telemetry.SemanticConventions.Keys.Android {
16
16
  /** This attribute represents the state of the application. */
17
17
  const AppState: string = "android.app.state";
18
- /** Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found in the [Android API levels documentation](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). */
18
+ /** Uniquely identifies the framework API revision offered by a version (`os.version`) of the Android operating system. More information can be found in the [Android API levels documentation](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels). */
19
19
  const OsApiLevel: string = "android.os.api_level";
20
20
  /** Deprecated. Use `android.app.state` attribute instead. */
21
21
  #deprecated "Replaced by android.app.state."
@@ -24,7 +24,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Android {
24
24
  namespace Qyl.Telemetry.SemanticConventions.Keys.App {
25
25
  /** Unique identifier for a particular build or compilation of the application. */
26
26
  const BuildId: string = "app.build_id";
27
- /** A unique identifier representing an instance of an end-user facing app crash. */
27
+ /** A unique identifier representing an instance of an end user facing app crash. */
28
28
  const CrashId: string = "app.crash.id";
29
29
  /** A unique identifier representing the installation of an application on a specific device */
30
30
  const InstallationId: string = "app.installation.id";
@@ -52,9 +52,9 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Artifact {
52
52
  const AttestationFilename: string = "artifact.attestation.filename";
53
53
  /** The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the [software attestation space](https://github.com/in-toto/attestation/tree/main/spec) also refer to this as the **digest**. */
54
54
  const AttestationHash: string = "artifact.attestation.hash";
55
- /** The id of the build [software attestation](https://slsa.dev/attestation-model). */
55
+ /** The ID of the build [software attestation](https://slsa.dev/attestation-model). */
56
56
  const AttestationId: string = "artifact.attestation.id";
57
- /** The human readable file name of the artifact, typically generated during build and release processes. Often includes the package name and version in the file name. */
57
+ /** The human readable filename of the artifact, typically generated during build and release processes. Often includes the package name and version in the filename. */
58
58
  const Filename: string = "artifact.filename";
59
59
  /** The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify package integrity. */
60
60
  const Hash: string = "artifact.hash";
@@ -258,6 +258,18 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Browser {
258
258
  const Mobile: string = "browser.mobile";
259
259
  /** The platform on which the browser is running */
260
260
  const Platform: string = "browser.platform";
261
+ /** The delta between the current value and the last-reported value. See [delta](https://github.com/GoogleChrome/web-vitals?tab=readme-ov-file#report-only-the-delta-of-changes). */
262
+ const WebVitalDelta: string = "browser.web_vital.delta";
263
+ /** A unique ID representing this particular metric instance. */
264
+ const WebVitalId: string = "browser.web_vital.id";
265
+ /** Name of the web vital. */
266
+ const WebVitalName: string = "browser.web_vital.name";
267
+ /** The type of navigation, as reported by the [Navigation Timing API](https://developer.mozilla.org/docs/Web/API/PerformanceNavigationTiming/type), with additional values reported by the web-vitals library. */
268
+ const WebVitalNavigationType: string = "browser.web_vital.navigation_type";
269
+ /** The rating of the web vital value against the "good", "needs improvement", and "poor" thresholds defined for the metric. */
270
+ const WebVitalRating: string = "browser.web_vital.rating";
271
+ /** Value of the web vital. */
272
+ const WebVitalValue: string = "browser.web_vital.value";
261
273
  }
262
274
  namespace Qyl.Telemetry.SemanticConventions.Keys.Cassandra {
263
275
  /** The consistency level of the query. Based on consistency values from [CQL](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html). */
@@ -308,7 +320,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Cicd {
308
320
  const WorkerUrlFull: string = "cicd.worker.url.full";
309
321
  }
310
322
  namespace Qyl.Telemetry.SemanticConventions.Keys.Client {
311
- /** Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
323
+ /** Client address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
312
324
  const Address: string = "client.address";
313
325
  /** Client port number. */
314
326
  const Port: string = "client.port";
@@ -369,7 +381,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Code {
369
381
  const Column: string = "code.column";
370
382
  /** The column number in `code.file.path` best representing the operation. It SHOULD point within the code unit named in `code.function.name`. This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity. */
371
383
  const ColumnNumber: string = "code.column.number";
372
- /** The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity. */
384
+ /** The source code filename that identifies the code unit as uniquely as possible (preferably an absolute file path). This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity. */
373
385
  const FilePath: string = "code.file.path";
374
386
  /** Deprecated, use `code.file.path` instead */
375
387
  #deprecated "Replaced by code.file.path."
@@ -410,7 +422,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Container {
410
422
  const ImageId: string = "container.image.id";
411
423
  /** Name of the image the container was built on. */
412
424
  const ImageName: string = "container.image.name";
413
- /** Repo digests of the container image as provided by the container runtime. */
425
+ /** Repository digests of the container image as provided by the container runtime. */
414
426
  const ImageRepoDigests: string = "container.image.repo_digests";
415
427
  /** Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/reference/api/engine/version/v1.52/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. */
416
428
  const ImageTags: string = "container.image.tags";
@@ -550,7 +562,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Db {
550
562
  /** The database query being executed. */
551
563
  const QueryText: string = "db.query.text";
552
564
  /** Deprecated, use `db.namespace` instead. */
553
- #deprecated "Uncategorized."
565
+ #deprecated "Replaced by `db.namespace` (string)."
554
566
  const RedisDatabaseIndex: string = "db.redis.database_index";
555
567
  /** Number of rows returned by the operation. */
556
568
  const ResponseReturnedRows: string = "db.response.returned_rows";
@@ -579,7 +591,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Deployment {
579
591
  const Environment: string = "deployment.environment";
580
592
  /** Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). */
581
593
  const EnvironmentName: string = "deployment.environment.name";
582
- /** The id of the deployment. */
594
+ /** The ID of the deployment. */
583
595
  const Id: string = "deployment.id";
584
596
  /** The name of the deployment. */
585
597
  const Name: string = "deployment.name";
@@ -587,7 +599,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Deployment {
587
599
  const Status: string = "deployment.status";
588
600
  }
589
601
  namespace Qyl.Telemetry.SemanticConventions.Keys.Destination {
590
- /** Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
602
+ /** Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
591
603
  const Address: string = "destination.address";
592
604
  /** Destination port number */
593
605
  const Port: string = "destination.port";
@@ -755,7 +767,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.File {
755
767
  const OwnerId: string = "file.owner.id";
756
768
  /** Username of the file owner. */
757
769
  const OwnerName: string = "file.owner.name";
758
- /** Full path to the file, including the file name. It should include the drive letter, when appropriate. */
770
+ /** Full path to the file, including the filename. It should include the drive letter, when appropriate. */
759
771
  const Path: string = "file.path";
760
772
  /** File size in bytes. */
761
773
  const Size: string = "file.size";
@@ -933,16 +945,34 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.GenAi {
933
945
  const ToolName: string = "gen_ai.tool.name";
934
946
  /** Type of the tool utilized by the agent */
935
947
  const ToolType: string = "gen_ai.tool.type";
936
- /** The number of input tokens written to a provider-managed cache. */
937
- const UsageCacheCreationInputTokens: string = "gen_ai.usage.cache_creation.input_tokens";
948
+ /** The number of audio input tokens served from a provider-managed cache. */
949
+ const UsageAudioCacheReadInputTokens: string = "gen_ai.usage.audio.cache_read.input_tokens";
950
+ /** The number of audio input tokens. */
951
+ const UsageAudioInputTokens: string = "gen_ai.usage.audio.input_tokens";
952
+ /** The number of audio output tokens. */
953
+ const UsageAudioOutputTokens: string = "gen_ai.usage.audio.output_tokens";
938
954
  /** The number of input tokens served from a provider-managed cache. */
939
955
  const UsageCacheReadInputTokens: string = "gen_ai.usage.cache_read.input_tokens";
956
+ /** The number of input tokens written to a provider-managed cache. */
957
+ const UsageCacheWriteInputTokens: string = "gen_ai.usage.cache_write.input_tokens";
958
+ /** The number of image input tokens served from a provider-managed cache. */
959
+ const UsageImageCacheReadInputTokens: string = "gen_ai.usage.image.cache_read.input_tokens";
960
+ /** The number of image input tokens. */
961
+ const UsageImageInputTokens: string = "gen_ai.usage.image.input_tokens";
962
+ /** The number of image output tokens. */
963
+ const UsageImageOutputTokens: string = "gen_ai.usage.image.output_tokens";
940
964
  /** The number of tokens used in the GenAI input (prompt). */
941
965
  const UsageInputTokens: string = "gen_ai.usage.input_tokens";
942
966
  /** The number of tokens used in the GenAI response (completion). */
943
967
  const UsageOutputTokens: string = "gen_ai.usage.output_tokens";
944
968
  /** The number of output tokens used for reasoning (e.g. chain-of-thought, extended thinking). */
945
969
  const UsageReasoningOutputTokens: string = "gen_ai.usage.reasoning.output_tokens";
970
+ /** The number of text input tokens served from a provider-managed cache. */
971
+ const UsageTextCacheReadInputTokens: string = "gen_ai.usage.text.cache_read.input_tokens";
972
+ /** The number of text input tokens. */
973
+ const UsageTextInputTokens: string = "gen_ai.usage.text.input_tokens";
974
+ /** The number of text output tokens. */
975
+ const UsageTextOutputTokens: string = "gen_ai.usage.text.output_tokens";
946
976
  /** Human-readable name of the GenAI workflow provided by the application. */
947
977
  const WorkflowName: string = "gen_ai.workflow.name";
948
978
  }
@@ -1015,7 +1045,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Host {
1015
1045
  const Ip: string = "host.ip";
1016
1046
  /** Available MAC addresses of the host, excluding loopback interfaces. */
1017
1047
  const Mac: string = "host.mac";
1018
- /** Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. */
1048
+ /** Name of the host. On UNIX systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. */
1019
1049
  const Name: string = "host.name";
1020
1050
  /** Type of host. For Cloud, this must be the machine type. */
1021
1051
  const Type: string = "host.type";
@@ -1439,17 +1469,19 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Messaging {
1439
1469
  const EventhubsMessageEnqueuedTime: string = "messaging.eventhubs.message.enqueued_time";
1440
1470
  /** The ack deadline in seconds set for the modify ack deadline request. */
1441
1471
  const GcpPubsubMessageAckDeadline: string = "messaging.gcp_pubsub.message.ack_deadline";
1442
- /** The ack id for a given message. */
1472
+ /** The ack ID for a given message. */
1443
1473
  const GcpPubsubMessageAckId: string = "messaging.gcp_pubsub.message.ack_id";
1444
1474
  /** The delivery attempt for a given message. */
1445
1475
  const GcpPubsubMessageDeliveryAttempt: string = "messaging.gcp_pubsub.message.delivery_attempt";
1446
1476
  /** The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. */
1447
1477
  const GcpPubsubMessageOrderingKey: string = "messaging.gcp_pubsub.message.ordering_key";
1478
+ /** The Kafka cluster ID, obtained from the broker metadata exposed through the Kafka client (or AdminClient) API. */
1479
+ const KafkaClusterId: string = "messaging.kafka.cluster.id";
1448
1480
  /** Deprecated, use `messaging.consumer.group.name` instead. */
1449
1481
  #deprecated "Replaced by messaging.consumer.group.name."
1450
1482
  const KafkaConsumerGroup: string = "messaging.kafka.consumer.group";
1451
1483
  /** Deprecated, use `messaging.destination.partition.id` instead. */
1452
- #deprecated "Record string representation of the partition id in `messaging.destination.partition.id` attribute."
1484
+ #deprecated "Record string representation of the partition ID in `messaging.destination.partition.id` attribute."
1453
1485
  const KafkaDestinationPartition: string = "messaging.kafka.destination.partition";
1454
1486
  /** Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message.id` in that they're not unique. If the key is `null`, the attribute MUST NOT be set. */
1455
1487
  const KafkaMessageKey: string = "messaging.kafka.message.key";
@@ -1490,7 +1522,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Messaging {
1490
1522
  const RocketmqMessageDeliveryTimestamp: string = "messaging.rocketmq.message.delivery_timestamp";
1491
1523
  /** It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. */
1492
1524
  const RocketmqMessageGroup: string = "messaging.rocketmq.message.group";
1493
- /** Key(s) of message, another way to mark message besides message id. */
1525
+ /** Key(s) of message, another way to mark message besides message ID. */
1494
1526
  const RocketmqMessageKeys: string = "messaging.rocketmq.message.keys";
1495
1527
  /** The secondary classifier of message besides topic. */
1496
1528
  const RocketmqMessageTag: string = "messaging.rocketmq.message.tag";
@@ -1568,7 +1600,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Network {
1568
1600
  const CarrierName: string = "network.carrier.name";
1569
1601
  /** The state of network connection */
1570
1602
  const ConnectionState: string = "network.connection.state";
1571
- /** This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. */
1603
+ /** This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a Wi-Fi connection. */
1572
1604
  const ConnectionSubtype: string = "network.connection.subtype";
1573
1605
  /** The internet connection type. */
1574
1606
  const ConnectionType: string = "network.connection.type";
@@ -1576,11 +1608,11 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Network {
1576
1608
  const InterfaceName: string = "network.interface.name";
1577
1609
  /** The direction of traffic from the perspective of the observing host's physical or virtual network interface. It should not be used to represent the logical direction of a stateful connection or network flow. */
1578
1610
  const IoDirection: string = "network.io.direction";
1579
- /** Local address of the network connection - IP address or Unix domain socket name. */
1611
+ /** Local address of the network connection - IP address or UNIX domain socket name. */
1580
1612
  const LocalAddress: string = "network.local.address";
1581
1613
  /** Local port number of the network connection. */
1582
1614
  const LocalPort: string = "network.local.port";
1583
- /** Peer address of the network connection - IP address or Unix domain socket name. */
1615
+ /** Peer address of the network connection - IP address or UNIX domain socket name. */
1584
1616
  const PeerAddress: string = "network.peer.address";
1585
1617
  /** Peer port number of the network connection. */
1586
1618
  const PeerPort: string = "network.peer.port";
@@ -1718,9 +1750,9 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Pprof {
1718
1750
  const ProfileComment: string = "pprof.profile.comment";
1719
1751
  /** Documentation link for this profile type. */
1720
1752
  const ProfileDocUrl: string = "pprof.profile.doc_url";
1721
- /** Frames with Function.function_name fully matching the regexp will be dropped from the samples, along with their successors. */
1753
+ /** Frames with Function.function_name fully matching the regular expression will be dropped from the samples, along with their successors. */
1722
1754
  const ProfileDropFrames: string = "pprof.profile.drop_frames";
1723
- /** Frames with Function.function_name fully matching the regexp will be kept, even if it matches drop_frames. */
1755
+ /** Frames with Function.function_name fully matching the regular expression will be kept, even if it matches drop_frames. */
1724
1756
  const ProfileKeepFrames: string = "pprof.profile.keep_frames";
1725
1757
  /** Records the pprof's default_sample_type in the original profile. Not set if the default sample type was missing. */
1726
1758
  const ScopeDefaultSampleType: string = "pprof.scope.default_sample_type";
@@ -1891,7 +1923,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.SecurityRule {
1891
1923
  const Version: string = "security_rule.version";
1892
1924
  }
1893
1925
  namespace Qyl.Telemetry.SemanticConventions.Keys.Server {
1894
- /** Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
1926
+ /** Server domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
1895
1927
  const Address: string = "server.address";
1896
1928
  /** Server port number. */
1897
1929
  const Port: string = "server.port";
@@ -1913,7 +1945,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Service {
1913
1945
  const Version: string = "service.version";
1914
1946
  }
1915
1947
  namespace Qyl.Telemetry.SemanticConventions.Keys.Session {
1916
- /** A unique id to identify a session. */
1948
+ /** A unique ID to identify a session. */
1917
1949
  const Id: string = "session.id";
1918
1950
  /** The previous `session.id` for this user, when known. */
1919
1951
  const PreviousId: string = "session.previous_id";
@@ -1925,7 +1957,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Signalr {
1925
1957
  const Transport: string = "signalr.transport";
1926
1958
  }
1927
1959
  namespace Qyl.Telemetry.SemanticConventions.Keys.Source {
1928
- /** Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
1960
+ /** Source address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
1929
1961
  const Address: string = "source.address";
1930
1962
  /** Source port number */
1931
1963
  const Port: string = "source.port";
@@ -2083,11 +2115,11 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Url {
2083
2115
  const Port: string = "url.port";
2084
2116
  /** The [URI query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component */
2085
2117
  const Query: string = "url.query";
2086
- /** The highest registered url domain, stripped of the subdomain. */
2118
+ /** The highest registered URL domain, stripped of the subdomain. */
2087
2119
  const RegisteredDomain: string = "url.registered_domain";
2088
2120
  /** The [URI scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component identifying the used protocol. */
2089
2121
  const Scheme: string = "url.scheme";
2090
- /** The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. */
2122
+ /** The subdomain portion of a fully qualified domain name includes all of the names except the hostname under the registered_domain. In a partially qualified domain, or if the qualification level of the full name cannot be determined, subdomain contains all of the names below the registered domain. */
2091
2123
  const Subdomain: string = "url.subdomain";
2092
2124
  /** The low-cardinality template of an [absolute path reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2). */
2093
2125
  const Template: string = "url.template";
@@ -445,4 +445,4 @@ export const FetchTelemetryViewValues = {
445
445
  };
446
446
  // --- contract revision (scripts/emit-contract-revision.mjs) ---
447
447
  /** Revision of the API contract these types were emitted from; compare against HealthReport.contract_revision. */
448
- export const CONTRACT_REVISION = "sha256:72545708596baccd";
448
+ export const CONTRACT_REVISION = "sha256:a11cb761a9cb6534";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancplua/qyl-api-schema",
3
- "version": "7.1.0",
3
+ "version": "7.3.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": {
@@ -132,13 +132,13 @@
132
132
  "@ancplua/typespec-emit-csharp": "file:./emitters/csharp",
133
133
  "@ancplua/typespec-emit-ts-types": "file:./emitters/ts-types",
134
134
  "@ancplua/typespec-qyl-lint": "file:./emitters/qyl-lint",
135
- "@types/node": "26.1.1",
136
- "@typespec/compiler": "1.14.0",
137
- "@typespec/events": "0.84.0",
138
- "@typespec/http": "1.14.0",
139
- "@typespec/openapi": "1.14.0",
140
- "@typespec/openapi3": "1.14.0",
141
- "@typespec/sse": "0.84.0",
135
+ "@types/node": "26.2.0",
136
+ "@typespec/compiler": "1.15.0",
137
+ "@typespec/events": "0.85.0",
138
+ "@typespec/http": "1.15.0",
139
+ "@typespec/openapi": "1.15.0",
140
+ "@typespec/openapi3": "1.15.0",
141
+ "@typespec/sse": "0.85.0",
142
142
  "ajv": "8.20.0",
143
143
  "typescript": "7.0.2"
144
144
  }