@t4h.framework/dev 0.20.0 → 0.20.2

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 (43) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/dist/Server.js +2 -1
  3. package/dist/Server.js.map +1 -1
  4. package/dist/constants/server.d.ts +1 -0
  5. package/dist/constants/server.js +1 -0
  6. package/dist/constants/server.js.map +1 -1
  7. package/dist/integrations/fs.d.ts +7 -3
  8. package/dist/integrations/fs.js +3 -1
  9. package/dist/integrations/fs.js.map +1 -1
  10. package/dist/integrations/http.d.ts +1 -1
  11. package/dist/integrations/http.js +2 -1
  12. package/dist/integrations/http.js.map +1 -1
  13. package/dist/models/FrameworkConfig.d.ts +2 -7
  14. package/dist/models/FrameworkConfig.js +1 -1
  15. package/dist/models/FrameworkConfig.js.map +1 -1
  16. package/dist/models/claims/DevAssetClaim.d.ts +5 -0
  17. package/dist/models/claims/DevAssetClaim.js +21 -0
  18. package/dist/models/claims/DevAssetClaim.js.map +1 -0
  19. package/dist/services/CallbackAuthorizers.service.js +1 -0
  20. package/dist/services/CallbackAuthorizers.service.js.map +1 -1
  21. package/dist/tools/build-tools.d.ts +1 -1
  22. package/dist/tools/build-tools.js +1 -1
  23. package/dist/tools/build-tools.js.map +1 -1
  24. package/dist/tools/copy-assets.d.ts +1 -0
  25. package/dist/tools/{copy-additional-files.js → copy-assets.js} +3 -3
  26. package/dist/tools/copy-assets.js.map +1 -0
  27. package/dist/tools/json-codec.js +2 -2
  28. package/dist/tools/json-codec.js.map +1 -1
  29. package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.d.ts +5 -1
  30. package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js +7 -4
  31. package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js.map +1 -1
  32. package/dist/tools/resolve-asset-path.d.ts +1 -0
  33. package/dist/tools/resolve-asset-path.js +12 -0
  34. package/dist/tools/resolve-asset-path.js.map +1 -0
  35. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.d.ts +4 -0
  36. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js +29 -10
  37. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js.map +1 -1
  38. package/dist/workers/app-process.d.ts +1 -0
  39. package/dist/workers/app-process.js +19 -0
  40. package/dist/workers/app-process.js.map +1 -1
  41. package/package.json +23 -23
  42. package/dist/tools/copy-additional-files.d.ts +0 -1
  43. package/dist/tools/copy-additional-files.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,106 @@
1
1
  # @t4h.framework/dev
2
2
 
