@irogane/kaji 0.2.0-beta.11

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 (136) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +598 -0
  3. package/contracts/README.md +14 -0
  4. package/contracts/beta-core-v1.json +52 -0
  5. package/contracts/cli/init-cases-v1.json +27 -0
  6. package/contracts/errors/error-codes.json +48 -0
  7. package/contracts/errors/integration-recovery-v1.json +127 -0
  8. package/contracts/errors/provider-normalization.json +111 -0
  9. package/contracts/events/conformance-invalid.json +20 -0
  10. package/contracts/events/conformance.json +511 -0
  11. package/contracts/events/new-kaji-event-v1.schema.json +1021 -0
  12. package/contracts/events/stored-kaji-event-v1.schema.json +1025 -0
  13. package/contracts/feature-tiers-v1.json +488 -0
  14. package/contracts/integrations/abi-index-v1.json +8 -0
  15. package/contracts/integrations/conformance-invalid.json +443 -0
  16. package/contracts/integrations/conformance-valid.json +121 -0
  17. package/contracts/integrations/copy-provenance-v1.schema.json +61 -0
  18. package/contracts/integrations/echo-tool-abi-v1.json +37 -0
  19. package/contracts/integrations/github-api-conformance-v1.json +644 -0
  20. package/contracts/integrations/github-tool-abi-typescript-v1.json +369 -0
  21. package/contracts/integrations/github-tool-abi-v1.json +146 -0
  22. package/contracts/integrations/gmail-api-conformance-v1.json +750 -0
  23. package/contracts/integrations/gmail-tool-abi-v1.json +62 -0
  24. package/contracts/integrations/index.schema.json +37 -0
  25. package/contracts/integrations/manifest.schema.json +119 -0
  26. package/contracts/parity/expected-normalized.json +4906 -0
  27. package/contracts/parity/scenarios.json +100 -0
  28. package/contracts/parity/scenarios.schema.json +214 -0
  29. package/contracts/providers/cost-conformance.json +112 -0
  30. package/contracts/release/github-proof-v1.schema.json +138 -0
  31. package/contracts/release/gmail-proof-v1.schema.json +138 -0
  32. package/contracts/release/kaji-ts-consumer-handoff-v1.schema.json +1289 -0
  33. package/contracts/release/publisher-identity-receipt-v1.schema.json +319 -0
  34. package/contracts/release/typescript-onboarding-evidence-v1.schema.json +740 -0
  35. package/contracts/tools/conformance-invalid.json +271 -0
  36. package/contracts/tools/conformance-valid.json +78 -0
  37. package/contracts/tools/tool-schema-v1.schema.json +18 -0
  38. package/dist/anthropic.cjs +1231 -0
  39. package/dist/anthropic.cjs.map +1 -0
  40. package/dist/anthropic.d.cts +26 -0
  41. package/dist/anthropic.d.ts +26 -0
  42. package/dist/anthropic.js +270 -0
  43. package/dist/anthropic.js.map +1 -0
  44. package/dist/auth.cjs +1507 -0
  45. package/dist/auth.cjs.map +1 -0
  46. package/dist/auth.d.cts +129 -0
  47. package/dist/auth.d.ts +129 -0
  48. package/dist/auth.js +1039 -0
  49. package/dist/auth.js.map +1 -0
  50. package/dist/base-B9FRMcP8.d.cts +140 -0
  51. package/dist/base-nHQd1VtS.d.ts +140 -0
  52. package/dist/chunk-AAM33KAO.js +4367 -0
  53. package/dist/chunk-AAM33KAO.js.map +1 -0
  54. package/dist/chunk-KAJ6BM64.js +153 -0
  55. package/dist/chunk-KAJ6BM64.js.map +1 -0
  56. package/dist/chunk-KCAXIOZS.js +308 -0
  57. package/dist/chunk-KCAXIOZS.js.map +1 -0
  58. package/dist/chunk-LSJ4AVO2.js +243 -0
  59. package/dist/chunk-LSJ4AVO2.js.map +1 -0
  60. package/dist/chunk-TM7ZGOJX.js +716 -0
  61. package/dist/chunk-TM7ZGOJX.js.map +1 -0
  62. package/dist/cli/bin.d.ts +2 -0
  63. package/dist/cli/bin.js +13 -0
  64. package/dist/cli/bin.js.map +1 -0
  65. package/dist/cli/chunk-2RCWPRVY.js +6277 -0
  66. package/dist/cli/chunk-2RCWPRVY.js.map +1 -0
  67. package/dist/cli/chunk-SEBX54TR.js +681 -0
  68. package/dist/cli/chunk-SEBX54TR.js.map +1 -0
  69. package/dist/cli/index.d.ts +232 -0
  70. package/dist/cli/index.js +11 -0
  71. package/dist/cli/index.js.map +1 -0
  72. package/dist/cli/init-worker.d.ts +2 -0
  73. package/dist/cli/init-worker.js +18 -0
  74. package/dist/cli/init-worker.js.map +1 -0
  75. package/dist/cli/integration-copy-worker.js +48 -0
  76. package/dist/cli/integration-copy-worker.js.map +1 -0
  77. package/dist/cli/package-entry-cjs.cjs +21 -0
  78. package/dist/cli/package-entry-cjs.cjs.map +1 -0
  79. package/dist/cli/package-entry-cjs.d.cts +2 -0
  80. package/dist/cli/package-entry.d.ts +2 -0
  81. package/dist/cli/package-entry.js +13 -0
  82. package/dist/cli/package-entry.js.map +1 -0
  83. package/dist/context-BaFHrQHv.d.cts +21 -0
  84. package/dist/context-BaFHrQHv.d.ts +21 -0
  85. package/dist/context-C-YPY-GS.d.cts +1538 -0
  86. package/dist/context-C-YPY-GS.d.ts +1538 -0
  87. package/dist/index.cjs +12346 -0
  88. package/dist/index.cjs.map +1 -0
  89. package/dist/index.d.cts +1560 -0
  90. package/dist/index.d.ts +1560 -0
  91. package/dist/index.js +7852 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/integrations/github.cjs +2092 -0
  94. package/dist/integrations/github.cjs.map +1 -0
  95. package/dist/integrations/github.d.cts +21 -0
  96. package/dist/integrations/github.d.ts +21 -0
  97. package/dist/integrations/github.js +2088 -0
  98. package/dist/integrations/github.js.map +1 -0
  99. package/dist/integrations.cjs +3370 -0
  100. package/dist/integrations.cjs.map +1 -0
  101. package/dist/integrations.d.cts +202 -0
  102. package/dist/integrations.d.ts +202 -0
  103. package/dist/integrations.js +2650 -0
  104. package/dist/integrations.js.map +1 -0
  105. package/dist/observability-Cj--OkME.d.cts +96 -0
  106. package/dist/observability-Cj--OkME.d.ts +96 -0
  107. package/dist/openai.cjs +1235 -0
  108. package/dist/openai.cjs.map +1 -0
  109. package/dist/openai.d.cts +32 -0
  110. package/dist/openai.d.ts +32 -0
  111. package/dist/openai.js +272 -0
  112. package/dist/openai.js.map +1 -0
  113. package/dist/testing.cjs +554 -0
  114. package/dist/testing.cjs.map +1 -0
  115. package/dist/testing.d.cts +43 -0
  116. package/dist/testing.d.ts +43 -0
  117. package/dist/testing.js +118 -0
  118. package/dist/testing.js.map +1 -0
  119. package/package.json +188 -0
  120. package/registry/echo/index.ts +53 -0
  121. package/registry/echo/manifest.json +53 -0
  122. package/registry/github/LICENSE +105 -0
  123. package/registry/github/client.ts +1727 -0
  124. package/registry/github/index.ts +263 -0
  125. package/registry/github/manifest.json +227 -0
  126. package/registry/github/owner-fixtures.json +10 -0
  127. package/registry/github/tests/github.test.ts +32 -0
  128. package/registry/gmail/LICENSE +105 -0
  129. package/registry/gmail/client.ts +548 -0
  130. package/registry/gmail/index.ts +165 -0
  131. package/registry/gmail/manifest.json +102 -0
  132. package/registry/gmail/owner-fixtures.json +10 -0
  133. package/registry/gmail/tests/gmail.test.ts +32 -0
  134. package/registry/index.json +21 -0
  135. package/registry/index.schema.json +37 -0
  136. package/registry/schema.json +119 -0
