@greatwait/contracts 0.1.0-alpha.5 → 0.1.0-alpha.6

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 (119) hide show
  1. package/dist/authority.d.ts +4 -1
  2. package/dist/authority.js +1 -0
  3. package/dist/data-export.d.ts +2 -0
  4. package/dist/delivery.d.ts +26 -0
  5. package/dist/delivery.js +2 -0
  6. package/dist/endpoints.d.ts +168 -0
  7. package/dist/endpoints.js +72 -1
  8. package/dist/http-request.d.ts +193 -0
  9. package/dist/http-request.js +305 -0
  10. package/dist/identity.d.ts +4 -4
  11. package/dist/index.d.ts +5 -3
  12. package/dist/index.js +4 -2
  13. package/dist/mcp.d.ts +2 -1
  14. package/dist/members.d.ts +141 -0
  15. package/dist/members.js +223 -0
  16. package/dist/oauth.d.ts +7 -0
  17. package/dist/operation-definitions.d.ts +20 -4
  18. package/dist/operation-definitions.js +9 -1
  19. package/dist/operations.d.ts +705 -39
  20. package/dist/operations.js +83 -10
  21. package/dist/organization-lifecycle.d.ts +10 -0
  22. package/dist/policy.js +5 -2
  23. package/dist/scheduling-records.d.ts +220 -0
  24. package/dist/scheduling-records.js +5 -0
  25. package/dist/scheduling.d.ts +236 -0
  26. package/dist/scheduling.js +31 -0
  27. package/dist/secrets.d.ts +7 -0
  28. package/dist/tenancy.d.ts +1 -1
  29. package/dist/tenancy.js +1 -1
  30. package/dist/zod-values.d.ts +2 -2
  31. package/dist/zod-values.js +1 -1
  32. package/generated/v1/examples/endpoints.ensure.request.json +3 -0
  33. package/generated/v1/examples/endpoints.ensure.response.json +20 -0
  34. package/generated/v1/examples/invitations.create.request.json +5 -0
  35. package/generated/v1/examples/invitations.create.response.json +7 -0
  36. package/generated/v1/examples/invitations.list.response.json +11 -0
  37. package/generated/v1/examples/invitations.resend.request.json +1 -0
  38. package/generated/v1/examples/invitations.resend.response.json +4 -0
  39. package/generated/v1/examples/invitations.revoke.request.json +3 -0
  40. package/generated/v1/examples/invitations.revoke.response.json +4 -0
  41. package/generated/v1/examples/members.list.response.json +13 -0
  42. package/generated/v1/examples/members.remove.request.json +3 -0
  43. package/generated/v1/examples/members.remove.response.json +4 -0
  44. package/generated/v1/examples/members.role.request.json +3 -0
  45. package/generated/v1/examples/members.role.response.json +4 -0
  46. package/generated/v1/examples/projectmembers.add.request.json +1 -0
  47. package/generated/v1/examples/projectmembers.add.response.json +4 -0
  48. package/generated/v1/examples/projectmembers.remove.request.json +3 -0
  49. package/generated/v1/examples/projectmembers.remove.response.json +4 -0
  50. package/generated/v1/manifest.json +285 -0
  51. package/generated/v1/openapi.json +8339 -773
  52. package/generated/v1/policy-matrix.json +72 -0
  53. package/generated/v1/schemas/context.read.response.json +1 -0
  54. package/generated/v1/schemas/credentials.connection.response.json +1 -0
  55. package/generated/v1/schemas/credentials.create.request.json +1 -0
  56. package/generated/v1/schemas/credentials.create.response.json +1 -0
  57. package/generated/v1/schemas/credentials.list.response.json +1 -0
  58. package/generated/v1/schemas/credentials.revoke.response.json +1 -0
  59. package/generated/v1/schemas/credentials.rotate.response.json +2 -0
  60. package/generated/v1/schemas/endpoints.acknowledgeSigningKeyRotation.response.json +59 -0
  61. package/generated/v1/schemas/endpoints.create.request.json +74 -0
  62. package/generated/v1/schemas/endpoints.create.response.json +59 -0
  63. package/generated/v1/schemas/endpoints.disable.response.json +59 -0
  64. package/generated/v1/schemas/endpoints.enable.response.json +59 -0
  65. package/generated/v1/schemas/endpoints.ensure.request.json +91 -0
  66. package/generated/v1/schemas/endpoints.ensure.response.json +169 -0
  67. package/generated/v1/schemas/endpoints.list.response.json +59 -0
  68. package/generated/v1/schemas/endpoints.read.response.json +59 -0
  69. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +59 -0
  70. package/generated/v1/schemas/endpoints.update.request.json +74 -0
  71. package/generated/v1/schemas/endpoints.update.response.json +59 -0
  72. package/generated/v1/schemas/grants.list.response.json +1 -0
  73. package/generated/v1/schemas/grants.revoke.response.json +1 -0
  74. package/generated/v1/schemas/invitations.create.request-headers.json +13 -0
  75. package/generated/v1/schemas/invitations.create.request.json +24 -0
  76. package/generated/v1/schemas/invitations.create.response.json +31 -0
  77. package/generated/v1/schemas/invitations.list.response.json +40 -0
  78. package/generated/v1/schemas/invitations.resend.request-headers.json +13 -0
  79. package/generated/v1/schemas/invitations.resend.request.json +6 -0
  80. package/generated/v1/schemas/invitations.resend.response.json +27 -0
  81. package/generated/v1/schemas/invitations.revoke.request-headers.json +13 -0
  82. package/generated/v1/schemas/invitations.revoke.request.json +12 -0
  83. package/generated/v1/schemas/invitations.revoke.response.json +27 -0
  84. package/generated/v1/schemas/members.list.response.json +53 -0
  85. package/generated/v1/schemas/members.remove.request-headers.json +13 -0
  86. package/generated/v1/schemas/members.remove.request.json +12 -0
  87. package/generated/v1/schemas/members.remove.response.json +27 -0
  88. package/generated/v1/schemas/members.role.request-headers.json +13 -0
  89. package/generated/v1/schemas/members.role.request.json +12 -0
  90. package/generated/v1/schemas/members.role.response.json +27 -0
  91. package/generated/v1/schemas/projectmembers.add.request-headers.json +13 -0
  92. package/generated/v1/schemas/projectmembers.add.request.json +6 -0
  93. package/generated/v1/schemas/projectmembers.add.response.json +27 -0
  94. package/generated/v1/schemas/projectmembers.remove.request-headers.json +13 -0
  95. package/generated/v1/schemas/projectmembers.remove.request.json +12 -0
  96. package/generated/v1/schemas/projectmembers.remove.response.json +27 -0
  97. package/generated/v1/schemas/schedules.archive.response.json +138 -1
  98. package/generated/v1/schemas/schedules.cancel.response.json +138 -1
  99. package/generated/v1/schemas/schedules.create.request.json +150 -1
  100. package/generated/v1/schemas/schedules.create.response.json +156 -1
  101. package/generated/v1/schemas/schedules.list.response.json +138 -1
  102. package/generated/v1/schemas/schedules.pause.response.json +138 -1
  103. package/generated/v1/schemas/schedules.read.response.json +138 -1
  104. package/generated/v1/schemas/schedules.replace.request.json +150 -1
  105. package/generated/v1/schemas/schedules.replace.response.json +156 -1
  106. package/generated/v1/schemas/schedules.resume.response.json +138 -1
  107. package/generated/v1/snippets/endpoints.create.json +1 -1
  108. package/generated/v1/snippets/endpoints.ensure.json +6 -0
  109. package/generated/v1/snippets/invitations.create.json +6 -0
  110. package/generated/v1/snippets/invitations.list.json +6 -0
  111. package/generated/v1/snippets/invitations.resend.json +6 -0
  112. package/generated/v1/snippets/invitations.revoke.json +6 -0
  113. package/generated/v1/snippets/journey/create-destination.json +1 -1
  114. package/generated/v1/snippets/members.list.json +6 -0
  115. package/generated/v1/snippets/members.remove.json +6 -0
  116. package/generated/v1/snippets/members.role.json +6 -0
  117. package/generated/v1/snippets/projectmembers.add.json +6 -0
  118. package/generated/v1/snippets/projectmembers.remove.json +6 -0
  119. package/package.json +1 -1
