@ancplua/qyl-api-schema 5.0.0 → 6.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/README.md CHANGED
@@ -11,7 +11,7 @@ no metric DTOs or routes. Profiles are not supported.
11
11
  ## Contract pipeline
12
12
 
13
13
  ```text
14
- Qyl.OpenTelemetry.SemanticConventions
14
+ Qyl.Telemetry.SemanticConventions
15
15
  |
16
16
  | generated semantic key projection
17
17
  v
@@ -45,6 +45,11 @@ regenerate the artifacts, and map the runtime model to the generated contract.
45
45
 
46
46
  ## Published artifacts
47
47
 
48
+ Both registries carry the same version from one release tag. The contract advances on
49
+ its own major cadence and does not track the qyl product version — it was already at
50
+ `5.0.0` when qyl launched at `1.0.0`. Read the current version from npm or nuget.org
51
+ rather than from prose here; this line moves faster than a README is revised.
52
+
48
53
  | Ecosystem | Artifact | Purpose |
49
54
  | --- | --- | --- |
50
55
  | npm/TypeSpec | `@ancplua/qyl-api-schema` | Authored schema for TypeSpec consumers |
@@ -54,6 +59,16 @@ regenerate the artifacts, and map the runtime model to the generated contract.
54
59
  `main.tsp` is the local compile entry point and includes emitter routing. `index.tsp`
55
60
  is the published TypeSpec entry point and contains only the client-facing contract.
56
61
 
62
+ ## Contract revision
63
+
64
+ `scripts/emit-contract-revision.mjs` stamps a deterministic revision — `sha256:` plus
65
+ the first 16 hex characters of the contract's canonical semantic digest — into both
66
+ generated faces during `npm run compile`. A collector reports the revision it was built
67
+ against on its health response, so a client can detect a peer built from a different
68
+ contract instead of discovering the mismatch one malformed field at a time. Read the
69
+ current value from a running collector or the generated artifacts; it is derived, never
70
+ hand-maintained.
71
+
57
72
  ## Develop
58
73
 
59
74
  Development and CI use Node.js 24 LTS. Published npm artifacts support maintained
@@ -6445,6 +6445,11 @@
6445
6445
  },
6446
6446
  "error": {
6447
6447
  "type": "string"
6448
+ },
6449
+ "occurred_at": {
6450
+ "type": "string",
6451
+ "format": "date-time",
6452
+ "description": "When the reported transition actually occurred at the adapter that executed\nit. The journal event minted for this transition carries this clock — the\noriginating agent's — so control events order and measure consistently with\nthe agent-clocked events around them; omitted, the collector's receipt time\nis the fallback."
6448
6453
  }
6449
6454
  },
6450
6455
  "unevaluatedProperties": {
@@ -6723,9 +6728,6 @@
6723
6728
  "agent_id": {
6724
6729
  "$ref": "#/$defs/Workflow.WorkflowAgentId"
6725
6730
  },
6726
- "parent_node_id": {
6727
- "$ref": "#/$defs/Workflow.WorkflowNodeId"
6728
- },
6729
6731
  "started_at": {
6730
6732
  "type": "string",
6731
6733
  "format": "date-time"
@@ -21049,6 +21049,11 @@
21049
21049
  },
21050
21050
  "error": {
21051
21051
  "type": "string"
21052
+ },
21053
+ "occurred_at": {
21054
+ "type": "string",
21055
+ "format": "date-time",
21056
+ "description": "When the reported transition actually occurred at the adapter that executed\nit. The journal event minted for this transition carries this clock — the\noriginating agent's — so control events order and measure consistently with\nthe agent-clocked events around them; omitted, the collector's receipt time\nis the fallback."
21052
21057
  }
21053
21058
  },
21054
21059
  "unevaluatedProperties": {
@@ -21327,9 +21332,6 @@
21327
21332
  "agent_id": {
21328
21333
  "$ref": "#/components/schemas/Workflow.WorkflowAgentId"
21329
21334
  },
21330
- "parent_node_id": {
21331
- "$ref": "#/components/schemas/Workflow.WorkflowNodeId"
21332
- },
21333
21335
  "started_at": {
21334
21336
  "type": "string",
21335
21337
  "format": "date-time"
@@ -1439,7 +1439,6 @@ export interface WorkflowGraphNode {
1439
1439
  "status": string;
1440
1440
  "attempt_id"?: WorkflowAttemptId;
1441
1441
  "agent_id"?: WorkflowAgentId;
1442
- "parent_node_id"?: WorkflowNodeId;
1443
1442
  "started_at"?: string;
1444
1443
  "ended_at"?: string;
1445
1444
  "duration_ms"?: number;
@@ -1506,6 +1505,7 @@ export interface WorkflowControlCommandPage {
1506
1505
  export interface WorkflowControlStatusUpdateRequest {
1507
1506
  "status": WorkflowControlStatus;
1508
1507
  "error"?: string;
1508
+ "occurred_at"?: string;
1509
1509
  }
1510
1510
  export interface WorkflowHeartbeatEvent {
1511
1511
  "type": "heartbeat";
@@ -392,4 +392,4 @@ export const FetchTelemetryViewValues = {
392
392
  };
393
393
  // --- contract revision (scripts/emit-contract-revision.mjs) ---
394
394
  /** Revision of the API contract these types were emitted from; compare against HealthReport.contract_revision. */
395
- export const CONTRACT_REVISION = "sha256:c4b86d761cbd7299";
395
+ export const CONTRACT_REVISION = "sha256:f32216c3a3172ab0";
@@ -375,9 +375,6 @@ model WorkflowGraphNode {
375
375
  @encodedName("application/json", "agent_id")
376
376
  agentId?: WorkflowAgentId;
377
377
 
378
- @encodedName("application/json", "parent_node_id")
379
- parentNodeId?: WorkflowNodeId;
380
-
381
378
  @encodedName("application/json", "started_at")
382
379
  startedAt?: utcDateTime;
383
380
 
@@ -534,4 +531,14 @@ model WorkflowControlCommandPage {
534
531
  model WorkflowControlStatusUpdateRequest {
535
532
  status: WorkflowControlStatus;
536
533
  error?: string;
534
+
535
+ @doc("""
536
+ When the reported transition actually occurred at the adapter that executed
537
+ it. The journal event minted for this transition carries this clock — the
538
+ originating agent's — so control events order and measure consistently with
539
+ the agent-clocked events around them; omitted, the collector's receipt time
540
+ is the fallback.
541
+ """)
542
+ @encodedName("application/json", "occurred_at")
543
+ occurredAt?: utcDateTime;
537
544
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancplua/qyl-api-schema",
3
- "version": "5.0.0",
3
+ "version": "6.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": {