@@ -0,0 +1,369 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "schema_version": "1.0.0",
4
+ "catalog_version": "0.2.0",
5
+ "namespace": "github",
6
+ "tools": [
7
+ {
8
+ "name": "add_comment",
9
+ "description": "Add a comment to a GitHub issue.",
10
+ "parameters": {
11
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
12
+ "type": "object",
13
+ "properties": {
14
+ "repository": {
15
+ "type": "string",
16
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
17
+ },
18
+ "issue_number": {
19
+ "type": "integer",
20
+ "minimum": 1,
21
+ "maximum": 9007199254740991
22
+ },
23
+ "body": { "type": "string", "minLength": 1, "maxLength": 16384 }
24
+ },
25
+ "required": ["repository", "issue_number", "body"],
26
+ "additionalProperties": false
27
+ },
28
+ "risk": "external_effect",
29
+ "parallel_safe": false,
30
+ "timeout_ms": 15000
31
+ },
32
+ {
33
+ "name": "create_issue",
34
+ "description": "Create a GitHub issue.",
35
+ "parameters": {
36
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
37
+ "type": "object",
38
+ "properties": {
39
+ "repository": {
40
+ "type": "string",
41
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
42
+ },
43
+ "title": { "type": "string", "minLength": 1, "maxLength": 256 },
44
+ "body": { "type": "string", "minLength": 0, "maxLength": 16384 }
45
+ },
46
+ "required": ["repository", "title", "body"],
47
+ "additionalProperties": false
48
+ },
49
+ "risk": "external_effect",
50
+ "parallel_safe": false,
51
+ "timeout_ms": 15000
52
+ },
53
+ {
54
+ "name": "get_file",
55
+ "description": "Get a file from a GitHub repository.",
56
+ "parameters": {
57
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
58
+ "type": "object",
59
+ "properties": {
60
+ "repository": {
61
+ "type": "string",
62
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
63
+ },
64
+ "path": { "type": "string", "minLength": 1, "maxLength": 512 },
65
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 }
66
+ },
67
+ "required": ["repository", "path"],
68
+ "additionalProperties": false
69
+ },
70
+ "risk": "read",
71
+ "parallel_safe": true,
72
+ "timeout_ms": 10000
73
+ },
74
+ {
75
+ "name": "get_issue",
76
+ "description": "Get a GitHub issue.",
77
+ "parameters": {
78
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
79
+ "type": "object",
80
+ "properties": {
81
+ "repository": {
82
+ "type": "string",
83
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
84
+ },
85
+ "issue_number": {
86
+ "type": "integer",
87
+ "minimum": 1,
88
+ "maximum": 9007199254740991
89
+ }
90
+ },
91
+ "required": ["repository", "issue_number"],
92
+ "additionalProperties": false
93
+ },
94
+ "risk": "read",
95
+ "parallel_safe": true,
96
+ "timeout_ms": 10000
97
+ },
98
+ {
99
+ "name": "list_issues",
100
+ "description": "List GitHub issues.",
101
+ "parameters": {
102
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
103
+ "type": "object",
104
+ "properties": {
105
+ "repository": {
106
+ "type": "string",
107
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
108
+ },
109
+ "state": {
110
+ "type": "string",
111
+ "enum": ["open", "closed", "all"],
112
+ "default": "open"
113
+ },
114
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
115
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
116
+ },
117
+ "required": ["repository"],
118
+ "additionalProperties": false
119
+ },
120
+ "risk": "read",
121
+ "parallel_safe": true,
122
+ "timeout_ms": 10000
123
+ },
124
+ {
125
+ "name": "search_code",
126
+ "description": "Search code in a GitHub repository.",
127
+ "parameters": {
128
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
129
+ "type": "object",
130
+ "properties": {
131
+ "repository": {
132
+ "type": "string",
133
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
134
+ },
135
+ "query": { "type": "string", "minLength": 1, "maxLength": 256 },
136
+ "page": { "type": "integer", "minimum": 1, "maximum": 50, "default": 1 },
137
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
138
+ },
139
+ "required": ["repository", "query"],
140
+ "additionalProperties": false
141
+ },
142
+ "risk": "read",
143
+ "parallel_safe": true,
144
+ "timeout_ms": 10000
145
+ },
146
+ {
147
+ "name": "get_commit",
148
+ "description": "Get bounded commit evidence from a GitHub repository.",
149
+ "parameters": {
150
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
151
+ "type": "object",
152
+ "properties": {
153
+ "repository": {
154
+ "type": "string",
155
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
156
+ },
157
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 },
158
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
159
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
160
+ },
161
+ "required": ["repository", "ref"],
162
+ "additionalProperties": false
163
+ },
164
+ "risk": "read",
165
+ "parallel_safe": true,
166
+ "timeout_ms": 10000
167
+ },
168
+ {
169
+ "name": "get_pull_request",
170
+ "description": "Get bounded pull request evidence from GitHub.",
171
+ "parameters": {
172
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
173
+ "type": "object",
174
+ "properties": {
175
+ "repository": {
176
+ "type": "string",
177
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
178
+ },
179
+ "pull_number": {
180
+ "type": "integer",
181
+ "minimum": 1,
182
+ "maximum": 9007199254740991
183
+ }
184
+ },
185
+ "required": ["repository", "pull_number"],
186
+ "additionalProperties": false
187
+ },
188
+ "risk": "read",
189
+ "parallel_safe": true,
190
+ "timeout_ms": 10000
191
+ },
192
+ {
193
+ "name": "list_pull_request_files",
194
+ "description": "List bounded changed-file evidence for a GitHub pull request.",
195
+ "parameters": {
196
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
197
+ "type": "object",
198
+ "properties": {
199
+ "repository": {
200
+ "type": "string",
201
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
202
+ },
203
+ "pull_number": {
204
+ "type": "integer",
205
+ "minimum": 1,
206
+ "maximum": 9007199254740991
207
+ },
208
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
209
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
210
+ },
211
+ "required": ["repository", "pull_number"],
212
+ "additionalProperties": false
213
+ },
214
+ "risk": "read",
215
+ "parallel_safe": true,
216
+ "timeout_ms": 10000
217
+ },
218
+ {
219
+ "name": "list_check_runs",
220
+ "description": "List bounded GitHub check-run evidence for a ref.",
221
+ "parameters": {
222
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
223
+ "type": "object",
224
+ "properties": {
225
+ "repository": {
226
+ "type": "string",
227
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
228
+ },
229
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 },
230
+ "filter": {
231
+ "type": "string",
232
+ "enum": ["latest", "all"],
233
+ "default": "latest"
234
+ },
235
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
236
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
237
+ },
238
+ "required": ["repository", "ref"],
239
+ "additionalProperties": false
240
+ },
241
+ "risk": "read",
242
+ "parallel_safe": true,
243
+ "timeout_ms": 10000
244
+ },
245
+ {
246
+ "name": "get_workflow_run",
247
+ "description": "Get bounded GitHub workflow-run evidence.",
248
+ "parameters": {
249
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
250
+ "type": "object",
251
+ "properties": {
252
+ "repository": {
253
+ "type": "string",
254
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
255
+ },
256
+ "run_id": {
257
+ "type": "integer",
258
+ "minimum": 1,
259
+ "maximum": 9007199254740991
260
+ }
261
+ },
262
+ "required": ["repository", "run_id"],
263
+ "additionalProperties": false
264
+ },
265
+ "risk": "read",
266
+ "parallel_safe": true,
267
+ "timeout_ms": 10000
268
+ },
269
+ {
270
+ "name": "list_workflow_jobs",
271
+ "description": "List bounded GitHub workflow-job evidence.",
272
+ "parameters": {
273
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
274
+ "type": "object",
275
+ "properties": {
276
+ "repository": {
277
+ "type": "string",
278
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
279
+ },
280
+ "run_id": {
281
+ "type": "integer",
282
+ "minimum": 1,
283
+ "maximum": 9007199254740991
284
+ },
285
+ "filter": {
286
+ "type": "string",
287
+ "enum": ["latest", "all"],
288
+ "default": "latest"
289
+ },
290
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
291
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
292
+ },
293
+ "required": ["repository", "run_id"],
294
+ "additionalProperties": false
295
+ },
296
+ "risk": "read",
297
+ "parallel_safe": true,
298
+ "timeout_ms": 10000
299
+ },
300
+ {
301
+ "name": "list_file_commits",
302
+ "description": "List bounded GitHub commit history for a file path.",
303
+ "parameters": {
304
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
305
+ "type": "object",
306
+ "properties": {
307
+ "repository": {
308
+ "type": "string",
309
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
310
+ },
311
+ "path": { "type": "string", "minLength": 1, "maxLength": 512 },
312
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 },
313
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
314
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
315
+ },
316
+ "required": ["repository", "path"],
317
+ "additionalProperties": false
318
+ },
319
+ "risk": "read",
320
+ "parallel_safe": true,
321
+ "timeout_ms": 10000
322
+ },
323
+ {
324
+ "name": "get_release",
325
+ "description": "Get bounded published-release evidence for a GitHub tag.",
326
+ "parameters": {
327
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
328
+ "type": "object",
329
+ "properties": {
330
+ "repository": {
331
+ "type": "string",
332
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
333
+ },
334
+ "tag": { "type": "string", "minLength": 1, "maxLength": 100 }
335
+ },
336
+ "required": ["repository", "tag"],
337
+ "additionalProperties": false
338
+ },
339
+ "risk": "read",
340
+ "parallel_safe": true,
341
+ "timeout_ms": 10000
342
+ },
343
+ {
344
+ "name": "list_deployments",
345
+ "description": "List bounded GitHub deployment evidence.",
346
+ "parameters": {
347
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
348
+ "type": "object",
349
+ "properties": {
350
+ "repository": {
351
+ "type": "string",
352
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
353
+ },
354
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 },
355
+ "sha": { "type": "string", "pattern": "^[0-9A-Fa-f]{1,64}$" },
356
+ "environment": { "type": "string", "minLength": 1, "maxLength": 100 },
357
+ "task": { "type": "string", "minLength": 1, "maxLength": 100 },
358
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
359
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
360
+ },
361
+ "required": ["repository"],
362
+ "additionalProperties": false
363
+ },
364
+ "risk": "read",
365
+ "parallel_safe": true,
366
+ "timeout_ms": 10000
367
+ }
368
+ ]
369
+ }
@@ -0,0 +1,146 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "version": "1.0.0",
4
+ "namespace": "github",
5
+ "tools": [
6
+ {
7
+ "name": "add_comment",
8
+ "description": "Add a comment to a GitHub issue.",
9
+ "parameters": {
10
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11
+ "type": "object",
12
+ "properties": {
13
+ "repository": {
14
+ "type": "string",
15
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
16
+ },
17
+ "issue_number": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "maximum": 9007199254740991
21
+ },
22
+ "body": { "type": "string", "minLength": 1, "maxLength": 16384 }
23
+ },
24
+ "required": ["repository", "issue_number", "body"],
25
+ "additionalProperties": false
26
+ },
27
+ "risk": "external_effect",
28
+ "parallel_safe": false,
29
+ "timeout_ms": 15000
30
+ },
31
+ {
32
+ "name": "create_issue",
33
+ "description": "Create a GitHub issue.",
34
+ "parameters": {
35
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
36
+ "type": "object",
37
+ "properties": {
38
+ "repository": {
39
+ "type": "string",
40
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
41
+ },
42
+ "title": { "type": "string", "minLength": 1, "maxLength": 256 },
43
+ "body": { "type": "string", "minLength": 0, "maxLength": 16384 }
44
+ },
45
+ "required": ["repository", "title", "body"],
46
+ "additionalProperties": false
47
+ },
48
+ "risk": "external_effect",
49
+ "parallel_safe": false,
50
+ "timeout_ms": 15000
51
+ },
52
+ {
53
+ "name": "get_file",
54
+ "description": "Get a file from a GitHub repository.",
55
+ "parameters": {
56
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
57
+ "type": "object",
58
+ "properties": {
59
+ "repository": {
60
+ "type": "string",
61
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
62
+ },
63
+ "path": { "type": "string", "minLength": 1, "maxLength": 512 },
64
+ "ref": { "type": "string", "minLength": 1, "maxLength": 100 }
65
+ },
66
+ "required": ["repository", "path"],
67
+ "additionalProperties": false
68
+ },
69
+ "risk": "read",
70
+ "parallel_safe": true,
71
+ "timeout_ms": 10000
72
+ },
73
+ {
74
+ "name": "get_issue",
75
+ "description": "Get a GitHub issue.",
76
+ "parameters": {
77
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
78
+ "type": "object",
79
+ "properties": {
80
+ "repository": {
81
+ "type": "string",
82
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
83
+ },
84
+ "issue_number": {
85
+ "type": "integer",
86
+ "minimum": 1,
87
+ "maximum": 9007199254740991
88
+ }
89
+ },
90
+ "required": ["repository", "issue_number"],
91
+ "additionalProperties": false
92
+ },
93
+ "risk": "read",
94
+ "parallel_safe": true,
95
+ "timeout_ms": 10000
96
+ },
97
+ {
98
+ "name": "list_issues",
99
+ "description": "List GitHub issues.",
100
+ "parameters": {
101
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
102
+ "type": "object",
103
+ "properties": {
104
+ "repository": {
105
+ "type": "string",
106
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
107
+ },
108
+ "state": {
109
+ "type": "string",
110
+ "enum": ["open", "closed", "all"],
111
+ "default": "open"
112
+ },
113
+ "page": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1 },
114
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
115
+ },
116
+ "required": ["repository"],
117
+ "additionalProperties": false
118
+ },
119
+ "risk": "read",
120
+ "parallel_safe": true,
121
+ "timeout_ms": 10000
122
+ },
123
+ {
124
+ "name": "search_code",
125
+ "description": "Search code in a GitHub repository.",
126
+ "parameters": {
127
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
128
+ "type": "object",
129
+ "properties": {
130
+ "repository": {
131
+ "type": "string",
132
+ "pattern": "^[A-Za-z0-9_.-]{1,100}/[A-Za-z0-9_.-]{1,100}$"
133
+ },
134
+ "query": { "type": "string", "minLength": 1, "maxLength": 256 },
135
+ "page": { "type": "integer", "minimum": 1, "maximum": 50, "default": 1 },
136
+ "per_page": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
137
+ },
138
+ "required": ["repository", "query"],
139
+ "additionalProperties": false
140
+ },
141
+ "risk": "read",
142
+ "parallel_safe": true,
143
+ "timeout_ms": 10000
144
+ }
145
+ ]
146
+ }