@@ -87,12 +87,118 @@
87
87
  "schedule": {
88
88
  "type": "object",
89
89
  "properties": {
90
+ "http": {
91
+ "type": "object",
92
+ "properties": {
93
+ "method": {
94
+ "type": "string",
95
+ "enum": ["POST", "PUT", "GET"]
96
+ },
97
+ "body": {
98
+ "oneOf": [
99
+ {
100
+ "type": "object",
101
+ "properties": {
102
+ "mode": {
103
+ "type": "string",
104
+ "const": "envelope"
105
+ }
106
+ },
107
+ "required": ["mode"]
108
+ },
109
+ {
110
+ "type": "object",
111
+ "properties": {
112
+ "mode": {
113
+ "type": "string",
114
+ "const": "none"
115
+ }
116
+ },
117
+ "required": ["mode"]
118
+ },
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "mode": {
123
+ "type": "string",
124
+ "const": "json"
125
+ },
126
+ "value": {
127
+ "$ref": "#/$defs/__schema0"
128
+ }
129
+ },
130
+ "required": ["mode"]
131
+ }
132
+ ]
133
+ },
134
+ "headers": {
135
+ "type": "array",
136
+ "items": {
137
+ "anyOf": [
138
+ {
139
+ "type": "object",
140
+ "properties": {
141
+ "name": {
142
+ "type": "string",
143
+ "minLength": 1
144
+ },
145
+ "secret": {
146
+ "type": "boolean",
147
+ "const": false
148
+ },
149
+ "value": {
150
+ "type": "string"
151
+ }
152
+ },
153
+ "required": ["name", "secret", "value"]
154
+ },
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "name": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ },
162
+ "secret": {
163
+ "type": "boolean",
164
+ "const": true
165
+ },
166
+ "configured": {
167
+ "type": "boolean",
168
+ "const": true
169
+ },
170
+ "value": {
171
+ "not": {}
172
+ }
173
+ },
174
+ "required": ["name", "secret", "configured"]
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "name": {
180
+ "type": "string",
181
+ "minLength": 1
182
+ },
183
+ "suppressed": {
184
+ "type": "boolean",
185
+ "const": true
186
+ }
187
+ },
188
+ "required": ["name", "suppressed"]
189
+ }
190
+ ]
191
+ }
192
+ }
193
+ },
194
+ "required": ["method", "body", "headers"]
195
+ },
90
196
  "archivedAt": {
91
197
  "type": "string",
92
198
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
93
199
  },
