@vibesdotdev/workers 1.0.0-rc.2 → 1.0.0-rc.7
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/dist/adapters/database/database-queue.record.descriptor.d.ts +3 -0
- package/dist/adapters/database/database-queue.record.descriptor.d.ts.map +1 -1
- package/dist/adapters/ipc/store/queue-job.record.descriptor.d.ts +3 -0
- package/dist/adapters/ipc/store/queue-job.record.descriptor.d.ts.map +1 -1
- package/dist/adapters/remote/remote-workers.adapter.d.ts +74 -0
- package/dist/adapters/remote/remote-workers.adapter.d.ts.map +1 -0
- package/dist/adapters/remote/remote-workers.adapter.js +178 -0
- package/dist/adapters/remote/remote-workers.adapter.js.map +1 -0
- package/dist/client/operations/dispatch/stream.d.ts.map +1 -1
- package/dist/client/operations/dispatch/stream.js +7 -3
- package/dist/client/operations/dispatch/stream.js.map +1 -1
- package/dist/client/operations/graph.d.ts.map +1 -1
- package/dist/client/operations/graph.js +2 -0
- package/dist/client/operations/graph.js.map +1 -1
- package/dist/client/operations/inline.d.ts.map +1 -1
- package/dist/client/operations/inline.js +12 -7
- package/dist/client/operations/inline.js.map +1 -1
- package/dist/code-execution/runner-adapter/kinds/runner-adapter.kind.d.ts +1 -1
- package/dist/code-execution/runner-adapter/schemas/descriptors.d.ts +1 -1
- package/dist/code-execution/schemas/common.d.ts +2 -2
- package/dist/config/workers.config.descriptor.d.ts +4 -0
- package/dist/config/workers.config.descriptor.d.ts.map +1 -1
- package/dist/config/workers.config.descriptor.js +13 -0
- package/dist/config/workers.config.descriptor.js.map +1 -1
- package/dist/core/queued-invocation.d.ts +3 -0
- package/dist/core/queued-invocation.d.ts.map +1 -1
- package/dist/core/schemas/api.d.ts +11 -2
- package/dist/core/schemas/api.d.ts.map +1 -1
- package/dist/core/supervised-workloads.d.ts +3 -3
- package/dist/dead-letter/dead-letter.schema.d.ts +3 -3
- package/dist/dead-letter/workers.dlq.replay.job.d.ts +1 -1
- package/dist/docs/workers.kinds.docs.descriptor.d.ts.map +1 -1
- package/dist/docs/workers.kinds.docs.descriptor.js +8 -2
- package/dist/docs/workers.kinds.docs.descriptor.js.map +1 -1
- package/dist/execution/thread-host.schemas.d.ts +3 -0
- package/dist/execution/thread-host.schemas.d.ts.map +1 -1
- package/dist/graph/schemas.d.ts +2 -0
- package/dist/graph/schemas.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/kinds/material.d.ts +9 -0
- package/dist/kinds/material.d.ts.map +1 -0
- package/dist/kinds/material.git.d.ts +73 -0
- package/dist/kinds/material.git.d.ts.map +1 -0
- package/dist/kinds/material.git.js +131 -0
- package/dist/kinds/material.git.js.map +1 -0
- package/dist/kinds/material.js +13 -0
- package/dist/kinds/material.js.map +1 -0
- package/dist/kinds/material.stores.d.ts +118 -0
- package/dist/kinds/material.stores.d.ts.map +1 -0
- package/dist/kinds/material.stores.js +76 -0
- package/dist/kinds/material.stores.js.map +1 -0
- package/dist/kinds/schemas/material.d.ts +153 -0
- package/dist/kinds/schemas/material.d.ts.map +1 -0
- package/dist/kinds/schemas/material.js +79 -0
- package/dist/kinds/schemas/material.js.map +1 -0
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.descriptor.d.ts +3 -2
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.descriptor.d.ts.map +1 -1
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.descriptor.js +3 -2
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.descriptor.js.map +1 -1
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.d.ts +5 -0
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.d.ts.map +1 -1
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.js +50 -5
- package/dist/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.js.map +1 -1
- package/dist/maintenance/jobs/storage-sync/schemas/storage-sync.d.ts +18 -0
- package/dist/maintenance/jobs/storage-sync/schemas/storage-sync.d.ts.map +1 -1
- package/dist/maintenance/jobs/storage-sync/schemas/storage-sync.js +4 -0
- package/dist/maintenance/jobs/storage-sync/schemas/storage-sync.js.map +1 -1
- package/dist/remote/claim-policy.d.ts +33 -0
- package/dist/remote/claim-policy.d.ts.map +1 -0
- package/dist/remote/claim-policy.js +82 -0
- package/dist/remote/claim-policy.js.map +1 -0
- package/dist/remote/http-wire.d.ts +188 -0
- package/dist/remote/http-wire.d.ts.map +1 -0
- package/dist/remote/http-wire.js +71 -0
- package/dist/remote/http-wire.js.map +1 -0
- package/dist/remote/queue-capability.d.ts +4 -1
- package/dist/remote/queue-capability.d.ts.map +1 -1
- package/dist/remote/serve.d.ts +13 -0
- package/dist/remote/serve.d.ts.map +1 -0
- package/dist/remote/serve.js +53 -0
- package/dist/remote/serve.js.map +1 -0
- package/dist/runnable/job/change-source.d.ts.map +1 -1
- package/dist/runnable/job/change-source.js +2 -7
- package/dist/runnable/job/change-source.js.map +1 -1
- package/dist/runnable/job/executor.d.ts.map +1 -1
- package/dist/runnable/job/executor.js +4 -1
- package/dist/runnable/job/executor.js.map +1 -1
- package/dist/runtime/ledger/job-ledger.record.descriptor.d.ts +3 -0
- package/dist/runtime/ledger/job-ledger.record.descriptor.d.ts.map +1 -1
- package/dist/runtime/ledger/job-ledger.record.descriptor.js +3 -1
- package/dist/runtime/ledger/job-ledger.record.descriptor.js.map +1 -1
- package/dist/schemas/cancellation.d.ts +6 -0
- package/dist/schemas/cancellation.d.ts.map +1 -1
- package/dist/schemas/claim.d.ts +4 -0
- package/dist/schemas/claim.d.ts.map +1 -1
- package/dist/schemas/claim.js +9 -1
- package/dist/schemas/claim.js.map +1 -1
- package/dist/schemas/client.d.ts +3 -1
- package/dist/schemas/client.d.ts.map +1 -1
- package/dist/schemas/descriptors.d.ts +31 -0
- package/dist/schemas/descriptors.d.ts.map +1 -1
- package/dist/schemas/descriptors.js +5 -0
- package/dist/schemas/descriptors.js.map +1 -1
- package/dist/workers.cloud.plugin.d.ts.map +1 -1
- package/dist/workers.cloud.plugin.js +2 -1
- package/dist/workers.cloud.plugin.js.map +1 -1
- package/dist/workers.plugin.d.ts.map +1 -1
- package/dist/workers.plugin.js +15 -3
- package/dist/workers.plugin.js.map +1 -1
- package/package.json +97 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.storage-sync.impl.consumer.js","sourceRoot":"","sources":["../../../../src/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAA2B,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEhD,MAAM,OAAO,yBAAyB;IAI5B,EAAE,CAAS;IACX,UAAU,CAAgB;IAC1B,IAAI,GAAG,WAAoB,CAAC;IAC5B,SAAS,GAAG,QAAiB,CAAC;IAE/B,OAAO,CAAe;IAE9B,IAAY,MAAM;QACjB,OAAO,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,UAAyB,EAAE,OAAkC;QACxE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAgD;QAC5D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,qBAAqB,EAAE;gBACpD,SAAS,EAAE,iBAAiB,CAAC,MAAM;gBACnC,OAAO,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"maintenance.storage-sync.impl.consumer.js","sourceRoot":"","sources":["../../../../src/maintenance/jobs/storage-sync/maintenance.storage-sync.impl.consumer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAA2B,MAAM,yCAAyC,CAAC;AAChG,OAAO,EACN,4BAA4B,EAE5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,MAAM,UAAU,GAAG,4BAA4B,CAAC;AAEhD,MAAM,OAAO,yBAAyB;IAI5B,EAAE,CAAS;IACX,UAAU,CAAgB;IAC1B,IAAI,GAAG,WAAoB,CAAC;IAC5B,SAAS,GAAG,QAAiB,CAAC;IAE/B,OAAO,CAAe;IAE9B,IAAY,MAAM;QACjB,OAAO,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,UAAyB,EAAE,OAAkC;QACxE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAgD;QAC5D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3E,sEAAsE;QACtE,sEAAsE;QACtE,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,MAAM,UAAU,GAAgC,gBAAgB,CAAC,EAAE;YAClE,CAAC,CAAC,gBAAgB,CAAC,KAAK;YACxB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,OAAO,GACZ,gBAAgB,CAAC,MAAM,YAAY,KAAK;gBACvC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO;gBACjC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,uCAAuC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,qBAAqB,EAAE;gBACpD,SAAS,EAAE,iBAAiB,CAAC,MAAM;gBACnC,OAAO,EAAE,eAAe,CAAC,MAAM;aAC/B,CAAC,CAAC;YAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,EAAE;gBAC7D,MAAM;gBACN,WAAW;gBACX,SAAS;gBACT,KAAK;gBACL,UAAU;aACV,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,cAAc,EAAE,UAAU,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5H,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACjE,UAAU,EAAE,UAAU,CAAC,OAAO;YAC9B,eAAe,EAAE,UAAU,CAAC,MAAM;YAClC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAClC,CAAC;IACH,CAAC;IAEO,WAAW,CAClB,MAAe,EACf,WAAoB,EACpB,SAAiB,EACjB,UAAuC;QAEvC,OAAO;YACN,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;YAChC,MAAM;YACN,WAAW;YACX,cAAc,EAAE,CAAC;YACjB,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,UAAU,CAAC,OAAO;YAC9B,eAAe,EAAE,UAAU,CAAC,MAAM;YAClC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACpB,SAAmB,EACnB,OAA+B,EAC/B,IAMC;QAED,MAAM,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,SAAS,EACT,eAAe,EACf,GAAG,MAAM,MAAM,CAAC,+CAA+C,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;YACpC,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CACzC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;gBACjD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW;gBACX,oBAAoB;gBACpB,UAAU;gBACV,cAAc;gBACd,YAAY;gBACZ,SAAS;gBACT,eAAe;aACf,CAAC,CACF,CAAC;YACF,IAAI,eAAe,CAAC,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC1H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,mBAAmB,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/E,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC7C,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvE,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC9B,OAAO,CAAC,IAAI,CAAC;4BACZ,UAAU,EAAE,MAAM,CAAC,EAAE;4BACrB,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,2CAA2C;yBACpD,CAAC,CAAC;oBACJ,CAAC;oBACD,OAAO;gBACR,CAAC;gBAED,KAAK,MAAM,gBAAgB,IAAI,OAAO,EAAE,CAAC;oBACxC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;wBAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3E,OAAO,MAAM,MAAM,CAAC,OAAO,CAC1B,UAAU,EACV;4BACC,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,SAAS,EAAE,MAAM;yBACjB,EACD,QAAQ,CACR,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;wBACzC,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvC,OAAO,CAAC,IAAI,CAAC;gCACZ,UAAU,EAAE,gBAAgB,CAAC,EAAE;gCAC/B,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,4BAA4B;6BACrC,CAAC,CAAC;4BACH,SAAS;wBACV,CAAC;wBAED,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;4BAC3C,OAAO,CAAC,IAAI,CAAC;gCACZ,UAAU,EACT,MAAM,CAAC,QAAQ,KAAK,GAAG;oCACtB,CAAC,CAAC,gBAAgB,CAAC,EAAE;oCACrB,CAAC,CAAC,GAAG,gBAAgB,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;gCAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,OAAO,EAAE,MAAM,CAAC,OAAO;6BACvB,CAAC,CAAC;wBACJ,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;wBACpH,OAAO,CAAC,IAAI,CAAC;4BACZ,UAAU,EAAE,gBAAgB,CAAC,EAAE;4BAC/B,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,GAAG;yBACZ,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC;oBACZ,UAAU,EAAE,qBAAqB;oBACjC,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,GAAG;iBACZ,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzD,SAAS,CAAC,SAAS,GAAG,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;YAC9E,MAAM,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC5F,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QACrE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,gBAAgB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAExF,OAAO;YACN,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;YACjD,MAAM;YACN,OAAO;YACP,SAAS;YACT,MAAM;YACN,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;YACnC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YACvC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;SACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAC1B,MAAe,EACf,WAA8B;QAE9B,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CACpD,+CAA+C,CAC/C,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5D,MAAM;YACN,WAAW;YACX,QAAQ,EAAE,SAAS,CAAC,eAAe,IAAI,EAAE;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,SAAS,CAAC,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC;YACzC,MAAM,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,kCAAkC,EAAE;gBACjE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAmB;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAA4B,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpG,OAAO,WAAW;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,mBAAmB,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpE,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAAmB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;aAC9B,KAAK,CAAuB,qBAAqB,CAAC;aAClD,OAAO,EAAE;aACT,WAAW,EAAE,CAAC;QAEhB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;YACxC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChE,OAAO,KAAK,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -40,6 +40,24 @@ export declare const storageSyncJobResultSchema: z.ZodObject<{
|
|
|
40
40
|
}>;
|
|
41
41
|
message: z.ZodOptional<z.ZodString>;
|
|
42
42
|
}, z.core.$strip>>;
|
|
43
|
+
migrations: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
44
|
+
manifestId: z.ZodString;
|
|
45
|
+
from: z.ZodNullable<z.ZodString>;
|
|
46
|
+
to: z.ZodString;
|
|
47
|
+
action: z.ZodEnum<{
|
|
48
|
+
error: "error";
|
|
49
|
+
skipped: "skipped";
|
|
50
|
+
"dry-run": "dry-run";
|
|
51
|
+
migrated: "migrated";
|
|
52
|
+
}>;
|
|
53
|
+
message: z.ZodOptional<z.ZodString>;
|
|
54
|
+
failure: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
code: z.ZodOptional<z.ZodString>;
|
|
57
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strip>>;
|
|
59
|
+
}, z.core.$strip>>>>;
|
|
60
|
+
migrationErrors: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
43
61
|
durationMs: z.ZodNumber;
|
|
44
62
|
}, z.core.$strip>;
|
|
45
63
|
export type StorageSyncJobData = z.infer<typeof storageSyncJobDataSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-sync.d.ts","sourceRoot":"","sources":["../../../../../src/maintenance/jobs/storage-sync/schemas/storage-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-sync.d.ts","sourceRoot":"","sources":["../../../../../src/maintenance/jobs/storage-sync/schemas/storage-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,eAAO,MAAM,wBAAwB;;;;iBAOnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAInC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcrC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Zod schemas and inferred types for the storage-sync maintenance job.
|
|
5
5
|
*/
|
|
6
6
|
import * as z from 'zod/v4';
|
|
7
|
+
import { ManifestMigrationResultSchema } from '@vibesdotdev/storage/schemas/manifest-migration';
|
|
7
8
|
export const storageSyncJobDataSchema = z.object({
|
|
8
9
|
/** Preview changes without syncing */
|
|
9
10
|
dryRun: z.boolean().optional().default(false),
|
|
@@ -27,6 +28,9 @@ export const storageSyncJobResultSchema = z.object({
|
|
|
27
28
|
conflicts: z.number(),
|
|
28
29
|
errors: z.number(),
|
|
29
30
|
results: z.array(manifestSyncResultSchema),
|
|
31
|
+
/** Local adapter moves performed before cloud sync. */
|
|
32
|
+
migrations: z.array(ManifestMigrationResultSchema).optional().default([]),
|
|
33
|
+
migrationErrors: z.number().optional().default(0),
|
|
30
34
|
durationMs: z.number()
|
|
31
35
|
});
|
|
32
36
|
//# sourceMappingURL=storage-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-sync.js","sourceRoot":"","sources":["../../../../../src/maintenance/jobs/storage-sync/schemas/storage-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-sync.js","sourceRoot":"","sources":["../../../../../src/maintenance/jobs/storage-sync/schemas/storage-sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAEhG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,sCAAsC;IACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,iDAAiD;IACjD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,0DAA0D;IAC1D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAC1C,uDAAuD;IACvD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote claim authority: who outside the queue owner's runtime may claim a
|
|
3
|
+
* job (docs/proposals/workers-remote-queue-sources-2026-10-30.md). The queue's
|
|
4
|
+
* policy is the one its job descriptors declare (`claim.remoteClaimants`); the
|
|
5
|
+
* claimant is the principal the serving owner authenticated (a host token,
|
|
6
|
+
* never a field the peer sent). A refusal claims nothing.
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { type RuntimeRef } from '@vibesdotdev/kernel';
|
|
10
|
+
import { type RemoteDequeueOptions, type RemoteJob } from './queue-capability.ts';
|
|
11
|
+
export type RemoteClaimPolicy = 'system' | 'owner' | 'none';
|
|
12
|
+
/** The claimant the serving owner verified, with what billing attributes the claim to. */
|
|
13
|
+
export declare const RemoteClaimantSchema: z.ZodObject<{
|
|
14
|
+
hostId: z.ZodString;
|
|
15
|
+
ownerType: z.ZodEnum<{
|
|
16
|
+
user: "user";
|
|
17
|
+
organization: "organization";
|
|
18
|
+
system: "system";
|
|
19
|
+
}>;
|
|
20
|
+
ownerId: z.ZodString;
|
|
21
|
+
internal: z.ZodBoolean;
|
|
22
|
+
computeSourceId: z.ZodNullable<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type RemoteClaimant = z.infer<typeof RemoteClaimantSchema>;
|
|
25
|
+
/** The remote claim policy every job on `queue` declares; jobs that disagree refuse. */
|
|
26
|
+
export declare function resolveQueueRemoteClaimPolicy(runtime: Pick<RuntimeRef, 'hasKind' | 'query'>, queue: string): RemoteClaimPolicy;
|
|
27
|
+
/**
|
|
28
|
+
* Claim the next job on `queue` for a verified remote claimant, stamping the
|
|
29
|
+
* claim with the claimant host and its compute source (`claimedByHostId`,
|
|
30
|
+
* `computeSourceId`) for billing attribution. Refuses before any claim.
|
|
31
|
+
*/
|
|
32
|
+
export declare function dequeueForRemoteClaimant(runtime: Pick<RuntimeRef, 'hasKind' | 'query'>, claimant: RemoteClaimant, queue: string, options: RemoteDequeueOptions): Promise<RemoteJob | null>;
|
|
33
|
+
//# sourceMappingURL=claim-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-policy.d.ts","sourceRoot":"","sources":["../../src/remote/claim-policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EAA2C,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE3H,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5D,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAO/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wFAAwF;AACxF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAkB9H;AAUD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,EAC9C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAuB3B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote claim authority: who outside the queue owner's runtime may claim a
|
|
3
|
+
* job (docs/proposals/workers-remote-queue-sources-2026-10-30.md). The queue's
|
|
4
|
+
* policy is the one its job descriptors declare (`claim.remoteClaimants`); the
|
|
5
|
+
* claimant is the principal the serving owner authenticated (a host token,
|
|
6
|
+
* never a field the peer sent). A refusal claims nothing.
|
|
7
|
+
*/
|
|
8
|
+
import * as z from 'zod/v4';
|
|
9
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
10
|
+
import { JobDescriptorSchema } from "../schemas/descriptors.js";
|
|
11
|
+
import { getWorkersClient } from "../client/get-workers-client.js";
|
|
12
|
+
import { RemoteDequeueOptionsSchema, toRemoteJob } from "./queue-capability.js";
|
|
13
|
+
/** The claimant the serving owner verified, with what billing attributes the claim to. */
|
|
14
|
+
export const RemoteClaimantSchema = z.object({
|
|
15
|
+
hostId: z.string().min(1),
|
|
16
|
+
ownerType: z.enum(['user', 'organization', 'system']),
|
|
17
|
+
ownerId: z.string().min(1),
|
|
18
|
+
/** Vibes compute: the owner's stored internal fact, never a literal. */
|
|
19
|
+
internal: z.boolean(),
|
|
20
|
+
computeSourceId: z.string().min(1).nullable()
|
|
21
|
+
});
|
|
22
|
+
/** The remote claim policy every job on `queue` declares; jobs that disagree refuse. */
|
|
23
|
+
export function resolveQueueRemoteClaimPolicy(runtime, queue) {
|
|
24
|
+
if (!runtime.hasKind('workers/job'))
|
|
25
|
+
return 'none';
|
|
26
|
+
const declared = new Set();
|
|
27
|
+
const jobs = [];
|
|
28
|
+
for (const raw of runtime.query('workers/job').descriptors()) {
|
|
29
|
+
const parsed = JobDescriptorSchema.safeParse(raw);
|
|
30
|
+
if (!parsed.success || parsed.data.queue !== queue)
|
|
31
|
+
continue;
|
|
32
|
+
jobs.push(parsed.data.id);
|
|
33
|
+
declared.add(parsed.data.claim?.remoteClaimants ?? 'none');
|
|
34
|
+
}
|
|
35
|
+
if (declared.size > 1) {
|
|
36
|
+
throw new CapabilityError(`Jobs on queue '${queue}' declare different remote claimants.`, 'INTERNAL', {
|
|
37
|
+
reason: 'workers-claim-policy-mismatch',
|
|
38
|
+
retryable: false,
|
|
39
|
+
details: { queue, jobs, policies: [...declared] }
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return [...declared][0] ?? 'none';
|
|
43
|
+
}
|
|
44
|
+
function forbidden(queue, policy, claimant) {
|
|
45
|
+
return new CapabilityError(`This host may not claim jobs from queue '${queue}'.`, 'PERMISSION_DENIED', {
|
|
46
|
+
reason: 'workers-claim-forbidden',
|
|
47
|
+
retryable: false,
|
|
48
|
+
details: { queue, policy, hostId: claimant.hostId }
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Claim the next job on `queue` for a verified remote claimant, stamping the
|
|
53
|
+
* claim with the claimant host and its compute source (`claimedByHostId`,
|
|
54
|
+
* `computeSourceId`) for billing attribution. Refuses before any claim.
|
|
55
|
+
*/
|
|
56
|
+
export async function dequeueForRemoteClaimant(runtime, claimant, queue, options) {
|
|
57
|
+
const verified = RemoteClaimantSchema.parse(claimant);
|
|
58
|
+
const policy = resolveQueueRemoteClaimPolicy(runtime, queue);
|
|
59
|
+
if (policy === 'none')
|
|
60
|
+
throw forbidden(queue, policy, verified);
|
|
61
|
+
if (policy === 'system' && !verified.internal)
|
|
62
|
+
throw forbidden(queue, policy, verified);
|
|
63
|
+
if (policy === 'owner') {
|
|
64
|
+
throw new CapabilityError(`Queue '${queue}' admits owner claimants, which need a per-job owner filter its adapter does not provide.`, 'UNAVAILABLE', {
|
|
65
|
+
reason: 'workers-claim-owner-filter-unavailable',
|
|
66
|
+
retryable: false,
|
|
67
|
+
details: { queue, hostId: verified.hostId }
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
const parsed = RemoteDequeueOptionsSchema.parse(options);
|
|
71
|
+
const job = await (await (await getWorkersClient(runtime)).getQueue(queue)).dequeue({
|
|
72
|
+
...parsed,
|
|
73
|
+
claimMetadata: {
|
|
74
|
+
...parsed.claimMetadata,
|
|
75
|
+
claimedByHostId: verified.hostId,
|
|
76
|
+
computeSourceId: verified.computeSourceId,
|
|
77
|
+
claimedAt: new Date().toISOString()
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return job ? toRemoteJob(job) : null;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=claim-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-policy.js","sourceRoot":"","sources":["../../src/remote/claim-policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAA2C,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAA6C,MAAM,uBAAuB,CAAC;AAI3H,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAGH,wFAAwF;AACxF,MAAM,UAAU,6BAA6B,CAAC,OAA8C,EAAE,KAAa;IAC1G,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,MAAM,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC9C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAoB,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACjF,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,SAAS;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,IAAI,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,kBAAkB,KAAK,uCAAuC,EAAE,UAAU,EAAE;YACrG,MAAM,EAAE,+BAA+B;YACvC,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE;SACjD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,MAAyB,EAAE,QAAwB;IACpF,OAAO,IAAI,eAAe,CAAC,4CAA4C,KAAK,IAAI,EAAE,mBAAmB,EAAE;QACtG,MAAM,EAAE,yBAAyB;QACjC,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;KACnD,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,OAA8C,EAC9C,QAAwB,EACxB,KAAa,EACb,OAA6B;IAE7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,6BAA6B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,MAAM;QAAE,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CAAC,UAAU,KAAK,2FAA2F,EAAE,aAAa,EAAE;YACpJ,MAAM,EAAE,wCAAwC;YAChD,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;SAC3C,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QACnF,GAAG,MAAM;QACT,aAAa,EAAE;YACd,GAAG,MAAM,CAAC,aAAa;YACvB,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC;KACD,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `workers.queue` calls a remote claimant makes to its queue owner over
|
|
3
|
+
* HTTP (a fleet host to Platform, `POST /api/hosts/workers/queue`, host-token
|
|
4
|
+
* authenticated). Only the claim lifecycle crosses: dequeue, read and settle a
|
|
5
|
+
* claimed job. Enqueue, listing, cancellation, retry and metrics stay with the
|
|
6
|
+
* owner. Dates cross as ISO strings and are restored before the owner's
|
|
7
|
+
* `RemoteJobSchema` parses the job.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { type JsonValue } from '@vibesdotdev/kernel/schemas/json';
|
|
11
|
+
import { type RemoteJob } from './queue-capability.ts';
|
|
12
|
+
export declare const RemoteQueueHttpRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
13
|
+
method: z.ZodLiteral<"dequeue">;
|
|
14
|
+
queue: z.ZodString;
|
|
15
|
+
options: z.ZodObject<{
|
|
16
|
+
executionOwner: z.ZodString;
|
|
17
|
+
jobTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
claimMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
19
|
+
}, z.core.$strict>;
|
|
20
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
21
|
+
method: z.ZodLiteral<"getJob">;
|
|
22
|
+
queue: z.ZodString;
|
|
23
|
+
jobId: z.ZodString;
|
|
24
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
25
|
+
method: z.ZodLiteral<"updateJob">;
|
|
26
|
+
queue: z.ZodString;
|
|
27
|
+
jobId: z.ZodString;
|
|
28
|
+
update: z.ZodObject<{
|
|
29
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
cancelled: "cancelled";
|
|
31
|
+
failed: "failed";
|
|
32
|
+
pending: "pending";
|
|
33
|
+
delayed: "delayed";
|
|
34
|
+
processing: "processing";
|
|
35
|
+
completed: "completed";
|
|
36
|
+
}>>;
|
|
37
|
+
progress: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>]>>;
|
|
38
|
+
result: z.ZodOptional<z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
39
|
+
error: z.ZodOptional<z.ZodString>;
|
|
40
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
41
|
+
}, z.core.$strict>;
|
|
42
|
+
guard: z.ZodReadonly<z.ZodObject<{
|
|
43
|
+
generation: z.ZodNumber;
|
|
44
|
+
claimToken: z.ZodNullable<z.ZodString>;
|
|
45
|
+
expectedStatus: z.ZodEnum<{
|
|
46
|
+
cancelled: "cancelled";
|
|
47
|
+
failed: "failed";
|
|
48
|
+
pending: "pending";
|
|
49
|
+
delayed: "delayed";
|
|
50
|
+
processing: "processing";
|
|
51
|
+
completed: "completed";
|
|
52
|
+
}>;
|
|
53
|
+
}, z.core.$strict>>;
|
|
54
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
55
|
+
method: z.ZodLiteral<"renewExecution">;
|
|
56
|
+
queue: z.ZodString;
|
|
57
|
+
jobId: z.ZodString;
|
|
58
|
+
claim: z.ZodReadonly<z.ZodObject<{
|
|
59
|
+
token: z.ZodString;
|
|
60
|
+
generation: z.ZodNumber;
|
|
61
|
+
attempt: z.ZodNumber;
|
|
62
|
+
owner: z.ZodString;
|
|
63
|
+
}, z.core.$strict>>;
|
|
64
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
65
|
+
method: z.ZodLiteral<"releaseExecution">;
|
|
66
|
+
queue: z.ZodString;
|
|
67
|
+
jobId: z.ZodString;
|
|
68
|
+
claim: z.ZodReadonly<z.ZodObject<{
|
|
69
|
+
token: z.ZodString;
|
|
70
|
+
generation: z.ZodNumber;
|
|
71
|
+
attempt: z.ZodNumber;
|
|
72
|
+
owner: z.ZodString;
|
|
73
|
+
}, z.core.$strict>>;
|
|
74
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
75
|
+
method: z.ZodLiteral<"broadcastEvent">;
|
|
76
|
+
queue: z.ZodString;
|
|
77
|
+
jobId: z.ZodString;
|
|
78
|
+
event: z.ZodString;
|
|
79
|
+
guard: z.ZodReadonly<z.ZodObject<{
|
|
80
|
+
generation: z.ZodNumber;
|
|
81
|
+
claimToken: z.ZodNullable<z.ZodString>;
|
|
82
|
+
expectedStatus: z.ZodEnum<{
|
|
83
|
+
cancelled: "cancelled";
|
|
84
|
+
failed: "failed";
|
|
85
|
+
pending: "pending";
|
|
86
|
+
delayed: "delayed";
|
|
87
|
+
processing: "processing";
|
|
88
|
+
completed: "completed";
|
|
89
|
+
}>;
|
|
90
|
+
}, z.core.$strict>>;
|
|
91
|
+
data: z.ZodOptional<z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
92
|
+
}, z.core.$strip>], "method">;
|
|
93
|
+
export type RemoteQueueHttpRequest = z.infer<typeof RemoteQueueHttpRequestSchema>;
|
|
94
|
+
export declare const RemoteQueueHttpResponseSchema: z.ZodObject<{
|
|
95
|
+
result: z.ZodUnknown;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
declare const RemoteJobJsonSchema: z.ZodObject<{
|
|
98
|
+
id: z.ZodString;
|
|
99
|
+
data: z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>;
|
|
100
|
+
status: z.ZodEnum<{
|
|
101
|
+
cancelled: "cancelled";
|
|
102
|
+
failed: "failed";
|
|
103
|
+
pending: "pending";
|
|
104
|
+
delayed: "delayed";
|
|
105
|
+
processing: "processing";
|
|
106
|
+
completed: "completed";
|
|
107
|
+
}>;
|
|
108
|
+
progress: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>]>>;
|
|
109
|
+
result: z.ZodOptional<z.ZodType<JsonValue, JsonValue, z.core.$ZodTypeInternals<JsonValue, JsonValue>>>;
|
|
110
|
+
error: z.ZodOptional<z.ZodString>;
|
|
111
|
+
attemptsMade: z.ZodNumber;
|
|
112
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
113
|
+
generation: z.ZodNumber;
|
|
114
|
+
revision: z.ZodNumber;
|
|
115
|
+
executionClaim: z.ZodReadonly<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
116
|
+
state: z.ZodEnum<{
|
|
117
|
+
none: "none";
|
|
118
|
+
}>;
|
|
119
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
120
|
+
state: z.ZodEnum<{
|
|
121
|
+
unknown: "unknown";
|
|
122
|
+
}>;
|
|
123
|
+
invalidRecord: z.ZodOptional<z.ZodObject<{
|
|
124
|
+
reason: z.ZodLiteral<"job-execution-record-invalid">;
|
|
125
|
+
fields: z.ZodArray<z.ZodString>;
|
|
126
|
+
}, z.core.$strict>>;
|
|
127
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
128
|
+
state: z.ZodEnum<{
|
|
129
|
+
held: "held";
|
|
130
|
+
}>;
|
|
131
|
+
identity: z.ZodReadonly<z.ZodObject<{
|
|
132
|
+
token: z.ZodString;
|
|
133
|
+
generation: z.ZodNumber;
|
|
134
|
+
attempt: z.ZodNumber;
|
|
135
|
+
owner: z.ZodString;
|
|
136
|
+
}, z.core.$strict>>;
|
|
137
|
+
heartbeatAt: z.ZodString;
|
|
138
|
+
}, z.core.$strict>], "state">>;
|
|
139
|
+
cancellation: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
140
|
+
by: z.ZodLiteral<"invocation">;
|
|
141
|
+
actor: z.ZodObject<{
|
|
142
|
+
agentId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
143
|
+
harness: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
144
|
+
agentSystemId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
145
|
+
harnessSessionId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
146
|
+
userId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
147
|
+
orgId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
148
|
+
projectId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
149
|
+
teamId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
150
|
+
home: z.ZodOptional<z.ZodEnum<{
|
|
151
|
+
user: "user";
|
|
152
|
+
organization: "organization";
|
|
153
|
+
team: "team";
|
|
154
|
+
}>>;
|
|
155
|
+
projectIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>>>;
|
|
156
|
+
participantId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
157
|
+
sessionId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
158
|
+
instanceId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
159
|
+
instanceHandle: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
160
|
+
homeWorkspace: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
reason: z.ZodString;
|
|
163
|
+
cascadedFrom: z.ZodOptional<z.ZodString>;
|
|
164
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
165
|
+
by: z.ZodLiteral<"system">;
|
|
166
|
+
source: z.ZodEnum<{
|
|
167
|
+
cascade: "cascade";
|
|
168
|
+
"graph-stop": "graph-stop";
|
|
169
|
+
"graph-cancel": "graph-cancel";
|
|
170
|
+
deadline: "deadline";
|
|
171
|
+
disposal: "disposal";
|
|
172
|
+
"launcher-exit": "launcher-exit";
|
|
173
|
+
}>;
|
|
174
|
+
reason: z.ZodString;
|
|
175
|
+
cascadedFrom: z.ZodOptional<z.ZodString>;
|
|
176
|
+
}, z.core.$strict>], "by">>;
|
|
177
|
+
createdAt: z.ZodISODateTime;
|
|
178
|
+
startedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
179
|
+
completedAt: z.ZodOptional<z.ZodISODateTime>;
|
|
180
|
+
retiredAt: z.ZodOptional<z.ZodISODateTime>;
|
|
181
|
+
}, z.core.$strict>;
|
|
182
|
+
export type RemoteJobJson = z.output<typeof RemoteJobJsonSchema>;
|
|
183
|
+
/** A remote job as JSON: its dates as ISO strings. */
|
|
184
|
+
export declare function remoteJobToJson(job: RemoteJob): RemoteJobJson;
|
|
185
|
+
/** The owner's job from its JSON reply, dates restored, parsed by the owner's schema. */
|
|
186
|
+
export declare function remoteJobFromJson(value: JsonValue): RemoteJob;
|
|
187
|
+
export {};
|
|
188
|
+
//# sourceMappingURL=http-wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-wire.d.ts","sourceRoot":"","sources":["../../src/remote/http-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnF,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAK3H,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAUvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,6BAA6B;;iBAAoC,CAAC;AAE/E,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKd,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAUjE,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,aAAa,CAmB7D;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAS7D"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `workers.queue` calls a remote claimant makes to its queue owner over
|
|
3
|
+
* HTTP (a fleet host to Platform, `POST /api/hosts/workers/queue`, host-token
|
|
4
|
+
* authenticated). Only the claim lifecycle crosses: dequeue, read and settle a
|
|
5
|
+
* claimed job. Enqueue, listing, cancellation, retry and metrics stay with the
|
|
6
|
+
* owner. Dates cross as ISO strings and are restored before the owner's
|
|
7
|
+
* `RemoteJobSchema` parses the job.
|
|
8
|
+
*/
|
|
9
|
+
import * as z from 'zod/v4';
|
|
10
|
+
import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
11
|
+
import { JobExecutionClaimSchema, JobWriteGuardSchema } from "../core/schemas/index.js";
|
|
12
|
+
import { RemoteDequeueOptionsSchema, RemoteJobSchema, RemoteJobUpdateSchema } from "./queue-capability.js";
|
|
13
|
+
const Queue = z.string().min(1);
|
|
14
|
+
const JobId = z.string().min(1);
|
|
15
|
+
export const RemoteQueueHttpRequestSchema = z.discriminatedUnion('method', [
|
|
16
|
+
z.object({ method: z.literal('dequeue'), queue: Queue, options: RemoteDequeueOptionsSchema }),
|
|
17
|
+
z.object({ method: z.literal('getJob'), queue: Queue, jobId: JobId }),
|
|
18
|
+
z.object({ method: z.literal('updateJob'), queue: Queue, jobId: JobId, update: RemoteJobUpdateSchema, guard: JobWriteGuardSchema }),
|
|
19
|
+
z.object({ method: z.literal('renewExecution'), queue: Queue, jobId: JobId, claim: JobExecutionClaimSchema }),
|
|
20
|
+
z.object({ method: z.literal('releaseExecution'), queue: Queue, jobId: JobId, claim: JobExecutionClaimSchema }),
|
|
21
|
+
z.object({
|
|
22
|
+
method: z.literal('broadcastEvent'), queue: Queue, jobId: JobId, event: z.string().min(1),
|
|
23
|
+
guard: JobWriteGuardSchema, data: JsonValueSchema.optional()
|
|
24
|
+
})
|
|
25
|
+
]);
|
|
26
|
+
export const RemoteQueueHttpResponseSchema = z.object({ result: z.unknown() });
|
|
27
|
+
const RemoteJobJsonSchema = RemoteJobSchema.extend({
|
|
28
|
+
createdAt: z.iso.datetime(),
|
|
29
|
+
startedAt: z.iso.datetime().optional(),
|
|
30
|
+
completedAt: z.iso.datetime().optional(),
|
|
31
|
+
retiredAt: z.iso.datetime().optional()
|
|
32
|
+
}).strict();
|
|
33
|
+
function isoDate(value) {
|
|
34
|
+
return value.toISOString();
|
|
35
|
+
}
|
|
36
|
+
function restoreDate(value) {
|
|
37
|
+
return value === undefined ? undefined : new Date(value);
|
|
38
|
+
}
|
|
39
|
+
/** A remote job as JSON: its dates as ISO strings. */
|
|
40
|
+
export function remoteJobToJson(job) {
|
|
41
|
+
return RemoteJobJsonSchema.parse({
|
|
42
|
+
id: job.id,
|
|
43
|
+
data: job.data,
|
|
44
|
+
status: job.status,
|
|
45
|
+
progress: job.progress,
|
|
46
|
+
result: job.result,
|
|
47
|
+
error: job.error,
|
|
48
|
+
attemptsMade: job.attemptsMade,
|
|
49
|
+
createdAt: isoDate(job.createdAt),
|
|
50
|
+
startedAt: job.startedAt === undefined ? undefined : isoDate(job.startedAt),
|
|
51
|
+
completedAt: job.completedAt === undefined ? undefined : isoDate(job.completedAt),
|
|
52
|
+
metadata: job.metadata,
|
|
53
|
+
generation: job.generation,
|
|
54
|
+
revision: job.revision,
|
|
55
|
+
executionClaim: job.executionClaim,
|
|
56
|
+
retiredAt: job.retiredAt === undefined ? undefined : isoDate(job.retiredAt),
|
|
57
|
+
cancellation: job.cancellation
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/** The owner's job from its JSON reply, dates restored, parsed by the owner's schema. */
|
|
61
|
+
export function remoteJobFromJson(value) {
|
|
62
|
+
const wire = RemoteJobJsonSchema.parse(value);
|
|
63
|
+
return RemoteJobSchema.parse({
|
|
64
|
+
...wire,
|
|
65
|
+
createdAt: new Date(wire.createdAt),
|
|
66
|
+
startedAt: restoreDate(wire.startedAt),
|
|
67
|
+
completedAt: restoreDate(wire.completedAt),
|
|
68
|
+
retiredAt: restoreDate(wire.retiredAt)
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=http-wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-wire.js","sourceRoot":"","sources":["../../src/remote/http-wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,9 @@ export declare const RemoteJobSchema: z.ZodObject<{
|
|
|
84
84
|
projectIds: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>>>;
|
|
85
85
|
participantId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
86
86
|
sessionId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
87
|
+
instanceId: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
88
|
+
instanceHandle: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
89
|
+
homeWorkspace: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
87
90
|
}, z.core.$strip>;
|
|
88
91
|
reason: z.ZodString;
|
|
89
92
|
cascadedFrom: z.ZodOptional<z.ZodString>;
|
|
@@ -194,7 +197,7 @@ export declare const workersQueueCapabilityExposure: {
|
|
|
194
197
|
version: number;
|
|
195
198
|
schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
196
199
|
};
|
|
197
|
-
dataClassification: "
|
|
200
|
+
dataClassification: "secret" | "user" | "public" | "sensitive";
|
|
198
201
|
rendererView: "denied" | "raw" | "redacted";
|
|
199
202
|
retry: {
|
|
200
203
|
mode: "read";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-capability.d.ts","sourceRoot":"","sources":["../../src/remote/queue-capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAUN,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGnF,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAE3D,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AASzC,iFAAiF;AACjF,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"queue-capability.d.ts","sourceRoot":"","sources":["../../src/remote/queue-capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queue owner's side of a remote claimant's call
|
|
3
|
+
* (`RemoteQueueHttpRequest`): a dequeue goes through the claim policy, and
|
|
4
|
+
* every other call touches only a job this claimant holds, the claim stamped
|
|
5
|
+
* `claimedByHostId` at dequeue. Writes stay guarded by the owner's claim
|
|
6
|
+
* token and generation.
|
|
7
|
+
*/
|
|
8
|
+
import { type RuntimeRef } from '@vibesdotdev/kernel';
|
|
9
|
+
import type { JobMutationStamp } from '../core/schemas/index.ts';
|
|
10
|
+
import { type RemoteClaimant } from './claim-policy.ts';
|
|
11
|
+
import { type RemoteJobJson } from './http-wire.ts';
|
|
12
|
+
export declare function serveRemoteQueueCall(runtime: Pick<RuntimeRef, 'hasKind' | 'query'>, claimant: RemoteClaimant, body: unknown): Promise<RemoteJobJson | JobMutationStamp | null>;
|
|
13
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/remote/serve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAA4B,KAAK,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWnG,wBAAsB,oBAAoB,CACzC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,EAC9C,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,GACX,OAAO,CAAC,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAAC,CA+BlD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The queue owner's side of a remote claimant's call
|
|
3
|
+
* (`RemoteQueueHttpRequest`): a dequeue goes through the claim policy, and
|
|
4
|
+
* every other call touches only a job this claimant holds, the claim stamped
|
|
5
|
+
* `claimedByHostId` at dequeue. Writes stay guarded by the owner's claim
|
|
6
|
+
* token and generation.
|
|
7
|
+
*/
|
|
8
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
9
|
+
import { JsonValueSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
10
|
+
import { getWorkersClient } from "../client/get-workers-client.js";
|
|
11
|
+
import { dequeueForRemoteClaimant, RemoteClaimantSchema } from "./claim-policy.js";
|
|
12
|
+
import { remoteJobToJson, RemoteQueueHttpRequestSchema } from "./http-wire.js";
|
|
13
|
+
import { toRemoteJob } from "./queue-capability.js";
|
|
14
|
+
function notHeld(queue, jobId, hostId) {
|
|
15
|
+
return new CapabilityError('This host does not hold a claim on that job.', 'PERMISSION_DENIED', {
|
|
16
|
+
reason: 'workers-claim-not-held',
|
|
17
|
+
retryable: false,
|
|
18
|
+
details: { queue, jobId, hostId }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function serveRemoteQueueCall(runtime, claimant, body) {
|
|
22
|
+
const verified = RemoteClaimantSchema.parse(claimant);
|
|
23
|
+
const request = RemoteQueueHttpRequestSchema.parse(body);
|
|
24
|
+
if (request.method === 'dequeue') {
|
|
25
|
+
const job = await dequeueForRemoteClaimant(runtime, verified, request.queue, request.options);
|
|
26
|
+
return job ? remoteJobToJson(job) : null;
|
|
27
|
+
}
|
|
28
|
+
const queue = await (await getWorkersClient(runtime)).getQueue(request.queue);
|
|
29
|
+
const job = await queue.getJob(request.jobId);
|
|
30
|
+
if (!job || job.metadata?.claimedByHostId !== verified.hostId)
|
|
31
|
+
throw notHeld(request.queue, request.jobId, verified.hostId);
|
|
32
|
+
switch (request.method) {
|
|
33
|
+
case 'getJob':
|
|
34
|
+
return remoteJobToJson(toRemoteJob(job));
|
|
35
|
+
case 'updateJob':
|
|
36
|
+
return queue.updateJob(request.jobId, request.update, request.guard);
|
|
37
|
+
case 'renewExecution':
|
|
38
|
+
await queue.renewExecution(request.jobId, request.claim);
|
|
39
|
+
return null;
|
|
40
|
+
case 'releaseExecution':
|
|
41
|
+
await queue.releaseExecution(request.jobId, request.claim);
|
|
42
|
+
return null;
|
|
43
|
+
case 'broadcastEvent':
|
|
44
|
+
if (!queue.broadcastEvent) {
|
|
45
|
+
throw new CapabilityError(`Queue '${request.queue}' does not carry job events.`, 'UNAVAILABLE', {
|
|
46
|
+
reason: 'workers-queue-events-unsupported', retryable: false
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
await queue.broadcastEvent(request.jobId, request.event, request.guard, request.data === undefined ? undefined : JsonValueSchema.parse(request.data));
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/remote/serve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAuB,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAsB,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,SAAS,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc;IAC5D,OAAO,IAAI,eAAe,CAAC,8CAA8C,EAAE,mBAAmB,EAAE;QAC/F,MAAM,EAAE,wBAAwB;QAChC,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;KACjC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,OAA8C,EAC9C,QAAwB,EACxB,IAAa;IAEb,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ,CAAC,MAAM;QAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5H,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,QAAQ;YACZ,OAAO,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,KAAK,WAAW;YACf,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,gBAAgB;YACpB,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACb,KAAK,kBAAkB;YACtB,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACb,KAAK,gBAAgB;YACpB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC3B,MAAM,IAAI,eAAe,CAAC,UAAU,OAAO,CAAC,KAAK,8BAA8B,EAAE,aAAa,EAAE;oBAC/F,MAAM,EAAE,kCAAkC,EAAE,SAAS,EAAE,KAAK;iBAC5D,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EACrE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;IACd,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../src/runnable/job/change-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAwF,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOxJ,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../src/runnable/job/change-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAwF,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOxJ,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB,CAiF5E"}
|