@ancplua/qyl-api-schema 7.0.0 → 7.2.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.
@@ -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 64cfaa612a1af8472b2f063374fbe3c9e6cea2ab (64cfaa612a1af8472b2f063374fbe3c9e6cea2ab)
5
- // Schema: https://opentelemetry.io/schemas/1.43.0
3
+ // open-telemetry/semantic-conventions v1.44.0 (e10a930844c6951757a43b849d364f7d056ac32b)
4
+ // open-telemetry/semantic-conventions-genai 30182acd5ed78ab5f619041eaec5e95a4eb83a48 (30182acd5ed78ab5f619041eaec5e95a4eb83a48)
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";
@@ -891,6 +903,8 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.GenAi {
891
903
  const RequestStopSequences: string = "gen_ai.request.stop_sequences";
892
904
  /** Indicates whether the GenAI request was made in streaming mode. */
893
905
  const RequestStream: string = "gen_ai.request.stream";
906
+ /** The cursor identifying the last streamed event already received, used to resume a streamed response from that position. */
907
+ const RequestStreamCursor: string = "gen_ai.request.stream_cursor";
894
908
  /** The temperature setting for the GenAI request. */
895
909
  const RequestTemperature: string = "gen_ai.request.temperature";
896
910
  /** The top-K sampling setting for the GenAI request: restricts token generation at each step to the K most likely next tokens. */
@@ -903,6 +917,8 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.GenAi {
903
917
  const ResponseId: string = "gen_ai.response.id";
904
918
  /** The name of the model that generated the response. */
905
919
  const ResponseModel: string = "gen_ai.response.model";
920
+ /** The lifecycle status of a generated response, as reported by the provider when the response is fetched or polled. */
921
+ const ResponseStatus: string = "gen_ai.response.status";
906
922
  /** Time to first chunk in a streaming response, measured from request issuance, in seconds. The value is measured from when the client issues the generation request to when the first chunk is received in the response stream. */
907
923
  const ResponseTimeToFirstChunk: string = "gen_ai.response.time_to_first_chunk";
908
924
  /** The documents retrieved. */
@@ -1011,7 +1027,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Host {
1011
1027
  const Ip: string = "host.ip";
1012
1028
  /** Available MAC addresses of the host, excluding loopback interfaces. */
1013
1029
  const Mac: string = "host.mac";
1014
- /** 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. */
1030
+ /** 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. */
1015
1031
  const Name: string = "host.name";
1016
1032
  /** Type of host. For Cloud, this must be the machine type. */
1017
1033
  const Type: string = "host.type";
@@ -1435,17 +1451,19 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Messaging {
1435
1451
  const EventhubsMessageEnqueuedTime: string = "messaging.eventhubs.message.enqueued_time";
1436
1452
  /** The ack deadline in seconds set for the modify ack deadline request. */
1437
1453
  const GcpPubsubMessageAckDeadline: string = "messaging.gcp_pubsub.message.ack_deadline";
1438
- /** The ack id for a given message. */
1454
+ /** The ack ID for a given message. */
1439
1455
  const GcpPubsubMessageAckId: string = "messaging.gcp_pubsub.message.ack_id";
1440
1456
  /** The delivery attempt for a given message. */
1441
1457
  const GcpPubsubMessageDeliveryAttempt: string = "messaging.gcp_pubsub.message.delivery_attempt";
1442
1458
  /** The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. */
1443
1459
  const GcpPubsubMessageOrderingKey: string = "messaging.gcp_pubsub.message.ordering_key";
1460
+ /** The Kafka cluster ID, obtained from the broker metadata exposed through the Kafka client (or AdminClient) API. */
1461
+ const KafkaClusterId: string = "messaging.kafka.cluster.id";
1444
1462
  /** Deprecated, use `messaging.consumer.group.name` instead. */
1445
1463
  #deprecated "Replaced by messaging.consumer.group.name."
1446
1464
  const KafkaConsumerGroup: string = "messaging.kafka.consumer.group";
1447
1465
  /** Deprecated, use `messaging.destination.partition.id` instead. */
1448
- #deprecated "Record string representation of the partition id in `messaging.destination.partition.id` attribute."
1466
+ #deprecated "Record string representation of the partition ID in `messaging.destination.partition.id` attribute."
1449
1467
  const KafkaDestinationPartition: string = "messaging.kafka.destination.partition";
1450
1468
  /** 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. */
1451
1469
  const KafkaMessageKey: string = "messaging.kafka.message.key";
@@ -1486,7 +1504,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Messaging {
1486
1504
  const RocketmqMessageDeliveryTimestamp: string = "messaging.rocketmq.message.delivery_timestamp";
1487
1505
  /** 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. */
1488
1506
  const RocketmqMessageGroup: string = "messaging.rocketmq.message.group";
1489
- /** Key(s) of message, another way to mark message besides message id. */
1507
+ /** Key(s) of message, another way to mark message besides message ID. */
1490
1508
  const RocketmqMessageKeys: string = "messaging.rocketmq.message.keys";
1491
1509
  /** The secondary classifier of message besides topic. */
1492
1510
  const RocketmqMessageTag: string = "messaging.rocketmq.message.tag";
@@ -1564,7 +1582,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Network {
1564
1582
  const CarrierName: string = "network.carrier.name";
1565
1583
  /** The state of network connection */
1566
1584
  const ConnectionState: string = "network.connection.state";
1567
- /** 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. */
1585
+ /** 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. */
1568
1586
  const ConnectionSubtype: string = "network.connection.subtype";
1569
1587
  /** The internet connection type. */
1570
1588
  const ConnectionType: string = "network.connection.type";
@@ -1572,11 +1590,11 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Network {
1572
1590
  const InterfaceName: string = "network.interface.name";
1573
1591
  /** 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. */
1574
1592
  const IoDirection: string = "network.io.direction";
1575
- /** Local address of the network connection - IP address or Unix domain socket name. */
1593
+ /** Local address of the network connection - IP address or UNIX domain socket name. */
1576
1594
  const LocalAddress: string = "network.local.address";
1577
1595
  /** Local port number of the network connection. */
1578
1596
  const LocalPort: string = "network.local.port";
1579
- /** Peer address of the network connection - IP address or Unix domain socket name. */
1597
+ /** Peer address of the network connection - IP address or UNIX domain socket name. */
1580
1598
  const PeerAddress: string = "network.peer.address";
1581
1599
  /** Peer port number of the network connection. */
1582
1600
  const PeerPort: string = "network.peer.port";
@@ -1714,9 +1732,9 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Pprof {
1714
1732
  const ProfileComment: string = "pprof.profile.comment";
1715
1733
  /** Documentation link for this profile type. */
1716
1734
  const ProfileDocUrl: string = "pprof.profile.doc_url";
1717
- /** Frames with Function.function_name fully matching the regexp will be dropped from the samples, along with their successors. */
1735
+ /** Frames with Function.function_name fully matching the regular expression will be dropped from the samples, along with their successors. */
1718
1736
  const ProfileDropFrames: string = "pprof.profile.drop_frames";
1719
- /** Frames with Function.function_name fully matching the regexp will be kept, even if it matches drop_frames. */
1737
+ /** Frames with Function.function_name fully matching the regular expression will be kept, even if it matches drop_frames. */
1720
1738
  const ProfileKeepFrames: string = "pprof.profile.keep_frames";
1721
1739
  /** Records the pprof's default_sample_type in the original profile. Not set if the default sample type was missing. */
1722
1740
  const ScopeDefaultSampleType: string = "pprof.scope.default_sample_type";
@@ -1887,7 +1905,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.SecurityRule {
1887
1905
  const Version: string = "security_rule.version";
1888
1906
  }
1889
1907
  namespace Qyl.Telemetry.SemanticConventions.Keys.Server {
1890
- /** Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
1908
+ /** Server domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
1891
1909
  const Address: string = "server.address";
1892
1910
  /** Server port number. */
1893
1911
  const Port: string = "server.port";
@@ -1909,7 +1927,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Service {
1909
1927
  const Version: string = "service.version";
1910
1928
  }
1911
1929
  namespace Qyl.Telemetry.SemanticConventions.Keys.Session {
1912
- /** A unique id to identify a session. */
1930
+ /** A unique ID to identify a session. */
1913
1931
  const Id: string = "session.id";
1914
1932
  /** The previous `session.id` for this user, when known. */
1915
1933
  const PreviousId: string = "session.previous_id";
@@ -1921,7 +1939,7 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Signalr {
1921
1939
  const Transport: string = "signalr.transport";
1922
1940
  }
1923
1941
  namespace Qyl.Telemetry.SemanticConventions.Keys.Source {
1924
- /** Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name. */
1942
+ /** Source address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. */
1925
1943
  const Address: string = "source.address";
1926
1944
  /** Source port number */
1927
1945
  const Port: string = "source.port";
@@ -2079,11 +2097,11 @@ namespace Qyl.Telemetry.SemanticConventions.Keys.Url {
2079
2097
  const Port: string = "url.port";
2080
2098
  /** The [URI query](https://www.rfc-editor.org/rfc/rfc3986#section-3.4) component */
2081
2099
  const Query: string = "url.query";
2082
- /** The highest registered url domain, stripped of the subdomain. */
2100
+ /** The highest registered URL domain, stripped of the subdomain. */
2083
2101
  const RegisteredDomain: string = "url.registered_domain";
2084
2102
  /** The [URI scheme](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) component identifying the used protocol. */
2085
2103
  const Scheme: string = "url.scheme";
2086
- /** 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. */
2104
+ /** 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. */
2087
2105
  const Subdomain: string = "url.subdomain";
2088
2106
  /** The low-cardinality template of an [absolute path reference](https://www.rfc-editor.org/rfc/rfc3986#section-4.2). */
2089
2107
  const Template: string = "url.template";
@@ -76,6 +76,18 @@ export type WorkflowEdgeCursor = string & {
76
76
  export type WorkflowCommandId = string & {
77
77
  readonly __brand: "WorkflowCommandId";
78
78
  };
79
+ export type AgentDiagnosticVariableName = string & {
80
+ readonly __brand: "AgentDiagnosticVariableName";
81
+ };
82
+ export type AgentDiagnosticCheckId = string & {
83
+ readonly __brand: "AgentDiagnosticCheckId";
84
+ };
85
+ export type AgentDiagnosticSnapshotId = string & {
86
+ readonly __brand: "AgentDiagnosticSnapshotId";
87
+ };
88
+ export type AgentDiagnosticProbeId = string & {
89
+ readonly __brand: "AgentDiagnosticProbeId";
90
+ };
79
91
  export declare const ProblemDetailsMediaType: "application/problem+json";
80
92
  export type ProblemDetailsMediaType = typeof ProblemDetailsMediaType;
81
93
  export declare const SortOrderValues: {
@@ -510,6 +522,56 @@ export declare const WorkflowToolCallStatusValues: {
510
522
  readonly rejected: "rejected";
511
523
  };
512
524
  export type WorkflowToolCallStatus = typeof WorkflowToolCallStatusValues[keyof typeof WorkflowToolCallStatusValues];
525
+ export declare const AgentDiagnosticValueTypeValues: {
526
+ readonly null: "null";
527
+ readonly boolean: "boolean";
528
+ readonly integer: "integer";
529
+ readonly number: "number";
530
+ readonly string: "string";
531
+ readonly json: "json";
532
+ };
533
+ export type AgentDiagnosticValueType = typeof AgentDiagnosticValueTypeValues[keyof typeof AgentDiagnosticValueTypeValues];
534
+ export declare const AgentDiagnosticClassificationValues: {
535
+ readonly public: "public";
536
+ readonly internal: "internal";
537
+ readonly sensitive: "sensitive";
538
+ readonly secret: "secret";
539
+ };
540
+ export type AgentDiagnosticClassification = typeof AgentDiagnosticClassificationValues[keyof typeof AgentDiagnosticClassificationValues];
541
+ export declare const AgentDiagnosticOperatorValues: {
542
+ readonly equal: "equal";
543
+ readonly notEqual: "not_equal";
544
+ readonly exists: "exists";
545
+ readonly typeIs: "type_is";
546
+ readonly contains: "contains";
547
+ readonly lessThan: "less_than";
548
+ readonly greaterThan: "greater_than";
549
+ };
550
+ export type AgentDiagnosticOperator = typeof AgentDiagnosticOperatorValues[keyof typeof AgentDiagnosticOperatorValues];
551
+ export declare const AgentDiagnosticCheckOutcomeValues: {
552
+ readonly pass: "pass";
553
+ readonly fail: "fail";
554
+ readonly unknownResult: "unknown";
555
+ };
556
+ export type AgentDiagnosticCheckOutcome = typeof AgentDiagnosticCheckOutcomeValues[keyof typeof AgentDiagnosticCheckOutcomeValues];
557
+ export declare const AgentDiagnosticExtensionIdValues: {
558
+ readonly snapshot: "qyl.agent.diagnostic.snapshot";
559
+ };
560
+ export type AgentDiagnosticExtensionId = typeof AgentDiagnosticExtensionIdValues[keyof typeof AgentDiagnosticExtensionIdValues];
561
+ export declare const AgentDiagnosticPhaseValues: {
562
+ readonly input: "input";
563
+ readonly output: "output";
564
+ readonly error: "error";
565
+ readonly checkpoint: "checkpoint";
566
+ };
567
+ export type AgentDiagnosticPhase = typeof AgentDiagnosticPhaseValues[keyof typeof AgentDiagnosticPhaseValues];
568
+ export declare const AgentDiagnosticOutcomeValues: {
569
+ readonly pass: "pass";
570
+ readonly fail: "fail";
571
+ readonly unknownResult: "unknown";
572
+ readonly notEvaluated: "not_evaluated";
573
+ };
574
+ export type AgentDiagnosticOutcome = typeof AgentDiagnosticOutcomeValues[keyof typeof AgentDiagnosticOutcomeValues];
513
575
  export declare const McpDataModeValues: {
514
576
  readonly live: "live";
515
577
  readonly demo: "demo";
@@ -542,6 +604,7 @@ export type WorkbenchExecutionUpdateEvents = WorkbenchExecutionRecord;
542
604
  export type WorkflowEdgeProvenance = RecordedWorkflowEdgeProvenance | DerivedWorkflowEdgeProvenance;
543
605
  export type WorkflowProjectionStatus = CommittedWorkflowProjectionStatus | RebuildingWorkflowProjectionStatus | UnavailableWorkflowProjectionStatus | CorruptWorkflowProjectionStatus;
544
606
  export type WorkflowStreamEvents = WorkflowJournalEvent | WorkflowHeartbeatEvent | WorkflowCursorGapEvent;
607
+ export type AgentDiagnosticVariable = CapturedAgentDiagnosticVariable | RedactedAgentDiagnosticVariable | OmittedAgentDiagnosticVariable;
545
608
  export type LogEvents = LogStreamEvent | HeartbeatEvent;
546
609
  export interface AttributeBytesValue {
547
610
  "type": "bytes";
@@ -1590,6 +1653,52 @@ export interface WorkflowProjectionCorruptError extends ProblemDetails {
1590
1653
  "title": "Workflow Projection Corrupt";
1591
1654
  "projection_status": WorkflowProjectionStatus;
1592
1655
  }
1656
+ export interface AgentDiagnosticVariableBase {
1657
+ "name": AgentDiagnosticVariableName;
1658
+ "type": AgentDiagnosticValueType;
1659
+ "classification": AgentDiagnosticClassification;
1660
+ }
1661
+ export interface CapturedAgentDiagnosticVariable extends AgentDiagnosticVariableBase {
1662
+ "capture": "value";
1663
+ "value": unknown | null;
1664
+ }
1665
+ export interface RedactedAgentDiagnosticVariable extends AgentDiagnosticVariableBase {
1666
+ "capture": "redacted";
1667
+ }
1668
+ export interface OmittedAgentDiagnosticVariable extends AgentDiagnosticVariableBase {
1669
+ "capture": "omitted";
1670
+ }
1671
+ export interface AgentDiagnosticCheckResult {
1672
+ "check_id": AgentDiagnosticCheckId;
1673
+ "operator": AgentDiagnosticOperator;
1674
+ "actual": AgentDiagnosticVariableName;
1675
+ "expected"?: AgentDiagnosticVariableName;
1676
+ "expected_type"?: AgentDiagnosticValueType;
1677
+ "outcome": AgentDiagnosticCheckOutcome;
1678
+ }
1679
+ export interface AgentDiagnosticSnapshot {
1680
+ "extension_id": AgentDiagnosticExtensionId;
1681
+ "format_version": number;
1682
+ "snapshot_id": AgentDiagnosticSnapshotId;
1683
+ "capture_nonce": string;
1684
+ "probe_id": AgentDiagnosticProbeId;
1685
+ "phase": AgentDiagnosticPhase;
1686
+ "variables": AgentDiagnosticVariable[];
1687
+ "checks": AgentDiagnosticCheckResult[];
1688
+ "outcome": AgentDiagnosticOutcome;
1689
+ }
1690
+ export interface AgentDiagnosticSnapshotSummary {
1691
+ "extension_id": AgentDiagnosticExtensionId;
1692
+ "format_version": number;
1693
+ "snapshot_id": AgentDiagnosticSnapshotId;
1694
+ "probe_id": AgentDiagnosticProbeId;
1695
+ "phase": AgentDiagnosticPhase;
1696
+ "outcome": AgentDiagnosticOutcome;
1697
+ "variable_count": number;
1698
+ "check_count": number;
1699
+ "failed_check_count": number;
1700
+ "content_ref": WorkflowContentRef;
1701
+ }
1593
1702
  export interface DisplayTracesInput {
1594
1703
  "trace_id"?: TraceId;
1595
1704
  "session_id"?: SessionId;
@@ -1719,6 +1828,41 @@ export interface FetchTelemetryOutput {
1719
1828
  "stats"?: McpDashboardStats;
1720
1829
  "mode": McpDataMode;
1721
1830
  }
1831
+ export interface GetActiveWorkflowRunInput {
1832
+ }
1833
+ export interface GetActiveWorkflowRunOutput {
1834
+ "active": boolean;
1835
+ "live_controls_available": boolean;
1836
+ "run_id"?: WorkflowRunId;
1837
+ "thread_id"?: string;
1838
+ "started_at"?: string;
1839
+ }
1840
+ export interface RecordDiagnosticSnapshotVariableInput {
1841
+ "name": AgentDiagnosticVariableName;
1842
+ "classification": AgentDiagnosticClassification;
1843
+ "value": unknown | null;
1844
+ }
1845
+ export interface RecordDiagnosticSnapshotCheckInput {
1846
+ "check_id": AgentDiagnosticCheckId;
1847
+ "operator": AgentDiagnosticOperator;
1848
+ "actual": AgentDiagnosticVariableName;
1849
+ "expected"?: AgentDiagnosticVariableName;
1850
+ "expected_type"?: AgentDiagnosticValueType;
1851
+ }
1852
+ export interface RecordDiagnosticSnapshotInput {
1853
+ "snapshot_id": AgentDiagnosticSnapshotId;
1854
+ "probe_id": AgentDiagnosticProbeId;
1855
+ "phase": AgentDiagnosticPhase;
1856
+ "variables": RecordDiagnosticSnapshotVariableInput[];
1857
+ "checks"?: RecordDiagnosticSnapshotCheckInput[];
1858
+ }
1859
+ export interface RecordDiagnosticSnapshotOutput {
1860
+ "recorded": boolean;
1861
+ "code": string;
1862
+ "snapshot_id": AgentDiagnosticSnapshotId;
1863
+ "event_id"?: WorkflowEventId;
1864
+ "field"?: string;
1865
+ }
1722
1866
  export interface ListWorkflowRunsInput {
1723
1867
  "status"?: WorkflowRunStatus;
1724
1868
  "cursor"?: WorkflowRunCursor;
@@ -1770,6 +1914,17 @@ export interface FetchWorkflowGraphUpdatesOutput {
1770
1914
  "content"?: WorkflowContent;
1771
1915
  "mode": McpDataMode;
1772
1916
  }
1917
+ export interface InspectWorkflowEventsInput {
1918
+ "run_id": WorkflowRunId;
1919
+ "after_sequence": WorkflowJournalPosition;
1920
+ "limit"?: number;
1921
+ "content_ref"?: WorkflowContentRef;
1922
+ }
1923
+ export interface InspectWorkflowEventsOutput {
1924
+ "page": WorkflowEventPage;
1925
+ "content"?: WorkflowContent;
1926
+ "mode": McpDataMode;
1927
+ }
1773
1928
  export interface ControlWorkflowRunInput {
1774
1929
  "run_id": WorkflowRunId;
1775
1930
  "action": WorkflowControlAction;
@@ -385,6 +385,49 @@ export const WorkflowToolCallStatusValues = {
385
385
  "failed": "failed",
386
386
  "rejected": "rejected",
387
387
  };
388
+ export const AgentDiagnosticValueTypeValues = {
389
+ "null": "null",
390
+ "boolean": "boolean",
391
+ "integer": "integer",
392
+ "number": "number",
393
+ "string": "string",
394
+ "json": "json",
395
+ };
396
+ export const AgentDiagnosticClassificationValues = {
397
+ "public": "public",
398
+ "internal": "internal",
399
+ "sensitive": "sensitive",
400
+ "secret": "secret",
401
+ };
402
+ export const AgentDiagnosticOperatorValues = {
403
+ "equal": "equal",
404
+ "notEqual": "not_equal",
405
+ "exists": "exists",
406
+ "typeIs": "type_is",
407
+ "contains": "contains",
408
+ "lessThan": "less_than",
409
+ "greaterThan": "greater_than",
410
+ };
411
+ export const AgentDiagnosticCheckOutcomeValues = {
412
+ "pass": "pass",
413
+ "fail": "fail",
414
+ "unknownResult": "unknown",
415
+ };
416
+ export const AgentDiagnosticExtensionIdValues = {
417
+ "snapshot": "qyl.agent.diagnostic.snapshot",
418
+ };
419
+ export const AgentDiagnosticPhaseValues = {
420
+ "input": "input",
421
+ "output": "output",
422
+ "error": "error",
423
+ "checkpoint": "checkpoint",
424
+ };
425
+ export const AgentDiagnosticOutcomeValues = {
426
+ "pass": "pass",
427
+ "fail": "fail",
428
+ "unknownResult": "unknown",
429
+ "notEvaluated": "not_evaluated",
430
+ };
388
431
  export const McpDataModeValues = {
389
432
  "live": "live",
390
433
  "demo": "demo",
@@ -402,4 +445,4 @@ export const FetchTelemetryViewValues = {
402
445
  };
403
446
  // --- contract revision (scripts/emit-contract-revision.mjs) ---
404
447
  /** Revision of the API contract these types were emitted from; compare against HealthReport.contract_revision. */
405
- export const CONTRACT_REVISION = "sha256:53278018c62ed547";
448
+ export const CONTRACT_REVISION = "sha256:1b1277a75d8c80e7";
package/index.tsp CHANGED
@@ -22,6 +22,7 @@ import "./models/health.tsp";
22
22
  import "./models/runner.tsp";
23
23
  import "./models/workbench.tsp";
24
24
  import "./models/workflow.tsp";
25
+ import "./models/diagnostics.tsp";
25
26
  import "./models/mcp-tools.tsp";
26
27
 
27
28
  import "./api/routes.tsp";