94
200
  "data": {
95
- "$ref": "#/$defs/__schema0"
201
+ "$ref": "#/$defs/__schema1"
96
202
  },
97
203
  "createdAt": {
98
204
  "type": "string",
@@ -272,6 +378,37 @@
272
378
  }
273
379
  }
274
380
  ]
381
+ },
382
+ "__schema1": {
383
+ "anyOf": [
384
+ {
385
+ "type": "string"
386
+ },
387
+ {
388
+ "type": "number"
389
+ },
390
+ {
391
+ "type": "boolean"
392
+ },
393
+ {
394
+ "type": "null"
395
+ },
396
+ {
397
+ "type": "array",
398
+ "items": {
399
+ "$ref": "#/$defs/__schema1"
400
+ }
401
+ },
402
+ {
403
+ "type": "object",
404
+ "propertyNames": {
405
+ "type": "string"
406
+ },
407
+ "additionalProperties": {
408
+ "$ref": "#/$defs/__schema1"
409
+ }
410
+ }
411
+ ]
275
412
  }
276
413
  }
277
414
  }
@@ -2,6 +2,119 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "http": {
6
+ "type": "object",
7
+ "properties": {
8
+ "method": {
9
+ "type": "string",
10
+ "enum": ["POST", "PUT", "GET"]
11
+ },
12
+ "body": {
13
+ "oneOf": [
14
+ {
15
+ "type": "object",
16
+ "properties": {
17
+ "mode": {
18
+ "type": "string",
19
+ "const": "envelope"
20
+ }
21
+ },
22
+ "required": ["mode"],
23
+ "additionalProperties": false
24
+ },
25
+ {
26
+ "type": "object",
27
+ "properties": {
28
+ "mode": {
29
+ "type": "string",
30
+ "const": "json"
31
+ },
32
+ "value": {
33
+ "$ref": "#/$defs/__schema0"
34
+ }
35
+ },
36
+ "required": ["mode", "value"],
37
+ "additionalProperties": false
38
+ }
39
+ ]
40
+ },
41
+ "headers": {
42
+ "maxItems": 64,
43
+ "type": "array",
44
+ "items": {
45
+ "oneOf": [
46
+ {
47
+ "type": "object",
48
+ "properties": {
49
+ "action": {
50
+ "type": "string",
51
+ "const": "set"
52
+ },
53
+ "name": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ },
57
+ "value": {
58
+ "type": "string"
59
+ },
60
+ "secret": {
61
+ "type": "boolean"
62
+ }
63
+ },
64
+ "required": ["action", "name", "value"],
65
+ "additionalProperties": false
66
+ },
67
+ {
68
+ "type": "object",
69
+ "properties": {
70
+ "action": {
71
+ "type": "string",
72
+ "const": "keep"
73
+ },
74
+ "name": {
75
+ "type": "string",
76
+ "minLength": 1
77
+ }
78
+ },
79
+ "required": ["action", "name"],
80
+ "additionalProperties": false
81
+ },
82
+ {
83
+ "type": "object",
84
+ "properties": {
85
+ "action": {
86
+ "type": "string",
87
+ "const": "remove"
88
+ },
89
+ "name": {
90
+ "type": "string",
91
+ "minLength": 1
92
+ }
93
+ },
94
+ "required": ["action", "name"],
95
+ "additionalProperties": false
96
+ },
97
+ {
98
+ "type": "object",
99
+ "properties": {
100
+ "action": {
101
+ "type": "string",
102
+ "const": "suppress"
103
+ },
104
+ "name": {
105
+ "type": "string",
106
+ "minLength": 1
107
+ }
108
+ },
109
+ "required": ["action", "name"],
110
+ "additionalProperties": false
111
+ }
112
+ ]
113
+ }
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ },
5
118
  "at": {
6
119
  "type": "string",
7
120
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
@@ -12,7 +125,7 @@
12
125
  "maxLength": 120
13
126
  },
14
127
  "data": {
15
- "$ref": "#/$defs/__schema0"
128
+ "$ref": "#/$defs/__schema1"
16
129
  },
17
130
  "delaySeconds": {
18
131
  "type": "integer",
@@ -48,6 +161,11 @@
48
161
  "type": "string",
49
162
  "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
50
163
  },
164
+ "url": {
165
+ "type": "string",
166
+ "maxLength": 2048,
167
+ "format": "uri"
168
+ },
51
169
  "latencyClass": {
52
170
  "type": "string",
53
171
  "enum": ["realtime", "bulk"]
@@ -115,6 +233,37 @@
115
233
  }
116
234
  }
