@openwop/spec-artifacts 2.45.22 → 2.45.24

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.
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://openwop.dev/spec/v2/error-envelope.schema.json",
4
4
  "title": "ErrorEnvelope (v2)",
5
- "description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1). 120 registered codes; vendor codes match ^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$. Consumers MUST accept an unknown registered member and MUST NOT act on it (RFC 0171 §A.5).",
5
+ "description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1). 122 registered codes; vendor codes match ^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$. Consumers MUST accept an unknown registered member and MUST NOT act on it (RFC 0171 §A.5).",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": [
@@ -134,7 +134,9 @@
134
134
  "service_unavailable",
135
135
  "run_expired",
136
136
  "provider_policy_denied",
137
- "eval_gate_unmet"
137
+ "eval_gate_unmet",
138
+ "conversation_speaker_not_participant",
139
+ "conversation_roster_exceeded"
138
140
  ]
139
141
  },
140
142
  {
@@ -520,7 +522,7 @@
520
522
  "reason": {
521
523
  "type": "string",
522
524
  "minLength": 1,
523
- "description": "OPTIONAL. The policy cause (`provider-disabled`, `model-not-allowed`, …)."
525
+ "description": "OPTIONAL. The policy cause: `provider_disabled`, `byok_required`, `byok_required_but_unresolved` or `model_not_allowed` (host-services.md §aiProviders). Any other value is a vendor cause."
524
526
  }
525
527
  },
526
528
  "additionalProperties": true,
@@ -555,6 +557,67 @@
555
557
  }
556
558
  }
557
559
  }
560
+ },
561
+ {
562
+ "if": {
563
+ "properties": {
564
+ "error": {
565
+ "const": "conversation_speaker_not_participant"
566
+ }
567
+ },
568
+ "required": [
569
+ "error"
570
+ ]
571
+ },
572
+ "then": {
573
+ "properties": {
574
+ "details": {
575
+ "type": "object",
576
+ "required": [
577
+ "speakerId"
578
+ ],
579
+ "properties": {
580
+ "speakerId": {
581
+ "type": "string",
582
+ "description": "The refused turn's speakerId (conversation.md §multiPartyConversation)."
583
+ }
584
+ },
585
+ "additionalProperties": true,
586
+ "x-openwop-error": "conversation_speaker_not_participant"
587
+ }
588
+ }
589
+ }
590
+ },
591
+ {
592
+ "if": {
593
+ "properties": {
594
+ "error": {
595
+ "const": "conversation_roster_exceeded"
596
+ }
597
+ },
598
+ "required": [
599
+ "error"
600
+ ]
601
+ },
602
+ "then": {
603
+ "properties": {
604
+ "details": {
605
+ "type": "object",
606
+ "required": [
607
+ "maxParticipants"
608
+ ],
609
+ "properties": {
610
+ "maxParticipants": {
611
+ "type": "integer",
612
+ "minimum": 2,
613
+ "description": "The host's advertised ceiling (conversation.md §multiPartyConversation)."
614
+ }
615
+ },
616
+ "additionalProperties": true,
617
+ "x-openwop-error": "conversation_roster_exceeded"
618
+ }
619
+ }
620
+ }
558
621
  }
559
622
  ],
560
623
  "x-openwop-http-status": {
@@ -677,7 +740,9 @@
677
740
  "service_unavailable": 503,
678
741
  "run_expired": 410,
679
742
  "provider_policy_denied": 422,
680
- "eval_gate_unmet": 422
743
+ "eval_gate_unmet": 422,
744
+ "conversation_speaker_not_participant": 422,
745
+ "conversation_roster_exceeded": 422
681
746
  },
682
747
  "x-openwop-retriable": [
683
748
  "residency_unavailable",
@@ -44,8 +44,10 @@
44
44
  "artifact.read",
45
45
  "artifact.write",
46
46
  "host.toast",
47
- "host.navigate"
48
- ]
47
+ "host.navigate",
48
+ "host.announce"
49
+ ],
50
+ "description": "The closed host-API method set. `host.announce` (RFC 0130) is in it, matching the manifest and `uiPlugins.hostApi` enums (RFC 0238 erratum)."
49
51
  },
50
52
  "params": {
51
53
  "type": "object",
@@ -144,6 +146,5 @@
144
146
  }
145
147
  }
146
148
  }
147
- },
148
- "x-openwop-seeded-from": "v1"
149
+ }
149
150
  }
@@ -338,6 +338,18 @@
338
338
  "file": "spec/v1/node-packs.md",
339
339
  "token": "`RunSnapshot.parentNodeId`",
340
340
  "deprecation": "openwop.deprecation.subworkflow-parent-link-fields"
341
+ },
342
+ {
343
+ "alias": "nondeterminismPolicy.declared required boolean",
344
+ "file": "schemas/v2/capabilities.schema.json",
345
+ "token": "\"declared\": {",
346
+ "deprecation": "openwop.deprecation.v2-family-false-booleans"
347
+ },
348
+ {
349
+ "alias": "envelopeContracts.advertised required boolean",
350
+ "file": "schemas/v2/capabilities.schema.json",
351
+ "token": "Host's node-pack manifests carry `EnvelopeContract` blocks.",
352
+ "deprecation": "openwop.deprecation.v2-family-false-booleans"
341
353
  }
342
354
  ]
343
355
  }
@@ -4,7 +4,7 @@
4
4
  "provenance": {
5
5
  "suite": {
6
6
  "package": "@openwop/openwop-conformance",
7
- "version": "2.45.22"
7
+ "version": "2.45.24"
8
8
  },
9
9
  "note": "Derived from the corpus at generation time. Regenerate with --write; verify with --check."
10
10
  },
@@ -426,5 +426,5 @@
426
426
  "$id": "https://openwop.dev/spec/v1/workspace-file.schema.json"
427
427
  }
428
428
  ],
429
- "digest": "39035cd0373ea5184c61ab45a4d7340cc1114e5d67bd9916f3aa126d7a2b4a9e"
429
+ "digest": "e90865355c37aee42e0abcda8e48ff8d24356d5c84a9af72af761c0d2c8c5e32"
430
430
  }