@qlever-llc/trellis 0.10.17 → 0.19.0-rc.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.
- package/esm/auth/mod.d.ts +1 -1
- package/esm/auth/mod.d.ts.map +1 -1
- package/esm/auth/mod.js +1 -1
- package/esm/auth/protocol.d.ts +416 -398
- package/esm/auth/protocol.d.ts.map +1 -1
- package/esm/auth/protocol.js +35 -33
- package/esm/codec.d.ts +1 -0
- package/esm/codec.d.ts.map +1 -1
- package/esm/codec.js +1 -0
- package/esm/contract_support/canonical.d.ts +3 -0
- package/esm/contract_support/canonical.d.ts.map +1 -1
- package/esm/contract_support/canonical.js +3 -0
- package/esm/contract_support/mod.d.ts +28 -4
- package/esm/contract_support/mod.d.ts.map +1 -1
- package/esm/contract_support/mod.js +85 -4
- package/esm/contract_support/protocol.d.ts +92 -7
- package/esm/contract_support/protocol.d.ts.map +1 -1
- package/esm/contract_support/protocol.js +40 -6
- package/esm/errors/index.d.ts +9 -9
- package/esm/generated-sdk/auth/api.d.ts +4 -1
- package/esm/generated-sdk/auth/api.d.ts.map +1 -1
- package/esm/generated-sdk/auth/api.js +6 -1
- package/esm/generated-sdk/auth/client.d.ts +47 -32
- package/esm/generated-sdk/auth/client.d.ts.map +1 -1
- package/esm/generated-sdk/auth/contract.d.ts +1 -1
- package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
- package/esm/generated-sdk/auth/contract.js +1570 -1202
- package/esm/generated-sdk/auth/schemas.d.ts +1757 -1759
- package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/auth/schemas.js +963 -768
- package/esm/generated-sdk/auth/types.d.ts +292 -302
- package/esm/generated-sdk/auth/types.d.ts.map +1 -1
- package/esm/generated-sdk/auth/types.js +1 -1
- package/esm/generated-sdk/health/client.d.ts +4 -4
- package/esm/generated-sdk/health/client.d.ts.map +1 -1
- package/esm/generated-sdk/health/contract.d.ts +1 -1
- package/esm/generated-sdk/health/contract.d.ts.map +1 -1
- package/esm/generated-sdk/health/contract.js +2 -10
- package/esm/generated-sdk/health/schemas.d.ts +1 -14
- package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/health/schemas.js +1 -9
- package/esm/generated-sdk/health/types.d.ts +3 -5
- package/esm/generated-sdk/health/types.d.ts.map +1 -1
- package/esm/generated-sdk/health/types.js +1 -2
- package/esm/generated-sdk/jobs/api.d.ts +13 -0
- package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/client.d.ts +6 -4
- package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/contract.d.ts +14 -1
- package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/contract.js +268 -1
- package/esm/generated-sdk/jobs/owned_api.d.ts +13 -0
- package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/owned_api.js +20 -1
- package/esm/generated-sdk/jobs/schemas.d.ts +437 -0
- package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/schemas.js +211 -0
- package/esm/generated-sdk/jobs/types.d.ts +123 -1
- package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/types.js +1 -1
- package/esm/generated-sdk/state/client.d.ts +4 -4
- package/esm/generated-sdk/state/client.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/api.d.ts +4 -1
- package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/api.js +6 -1
- package/esm/generated-sdk/trellis-core/client.d.ts +28 -3
- package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/contract.d.ts +1 -1
- package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/contract.js +91 -1
- package/esm/generated-sdk/trellis-core/schemas.d.ts +113 -0
- package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/schemas.js +81 -0
- package/esm/generated-sdk/trellis-core/types.d.ts +23 -1
- package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/types.js +1 -1
- package/esm/health.d.ts +1 -1
- package/esm/health.d.ts.map +1 -1
- package/esm/health.js +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/jobs.d.ts +69 -3
- package/esm/jobs.d.ts.map +1 -1
- package/esm/jobs.js +92 -3
- package/esm/server/health.d.ts +2 -6
- package/esm/server/health.d.ts.map +1 -1
- package/esm/server/health_schemas.d.ts +0 -8
- package/esm/server/health_schemas.d.ts.map +1 -1
- package/esm/server/health_schemas.js +0 -5
- package/esm/server/internal_jobs/bindings.d.ts +11 -0
- package/esm/server/internal_jobs/bindings.d.ts.map +1 -1
- package/esm/server/internal_jobs/job-manager.d.ts +44 -1
- package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
- package/esm/server/internal_jobs/job-manager.js +361 -51
- package/esm/server/internal_jobs/key-coordinator.d.ts +260 -0
- package/esm/server/internal_jobs/key-coordinator.d.ts.map +1 -0
- package/esm/server/internal_jobs/key-coordinator.js +580 -0
- package/esm/server/internal_jobs/projection.d.ts.map +1 -1
- package/esm/server/internal_jobs/projection.js +2 -0
- package/esm/server/internal_jobs/runtime-worker.d.ts +5 -1
- package/esm/server/internal_jobs/runtime-worker.d.ts.map +1 -1
- package/esm/server/internal_jobs/runtime-worker.js +14 -2
- package/esm/server/internal_jobs/types.d.ts +5 -5
- package/esm/server/internal_jobs/types.d.ts.map +1 -1
- package/esm/server/internal_jobs/types.js +6 -0
- package/esm/server/service.d.ts +8 -3
- package/esm/server/service.d.ts.map +1 -1
- package/esm/server/service.js +127 -6
- package/esm/service/drizzle.d.ts +27 -0
- package/esm/service/drizzle.d.ts.map +1 -0
- package/esm/service/drizzle.js +84 -0
- package/esm/service/mod.d.ts +1 -1
- package/esm/service/mod.d.ts.map +1 -1
- package/esm/service/mod.js +1 -1
- package/esm/service/outbox_inbox.d.ts.map +1 -1
- package/esm/service/outbox_inbox.js +13 -2
- package/esm/trellis.d.ts +24 -8
- package/esm/trellis.d.ts.map +1 -1
- package/esm/trellis.js +44 -22
- package/package.json +14 -2
- package/script/auth/mod.d.ts +1 -1
- package/script/auth/mod.d.ts.map +1 -1
- package/script/auth/mod.js +22 -6
- package/script/auth/protocol.d.ts +416 -398
- package/script/auth/protocol.d.ts.map +1 -1
- package/script/auth/protocol.js +40 -37
- package/script/codec.d.ts +1 -0
- package/script/codec.d.ts.map +1 -1
- package/script/codec.js +1 -0
- package/script/contract_support/canonical.d.ts +3 -0
- package/script/contract_support/canonical.d.ts.map +1 -1
- package/script/contract_support/canonical.js +3 -0
- package/script/contract_support/mod.d.ts +28 -4
- package/script/contract_support/mod.d.ts.map +1 -1
- package/script/contract_support/mod.js +90 -4
- package/script/contract_support/protocol.d.ts +92 -7
- package/script/contract_support/protocol.d.ts.map +1 -1
- package/script/contract_support/protocol.js +41 -7
- package/script/errors/index.d.ts +9 -9
- package/script/generated-sdk/auth/api.d.ts +4 -1
- package/script/generated-sdk/auth/api.d.ts.map +1 -1
- package/script/generated-sdk/auth/api.js +6 -1
- package/script/generated-sdk/auth/client.d.ts +47 -32
- package/script/generated-sdk/auth/client.d.ts.map +1 -1
- package/script/generated-sdk/auth/contract.d.ts +1 -1
- package/script/generated-sdk/auth/contract.d.ts.map +1 -1
- package/script/generated-sdk/auth/contract.js +1570 -1202
- package/script/generated-sdk/auth/schemas.d.ts +1757 -1759
- package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
- package/script/generated-sdk/auth/schemas.js +963 -768
- package/script/generated-sdk/auth/types.d.ts +292 -302
- package/script/generated-sdk/auth/types.d.ts.map +1 -1
- package/script/generated-sdk/auth/types.js +1 -1
- package/script/generated-sdk/health/client.d.ts +4 -4
- package/script/generated-sdk/health/client.d.ts.map +1 -1
- package/script/generated-sdk/health/contract.d.ts +1 -1
- package/script/generated-sdk/health/contract.d.ts.map +1 -1
- package/script/generated-sdk/health/contract.js +2 -10
- package/script/generated-sdk/health/schemas.d.ts +1 -14
- package/script/generated-sdk/health/schemas.d.ts.map +1 -1
- package/script/generated-sdk/health/schemas.js +1 -9
- package/script/generated-sdk/health/types.d.ts +3 -5
- package/script/generated-sdk/health/types.d.ts.map +1 -1
- package/script/generated-sdk/health/types.js +1 -2
- package/script/generated-sdk/jobs/api.d.ts +13 -0
- package/script/generated-sdk/jobs/api.d.ts.map +1 -1
- package/script/generated-sdk/jobs/client.d.ts +6 -4
- package/script/generated-sdk/jobs/client.d.ts.map +1 -1
- package/script/generated-sdk/jobs/contract.d.ts +14 -1
- package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
- package/script/generated-sdk/jobs/contract.js +268 -1
- package/script/generated-sdk/jobs/owned_api.d.ts +13 -0
- package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
- package/script/generated-sdk/jobs/owned_api.js +19 -0
- package/script/generated-sdk/jobs/schemas.d.ts +437 -0
- package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
- package/script/generated-sdk/jobs/schemas.js +212 -1
- package/script/generated-sdk/jobs/types.d.ts +123 -1
- package/script/generated-sdk/jobs/types.d.ts.map +1 -1
- package/script/generated-sdk/jobs/types.js +1 -1
- package/script/generated-sdk/state/client.d.ts +4 -4
- package/script/generated-sdk/state/client.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/api.d.ts +4 -1
- package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/api.js +6 -1
- package/script/generated-sdk/trellis-core/client.d.ts +28 -3
- package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/contract.d.ts +1 -1
- package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/contract.js +91 -1
- package/script/generated-sdk/trellis-core/schemas.d.ts +113 -0
- package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/schemas.js +81 -0
- package/script/generated-sdk/trellis-core/types.d.ts +23 -1
- package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/types.js +1 -1
- package/script/health.d.ts +1 -1
- package/script/health.d.ts.map +1 -1
- package/script/health.js +1 -2
- package/script/index.d.ts +2 -2
- package/script/index.d.ts.map +1 -1
- package/script/index.js +2 -3
- package/script/jobs.d.ts +69 -3
- package/script/jobs.d.ts.map +1 -1
- package/script/jobs.js +93 -3
- package/script/server/health.d.ts +2 -6
- package/script/server/health.d.ts.map +1 -1
- package/script/server/health_schemas.d.ts +0 -8
- package/script/server/health_schemas.d.ts.map +1 -1
- package/script/server/health_schemas.js +1 -6
- package/script/server/internal_jobs/bindings.d.ts +11 -0
- package/script/server/internal_jobs/bindings.d.ts.map +1 -1
- package/script/server/internal_jobs/job-manager.d.ts +44 -1
- package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
- package/script/server/internal_jobs/job-manager.js +361 -51
- package/script/server/internal_jobs/key-coordinator.d.ts +260 -0
- package/script/server/internal_jobs/key-coordinator.d.ts.map +1 -0
- package/script/server/internal_jobs/key-coordinator.js +593 -0
- package/script/server/internal_jobs/projection.d.ts.map +1 -1
- package/script/server/internal_jobs/projection.js +2 -0
- package/script/server/internal_jobs/runtime-worker.d.ts +5 -1
- package/script/server/internal_jobs/runtime-worker.d.ts.map +1 -1
- package/script/server/internal_jobs/runtime-worker.js +14 -2
- package/script/server/internal_jobs/types.d.ts +5 -5
- package/script/server/internal_jobs/types.d.ts.map +1 -1
- package/script/server/internal_jobs/types.js +6 -0
- package/script/server/service.d.ts +8 -3
- package/script/server/service.d.ts.map +1 -1
- package/script/server/service.js +126 -5
- package/script/service/drizzle.d.ts +27 -0
- package/script/service/drizzle.d.ts.map +1 -0
- package/script/service/drizzle.js +88 -0
- package/script/service/mod.d.ts +1 -1
- package/script/service/mod.d.ts.map +1 -1
- package/script/service/mod.js +1 -2
- package/script/service/outbox_inbox.d.ts.map +1 -1
- package/script/service/outbox_inbox.js +13 -2
- package/script/trellis.d.ts +24 -8
- package/script/trellis.d.ts.map +1 -1
- package/script/trellis.js +44 -22
- package/src/auth/mod.ts +28 -2
- package/src/auth/protocol.ts +72 -37
- package/src/codec.ts +1 -0
- package/src/contract_support/canonical.ts +3 -0
- package/src/contract_support/mod.ts +158 -5
- package/src/contract_support/protocol.ts +56 -9
- package/src/health.ts +0 -1
- package/src/index.ts +2 -1
- package/src/jobs.ts +138 -1
- package/src/sdk/_generated/auth/api.ts +9 -2
- package/src/sdk/_generated/auth/client.ts +85 -78
- package/src/sdk/_generated/auth/contract.ts +1803 -1435
- package/src/sdk/_generated/auth/schemas.ts +1166 -971
- package/src/sdk/_generated/auth/types.ts +330 -314
- package/src/sdk/_generated/core/api.ts +9 -2
- package/src/sdk/_generated/core/client.ts +41 -2
- package/src/sdk/_generated/core/contract.ts +91 -1
- package/src/sdk/_generated/core/schemas.ts +81 -0
- package/src/sdk/_generated/core/types.ts +23 -1
- package/src/sdk/_generated/health/client.ts +6 -6
- package/src/sdk/_generated/health/contract.ts +2 -10
- package/src/sdk/_generated/health/schemas.ts +1 -9
- package/src/sdk/_generated/health/types.ts +6 -2
- package/src/sdk/_generated/jobs/client.ts +17 -6
- package/src/sdk/_generated/jobs/contract.ts +269 -1
- package/src/sdk/_generated/jobs/owned_api.ts +21 -0
- package/src/sdk/_generated/jobs/schemas.ts +213 -0
- package/src/sdk/_generated/jobs/types.ts +116 -1
- package/src/sdk/_generated/state/client.ts +6 -6
- package/src/server/health.ts +2 -6
- package/src/server/health_schemas.ts +0 -6
- package/src/server/internal_jobs/bindings.ts +11 -0
- package/src/server/internal_jobs/job-manager.ts +436 -16
- package/src/server/internal_jobs/key-coordinator.ts +955 -0
- package/src/server/internal_jobs/projection.ts +2 -0
- package/src/server/internal_jobs/runtime-worker.ts +17 -1
- package/src/server/internal_jobs/types.ts +6 -0
- package/src/server/service.ts +168 -9
- package/src/service/drizzle.ts +125 -0
- package/src/service/mod.ts +0 -1
- package/src/service/outbox_inbox.ts +16 -6
- package/src/trellis.ts +76 -27
|
@@ -13,7 +13,7 @@ const CONTRACT_MODULE_METADATA = Symbol.for(
|
|
|
13
13
|
|
|
14
14
|
export const CONTRACT_ID = "trellis.jobs@v1" as const;
|
|
15
15
|
export const CONTRACT_DIGEST =
|
|
16
|
-
"
|
|
16
|
+
"xDigtrlrF3n3ZNgHVdwDJFcwi0PEJBiDyBG6FnzFzM8" as const;
|
|
17
17
|
export const CONTRACT = {
|
|
18
18
|
"capabilities": {
|
|
19
19
|
"trellis.jobs::admin.mutate": {
|
|
@@ -87,6 +87,21 @@ export const CONTRACT = {
|
|
|
87
87
|
"subject": "rpc.v1.Jobs.Get",
|
|
88
88
|
"version": "v1",
|
|
89
89
|
},
|
|
90
|
+
"Jobs.GetKey": {
|
|
91
|
+
"capabilities": { "call": ["trellis.jobs::admin.read"] },
|
|
92
|
+
"docs": {
|
|
93
|
+
"markdown":
|
|
94
|
+
"Returns projection-backed keyed concurrency state for one service job key.",
|
|
95
|
+
"summary": "Read keyed job concurrency state.",
|
|
96
|
+
},
|
|
97
|
+
"errors": [{ "type": "UnexpectedError" }, { "type": "ValidationError" }, {
|
|
98
|
+
"type": "NotFoundError",
|
|
99
|
+
}],
|
|
100
|
+
"input": { "schema": "JobsGetKeyRequest" },
|
|
101
|
+
"output": { "schema": "JobsGetKeyResponse" },
|
|
102
|
+
"subject": "rpc.v1.Jobs.GetKey",
|
|
103
|
+
"version": "v1",
|
|
104
|
+
},
|
|
90
105
|
"Jobs.Health": {
|
|
91
106
|
"capabilities": { "call": ["trellis.jobs::admin.read"] },
|
|
92
107
|
"docs": {
|
|
@@ -169,6 +184,17 @@ export const CONTRACT = {
|
|
|
169
184
|
"Job": {
|
|
170
185
|
"properties": {
|
|
171
186
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
187
|
+
"concurrency": {
|
|
188
|
+
"properties": {
|
|
189
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
190
|
+
"key": { "minLength": 1, "type": "string" },
|
|
191
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
192
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
193
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
194
|
+
},
|
|
195
|
+
"required": ["key", "keyHash"],
|
|
196
|
+
"type": "object",
|
|
197
|
+
},
|
|
172
198
|
"context": {
|
|
173
199
|
"properties": {
|
|
174
200
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -214,6 +240,16 @@ export const CONTRACT = {
|
|
|
214
240
|
},
|
|
215
241
|
"type": "object",
|
|
216
242
|
},
|
|
243
|
+
"queuePolicy": {
|
|
244
|
+
"properties": {
|
|
245
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
246
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
247
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
248
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
249
|
+
},
|
|
250
|
+
"required": ["outcome"],
|
|
251
|
+
"type": "object",
|
|
252
|
+
},
|
|
217
253
|
"result": {},
|
|
218
254
|
"service": { "minLength": 1, "type": "string" },
|
|
219
255
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -248,6 +284,17 @@ export const CONTRACT = {
|
|
|
248
284
|
],
|
|
249
285
|
"type": "object",
|
|
250
286
|
},
|
|
287
|
+
"JobConcurrencyMetadata": {
|
|
288
|
+
"properties": {
|
|
289
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
290
|
+
"key": { "minLength": 1, "type": "string" },
|
|
291
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
292
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
293
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
294
|
+
},
|
|
295
|
+
"required": ["key", "keyHash"],
|
|
296
|
+
"type": "object",
|
|
297
|
+
},
|
|
251
298
|
"JobContext": {
|
|
252
299
|
"properties": {
|
|
253
300
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -284,6 +331,16 @@ export const CONTRACT = {
|
|
|
284
331
|
},
|
|
285
332
|
"type": "object",
|
|
286
333
|
},
|
|
334
|
+
"JobQueuePolicyMetadata": {
|
|
335
|
+
"properties": {
|
|
336
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
337
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
338
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
339
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
340
|
+
},
|
|
341
|
+
"required": ["outcome"],
|
|
342
|
+
"type": "object",
|
|
343
|
+
},
|
|
287
344
|
"JobState": {
|
|
288
345
|
"anyOf": [
|
|
289
346
|
{ "const": "pending", "type": "string" },
|
|
@@ -309,6 +366,17 @@ export const CONTRACT = {
|
|
|
309
366
|
"job": {
|
|
310
367
|
"properties": {
|
|
311
368
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
369
|
+
"concurrency": {
|
|
370
|
+
"properties": {
|
|
371
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
372
|
+
"key": { "minLength": 1, "type": "string" },
|
|
373
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
374
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
375
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
376
|
+
},
|
|
377
|
+
"required": ["key", "keyHash"],
|
|
378
|
+
"type": "object",
|
|
379
|
+
},
|
|
312
380
|
"context": {
|
|
313
381
|
"properties": {
|
|
314
382
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -355,6 +423,16 @@ export const CONTRACT = {
|
|
|
355
423
|
},
|
|
356
424
|
"type": "object",
|
|
357
425
|
},
|
|
426
|
+
"queuePolicy": {
|
|
427
|
+
"properties": {
|
|
428
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
429
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
430
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
431
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
432
|
+
},
|
|
433
|
+
"required": ["outcome"],
|
|
434
|
+
"type": "object",
|
|
435
|
+
},
|
|
358
436
|
"result": {},
|
|
359
437
|
"service": { "minLength": 1, "type": "string" },
|
|
360
438
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -405,6 +483,17 @@ export const CONTRACT = {
|
|
|
405
483
|
"job": {
|
|
406
484
|
"properties": {
|
|
407
485
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
486
|
+
"concurrency": {
|
|
487
|
+
"properties": {
|
|
488
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
489
|
+
"key": { "minLength": 1, "type": "string" },
|
|
490
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
491
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
492
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
493
|
+
},
|
|
494
|
+
"required": ["key", "keyHash"],
|
|
495
|
+
"type": "object",
|
|
496
|
+
},
|
|
408
497
|
"context": {
|
|
409
498
|
"properties": {
|
|
410
499
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -451,6 +540,16 @@ export const CONTRACT = {
|
|
|
451
540
|
},
|
|
452
541
|
"type": "object",
|
|
453
542
|
},
|
|
543
|
+
"queuePolicy": {
|
|
544
|
+
"properties": {
|
|
545
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
546
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
547
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
548
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
549
|
+
},
|
|
550
|
+
"required": ["outcome"],
|
|
551
|
+
"type": "object",
|
|
552
|
+
},
|
|
454
553
|
"result": {},
|
|
455
554
|
"service": { "minLength": 1, "type": "string" },
|
|
456
555
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -489,6 +588,70 @@ export const CONTRACT = {
|
|
|
489
588
|
"required": ["job"],
|
|
490
589
|
"type": "object",
|
|
491
590
|
},
|
|
591
|
+
"JobsGetKeyRequest": {
|
|
592
|
+
"properties": {
|
|
593
|
+
"key": { "minLength": 1, "type": "string" },
|
|
594
|
+
"service": { "minLength": 1, "type": "string" },
|
|
595
|
+
"type": { "minLength": 1, "type": "string" },
|
|
596
|
+
},
|
|
597
|
+
"required": ["service", "type", "key"],
|
|
598
|
+
"type": "object",
|
|
599
|
+
},
|
|
600
|
+
"JobsGetKeyResponse": {
|
|
601
|
+
"properties": {
|
|
602
|
+
"active": {
|
|
603
|
+
"items": {
|
|
604
|
+
"properties": {
|
|
605
|
+
"heartbeatAgeMs": { "minimum": 0, "type": "integer" },
|
|
606
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
607
|
+
"instanceId": { "type": "string" },
|
|
608
|
+
"jobId": { "minLength": 1, "type": "string" },
|
|
609
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
610
|
+
"startedAt": { "format": "date-time", "type": "string" },
|
|
611
|
+
},
|
|
612
|
+
"required": [
|
|
613
|
+
"jobId",
|
|
614
|
+
"instanceId",
|
|
615
|
+
"startedAt",
|
|
616
|
+
"heartbeatAt",
|
|
617
|
+
"heartbeatAgeMs",
|
|
618
|
+
"leaseExpiresAt",
|
|
619
|
+
],
|
|
620
|
+
"type": "object",
|
|
621
|
+
},
|
|
622
|
+
"type": "array",
|
|
623
|
+
},
|
|
624
|
+
"key": { "minLength": 1, "type": "string" },
|
|
625
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
626
|
+
"latestPolicyReason": { "minLength": 1, "type": "string" },
|
|
627
|
+
"queued": {
|
|
628
|
+
"items": {
|
|
629
|
+
"properties": {
|
|
630
|
+
"createdAt": { "format": "date-time", "type": "string" },
|
|
631
|
+
"jobId": { "minLength": 1, "type": "string" },
|
|
632
|
+
},
|
|
633
|
+
"required": ["jobId", "createdAt"],
|
|
634
|
+
"type": "object",
|
|
635
|
+
},
|
|
636
|
+
"type": "array",
|
|
637
|
+
},
|
|
638
|
+
"queuedDepth": { "minimum": 0, "type": "integer" },
|
|
639
|
+
"service": { "minLength": 1, "type": "string" },
|
|
640
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
641
|
+
"type": { "minLength": 1, "type": "string" },
|
|
642
|
+
},
|
|
643
|
+
"required": [
|
|
644
|
+
"service",
|
|
645
|
+
"type",
|
|
646
|
+
"key",
|
|
647
|
+
"keyHash",
|
|
648
|
+
"active",
|
|
649
|
+
"queued",
|
|
650
|
+
"queuedDepth",
|
|
651
|
+
"staleTakeoverCount",
|
|
652
|
+
],
|
|
653
|
+
"type": "object",
|
|
654
|
+
},
|
|
492
655
|
"JobsGetRequest": {
|
|
493
656
|
"description":
|
|
494
657
|
"Jobs admin ids are globally addressable; callers identify jobs by id only.",
|
|
@@ -501,6 +664,17 @@ export const CONTRACT = {
|
|
|
501
664
|
"job": {
|
|
502
665
|
"properties": {
|
|
503
666
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
667
|
+
"concurrency": {
|
|
668
|
+
"properties": {
|
|
669
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
670
|
+
"key": { "minLength": 1, "type": "string" },
|
|
671
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
672
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
673
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
674
|
+
},
|
|
675
|
+
"required": ["key", "keyHash"],
|
|
676
|
+
"type": "object",
|
|
677
|
+
},
|
|
504
678
|
"context": {
|
|
505
679
|
"properties": {
|
|
506
680
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -547,6 +721,16 @@ export const CONTRACT = {
|
|
|
547
721
|
},
|
|
548
722
|
"type": "object",
|
|
549
723
|
},
|
|
724
|
+
"queuePolicy": {
|
|
725
|
+
"properties": {
|
|
726
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
727
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
728
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
729
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
730
|
+
},
|
|
731
|
+
"required": ["outcome"],
|
|
732
|
+
"type": "object",
|
|
733
|
+
},
|
|
550
734
|
"result": {},
|
|
551
735
|
"service": { "minLength": 1, "type": "string" },
|
|
552
736
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -616,6 +800,17 @@ export const CONTRACT = {
|
|
|
616
800
|
"items": {
|
|
617
801
|
"properties": {
|
|
618
802
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
803
|
+
"concurrency": {
|
|
804
|
+
"properties": {
|
|
805
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
806
|
+
"key": { "minLength": 1, "type": "string" },
|
|
807
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
808
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
809
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
810
|
+
},
|
|
811
|
+
"required": ["key", "keyHash"],
|
|
812
|
+
"type": "object",
|
|
813
|
+
},
|
|
619
814
|
"context": {
|
|
620
815
|
"properties": {
|
|
621
816
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -662,6 +857,16 @@ export const CONTRACT = {
|
|
|
662
857
|
},
|
|
663
858
|
"type": "object",
|
|
664
859
|
},
|
|
860
|
+
"queuePolicy": {
|
|
861
|
+
"properties": {
|
|
862
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
863
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
864
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
865
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
866
|
+
},
|
|
867
|
+
"required": ["outcome"],
|
|
868
|
+
"type": "object",
|
|
869
|
+
},
|
|
665
870
|
"result": {},
|
|
666
871
|
"service": { "minLength": 1, "type": "string" },
|
|
667
872
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -739,6 +944,17 @@ export const CONTRACT = {
|
|
|
739
944
|
"items": {
|
|
740
945
|
"properties": {
|
|
741
946
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
947
|
+
"concurrency": {
|
|
948
|
+
"properties": {
|
|
949
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
950
|
+
"key": { "minLength": 1, "type": "string" },
|
|
951
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
952
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
953
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
954
|
+
},
|
|
955
|
+
"required": ["key", "keyHash"],
|
|
956
|
+
"type": "object",
|
|
957
|
+
},
|
|
742
958
|
"context": {
|
|
743
959
|
"properties": {
|
|
744
960
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -785,6 +1001,16 @@ export const CONTRACT = {
|
|
|
785
1001
|
},
|
|
786
1002
|
"type": "object",
|
|
787
1003
|
},
|
|
1004
|
+
"queuePolicy": {
|
|
1005
|
+
"properties": {
|
|
1006
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
1007
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
1008
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
1009
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
1010
|
+
},
|
|
1011
|
+
"required": ["outcome"],
|
|
1012
|
+
"type": "object",
|
|
1013
|
+
},
|
|
788
1014
|
"result": {},
|
|
789
1015
|
"service": { "minLength": 1, "type": "string" },
|
|
790
1016
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -884,6 +1110,17 @@ export const CONTRACT = {
|
|
|
884
1110
|
"job": {
|
|
885
1111
|
"properties": {
|
|
886
1112
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
1113
|
+
"concurrency": {
|
|
1114
|
+
"properties": {
|
|
1115
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
1116
|
+
"key": { "minLength": 1, "type": "string" },
|
|
1117
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
1118
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
1119
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
1120
|
+
},
|
|
1121
|
+
"required": ["key", "keyHash"],
|
|
1122
|
+
"type": "object",
|
|
1123
|
+
},
|
|
887
1124
|
"context": {
|
|
888
1125
|
"properties": {
|
|
889
1126
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -930,6 +1167,16 @@ export const CONTRACT = {
|
|
|
930
1167
|
},
|
|
931
1168
|
"type": "object",
|
|
932
1169
|
},
|
|
1170
|
+
"queuePolicy": {
|
|
1171
|
+
"properties": {
|
|
1172
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
1173
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
1174
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
1175
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
1176
|
+
},
|
|
1177
|
+
"required": ["outcome"],
|
|
1178
|
+
"type": "object",
|
|
1179
|
+
},
|
|
933
1180
|
"result": {},
|
|
934
1181
|
"service": { "minLength": 1, "type": "string" },
|
|
935
1182
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -980,6 +1227,17 @@ export const CONTRACT = {
|
|
|
980
1227
|
"job": {
|
|
981
1228
|
"properties": {
|
|
982
1229
|
"completedAt": { "format": "date-time", "type": "string" },
|
|
1230
|
+
"concurrency": {
|
|
1231
|
+
"properties": {
|
|
1232
|
+
"heartbeatAt": { "format": "date-time", "type": "string" },
|
|
1233
|
+
"key": { "minLength": 1, "type": "string" },
|
|
1234
|
+
"keyHash": { "minLength": 1, "type": "string" },
|
|
1235
|
+
"leaseExpiresAt": { "format": "date-time", "type": "string" },
|
|
1236
|
+
"staleTakeoverCount": { "minimum": 0, "type": "integer" },
|
|
1237
|
+
},
|
|
1238
|
+
"required": ["key", "keyHash"],
|
|
1239
|
+
"type": "object",
|
|
1240
|
+
},
|
|
983
1241
|
"context": {
|
|
984
1242
|
"properties": {
|
|
985
1243
|
"requestId": { "minLength": 1, "type": "string" },
|
|
@@ -1026,6 +1284,16 @@ export const CONTRACT = {
|
|
|
1026
1284
|
},
|
|
1027
1285
|
"type": "object",
|
|
1028
1286
|
},
|
|
1287
|
+
"queuePolicy": {
|
|
1288
|
+
"properties": {
|
|
1289
|
+
"existingJobId": { "minLength": 1, "type": "string" },
|
|
1290
|
+
"outcome": { "minLength": 1, "type": "string" },
|
|
1291
|
+
"reason": { "minLength": 1, "type": "string" },
|
|
1292
|
+
"replacedJobId": { "minLength": 1, "type": "string" },
|
|
1293
|
+
},
|
|
1294
|
+
"required": ["outcome"],
|
|
1295
|
+
"type": "object",
|
|
1296
|
+
},
|
|
1029
1297
|
"result": {},
|
|
1030
1298
|
"service": { "minLength": 1, "type": "string" },
|
|
1031
1299
|
"startedAt": { "format": "date-time", "type": "string" },
|
|
@@ -8,6 +8,8 @@ import {
|
|
|
8
8
|
JobsCancelResponseSchema,
|
|
9
9
|
JobsDismissDLQRequestSchema,
|
|
10
10
|
JobsDismissDLQResponseSchema,
|
|
11
|
+
JobsGetKeyRequestSchema,
|
|
12
|
+
JobsGetKeyResponseSchema,
|
|
11
13
|
JobsGetRequestSchema,
|
|
12
14
|
JobsGetResponseSchema,
|
|
13
15
|
JobsHealthResponseSchema,
|
|
@@ -83,6 +85,25 @@ export const OWNED_API = {
|
|
|
83
85
|
},
|
|
84
86
|
] as const,
|
|
85
87
|
},
|
|
88
|
+
"Jobs.GetKey": {
|
|
89
|
+
subject: "rpc.v1.Jobs.GetKey",
|
|
90
|
+
input: schema<Types.JobsGetKeyInput>(JobsGetKeyRequestSchema),
|
|
91
|
+
output: schema<Types.JobsGetKeyOutput>(JobsGetKeyResponseSchema),
|
|
92
|
+
callerCapabilities: ["trellis.jobs::admin.read"],
|
|
93
|
+
errors: ["UnexpectedError", "ValidationError", "NotFoundError"] as const,
|
|
94
|
+
declaredErrorTypes: [
|
|
95
|
+
"UnexpectedError",
|
|
96
|
+
"ValidationError",
|
|
97
|
+
"NotFoundError",
|
|
98
|
+
] as const,
|
|
99
|
+
runtimeErrors: [
|
|
100
|
+
{
|
|
101
|
+
type: "NotFoundError",
|
|
102
|
+
schema: schema<Types.NotFoundErrorData>(NotFoundErrorDataSchema),
|
|
103
|
+
fromSerializable: Types.NotFoundError.fromSerializable,
|
|
104
|
+
},
|
|
105
|
+
] as const,
|
|
106
|
+
},
|
|
86
107
|
"Jobs.Health": {
|
|
87
108
|
subject: "rpc.v1.Jobs.Health",
|
|
88
109
|
input: schema<Types.JobsHealthInput>(EmptySchema),
|