117
235
  ]
236
+ },
237
+ "__schema1": {
238
+ "anyOf": [
239
+ {
240
+ "type": "string"
241
+ },
242
+ {
243
+ "type": "number"
244
+ },
245
+ {
246
+ "type": "boolean"
247
+ },
248
+ {
249
+ "type": "null"
250
+ },
251
+ {
252
+ "type": "array",
253
+ "items": {
254
+ "$ref": "#/$defs/__schema1"
255
+ }
256
+ },
257
+ {
258
+ "type": "object",
259
+ "propertyNames": {
260
+ "type": "string"
261
+ },
262
+ "additionalProperties": {
263
+ "$ref": "#/$defs/__schema1"
264
+ }
265
+ }
266
+ ]
118
267
  }
119
268
  }
120
269
  }
@@ -87,12 +87,118 @@
87
87
  "schedule": {
88
88
  "type": "object",
89
89
  "properties": {
90
+ "http": {
91
+ "type": "object",
92
+ "properties": {
93
+ "method": {
94
+ "type": "string",
95
+ "enum": ["POST", "PUT", "GET"]
96
+ },
97
+ "body": {
98
+ "oneOf": [
99
+ {
100
+ "type": "object",
101
+ "properties": {
102
+ "mode": {
103
+ "type": "string",
104
+ "const": "envelope"
105
+ }
106
+ },
107
+ "required": ["mode"]
108
+ },
109
+ {
110
+ "type": "object",
111
+ "properties": {
112
+ "mode": {
113
+ "type": "string",
114
+ "const": "none"
115
+ }
116
+ },
117
+ "required": ["mode"]
118
+ },
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "mode": {
123
+ "type": "string",
124
+ "const": "json"
125
+ },
126
+ "value": {
127
+ "$ref": "#/$defs/__schema0"
128
+ }
129
+ },
130
+ "required": ["mode"]
131
+ }
132
+ ]
133
+ },
134
+ "headers": {
135
+ "type": "array",
136
+ "items": {
137
+ "anyOf": [
138
+ {
139
+ "type": "object",
140
+ "properties": {
141
+ "name": {
142
+ "type": "string",
143
+ "minLength": 1
144
+ },
145
+ "secret": {
146
+ "type": "boolean",
147
+ "const": false
148
+ },
149
+ "value": {
150
+ "type": "string"
151
+ }
152
+ },
153
+ "required": ["name", "secret", "value"]
154
+ },
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "name": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ },
162
+ "secret": {
163
+ "type": "boolean",
164
+ "const": true
165
+ },
166
+ "configured": {
167
+ "type": "boolean",
168
+ "const": true
169
+ },
170
+ "value": {
171
+ "not": {}
172
+ }
173
+ },
174
+ "required": ["name", "secret", "configured"]
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "name": {
180
+ "type": "string",
181
+ "minLength": 1
182
+ },
183
+ "suppressed": {
184
+ "type": "boolean",
185
+ "const": true
186
+ }
187
+ },
188
+ "required": ["name", "suppressed"]
189
+ }
190
+ ]
191
+ }
192
+ }
193
+ },
194
+ "required": ["method", "body", "headers"]
195
+ },
90
196
  "archivedAt": {
91
197
  "type": "string",
92
198
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
93
199
  },
