@claudexor/schema 4.0.1 → 4.1.1

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.
Files changed (98) hide show
  1. package/dist/account-resources.d.ts +64 -27
  2. package/dist/account-resources.d.ts.map +1 -1
  3. package/dist/account-target.d.ts +3 -0
  4. package/dist/account-target.d.ts.map +1 -1
  5. package/dist/account-target.js +2 -0
  6. package/dist/account-target.js.map +1 -1
  7. package/dist/attachment.js +1 -1
  8. package/dist/attachment.js.map +1 -1
  9. package/dist/budget.d.ts +3 -0
  10. package/dist/budget.d.ts.map +1 -1
  11. package/dist/budget.js +2 -0
  12. package/dist/budget.js.map +1 -1
  13. package/dist/control-operation-responses.d.ts +54 -0
  14. package/dist/control-operation-responses.d.ts.map +1 -1
  15. package/dist/control-process-scope.d.ts +58 -0
  16. package/dist/control-process-scope.d.ts.map +1 -0
  17. package/dist/control-process-scope.js +39 -0
  18. package/dist/control-process-scope.js.map +1 -0
  19. package/dist/control-run-detail.d.ts +108 -0
  20. package/dist/control-run-detail.d.ts.map +1 -1
  21. package/dist/control.d.ts +39 -0
  22. package/dist/control.d.ts.map +1 -1
  23. package/dist/control.js +3 -0
  24. package/dist/control.js.map +1 -1
  25. package/dist/credential-profile-snapshot.d.ts +64 -28
  26. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  27. package/dist/daemon-status.d.ts +40 -0
  28. package/dist/daemon-status.d.ts.map +1 -1
  29. package/dist/gate.d.ts.map +1 -1
  30. package/dist/gate.js +1 -1
  31. package/dist/gate.js.map +1 -1
  32. package/dist/harness-quota.d.ts +8 -3
  33. package/dist/harness-quota.d.ts.map +1 -1
  34. package/dist/harness.d.ts +17 -5
  35. package/dist/harness.d.ts.map +1 -1
  36. package/dist/index.d.ts +3 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +3 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/model-image.d.ts +416 -0
  41. package/dist/model-image.d.ts.map +1 -0
  42. package/dist/model-image.js +77 -0
  43. package/dist/model-image.js.map +1 -0
  44. package/dist/model-operation.d.ts +143 -0
  45. package/dist/model-operation.d.ts.map +1 -1
  46. package/dist/model-operation.js +22 -0
  47. package/dist/model-operation.js.map +1 -1
  48. package/dist/process-scope.d.ts +125 -0
  49. package/dist/process-scope.d.ts.map +1 -0
  50. package/dist/process-scope.js +81 -0
  51. package/dist/process-scope.js.map +1 -0
  52. package/dist/quota-availability.d.ts +33 -0
  53. package/dist/quota-availability.d.ts.map +1 -0
  54. package/dist/quota-availability.js +130 -0
  55. package/dist/quota-availability.js.map +1 -0
  56. package/dist/quota-read.d.ts +38 -9
  57. package/dist/quota-read.d.ts.map +1 -1
  58. package/dist/quota-read.js +5 -3
  59. package/dist/quota-read.js.map +1 -1
  60. package/dist/quota-request-kind.d.ts +9 -0
  61. package/dist/quota-request-kind.d.ts.map +1 -0
  62. package/dist/quota-request-kind.js +8 -0
  63. package/dist/quota-request-kind.js.map +1 -0
  64. package/dist/quota.d.ts +60 -49
  65. package/dist/quota.d.ts.map +1 -1
  66. package/dist/quota.js +17 -126
  67. package/dist/quota.js.map +1 -1
  68. package/dist/rate-limit.d.ts +3 -0
  69. package/dist/rate-limit.d.ts.map +1 -1
  70. package/dist/rate-limit.js +2 -0
  71. package/dist/rate-limit.js.map +1 -1
  72. package/dist/store-status.d.ts +28 -0
  73. package/dist/store-status.d.ts.map +1 -1
  74. package/dist/store-status.js +10 -0
  75. package/dist/store-status.js.map +1 -1
  76. package/generated/BudgetObservation.schema.json +11 -0
  77. package/generated/ControlAccountResetResponse.schema.json +14 -1
  78. package/generated/ControlAccountResourcesResponse.schema.json +14 -1
  79. package/generated/ControlCredentialProfilesQueryResponse.schema.json +14 -1
  80. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +14 -1
  81. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +14 -1
  82. package/generated/ControlDaemonStatus.schema.json +52 -0
  83. package/generated/ControlModelSourcesAccountsResponse.schema.json +62 -0
  84. package/generated/ControlModelSourcesQueryResponse.schema.json +62 -0
  85. package/generated/ControlQuotaFreshnessResponse.schema.json +14 -1
  86. package/generated/ControlQuotaQueryResponse.schema.json +17 -1
  87. package/generated/ControlQuotaReadRequest.schema.json +15 -1
  88. package/generated/ControlQuotaRefreshRequest.schema.json +8 -0
  89. package/generated/ControlQuotaResponse.schema.json +14 -1
  90. package/generated/ControlRunDetail.schema.json +62 -0
  91. package/generated/ControlRunListResponse.schema.json +62 -0
  92. package/generated/ControlRunSummary.schema.json +62 -0
  93. package/generated/ControlUploadCreateRequest.schema.json +1 -1
  94. package/generated/GateResult.schema.json +1 -1
  95. package/generated/HarnessEvent.schema.json +21 -1
  96. package/generated/ImageCallRequest.schema.json +145 -0
  97. package/generated/ImageCallResult.schema.json +415 -0
  98. package/package.json +2 -2