3
+ ## 0.20.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#172](https://github.com/tech4humans-brasil/framework/pull/172) [`934d7cf`](https://github.com/tech4humans-brasil/framework/commit/934d7cf97bf6961086c5e89c07ca04a834015d22) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Rejects a `Binary` the dev server cannot address instead of trying to serialize
8
+ it.
9
+
10
+ A `Binary` implemented in the App matched no codec kind and fell through to the
11
+ generic object branch, which walks a `Buffer` one property per byte — around
12
+ 100 MB of heap and 8 MB of JSON for a 760 KB file, on every serialization. It
13
+ surfaced as an out-of-memory crash with nothing pointing at the cause, and only
14
+ in development: a published project fails on the same value with a clear error.
15
+
16
+ It now fails the same way, with `Unsupported binary instance`, so the mistake
17
+ shows up while you are writing the workflow. Always take a `Binary` from the
18
+ framework — a response body, `sftp.get`, `read`, `write`, `join`, `asset` — and
19
+ never implement the class yourself.
20
+
21
+ - [#173](https://github.com/tech4humans-brasil/framework/pull/173) [`4e3e687`](https://github.com/tech4humans-brasil/framework/commit/4e3e6879620a057ffc588163936434800590bdfe) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Caps how many workflow runs the dev server advances at the same time.
22
+
23
+ Every child run was scheduled on its own, so a `split` over thousands of blocks
24
+ started every child at once and exhausted the heap before any of them finished
25
+ — a workflow that fans out over a large file could not be tried locally at all.
26
+
27
+ Runs now go through a FIFO queue bounded by
28
+ `WORKFLOW_RUN_NEXT_TICK_CONCURRENCY`. Children still run in parallel, just not
29
+ all at once, which also makes local behaviour closer to what a bounded worker
30
+ pool does when the project is published.
31
+
32
+ - [#174](https://github.com/tech4humans-brasil/framework/pull/174) [`7cd75e4`](https://github.com/tech4humans-brasil/framework/commit/7cd75e4f557d9f5fbe3e486d5a3981186fa38797) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Adds `asset(path)`, which reads a file shipped with the project.
33
+
34
+ Fonts a PDF embeds, images a template draws, a fixed lookup table: they belong
35
+ to the project, not to a run. Reading them with `readFileSync` appears to work
36
+ and then costs dearly, because every primitive persists its input — a value
37
+ holding a `Buffer` is serialized whole, once per activity that receives it, so
38
+ a 1.5 MB font used by a workflow that runs per record is written into the
39
+ history per record. `asset` returns a `Binary`, which travels as a reference
40
+ and is read only where the bytes are needed.
41
+
42
+ Declare the files in `framework.config.ts` under `build.assets` (renamed from
43
+ `build.additionalFiles`, with no fallback — rename the key to keep shipping
44
+ files). `build` now records the copied paths and `publish` sends them, so a
45
+ runtime knows which entries of the artifact are assets. `AssetClaim` is the
46
+ contract each runtime implements.
47
+
48
+ - [#175](https://github.com/tech4humans-brasil/framework/pull/175) [`6e6d3de`](https://github.com/tech4humans-brasil/framework/commit/6e6d3de20895bae1b6faf1bdc32aa4f7c136ef0f) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Adds `HttpBodyRef`, a value in a JSON body resolved when the request is made,
49
+ and a raw `{ binary }` request body.
50
+
51
+ The body of a request is the activity's input, and inputs are persisted. That
52
+ makes two common attachment shapes traps. An encoded file writes the whole file
53
+ into the history, once per request. And a pre-signed URL expires: between
54
+ persisting the input and the request going out there is a queue with no bound
55
+ on how long it holds a message, so a URL minted beforehand can arrive expired.
56
+
57
+ `HttpBodyRef` keeps both out of the history — what is persisted is what the
58
+ subclass serializes, the recipe rather than the result. It is the body
59
+ counterpart of `HttpAuth`, which for the same reason stores how to get a token
60
+ and never the token. `HttpBodyUpload` is the ready-made case: it asks an
61
+ endpoint for a signed destination, uploads the `Binary`, and resolves to the
62
+ URL, configured by data so one class covers any mint-then-upload flow.
63
+
64
+ A `{ binary }` body streams from storage to the wire instead of being buffered.
65
+
66
+ - Updated dependencies [[`7cd75e4`](https://github.com/tech4humans-brasil/framework/commit/7cd75e4f557d9f5fbe3e486d5a3981186fa38797), [`6e6d3de`](https://github.com/tech4humans-brasil/framework/commit/6e6d3de20895bae1b6faf1bdc32aa4f7c136ef0f)]:
67
+ - @t4h.framework/fs@0.9.5
68
+ - @t4h.framework/http@0.6.4
69
+
70
+ ## 0.20.1
71
+
72
+ ### Patch Changes
73
+
74
+ - [#170](https://github.com/tech4humans-brasil/framework/pull/170) [`aa72268`](https://github.com/tech4humans-brasil/framework/commit/aa72268d040a743743cac31cc14e26b8620b0e3f) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Adds the `jwks` callback auth: a detached signature over the callback body,
75
+ verified with the public key the `kid` resolves to at a JWKS URL — the way Amber
76
+ signs its webhooks.
77
+
78
+ **core**: `AsyncActivityCallbackAuthJwks` joins `AsyncActivityCallbackAuth`
79
+ (`jwksUri`, `header`, `kid`/`kidHeader`, `algorithm`/`algorithmHeader`,
80
+ `signatureFormat`/`signatureFormatHeader`, `timestampHeader`,
81
+ `toleranceInSeconds`, `signedPayload` as a template over `{timestamp}` and
82
+ `{body}`).
83
+
84
+ **jwks**: `jwksCallback` (default of `@t4h.framework/jwks/callback`) now serves
85
+ both `jwt` and `jwks`. Hosts pass it as `{ jwt: jwksCallback, jwks: jwksCallback }`.
86
+
87
+ **dev**: loads `@t4h.framework/jwks` for the `jwks` type as well.
88
+
89
+ **webhook**: documents the new type.
90
+
91
+ - Updated dependencies [[`aa72268`](https://github.com/tech4humans-brasil/framework/commit/aa72268d040a743743cac31cc14e26b8620b0e3f)]:
92
+ - @t4h.framework/core@0.14.0
93
+ - @t4h.framework/jwks@0.7.0
94
+ - @t4h.framework/webhook@0.2.1
95
+ - @t4h.framework/cache@0.6.4
96
+ - @t4h.framework/fs@0.9.4
97
+ - @t4h.framework/hmac@0.3.1
98
+ - @t4h.framework/http@0.6.3
99
+ - @t4h.framework/oidc@0.6.4
100
+ - @t4h.framework/orm@0.7.5
101
+ - @t4h.framework/sftp@0.7.4
102
+ - @t4h.framework/smtp@0.6.4
103
+
3
104
  ## 0.20.0
4
105
 
5
106
  ### Minor Changes
package/dist/Server.js CHANGED
@@ -60,7 +60,8 @@ export class Server extends EventEmitter {
60
60
  const { entrypoint, port = DEFAULT_PORT, host = DEFAULT_HOST, vite, } = this.options;
61
61
  this.packageJsonPath = await resolvePackageJsonPath(entrypoint);
62
62
  const tsConfigPath = await resolveTsconfigFromPackageJsonPath(this.packageJsonPath);
63
- this.outDir = await mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, this.packageJsonPath);
63
+ const project = await mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, this.packageJsonPath);
64
+ this.outDir = project.outDir;
64
65
  const projectDir = path.dirname(this.packageJsonPath);
65
66
  const app = createApp({
66
67
  appProcess: this.appProcess,
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,oDAAoD,EAAE,MAAM,4EAA4E,CAAA;AACjJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAA;AAC5G,OAAO,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAA;AAyB7E,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,IAAI,CACrD,MAAM,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CACnE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAwB;IACxC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;IACpB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAA;IAC1D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,OAAO,MAAO,SAAQ,YAAY;IAWT;IAVZ,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;IAC7B,MAAM,CAAqB;IACpC,MAAM,GAAmB,EAAE,CAAA;IAC3B,cAAc,GAA0B,IAAI,CAAA;IAC5C,UAAU,GAAuB,IAAI,CAAA;IACrC,IAAI,GAAyB,IAAI,CAAA;IACjC,cAAc,GAAyB,IAAI,CAAA;IAC3C,eAAe,GAAkB,IAAI,CAAA;IACrC,MAAM,GAAkB,IAAI,CAAA;IAEpC,YAA6B,OAAsB;QACjD,KAAK,EAAE,CAAA;QADoB,YAAO,GAAP,OAAO,CAAe;QAGjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAA;QAE3E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAChC,IAAI,IAAI;gBACN,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,SAAS,CAAC,KAAK,EAAE,iCAAiC,IAAI,EAAE,EAAE;oBACxD,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CACH,CAAA;YAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,KAAK,MAAM,KAAK,IAAI,mBAAmB;YACrC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;IACjC,CAAC;IAED,IAAW,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAEpE,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,EAAE;QACb,MAAM,EACJ,UAAU,EACV,IAAI,GAAG,YAAY,EACnB,IAAI,GAAG,YAAY,EACnB,IAAI,GACL,GAAG,IAAI,CAAC,OAAO,CAAA;QAEhB,IAAI,CAAC,eAAe,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAE/D,MAAM,YAAY,GAAG,MAAM,kCAAkC,CAC3D,IAAI,CAAC,eAAe,CACrB,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,oDAAoD,CACxE,YAAY,EACZ,IAAI,CAAC,eAAe,CACrB,CAAA;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAErD,MAAM,GAAG,GAAG,SAAS,CAAC;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI;YACZ,UAAU;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAExB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;YAEtD,IAAI,SAAS,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAEvD,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;YAEpC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,IAAI,KAAK,KAAK;YAChB,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QAEvE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAE/C,IAAI,QAAQ,KAAK,IAAI;YACnB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,iBAAiB,IAAI,yBAAyB,QAAQ,EAAE,CAAC,CAAA;QAE5E,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAEhC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG;YACpB,IAAI;YACJ,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,UAAU,IAAI,IAAI,QAAQ,EAAE;SAClC,CAAA;QAED,IAAI,CAAC,MAAM,EAAE,GAAG,CACd,yBAAyB,IAAI,CAAC,cAAc,CAAC,GAAG,gCAAgC,CACjF,CAAA;QAED,IAAI,CAAC,cAAc,GAAG,YAAY,CAChC,YAAY,EACZ;YACE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YACtC,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,KAAK;SACtB,EACD;YACE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxC,MAAM,EAAE,WAAW,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;gBAE/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;YACtC,CAAC;YACD,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACjB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAExB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACnC,CAAC;SACF,CACF,CAAA;QAED,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAE1B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QAE5B,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAElC,IAAI,UAAU;YACZ,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAChE,CAAC,CAAC,CAAA;QAEJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QAEjD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YAClE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC,CAAA;QAEF,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ;YACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAEzC,MAAM,UAAU,GAAG,aAAa,CAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CACjD,CAAC,IAAI,CAAA;QAEN,IAAI,QAAqB,CAAA;QAEzB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG;aACpC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,SAAS,CAAC,KAAK,EAAE,+BAA+B,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,EACF,KAAK,CACN,CAAA;YAED,OAAM;QACR,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa;gBAAE,SAAQ;YAE9D,MAAM,KAAK,GAAG,IAAI,iCAAiC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAExE,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,SAAS,CAAC,KAAK,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CACH,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAEzB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE/B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,YAAY,CAAC;gBACX,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;gBAChC,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CACH,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,UAAuB,EACvB,UAAkB,EAClB,EAAE,IAAI,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,EAAqB;QAE7D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QAE7C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAA;QAE3E,OAAO,YAAY,CAAC;YAClB,IAAI;YACJ,UAAU;YACV,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YAC7D,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAC/D,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -9,3 +9,4 @@ export declare const PROJECTS_ROUTES_PREFIX = "/projects";
9
9
  export declare const DEV_ROUTES_PREFIX = "/_dev";
10
10
  export declare const SERVER_URL_ARG = "--server-url=";
11
11
  export declare const WORKFLOW_RUN_EVENTS: readonly ["run:created", "run:updated"];
12
+ export declare const WORKFLOW_RUN_NEXT_TICK_CONCURRENCY = 10;
@@ -9,4 +9,5 @@ export const PROJECTS_ROUTES_PREFIX = '/projects';
9
9
  export const DEV_ROUTES_PREFIX = '/_dev';
10
10
  export const SERVER_URL_ARG = '--server-url=';
11
11
  export const WORKFLOW_RUN_EVENTS = ['run:created', 'run:updated'];
12
+ export const WORKFLOW_RUN_NEXT_TICK_CONCURRENCY = 10;
12
13
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/constants/server.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAElD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAE3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/constants/server.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAA;AAElD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAE3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAA;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,aAAa,CAAU,CAAA;AAE1E,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAA"}
@@ -1,6 +1,10 @@
1
- import { FileSystemClaim } from '@t4h.framework/fs';
1
+ import { AssetClaim, FileSystemClaim } from '@t4h.framework/fs';
2
+ import { DevAssetClaim } from '../models/claims/DevAssetClaim.js';
2
3
  import { DevFileSystemClaim } from '../models/claims/DevFileSystemClaim.js';
3
- export declare const claims: {
4
+ export declare const claims: ({
4
5
  provide: typeof FileSystemClaim;
5
6
  value: DevFileSystemClaim;
6
- }[];
7
+ } | {
8
+ provide: typeof AssetClaim;
9
+ value: DevAssetClaim;
10
+ })[];
@@ -1,6 +1,8 @@
1
- import { FileSystemClaim } from '@t4h.framework/fs';
1
+ import { AssetClaim, FileSystemClaim } from '@t4h.framework/fs';
2
+ import { DevAssetClaim } from '../models/claims/DevAssetClaim.js';
2
3
  import { DevFileSystemClaim } from '../models/claims/DevFileSystemClaim.js';
3
4
  export const claims = [
4
5
  { provide: FileSystemClaim, value: new DevFileSystemClaim() },
6
+ { provide: AssetClaim, value: new DevAssetClaim() },
5
7
  ];
6
8
  //# sourceMappingURL=fs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/integrations/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,EAAE;CAC9D,CAAA"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/integrations/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,EAAE;IAC7D,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,aAAa,EAAE,EAAE;CACpD,CAAA"}
@@ -5,4 +5,4 @@ export declare const claims: {
5
5
  provide: typeof HttpClientRequestClaim;
6
6
  value: DevHttpClientRequestClaim;
7
7
  }[];
8
- export declare const kinds: (Kind<"http:body", import("@t4h.framework/core").SerializableClass> | Kind<"oauth2:client-credentials-grant", import("@t4h.framework/core").SerializableClass> | Kind<"oauth2:grant-resource-owner-password", import("@t4h.framework/core").SerializableClass>)[];
8
+ export declare const kinds: (Kind<"http:body", import("@t4h.framework/core").SerializableClass> | Kind<"http:body-upload", import("@t4h.framework/core").SerializableClass> | Kind<"oauth2:client-credentials-grant", import("@t4h.framework/core").SerializableClass> | Kind<"oauth2:grant-resource-owner-password", import("@t4h.framework/core").SerializableClass>)[];
@@ -1,4 +1,4 @@
1
- import { Body, HttpClientRequestClaim, OAuth2ClientCredentials, OAuth2GrantResourceOwnerPassword, } from '@t4h.framework/http';
1
+ import { Body, HttpBodyUpload, HttpClientRequestClaim, OAuth2ClientCredentials, OAuth2GrantResourceOwnerPassword, } from '@t4h.framework/http';
2
2
  import { DevHttpClientRequestClaim } from '../models/claims/DevHttpClientRequestClaim.js';
3
3
  import { JSONCodecKindFrameworkSerializableClass as Kind } from '../models/JSONCodecKindFrameworkSerializableClass.js';
4
4
  export const claims = [
@@ -6,6 +6,7 @@ export const claims = [
6
6
  ];
7
7
  export const kinds = [
8
8
  new Kind('http:body', Body),
9
+ new Kind('http:body-upload', HttpBodyUpload),
9
10
  new Kind('oauth2:client-credentials-grant', OAuth2ClientCredentials),
10
11
  new Kind('oauth2:grant-resource-owner-password', OAuth2GrantResourceOwnerPassword),
11
12
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/integrations/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAA;AACzF,OAAO,EAAE,uCAAuC,IAAI,IAAI,EAAE,MAAM,sDAAsD,CAAA;AAEtH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,yBAAyB,EAAE,EAAE;CAC5E,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,iCAAiC,EAAE,uBAAuB,CAAC;IACpE,IAAI,IAAI,CACN,sCAAsC,EACtC,gCAAgC,CACjC;CACF,CAAA"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/integrations/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAA;AACzF,OAAO,EAAE,uCAAuC,IAAI,IAAI,EAAE,MAAM,sDAAsD,CAAA;AAEtH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,yBAAyB,EAAE,EAAE;CAC5E,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,IAAI,IAAI,CAAC,iCAAiC,EAAE,uBAAuB,CAAC;IACpE,IAAI,IAAI,CACN,sCAAsC,EACtC,gCAAgC,CACjC;CACF,CAAA"}
@@ -1,10 +1,5 @@
1
1
  export type FrameworkBuildConfig = {
2
- /**
3
- * Glob patterns, relative to the package root, of files copied verbatim
4
- * into the build output (e.g. `['assets/**']`). Patterns must not escape
5
- * the package root.
6
- */
7
- additionalFiles?: readonly string[];
2
+ assets?: readonly string[];
8
3
  };
9
4
  export type FrameworkConfig = {
10
5
  build?: FrameworkBuildConfig;
@@ -17,7 +12,7 @@ export type FrameworkConfig = {
17
12
  * import { defineConfig } from '@t4h.framework/dev/config'
18
13
  *
19
14
  * export default defineConfig({
20
- * build: { additionalFiles: ['assets/**'] },
15
+ * build: { assets: ['assets/**'] },
21
16
  * })
22
17
  */
23
18
  export declare function defineConfig(config: FrameworkConfig): FrameworkConfig;
@@ -6,7 +6,7 @@
6
6
  * import { defineConfig } from '@t4h.framework/dev/config'
7
7
  *
8
8
  * export default defineConfig({
9
- * build: { additionalFiles: ['assets/**'] },
9
+ * build: { assets: ['assets/**'] },
10
10
  * })
11
11
  */
12
12
  export function defineConfig(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"FrameworkConfig.js","sourceRoot":"","sources":["../../src/models/FrameworkConfig.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"FrameworkConfig.js","sourceRoot":"","sources":["../../src/models/FrameworkConfig.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AssetClaim } from '@t4h.framework/fs';
2
+ import { DevFileBinary } from '../DevFileBinary.js';
3
+ export declare class DevAssetClaim extends AssetClaim {
4
+ resolve(path: string): Promise<DevFileBinary>;
5
+ }
@@ -0,0 +1,21 @@
1
+ import fs from 'node:fs';
2
+ import { AssetClaim } from '@t4h.framework/fs';
3
+ import mime from 'mime-types';
4
+ import { resolveAssetPath } from '../../tools/resolve-asset-path.js';
5
+ import { bundleRoot } from '../../workers/app-process.js';
6
+ import { DevFileBinary } from '../DevFileBinary.js';
7
+ export class DevAssetClaim extends AssetClaim {
8
+ async resolve(path) {
9
+ const filepath = resolveAssetPath(bundleRoot(), path);
10
+ const stat = await fs.promises.stat(filepath).catch(() => {
11
+ throw new Error(`Asset "${path}" not found in the project bundle; ` +
12
+ `add it to build.assets in framework.config.ts`);
13
+ });
14
+ return DevFileBinary.from({
15
+ path: filepath,
16
+ contentType: mime.lookup(filepath) || 'application/octet-stream',
17
+ contentLength: stat.size,
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=DevAssetClaim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevAssetClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevAssetClaim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,IAAI,MAAM,YAAY,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,OAAO,aAAc,SAAQ,UAAU;IACpC,KAAK,CAAC,OAAO,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAA;QAErD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACvD,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,qCAAqC;gBACjD,+CAA+C,CAClD,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,aAAa,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;YAChE,aAAa,EAAE,IAAI,CAAC,IAAI;SACzB,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -8,6 +8,7 @@ import { Injectable } from 'pleroma';
8
8
  export const CALLBACK_AUTHORIZER_PACKAGES = {
9
9
  hmac: '@t4h.framework/hmac',
10
10
  jwt: '@t4h.framework/jwks',
11
+ jwks: '@t4h.framework/jwks',
11
12
  };
12
13
  function isModuleNotFound(error, packageName) {
13
14
  if (!(error instanceof Error))
@@ -1 +1 @@
1
- {"version":3,"file":"CallbackAuthorizers.service.js","sourceRoot":"","sources":["../../src/services/CallbackAuthorizers.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGpC,MAAM,CAAC,MAAM,4BAA4B,GAErC;IACF,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE,qBAAqB;CAC3B,CAAA;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,WAAmB;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAA;IAE7E,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,WAAW,WAAW,CAAC,CAAmB,CAAA;QAE1E,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YAAE,MAAM,KAAK,CAAA;QAEtD,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC7B,WAAW,CAAwD;IAEpE,GAAG;QACR,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAC9C,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAC5B,CAAC,IAAI,EAAE,MAAM,eAAe,CAAC,WAAW,CAAC,CAAU,CACtD,CACF,CAAA;QAED,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,CACxB,CAAA;IACxC,CAAC;CACF,CAAA;AAnBY,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAmBtC"}
1
+ {"version":3,"file":"CallbackAuthorizers.service.js","sourceRoot":"","sources":["../../src/services/CallbackAuthorizers.service.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGpC,MAAM,CAAC,MAAM,4BAA4B,GAErC;IACF,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE,qBAAqB;IAC1B,IAAI,EAAE,qBAAqB;CAC5B,CAAA;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,WAAmB;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAA;IAE7E,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,WAAW,WAAW,CAAC,CAAmB,CAAA;QAE1E,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC;YAAE,MAAM,KAAK,CAAA;QAEtD,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC7B,WAAW,CAAwD;IAEpE,GAAG;QACR,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAC9C,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAC5B,CAAC,IAAI,EAAE,MAAM,eAAe,CAAC,WAAW,CAAC,CAAU,CACtD,CACF,CAAA;QAED,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,CACxB,CAAA;IACxC,CAAC;CACF,CAAA;AAnBY,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAmBtC"}
@@ -1,5 +1,5 @@
1
1
  export * from '../models/FrameworkConfig.js';
2
- export * from './copy-additional-files.js';
2
+ export * from './copy-assets.js';
3
3
  export * from './load-framework-config.js';
4
4
  export * from './mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
5
5
  export * from './resolve-package-json-path.js';
@@ -1,5 +1,5 @@
1
1
  export * from '../models/FrameworkConfig.js';
2
- export * from './copy-additional-files.js';
2
+ export * from './copy-assets.js';
3
3
  export * from './load-framework-config.js';
4
4
  export * from './mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
5
5
  export * from './resolve-package-json-path.js';
@@ -1 +1 @@
1
- {"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sEAAsE,CAAA;AACpF,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mDAAmD,CAAA;AACjE,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"build-tools.js","sourceRoot":"","sources":["../../src/tools/build-tools.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sEAAsE,CAAA;AACpF,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mDAAmD,CAAA;AACjE,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function copyAssets(projectDir: string, outDir: string, patterns: readonly string[]): Promise<string[]>;
@@ -1,6 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
- export async function copyAdditionalFiles(projectDir, outDir, patterns) {
3
+ export async function copyAssets(projectDir, outDir, patterns) {
4
4
  const copied = [];
5
5
  for await (const entry of fs.promises.glob([...patterns], {
6
6
  cwd: projectDir,
@@ -11,7 +11,7 @@ export async function copyAdditionalFiles(projectDir, outDir, patterns) {
11
11
  const absolute = path.join(entry.parentPath, entry.name);
12
12
  const relative = path.relative(projectDir, absolute);
13
13
  if (relative.startsWith('..') || path.isAbsolute(relative))
14
- throw new Error(`Additional file must not escape the package root: ${absolute}`);
14
+ throw new Error(`Asset must not escape the package root: ${absolute}`);
15
15
  const target = path.join(outDir, relative);
16
16
  await fs.promises.mkdir(path.dirname(target), { recursive: true });
17
17
  await fs.promises.copyFile(absolute, target);
@@ -19,4 +19,4 @@ export async function copyAdditionalFiles(projectDir, outDir, patterns) {
19
19
  }
20
20
  return copied;
21
21
  }
22
- //# sourceMappingURL=copy-additional-files.js.map
22
+ //# sourceMappingURL=copy-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-assets.js","sourceRoot":"","sources":["../../src/tools/copy-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,MAAc,EACd,QAA2B;IAE3B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;QACxD,GAAG,EAAE,UAAU;QACf,aAAa,EAAE,IAAI;KACpB,CAAC,EAAE,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAQ;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEpD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,EAAE,CACtD,CAAA;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE1C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAElE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE5C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -3,14 +3,14 @@ import { getIntegrations } from '../integrations/index.js';
3
3
  import { DevFileBinary } from '../models/DevFileBinary.js';
4
4
  import { JSONCodec, JSONCodecKind } from '../models/JSONCodec.js';
5
5
  const jsonDateKind = new JSONCodecKind('date', value => value instanceof Date, (date) => date.toISOString(), (date) => new Date(date));
6
- const jsonFileBinaryKind = new JSONCodecKind('binary', value => value instanceof DevFileBinary, (binary) => {
6
+ const jsonBinaryKind = new JSONCodecKind('binary', value => value instanceof Binary, (binary) => {
7
7
  if (!(binary instanceof DevFileBinary))
8
8
  throw new TypeError('Unsupported binary instance');
9
9
  return binary.toJSON();
10
10
  }, json => DevFileBinary.from(json));
11
11
  const load = async () => {
12
12
  const integrations = await getIntegrations();
13
- return new JSONCodec(jsonDateKind, jsonFileBinaryKind, ...integrations.flatMap(({ kinds }) => kinds ?? []));
13
+ return new JSONCodec(jsonDateKind, ...integrations.flatMap(({ kinds }) => kinds ?? []), jsonBinaryKind);
14
14
  };
15
15
  let codec;
16
16
  export const getJsonCodec = () => (codec ??= load());
@@ -1 +1 @@
1
- {"version":3,"file":"json-codec.js","sourceRoot":"","sources":["../../src/tools/json-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAIjE,MAAM,YAAY,GAAG,IAAI,aAAa,CACpC,MAAM,EACN,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,EAC9B,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAClC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,aAAa,CAC1C,QAAQ,EACR,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,aAAa,EACvC,CAAC,MAAc,EAAE,EAAE;IACjB,IAAI,CAAC,CAAC,MAAM,YAAY,aAAa,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAEpD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AACxB,CAAC,EACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,IAAI,GAAG,KAAK,IAA+B,EAAE;IACjD,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAA;IAE5C,OAAO,IAAI,SAAS,CAClB,YAAY,EACZ,kBAAkB,EAClB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CACpD,CAAA;AACH,CAAC,CAAA;AAED,IAAI,KAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,GAA8B,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"json-codec.js","sourceRoot":"","sources":["../../src/tools/json-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAIjE,MAAM,YAAY,GAAG,IAAI,aAAa,CACpC,MAAM,EACN,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,EAC9B,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAClC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,cAAc,GAAG,IAAI,aAAa,CACtC,QAAQ,EACR,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,MAAM,EAChC,CAAC,MAAc,EAAE,EAAE;IACjB,IAAI,CAAC,CAAC,MAAM,YAAY,aAAa,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAEpD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AACxB,CAAC,EACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,IAAI,GAAG,KAAK,IAA+B,EAAE;IACjD,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAA;IAE5C,OAAO,IAAI,SAAS,CAClB,YAAY,EACZ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EACnD,cAAc,CACf,CAAA;AACH,CAAC,CAAA;AAED,IAAI,KAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,GAA8B,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA"}
@@ -1 +1,5 @@
1
- export declare function mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath: string, packageJsonPath: string): Promise<string>;
1
+ export interface OutDirProject {
2
+ outDir: string;
3
+ assets: readonly string[];
4
+ }
5
+ export declare function mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath: string, packageJsonPath: string): Promise<OutDirProject>;
@@ -1,7 +1,7 @@
1
1
  import crypto from 'node:crypto';
2
2
  import fs from 'node:fs';
3
3
  import path from 'node:path';
4
- import { copyAdditionalFiles } from './copy-additional-files.js';
4
+ import { copyAssets } from './copy-assets.js';
5
5
  import { loadFrameworkConfig } from './load-framework-config.js';
6
6
  export async function mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsConfigPath, packageJsonPath) {
7
7
  const outDir = path.join(tsConfigPath, '..', '.temp', crypto.randomBytes(16).toString('base64url'));
@@ -10,8 +10,11 @@ export async function mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath(tsCon
10
10
  await fs.promises.copyFile(packageJsonPath, path.join(outDir, 'package.json'));
11
11
  const projectDir = path.dirname(packageJsonPath);
12
12
  const config = await loadFrameworkConfig(projectDir);
13
- if (config.build?.additionalFiles?.length)
14
- await copyAdditionalFiles(projectDir, outDir, config.build.additionalFiles);
15
- return outDir;
13
+ const patterns = config.build?.assets ?? [];
14
+ const assets = patterns.length
15
+ ? await copyAssets(projectDir, outDir, patterns)
16
+ : [];
17
+ process.send?.(JSON.stringify({ type: 'assets', data: assets }));
18
+ return { outDir, assets };
16
19
  }
17
20
  //# sourceMappingURL=mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js","sourceRoot":"","sources":["../../src/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,oDAAoD,CACxE,YAAoB,EACpB,eAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC7C,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAEhE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEpD,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAE9E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM;QACvC,MAAM,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js","sourceRoot":"","sources":["../../src/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAOhE,MAAM,CAAC,KAAK,UAAU,oDAAoD,CACxE,YAAoB,EACpB,eAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC7C,CAAA;IAED,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAEhE,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEpD,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAA;IAE9E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAA;IAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;QAC5B,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;QAChD,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AAC3B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function resolveAssetPath(root: string, assetPath: string): string;
@@ -0,0 +1,12 @@
1
+ import path from 'node:path';
2
+ export function resolveAssetPath(root, assetPath) {
3
+ if (path.isAbsolute(assetPath))
4
+ throw new TypeError(`Asset path must be relative: ${assetPath}`);
5
+ const resolvedRoot = path.resolve(root);
6
+ const resolved = path.resolve(resolvedRoot, assetPath);
7
+ const relative = path.relative(resolvedRoot, resolved);
8
+ if (relative.startsWith('..') || path.isAbsolute(relative))
9
+ throw new TypeError(`Asset path must not escape the bundle: ${assetPath}`);
10
+ return resolved;
11
+ }
12
+ //# sourceMappingURL=resolve-asset-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-asset-path.js","sourceRoot":"","sources":["../../src/tools/resolve-asset-path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAAiB;IAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAA;IAElE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEtD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAA;IAE5E,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -3,7 +3,11 @@ import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
3
3
  export declare class EnqueueWorkflowRunNextTick {
4
4
  private readonly workflowRun;
5
5
  private readonly lock;
6
+ private readonly pending;
7
+ private running;
6
8
  constructor(workflowRun: WorkflowRunFacade, lock: WorkflowRunLockService);
7
9
  enqueue(runId: string): void;
8
10
  enqueueMany(runIds: readonly string[]): void;
11
+ private drain;
12
+ private run;
9
13
  }
@@ -9,29 +9,48 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
9
  };
10
10
  import { styleText } from 'node:util';
11
11
  import { Inject, Injectable } from 'pleroma';
12
+ import { WORKFLOW_RUN_NEXT_TICK_CONCURRENCY } from '../constants/server.js';
12
13
  import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
13
14
  import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
14
15
  let EnqueueWorkflowRunNextTick = class EnqueueWorkflowRunNextTick {
15
16
  workflowRun;
16
17
  lock;
18
+ pending = [];
19
+ running = 0;
17
20
  constructor(workflowRun, lock) {
18
21
  this.workflowRun = workflowRun;
19
22
  this.lock = lock;
20
23
  }
21
24
  enqueue(runId) {
22
- setImmediate(() => {
23
- this.lock
24
- .detach(() => this.workflowRun.nextTick(runId))
25
- .catch(error => {
26
- console.error(styleText('red', `[Runtime] next tick failed for run ${runId}:`, {
27
- stream: process.stderr,
28
- }), error);
29
- });
30
- });
25
+ this.pending.push(runId);
26
+ this.drain();
31
27
  }
32
28
  enqueueMany(runIds) {
33
29
  for (const runId of runIds)
34
- this.enqueue(runId);
30
+ this.pending.push(runId);
31
+ this.drain();
32
+ }
33
+ drain() {
34
+ while (this.running < WORKFLOW_RUN_NEXT_TICK_CONCURRENCY &&
35
+ this.pending.length > 0) {
36
+ const runId = this.pending.shift();
37
+ this.running += 1;
38
+ setImmediate(() => void this.run(runId));
39
+ }
40
+ }
41
+ async run(runId) {
42
+ try {
43
+ await this.lock.detach(() => this.workflowRun.nextTick(runId));
44
+ }
45
+ catch (error) {
46
+ console.error(styleText('red', `[Runtime] next tick failed for run ${runId}:`, {
47
+ stream: process.stderr,
48
+ }), error);
49
+ }
50
+ finally {
51
+ this.running -= 1;
52
+ this.drain();
53
+ }
35
54
  }
36
55
  };
37
56
  EnqueueWorkflowRunNextTick = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"EnqueueWorkflowRunNextTick.usecase.js","sourceRoot":"","sources":["../../src/use-cases/EnqueueWorkflowRunNextTick.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAGxE,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAGlB;IAGA;IALnB,YAEmB,WAA8B,EAG9B,IAA4B;QAH5B,gBAAW,GAAX,WAAW,CAAmB;QAG9B,SAAI,GAAJ,IAAI,CAAwB;IAC5C,CAAC;IAEG,OAAO,CAAC,KAAa;QAC1B,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI;iBACN,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC9C,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,OAAO,CAAC,KAAK,CACX,SAAS,CAAC,KAAK,EAAE,sCAAsC,KAAK,GAAG,EAAE;oBAC/D,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,EACF,KAAK,CACN,CAAA;YACH,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,WAAW,CAAC,MAAyB;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;CACF,CAAA;AA3BY,0BAA0B;IADtC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAG/B,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAA;GAL5B,0BAA0B,CA2BtC"}
1
+ {"version":3,"file":"EnqueueWorkflowRunNextTick.usecase.js","sourceRoot":"","sources":["../../src/use-cases/EnqueueWorkflowRunNextTick.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAGxE,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAOlB;IAGA;IATF,OAAO,GAAa,EAAE,CAAA;IAE/B,OAAO,GAAG,CAAC,CAAA;IAEnB,YAEmB,WAA8B,EAG9B,IAA4B;QAH5B,gBAAW,GAAX,WAAW,CAAmB;QAG9B,SAAI,GAAJ,IAAI,CAAwB;IAC5C,CAAC;IAEG,OAAO,CAAC,KAAa;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAExB,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAEM,WAAW,CAAC,MAAyB;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpD,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAEO,KAAK;QACX,OACE,IAAI,CAAC,OAAO,GAAG,kCAAkC;YACjD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACvB,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAG,CAAA;YAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,KAAa;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,SAAS,CAAC,KAAK,EAAE,sCAAsC,KAAK,GAAG,EAAE;gBAC/D,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,EACF,KAAK,CACN,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAEjB,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAtDY,0BAA0B;IADtC,UAAU,EAAE;IAOR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAA;IAG/B,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAA;GAT5B,0BAA0B,CAsDtC"}
@@ -5,3 +5,4 @@ export declare const env: Map<string, string>;
5
5
  export declare const serverAddress: {
6
6
  url: string | null;
7
7
  };
8
+ export declare function bundleRoot(): string;
@@ -1,3 +1,4 @@
1
+ import fs from 'node:fs';
1
2
  import path from 'node:path';
2
3
  import { fileURLToPath } from 'node:url';
3
4
  import { Env } from '@t4h.framework/core';
@@ -12,6 +13,23 @@ export let app = null;
12
13
  export const env = new Map();
13
14
  /** Public origin of the dev HTTP server, when the parent started one. */
14
15
  export const serverAddress = { url: null };
16
+ let root = null;
17
+ export function bundleRoot() {
18
+ if (!root)
19
+ throw new Error('App is not up yet');
20
+ return root;
21
+ }
22
+ function findBundleRoot(entrypoint) {
23
+ let dir = path.dirname(path.resolve(entrypoint));
24
+ while (true) {
25
+ if (fs.existsSync(path.join(dir, 'package.json')))
26
+ return dir;
27
+ const parent = path.dirname(dir);
28
+ if (parent === dir)
29
+ throw new Error(`Could not find the bundle root from ${entrypoint}`);
30
+ dir = parent;
31
+ }
32
+ }
15
33
  const isForkedEntry = !!process.argv[1] &&
16
34
  path.resolve(process.argv[1]) === fileURLToPath(import.meta.url);
17
35
  if (isForkedEntry) {
@@ -29,6 +47,7 @@ if (isForkedEntry) {
29
47
  const [name, value] = [arg.slice(0, index), arg.slice(index + 1)];
30
48
  env.set(name, value);
31
49
  }
50
+ root = findBundleRoot(entrypoint);
32
51
  await Env.run(env, async () => {
33
52
  app = await upApp(entrypoint);
34
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"app-process.js","sourceRoot":"","sources":["../../src/workers/app-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-process.js","sourceRoot":"","sources":["../../src/workers/app-process.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t4h.framework/dev",
3
- "version": "0.20.0",
3
+ "version": "0.20.2",
4
4
  "description": "Dev server for the T4H Framework",
5
5
  "homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/dev",
6
6
  "bugs": "https://github.com/tech4humans-brasil/framework/issues",
@@ -59,18 +59,18 @@
59
59
  "vite": "^8.0.3"
60
60
  },
61
61
  "devDependencies": {
62
- "@t4h.framework/cache": "^0.6.3",
63
- "@t4h.framework/core": "^0.13.0",
64
- "@t4h.framework/fs": "^0.9.3",
65
- "@t4h.framework/hmac": "^0.3.0",
66
- "@t4h.framework/http": "^0.6.2",
67
- "@t4h.framework/jwks": "^0.6.0",
68
- "@t4h.framework/oidc": "^0.6.3",
69
- "@t4h.framework/orm": "^0.7.4",
62
+ "@t4h.framework/cache": "^0.6.4",
63
+ "@t4h.framework/core": "^0.14.0",
64
+ "@t4h.framework/fs": "^0.9.5",
65
+ "@t4h.framework/hmac": "^0.3.1",
66
+ "@t4h.framework/http": "^0.6.4",
67
+ "@t4h.framework/jwks": "^0.7.0",
68
+ "@t4h.framework/oidc": "^0.6.4",
69
+ "@t4h.framework/orm": "^0.7.5",
70
70
  "@t4h.framework/runtime-claims": "^0.1.0",
71
- "@t4h.framework/sftp": "^0.7.3",
72
- "@t4h.framework/smtp": "^0.6.3",
73
- "@t4h.framework/webhook": "^0.2.0",
71
+ "@t4h.framework/sftp": "^0.7.4",
72
+ "@t4h.framework/smtp": "^0.6.4",
73
+ "@t4h.framework/webhook": "^0.2.1",
74
74
  "@types/dot-object": "^2.1.6",
75
75
  "@types/json-schema": "^7.0.15",
76
76
  "@types/mime-types": "^3",
@@ -81,18 +81,18 @@
81
81
  "vitest": "^4.0.18"
82
82
  },
83
83
  "peerDependencies": {
84
- "@t4h.framework/cache": "^0.6.3",
85
- "@t4h.framework/core": "^0.13.0",
86
- "@t4h.framework/fs": "^0.9.3",
87
- "@t4h.framework/hmac": "^0.3.0",
88
- "@t4h.framework/http": "^0.6.2",
89
- "@t4h.framework/jwks": "^0.6.0",
90
- "@t4h.framework/oidc": "^0.6.3",
91
- "@t4h.framework/orm": "^0.7.4",
84
+ "@t4h.framework/cache": "^0.6.4",
85
+ "@t4h.framework/core": "^0.14.0",
86
+ "@t4h.framework/fs": "^0.9.5",
87
+ "@t4h.framework/hmac": "^0.3.1",
88
+ "@t4h.framework/http": "^0.6.4",
89
+ "@t4h.framework/jwks": "^0.7.0",
90
+ "@t4h.framework/oidc": "^0.6.4",
91
+ "@t4h.framework/orm": "^0.7.5",
92
92
  "@t4h.framework/runtime-claims": "^0.1.0",
93
- "@t4h.framework/sftp": "^0.7.3",
94
- "@t4h.framework/smtp": "^0.6.3",
95
- "@t4h.framework/webhook": "^0.2.0",
93
+ "@t4h.framework/sftp": "^0.7.4",
94
+ "@t4h.framework/smtp": "^0.6.4",
95
+ "@t4h.framework/webhook": "^0.2.1",
96
96
  "typescript": "^5.9.3"
97
97
  },
98
98
  "peerDependenciesMeta": {
@@ -1 +0,0 @@
1
- export declare function copyAdditionalFiles(projectDir: string, outDir: string, patterns: readonly string[]): Promise<string[]>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-additional-files.js","sourceRoot":"","sources":["../../src/tools/copy-additional-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,MAAc,EACd,QAA2B;IAE3B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;QACxD,GAAG,EAAE,UAAU;QACf,aAAa,EAAE,IAAI;KACpB,CAAC,EAAE,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAQ;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEpD,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,qDAAqD,QAAQ,EAAE,CAChE,CAAA;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE1C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAElE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE5C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}