94
200
  "data": {
95
- "$ref": "#/$defs/__schema0"
201
+ "$ref": "#/$defs/__schema1"
96
202
  },
97
203
  "createdAt": {
98
204
  "type": "string",
@@ -238,6 +344,24 @@
238
344
  "updatedAt",
239
345
  "version"
240
346
  ]
347
+ },
348
+ "endpointSigningSecret": {
349
+ "type": "object",
350
+ "properties": {
351
+ "guidance": {
352
+ "type": "string",
353
+ "minLength": 1
354
+ },
355
+ "returned": {
356
+ "type": "boolean",
357
+ "const": false
358
+ },
359
+ "revealUrl": {
360
+ "type": "string",
361
+ "format": "uri"
362
+ }
363
+ },
364
+ "required": ["guidance", "returned"]
241
365
  }
242
366
  },
243
367
  "required": ["occurrence", "schedule"],
@@ -272,6 +396,37 @@
272
396
  }
273
397
  }
274
398
  ]
399
+ },
400
+ "__schema1": {
401
+ "anyOf": [
402
+ {
403
+ "type": "string"
404
+ },
405
+ {
406
+ "type": "number"
407
+ },
408
+ {
409
+ "type": "boolean"
410
+ },
411
+ {
412
+ "type": "null"
413
+ },
414
+ {
415
+ "type": "array",
416
+ "items": {
417
+ "$ref": "#/$defs/__schema1"
418
+ }
419
+ },
420
+ {
421
+ "type": "object",
422
+ "propertyNames": {
423
+ "type": "string"
424
+ },
425
+ "additionalProperties": {
426
+ "$ref": "#/$defs/__schema1"
427
+ }
428
+ }
429
+ ]
275
430
  }
276
431
  }
277
432
  }
@@ -87,12 +87,118 @@
87
87
  "schedule": {
88
88
  "type": "object",
89
89
  "properties": {
90
+ "http": {
91
+ "type": "object",
92
+ "properties": {
93
+ "method": {
94
+ "type": "string",
95
+ "enum": ["POST", "PUT", "GET"]
96
+ },
97
+ "body": {
98
+ "oneOf": [
99
+ {
100
+ "type": "object",
101
+ "properties": {
102
+ "mode": {
103
+ "type": "string",
104
+ "const": "envelope"
105
+ }
106
+ },
107
+ "required": ["mode"]
108
+ },
109
+ {
110
+ "type": "object",
111
+ "properties": {
112
+ "mode": {
113
+ "type": "string",
114
+ "const": "none"
115
+ }
116
+ },
117
+ "required": ["mode"]
118
+ },
119
+ {
120
+ "type": "object",
121
+ "properties": {
122
+ "mode": {
123
+ "type": "string",
124
+ "const": "json"
125
+ },
126
+ "value": {
127
+ "$ref": "#/$defs/__schema0"
128
+ }
129
+ },
130
+ "required": ["mode"]
131
+ }
132
+ ]
133
+ },
134
+ "headers": {
135
+ "type": "array",
136
+ "items": {
137
+ "anyOf": [
138
+ {
139
+ "type": "object",
140
+ "properties": {
141
+ "name": {
142
+ "type": "string",
143
+ "minLength": 1
144
+ },
145
+ "secret": {
146
+ "type": "boolean",
147
+ "const": false
148
+ },
149
+ "value": {
150
+ "type": "string"
151
+ }
152
+ },
153
+ "required": ["name", "secret", "value"]
154
+ },
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "name": {
159
+ "type": "string",
160
+ "minLength": 1
161
+ },
162
+ "secret": {
163
+ "type": "boolean",
164
+ "const": true
165
+ },
166
+ "configured": {
167
+ "type": "boolean",
168
+ "const": true
169
+ },
170
+ "value": {
171
+ "not": {}
172
+ }
173
+ },
174
+ "required": ["name", "secret", "configured"]
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "name": {
180
+ "type": "string",
181
+ "minLength": 1
182
+ },
183
+ "suppressed": {
184
+ "type": "boolean",
185
+ "const": true
186
+ }
187
+ },
188
+ "required": ["name", "suppressed"]
189
+ }
190
+ ]
191
+ }
192
+ }
193
+ },
194
+ "required": ["method", "body", "headers"]
195
+ },
90
196
  "archivedAt": {
91
197
  "type": "string",
92
198
  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$"
93
199
  },