@@ -38,6 +38,68 @@
38
38
  "accountCatalog": {
39
39
  "type": "boolean",
40
40
  "const": true
41
+ },
42
+ "imageGeneration": {
43
+ "type": "object",
44
+ "properties": {
45
+ "models": {
46
+ "type": "array",
47
+ "items": {
48
+ "$ref": "#/definitions/ControlModelSourcesAccountsResponse/properties/sources/items/properties/label"
49
+ },
50
+ "description": "Presence hint from the adapter's recorded client source, never a refusal list: another explicit id is forwarded unchanged."
51
+ },
52
+ "modelsProvenance": {
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "pattern": "\\S",
56
+ "description": "Where the presence hint comes from (a pinned upstream client constant, not a provider catalog)."
57
+ },
58
+ "inputMimes": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string",
62
+ "enum": [
63
+ "image/png",
64
+ "image/jpeg",
65
+ "image/webp"
66
+ ]
67
+ }
68
+ },
69
+ "maxInputImages": {
70
+ "type": "integer",
71
+ "minimum": 0,
72
+ "description": "0 means generation only."
73
+ },
74
+ "maxInputImagesProvenance": {
75
+ "type": "string",
76
+ "minLength": 1,
77
+ "pattern": "\\S",
78
+ "description": "What the bound is: the upstream tool's own edit cap, not a proven provider maximum."
79
+ },
80
+ "supportedOptions": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "string",
84
+ "enum": [
85
+ "size",
86
+ "quality",
87
+ "background",
88
+ "n"
89
+ ]
90
+ }
91
+ }
92
+ },
93
+ "required": [
94
+ "models",
95
+ "modelsProvenance",
96
+ "inputMimes",
97
+ "maxInputImages",
98
+ "maxInputImagesProvenance",
99
+ "supportedOptions"
100
+ ],
101
+ "additionalProperties": false,
102
+ "description": "Add-only: present when this source declares image generation/edit operations."
41
103
  }
42
104
  },