94
200
  "data": {
95
- "$ref": "#/$defs/__schema0"
201
+ "$ref": "#/$defs/__schema1"
96
202
  },
97
203
  "createdAt": {
98
204
  "type": "string",
@@ -272,6 +378,37 @@
272
378
  }
273
379
  }
274
380
  ]
381
+ },
382
+ "__schema1": {
383
+ "anyOf": [
384
+ {
385
+ "type": "string"
386
+ },
387
+ {
388
+ "type": "number"
389
+ },
390
+ {
391
+ "type": "boolean"
392
+ },
393
+ {
394
+ "type": "null"
395
+ },
396
+ {
397
+ "type": "array",
398
+ "items": {
399
+ "$ref": "#/$defs/__schema1"
400
+ }
401
+ },
402
+ {
403
+ "type": "object",
404
+ "propertyNames": {
405
+ "type": "string"
406
+ },
407
+ "additionalProperties": {
408
+ "$ref": "#/$defs/__schema1"
409
+ }
410
+ }
411
+ ]
275
412
  }
276
413
  }
277
414
  }
@@ -2,5 +2,5 @@
2
2
  "curl": "curl -sS -X POST \"$GREATWAIT_API_URL/v1/endpoints\" \\\n --variable %GREATWAIT_API_KEY \\\n --expand-header \"Authorization: Bearer {{GREATWAIT_API_KEY}}\" \\\n -H 'Content-Type: application/json' \\\n --data-binary '{\"url\":\"https://hooks.example.com/greatwait\"}'",
3
3
  "environments": ["test", "live"],
4
4
  "javascript": "import { createGreatwaitClient } from \"@greatwait/api-client\";\n\nconst greatwait = createGreatwaitClient({\n baseUrl: process.env.GREATWAIT_API_URL,\n credential: process.env.GREATWAIT_API_KEY,\n fetch,\n});\n\nconst body = {\n \"url\": \"https://hooks.example.com/greatwait\"\n};\n\nconst result = await greatwait.request(\"endpoints_create\", body);",
5
- "mcp": "// endpoints.create is not on the MCP surface.\n// Creation returns a one-time endpoint signing secret, and MCP has no negotiated secure-result channel that can keep it out of ordinary tool history."
5
+ "mcp": "// endpoints.create is not on the MCP surface.\n// Creation returns a one-time endpoint signing secret, and MCP has no negotiated secure-result channel that can keep it out of ordinary tool history. Agents use endpoints_ensure, or schedules_create with a `url`, which create an endpoint without returning its secret."
6
6
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "curl": "curl -sS -X POST \"$GREATWAIT_API_URL/v1/endpoints/ensure\" \\\n --variable %GREATWAIT_API_KEY \\\n --expand-header \"Authorization: Bearer {{GREATWAIT_API_KEY}}\" \\\n -H 'Content-Type: application/json' \\\n --data-binary '{\"url\":\"https://hooks.example.com/greatwait\"}'",
3
+ "environments": ["test", "live"],
4
+ "javascript": "import { createGreatwaitClient } from \"@greatwait/api-client\";\n\nconst greatwait = createGreatwaitClient({\n baseUrl: process.env.GREATWAIT_API_URL,\n credential: process.env.GREATWAIT_API_KEY,\n fetch,\n});\n\nconst body = {\n \"url\": \"https://hooks.example.com/greatwait\"\n};\n\nconst result = await greatwait.request(\"endpoints_ensure\", body);",
5
+ "mcp": "// Any MCP client, against $GREATWAIT_API_URL/mcp.\n{\n \"arguments\": {\n \"url\": \"https://hooks.example.com/greatwait\"\n },\n \"name\": \"endpoints_ensure\"\n}"
6
+ }