43
105
  "required": [
@@ -73,6 +73,68 @@
73
73
  "accountCatalog": {
74
74
  "type": "boolean",
75
75
  "const": true
76
+ },
77
+ "imageGeneration": {
78
+ "type": "object",
79
+ "properties": {
80
+ "models": {
81
+ "type": "array",
82
+ "items": {
83
+ "$ref": "#/definitions/ControlModelSourcesQueryResponse/anyOf/0/properties/sources/items/properties/label"
84
+ },
85
+ "description": "Presence hint from the adapter's recorded client source, never a refusal list: another explicit id is forwarded unchanged."
86
+ },
87
+ "modelsProvenance": {
88
+ "type": "string",
89
+ "minLength": 1,
90
+ "pattern": "\\S",
91
+ "description": "Where the presence hint comes from (a pinned upstream client constant, not a provider catalog)."
92
+ },
93
+ "inputMimes": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string",
97
+ "enum": [
98
+ "image/png",
99
+ "image/jpeg",
100
+ "image/webp"
101
+ ]
102
+ }
103
+ },
104
+ "maxInputImages": {
105
+ "type": "integer",
106
+ "minimum": 0,
107
+ "description": "0 means generation only."
108
+ },
109
+ "maxInputImagesProvenance": {
110
+ "type": "string",
111
+ "minLength": 1,
112
+ "pattern": "\\S",
113
+ "description": "What the bound is: the upstream tool's own edit cap, not a proven provider maximum."
114
+ },
115
+ "supportedOptions": {
116
+ "type": "array",
117
+ "items": {
118
+ "type": "string",
119
+ "enum": [
120
+ "size",
121
+ "quality",
122
+ "background",
123
+ "n"
124
+ ]
125
+ }
126
+ }
127
+ },
128
+ "required": [
129
+ "models",
130
+ "modelsProvenance",
131
+ "inputMimes",
132
+ "maxInputImages",
133
+ "maxInputImagesProvenance",
134
+ "supportedOptions"
135
+ ],
136
+ "additionalProperties": false,
137
+ "description": "Add-only: present when this source declares image generation/edit operations."
76
138
  }
77
139
  },
78
140
  "required": [
@@ -81,6 +81,18 @@
81
81
  "applies_to_unspecified_model": {
82
82
  "type": "boolean"
83
83
  },
84
+ "applies_to_request_kinds": {
85
+ "type": "array",
86
+ "items": {
87
+ "type": "string",
88
+ "enum": [
89
+ "text",
90
+ "image"
91
+ ]
92
+ },
93
+ "minItems": 1,
94
+ "description": "Vendor-declared operation scope. Absent applies to both text and image; model scope still applies independently."
95
+ },
84
96
  "used_ratio": {
85
97
  "anyOf": [
86
98
  {
@@ -160,7 +172,8 @@
160
172
  "agy_command_usage",
161
173
  "cursor_rate_limit",
162
174
  "claude_rate_limit_event",
163
- "codex_app_server_event"
175
+ "codex_app_server_event",
176
+ "codex_image_response"
164
177
  ],
165
178
  "description": "Machine-readable source of quota evidence, classified by schema-owned traits."
166
179
  },
@@ -83,6 +83,18 @@
83
83
  "applies_to_unspecified_model": {
84
84
  "type": "boolean"
85
85
  },
86
+ "applies_to_request_kinds": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string",
90
+ "enum": [
91
+ "text",
92
+ "image"
93
+ ]
94
+ },
95
+ "minItems": 1,
96
+ "description": "Vendor-declared operation scope. Absent applies to both text and image; model scope still applies independently."
97
+ },
86
98
  "used_ratio": {
87
99
  "anyOf": [
88
100
  {
@@ -152,7 +164,8 @@
152
164
  "agy_command_usage",
153
165
  "cursor_rate_limit",
154
166
  "claude_rate_limit_event",
155
- "codex_app_server_event"
167
+ "codex_app_server_event",
168
+ "codex_image_response"
156
169
  ],
157
170
  "description": "Machine-readable source of quota evidence, classified by schema-owned traits."
158
171
  },
@@ -963,6 +976,9 @@
963
976
  "applies_to_unspecified_model": {
964
977
  "$ref": "#/definitions/ControlQuotaQueryResponse/anyOf/0/properties/snapshots/items/properties/constraints/items/properties/applies_to_unspecified_model"
965
978
  },
979
+ "applies_to_request_kinds": {
980
+ "$ref": "#/definitions/ControlQuotaQueryResponse/anyOf/0/properties/snapshots/items/properties/constraints/items/properties/applies_to_request_kinds"
981
+ },
966
982
  "used_ratio": {
967
983
  "$ref": "#/definitions/ControlQuotaQueryResponse/anyOf/0/properties/snapshots/items/properties/constraints/items/properties/used_ratio"
968
984
  },
@@ -4,6 +4,19 @@
4
4
  "ControlQuotaReadRequest": {
5
5
  "type": "object",
6
6
  "properties": {
7
+ "requestKind": {
8
+ "type": "string",
9
+ "enum": [
10
+ "text",
11
+ "image"
12
+ ],
13
+ "description": "Availability scope; omitted means text. Raw constraints retain every scope."
14
+ },
15
+ "model": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "description": "Optional model id/alias the caller intends to spend against. When present, each snapshot's availability.state is computed against this model (case-insensitive alias containment in either direction), so windows scoped to OTHER models never report the subject exhausted."
19
+ },
7
20
  "view": {
8
21
  "type": "string",
9
22
  "enum": [
@@ -12,7 +25,8 @@
12
25
  ]
13
26
  }
14
27
  },
15
- "additionalProperties": false
28
+ "additionalProperties": false,
29
+ "description": "GET /v2/quota query selectors, each at most once; there is no body. Omitted requestKind means text availability, omitted model keeps the model-agnostic projection, and omitted view keeps the legacy shape. Reads cached snapshots without refreshing quota."
16
30
  }
17
31
  },
18
32
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -22,6 +22,14 @@
22
22
  ],
23
23
  "additionalProperties": false
24
24
  },
25
+ "requestKind": {
26
+ "type": "string",
27
+ "enum": [
28
+ "text",
29
+ "image"
30
+ ],
31
+ "description": "Availability scope; omitted means text. Raw constraints retain every scope."
32
+ },
25
33
  "model": {
26
34
  "type": "string",
27
35
  "minLength": 1,
@@ -81,6 +81,18 @@
81
81
  "applies_to_unspecified_model": {
82
82
  "type": "boolean"
83
83
  },
84
+ "applies_to_request_kinds": {
85
+ "type": "array",
86
+ "items": {
87
+ "type": "string",
88
+ "enum": [
89
+ "text",
90
+ "image"
91
+ ]
92
+ },
93
+ "minItems": 1,
94
+ "description": "Vendor-declared operation scope. Absent applies to both text and image; model scope still applies independently."
95
+ },
84
96
  "used_ratio": {
85
97
  "anyOf": [
86
98
  {
@@ -150,7 +162,8 @@
150
162
  "agy_command_usage",
151
163
  "cursor_rate_limit",
152
164
  "claude_rate_limit_event",
153
- "codex_app_server_event"
165
+ "codex_app_server_event",
166
+ "codex_image_response"
154
167
  ],
155
168
  "description": "Machine-readable source of quota evidence, classified by schema-owned traits."
156
169
  },
@@ -1941,6 +1941,68 @@
1941
1941
  "default": false,
1942
1942
  "description": "True while at least one interactive question awaits answer, timeout, run-terminal, or interruption release."
1943
1943
  },
1944
+ "processScope": {
1945
+ "anyOf": [
1946
+ {
1947
+ "type": "object",
1948
+ "properties": {
1949
+ "settled": {
1950
+ "type": "boolean",
1951
+ "description": "Every census source succeeded and no known member survived or stayed unreadable. Unreadable discovery candidates are not members; they limit completeness separately."
1952
+ },
1953
+ "coverage": {
1954
+ "type": "string",
1955
+ "enum": [
1956
+ "marker+capture",
1957
+ "marker",
1958
+ "tree_only"
1959
+ ]
1960
+ },
1961
+ "completeness": {
1962
+ "type": "string",
1963
+ "enum": [
1964
+ "complete",
1965
+ "not_provable"
1966
+ ],
1967
+ "description": "Whether a settled reap proves the scope empty (not on macOS for background system binaries, not on Windows, not after a census failure, not when the single settlement deadline expired — then settled is false and the run's final/process_scope.yaml carries incomplete=true with completeness_reason naming the deadline)."
1968
+ },
1969
+ "census": {
1970
+ "type": "string",
1971
+ "enum": [
1972
+ "ok",
1973
+ "failed",
1974
+ "unsupported"
1975
+ ]
1976
+ },
1977
+ "survivors": {
1978
+ "type": "integer",
1979
+ "minimum": 0,
1980
+ "description": "Members still alive when the bounded ladder ended."
1981
+ },
1982
+ "unreadable": {
1983
+ "type": "integer",
1984
+ "minimum": 0,
1985
+ "description": "Known members whose identity or membership could not be read."
1986
+ }
1987
+ },
1988
+ "required": [
1989
+ "settled",
1990
+ "coverage",
1991
+ "completeness",
1992
+ "census",
1993
+ "survivors",
1994
+ "unreadable"
1995
+ ],
1996
+ "additionalProperties": false,
1997
+ "description": "Compact process-scope outcome of a terminal run (full artifact: final/process_scope.yaml)."
1998
+ },
1999
+ {
2000
+ "type": "null"
2001
+ }
2002
+ ],
2003
+ "description": "Compact process-scope outcome from final/process_scope.yaml (settled, coverage, completeness, survivors, unreadable, census). Always present in this engine's responses: null means unknown (the run is live, or the record is missing, unreadable or invalid), never clean. Engines that predate the field omit the key, which is equally unknown.",
2004
+ "default": null
2005
+ },
1944
2006
  "route": {
1945
2007
  "anyOf": [
1946
2008
  {
@@ -1768,6 +1768,68 @@
1768
1768
  "default": false,
1769
1769
  "description": "True while at least one interactive question awaits answer, timeout, run-terminal, or interruption release."
1770
1770
  },
1771
+ "processScope": {
1772
+ "anyOf": [
1773
+ {
1774
+ "type": "object",
1775
+ "properties": {
1776
+ "settled": {
1777
+ "type": "boolean",
1778
+ "description": "Every census source succeeded and no known member survived or stayed unreadable. Unreadable discovery candidates are not members; they limit completeness separately."
1779
+ },
1780
+ "coverage": {
1781
+ "type": "string",
1782
+ "enum": [
1783
+ "marker+capture",
1784
+ "marker",
1785
+ "tree_only"
1786
+ ]
1787
+ },
1788
+ "completeness": {
1789
+ "type": "string",
1790
+ "enum": [
1791
+ "complete",
1792
+ "not_provable"
1793
+ ],
1794
+ "description": "Whether a settled reap proves the scope empty (not on macOS for background system binaries, not on Windows, not after a census failure, not when the single settlement deadline expired — then settled is false and the run's final/process_scope.yaml carries incomplete=true with completeness_reason naming the deadline)."
1795
+ },
1796
+ "census": {
1797
+ "type": "string",
1798
+ "enum": [
1799
+ "ok",
1800
+ "failed",
1801
+ "unsupported"
1802
+ ]
1803
+ },
1804
+ "survivors": {
1805
+ "type": "integer",
1806
+ "minimum": 0,
1807
+ "description": "Members still alive when the bounded ladder ended."
1808
+ },
1809
+ "unreadable": {
1810
+ "type": "integer",
1811
+ "minimum": 0,
1812
+ "description": "Known members whose identity or membership could not be read."
1813
+ }
1814
+ },
1815
+ "required": [
1816
+ "settled",
1817
+ "coverage",
1818
+ "completeness",
1819
+ "census",
1820
+ "survivors",
1821
+ "unreadable"
1822
+ ],
1823
+ "additionalProperties": false,
1824
+ "description": "Compact process-scope outcome of a terminal run (full artifact: final/process_scope.yaml)."
1825
+ },
1826
+ {
1827
+ "type": "null"
1828
+ }
1829
+ ],
1830
+ "description": "Compact process-scope outcome from final/process_scope.yaml (settled, coverage, completeness, survivors, unreadable, census). Always present in this engine's responses: null means unknown (the run is live, or the record is missing, unreadable or invalid), never clean. Engines that predate the field omit the key, which is equally unknown.",
1831
+ "default": null
1832
+ },
1771
1833
  "route": {
1772
1834
  "anyOf": [
1773
1835
  {
@@ -1763,6 +1763,68 @@
1763
1763
  "default": false,
1764
1764
  "description": "True while at least one interactive question awaits answer, timeout, run-terminal, or interruption release."
1765
1765
  },
1766
+ "processScope": {
1767
+ "anyOf": [
1768
+ {
1769
+ "type": "object",
1770
+ "properties": {
1771
+ "settled": {
1772
+ "type": "boolean",
1773
+ "description": "Every census source succeeded and no known member survived or stayed unreadable. Unreadable discovery candidates are not members; they limit completeness separately."
1774
+ },
1775
+ "coverage": {
1776
+ "type": "string",
1777
+ "enum": [
1778
+ "marker+capture",
1779
+ "marker",
1780
+ "tree_only"
1781
+ ]
1782
+ },
1783
+ "completeness": {
1784
+ "type": "string",
1785
+ "enum": [
1786
+ "complete",
1787
+ "not_provable"
1788
+ ],
1789
+ "description": "Whether a settled reap proves the scope empty (not on macOS for background system binaries, not on Windows, not after a census failure, not when the single settlement deadline expired — then settled is false and the run's final/process_scope.yaml carries incomplete=true with completeness_reason naming the deadline)."
1790
+ },
1791
+ "census": {
1792
+ "type": "string",
1793
+ "enum": [
1794
+ "ok",
1795
+ "failed",
1796
+ "unsupported"
1797
+ ]
1798
+ },
1799
+ "survivors": {
1800
+ "type": "integer",
1801
+ "minimum": 0,
1802
+ "description": "Members still alive when the bounded ladder ended."
1803
+ },
1804
+ "unreadable": {
1805
+ "type": "integer",
1806
+ "minimum": 0,
1807
+ "description": "Known members whose identity or membership could not be read."
1808
+ }
1809
+ },
1810
+ "required": [
1811
+ "settled",
1812
+ "coverage",
1813
+ "completeness",
1814
+ "census",
1815
+ "survivors",
1816
+ "unreadable"
1817
+ ],
1818
+ "additionalProperties": false,
1819
+ "description": "Compact process-scope outcome of a terminal run (full artifact: final/process_scope.yaml)."
1820
+ },
1821
+ {
1822
+ "type": "null"
1823
+ }
1824
+ ],
1825
+ "description": "Compact process-scope outcome from final/process_scope.yaml (settled, coverage, completeness, survivors, unreadable, census). Always present in this engine's responses: null means unknown (the run is live, or the record is missing, unreadable or invalid), never clean. Engines that predate the field omit the key, which is equally unknown.",
1826
+ "default": null
1827
+ },
1766
1828
  "route": {
1767
1829
  "anyOf": [
1768
1830
  {
@@ -7,7 +7,7 @@
7
7
  "purpose": {
8
8
  "type": "string",
9
9
  "const": "model",
10
- "description": "Model-operation payload, never an Agent attachment; absent preserves attachment semantics."
10
+ "description": "Model-operation payload (text or image); never an Agent attachment; absent preserves attachment semantics."
11
11
  },
12
12
  "kind": {
13
13
  "type": "string",
@@ -63,7 +63,7 @@
63
63
  "output_truncated": {
64
64
  "type": "boolean",
65
65
  "default": false,
66
- "description": "True when the stored output tails were truncated."
66
+ "description": "True when the stored output tails are incomplete: sliced to the tail limit, or cut because the post-exit drain force-closed a pipe that a leftover process kept open."
67
67
  }
68
68
  },
69
69
  "required": [
@@ -771,7 +771,8 @@
771
771
  "agy_command_usage",
772
772
  "cursor_rate_limit",
773
773
  "claude_rate_limit_event",
774
- "codex_app_server_event"
774
+ "codex_app_server_event",
775
+ "codex_image_response"
775
776
  ],
776
777
  "description": "Machine-readable source of quota evidence, classified by schema-owned traits."
777
778
  },
@@ -823,6 +824,18 @@
823
824
  "applies_to_unspecified_model": {
824
825
  "type": "boolean"
825
826
  },
827
+ "applies_to_request_kinds": {
828
+ "type": "array",
829
+ "items": {
830
+ "type": "string",
831
+ "enum": [
832
+ "text",
833
+ "image"
834
+ ]
835
+ },
836
+ "minItems": 1,
837
+ "description": "Vendor-declared operation scope. Absent applies to both text and image; model scope still applies independently."
838
+ },
826
839
  "used_ratio": {
827
840
  "anyOf": [
828
841
  {
@@ -936,6 +949,13 @@
936
949
  "$ref": "#/definitions/HarnessEvent/properties/credential_profile_id",
937
950
  "description": "Vendor-owned rate-window identity, when the adapter can map it from a typed field."
938
951
  },
952
+ "applies_to_request_kinds": {
953
+ "type": "array",
954
+ "items": {
955
+ "$ref": "#/definitions/HarnessEvent/properties/quota/properties/constraints/items/properties/applies_to_request_kinds/items"
956
+ },
957
+ "minItems": 1
958
+ },
939
959
  "applies_to_models": {
940
960
  "anyOf": [
941
961
  {