@t4h.framework/core 0.12.0 → 0.14.0
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/.ai/skills/framework-core/SKILL.md +1 -1
- package/CHANGELOG.md +79 -0
- package/LICENSE +21 -0
- package/README.md +77 -0
- package/dist/core.d.ts +2 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +2 -0
- package/dist/core.js.map +1 -1
- package/dist/exceptions/AsyncActivityCallbackException.d.ts +13 -0
- package/dist/exceptions/AsyncActivityCallbackException.d.ts.map +1 -0
- package/dist/exceptions/AsyncActivityCallbackException.js +20 -0
- package/dist/exceptions/AsyncActivityCallbackException.js.map +1 -0
- package/dist/models/AsyncActivity.d.ts +2 -0
- package/dist/models/AsyncActivity.d.ts.map +1 -1
- package/dist/models/AsyncActivity.js.map +1 -1
- package/dist/models/AsyncActivityAdvanceResult.d.ts +3 -1
- package/dist/models/AsyncActivityAdvanceResult.d.ts.map +1 -1
- package/dist/models/AsyncActivityAdvanceResult.js +3 -1
- package/dist/models/AsyncActivityAdvanceResult.js.map +1 -1
- package/dist/models/AsyncActivityCallbackAuth.d.ts +15 -1
- package/dist/models/AsyncActivityCallbackAuth.d.ts.map +1 -1
- package/dist/tools/AsyncActivityCallback.d.ts +32 -0
- package/dist/tools/AsyncActivityCallback.d.ts.map +1 -0
- package/dist/tools/AsyncActivityCallback.js +138 -0
- package/dist/tools/AsyncActivityCallback.js.map +1 -0
- package/package.json +1 -1
|
@@ -215,4 +215,4 @@ Do **not** import `@t4h.framework/core/testing` in production app code.
|
|
|
215
215
|
|
|
216
216
|
**Testing (`@t4h.framework/core/testing`):** `TestWorkflowEnvironment`, `TestClock`, `createTestEnv`, `createTestEnvEntries`, `NonDeterministicWorkflowError`.
|
|
217
217
|
|
|
218
|
-
> Core also exports lower-level building blocks used to **author framework packages** themselves. Those are out of scope for building workflows and are not covered here — reach for the primitives above and the companion packages instead.
|
|
218
|
+
> Core also exports lower-level building blocks used to **author framework packages** and **hosts** themselves (e.g. the `AsyncActivityCallback` namespace with the callbacks route helpers `deriveToken`, `isTokenValid`, `authorize`, `parseBody`, `toEvent`, `flattenHeaders`; `pending({ correlationKey })` plus the optional `toCorrelationKey(event)` on `AsyncActivity` for third parties that emit to a fixed URL). Those are out of scope for building workflows and are not covered here — reach for the primitives above and the companion packages instead.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# @t4h.framework/core
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#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,
|
|
8
|
+
verified with the public key the `kid` resolves to at a JWKS URL — the way Amber
|
|
9
|
+
signs its webhooks.
|
|
10
|
+
|
|
11
|
+
**core**: `AsyncActivityCallbackAuthJwks` joins `AsyncActivityCallbackAuth`
|
|
12
|
+
(`jwksUri`, `header`, `kid`/`kidHeader`, `algorithm`/`algorithmHeader`,
|
|
13
|
+
`signatureFormat`/`signatureFormatHeader`, `timestampHeader`,
|
|
14
|
+
`toleranceInSeconds`, `signedPayload` as a template over `{timestamp}` and
|
|
15
|
+
`{body}`).
|
|
16
|
+
|
|
17
|
+
**jwks**: `jwksCallback` (default of `@t4h.framework/jwks/callback`) now serves
|
|
18
|
+
both `jwt` and `jwks`. Hosts pass it as `{ jwt: jwksCallback, jwks: jwksCallback }`.
|
|
19
|
+
|
|
20
|
+
**dev**: loads `@t4h.framework/jwks` for the `jwks` type as well.
|
|
21
|
+
|
|
22
|
+
**webhook**: documents the new type.
|
|
23
|
+
|
|
24
|
+
## 0.13.0
|
|
25
|
+
|
|
26
|
+
### Minor Changes
|
|
27
|
+
|
|
28
|
+
- [#167](https://github.com/tech4humans-brasil/framework/pull/167) [`1b1509f`](https://github.com/tech4humans-brasil/framework/commit/1b1509f9b6d2554dfab1f7633c3d022249e4fa01) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Lets a third party that emits to a fixed URL advance a waiting async activity,
|
|
29
|
+
without the callback URL the activity would otherwise hand out.
|
|
30
|
+
|
|
31
|
+
**core**: `pending({ correlationKey })` declares the key a wait answers to, and
|
|
32
|
+
the optional `toCorrelationKey(event)` on `AsyncActivity` maps an incoming event
|
|
33
|
+
(`AsyncActivityCallback.Event`: method, flattened headers, parsed body, raw body)
|
|
34
|
+
to that key, or `undefined` when the event is not for the activity. It runs on a
|
|
35
|
+
bare instance, outside any run. `AsyncActivityCallback.toEvent(request)` builds
|
|
36
|
+
the event for hosts.
|
|
37
|
+
|
|
38
|
+
**dev**: new public route `POST /projects/:projectId/workflows/:workflowId/events`.
|
|
39
|
+
Every registered activity implementing `toCorrelationKey` is asked for a key;
|
|
40
|
+
the pending of that type waiting on the key inside the workflow has its `auth`
|
|
41
|
+
verified and receives the event as a callback, through the same path as the
|
|
42
|
+
callback URL route. Answers `202 { id, activity }` with the stored callback,
|
|
43
|
+
`202` with an empty body when no activity claims the event or nothing is
|
|
44
|
+
waiting, `401` when the matched pending refused the auth, and `409` when the key
|
|
45
|
+
matches more than one pending, since a correlation key must identify one wait.
|
|
46
|
+
|
|
47
|
+
- [#167](https://github.com/tech4humans-brasil/framework/pull/167) [`1b1509f`](https://github.com/tech4humans-brasil/framework/commit/1b1509f9b6d2554dfab1f7633c3d022249e4fa01) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Moves the callbacks route helpers from `@t4h.framework/webhook` to
|
|
48
|
+
`@t4h.framework/core`. The route advances any pending async activity, not only
|
|
49
|
+
`webhook()`, and the core already owned its contract (`AsyncActivityCallbackAuth`,
|
|
50
|
+
`GetActivityCallbackUrlClaim`, `AsyncActivityAdvanceContext`).
|
|
51
|
+
|
|
52
|
+
**core**: new `AsyncActivityCallback` namespace with `deriveToken`, `isTokenValid`,
|
|
53
|
+
`parseBody`, `getHeader`, `getBearerToken`, `flattenHeaders`, `authorize` and
|
|
54
|
+
the types `AsyncActivityCallback.Delivery`, `AsyncActivityCallback.Headers`, `AsyncActivityCallback.Json`,
|
|
55
|
+
`AsyncActivityCallback.AuthType`, `AsyncActivityCallback.Authorizer`, `AsyncActivityCallback.Authorizers`.
|
|
56
|
+
`AsyncActivityCallback.authorize(auth, request, authorizers?)` ships `basic`, `header` and
|
|
57
|
+
`bearer`; `hmac` and `jwt` are authorizers the host passes in, so the core does not
|
|
58
|
+
depend on `@t4h.framework/hmac` or `@t4h.framework/jwks`. A declared type without
|
|
59
|
+
a authorizer throws `AsyncActivityCallbackAuthorizerMissingException`; an unknown type throws
|
|
60
|
+
`AsyncActivityCallbackAuthUnsupportedException`.
|
|
61
|
+
|
|
62
|
+
**hmac**: new `@t4h.framework/hmac/callback` entry whose default export is the
|
|
63
|
+
`hmac` callback authorizer, `hmacCallback`.
|
|
64
|
+
|
|
65
|
+
**jwks**: new `@t4h.framework/jwks/callback` entry whose default export is the
|
|
66
|
+
`jwt` callback authorizer, `jwksCallback`.
|
|
67
|
+
|
|
68
|
+
**webhook**: no longer exports `deriveCallbackToken`, `isCallbackTokenValid`,
|
|
69
|
+
`verifyCallbackAuth`, `parseCallbackBody`, `getHeader`, `flattenHeaders` nor
|
|
70
|
+
`CallbackRequest`/`CallbackHeaders`, and no longer depends on `hmac` and `jwks`;
|
|
71
|
+
`WebhookJson` is now an alias of the core `AsyncActivityCallback.Json`. Hosts import the
|
|
72
|
+
helpers from the core `AsyncActivityCallback` namespace and the authorizers from the two entries.
|
|
73
|
+
|
|
74
|
+
**dev**: `@t4h.framework/webhook` becomes an optional peer like the other
|
|
75
|
+
integrations. Only `@t4h.framework/core` is required again, which fixes
|
|
76
|
+
`ERR_MODULE_NOT_FOUND: Cannot find package '@t4h.framework/webhook'` on
|
|
77
|
+
projects that never call `webhook()`. `hmac` and `jwt` callback authorizers are
|
|
78
|
+
loaded from the project when `@t4h.framework/hmac` / `@t4h.framework/jwks` are
|
|
79
|
+
installed; a callback whose declared `auth` needs a missing package answers 500
|
|
80
|
+
naming the package to install.
|
|
81
|
+
|
|
3
82
|
## 0.12.0
|
|
4
83
|
|
|
5
84
|
### Minor Changes
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Tech for humans
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -256,6 +256,83 @@ class WaitForApprovalActivity extends AsyncActivity<
|
|
|
256
256
|
}
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
+
### Callbacks (host side)
|
|
260
|
+
|
|
261
|
+
Every pending async activity can be advanced from outside through the host's
|
|
262
|
+
callbacks route (`POST .../activities/:activityId/callbacks?token=…`). The
|
|
263
|
+
route is the host's, but the pieces are core exports so every host behaves the
|
|
264
|
+
same:
|
|
265
|
+
|
|
266
|
+
| Export | What it's for |
|
|
267
|
+
| ------------------------------------------------ | ----------------------------------------------------------------------------- |
|
|
268
|
+
| `AsyncActivityCallback.deriveToken` | `HMAC-SHA256(secret, activityId)` as base64url: the token of a callback URL. |
|
|
269
|
+
| `AsyncActivityCallback.isTokenValid` | Constant-time check of a token against the derived one. |
|
|
270
|
+
| `AsyncActivityCallback.authorize` | Checks a delivery against the `auth` declared in `pending({ auth })`. |
|
|
271
|
+
| `AsyncActivityCallback.parseBody` | Turns content type + raw body into the payload `advance` receives. |
|
|
272
|
+
| `AsyncActivityCallback.getHeader` / `AsyncActivityCallback.flattenHeaders` | Case-insensitive lookup; lower-cased, joined headers for the advance context. |
|
|
273
|
+
| `GetActivityCallbackUrlClaim` | The claim an activity uses to learn its own callback URL. |
|
|
274
|
+
|
|
275
|
+
The namespace also carries the types `AsyncActivityCallback.Delivery`, `AsyncActivityCallback.Headers`,
|
|
276
|
+
`AsyncActivityCallback.Json`, `AsyncActivityCallback.Authorizer` and `AsyncActivityCallback.Authorizers`.
|
|
277
|
+
|
|
278
|
+
`AsyncActivityCallback.authorize` ships `basic`, `header` and `bearer`. `hmac` and `jwt`
|
|
279
|
+
are authorizers the host passes in, so the core never depends on the packages
|
|
280
|
+
that implement them:
|
|
281
|
+
|
|
282
|
+
```typescript
|
|
283
|
+
import { AsyncActivityCallback } from '@t4h.framework/core'
|
|
284
|
+
import hmac from '@t4h.framework/hmac/callback'
|
|
285
|
+
import jwt from '@t4h.framework/jwks/callback'
|
|
286
|
+
|
|
287
|
+
const ok = await AsyncActivityCallback.authorize(
|
|
288
|
+
pending.auth,
|
|
289
|
+
{ method, headers, rawBody },
|
|
290
|
+
{ hmac, jwt },
|
|
291
|
+
)
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
A declared type without a authorizer throws `AsyncActivityCallbackAuthorizerMissingException`.
|
|
295
|
+
|
|
296
|
+
### Correlating events from a fixed URL
|
|
297
|
+
|
|
298
|
+
Some third parties cannot call a URL handed to them per request: they emit
|
|
299
|
+
every event to one URL configured on their side. For those, the host exposes a
|
|
300
|
+
fixed events route per workflow (`POST .../projects/:projectId/workflows/:workflowId/events`)
|
|
301
|
+
and the activity tells the host how to match an event to a wait:
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
class TransferTicketActivity extends AsyncActivity<...> {
|
|
305
|
+
public async bootstrap(input: { ticketId: string }) {
|
|
306
|
+
// ...asks the partner to transfer the ticket...
|
|
307
|
+
return this.pending({
|
|
308
|
+
schema,
|
|
309
|
+
correlationKey: input.ticketId,
|
|
310
|
+
auth: { type: 'hmac', secret: input.secret, header: 'x-signature' },
|
|
311
|
+
})
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
public override toCorrelationKey(event: AsyncActivityCallback.Event) {
|
|
315
|
+
const body = event.body as { type?: string; ticket?: { id?: string } }
|
|
316
|
+
|
|
317
|
+
if (body?.type !== 'ticket.transferred') return undefined
|
|
318
|
+
|
|
319
|
+
return body.ticket?.id
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// toInput, advance, toOutput as usual
|
|
323
|
+
}
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
On every event the host calls `toCorrelationKey` on each registered activity
|
|
327
|
+
that implements it, then looks up the pending of that activity type waiting on
|
|
328
|
+
the returned key inside the workflow, verifies its `auth` and delivers the
|
|
329
|
+
event as a callback, exactly as the callback URL route would. An event no
|
|
330
|
+
activity claims, or that nothing is waiting for, is accepted and dropped. A key
|
|
331
|
+
must identify one wait: when it matches more than one pending the host refuses
|
|
332
|
+
the event (409) and delivers to none, so compose the key (`ticketId:transferId`)
|
|
333
|
+
when one external id can have several waits. `toCorrelationKey` runs on a bare
|
|
334
|
+
instance, outside any run: no claims, no history, only the event.
|
|
335
|
+
|
|
259
336
|
### Activities with Claims (dependencies)
|
|
260
337
|
|
|
261
338
|
A Claim is an abstract dependency that an Activity declares. For example, an activity that saves files declares it needs a "file storage" claim -- it doesn't know whether the implementation uses S3, local disk, or anything else. The runtime must provide a concrete implementation for each declared claim via `ClaimProvider`. This decouples the activity definition from the infrastructure.
|
package/dist/core.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './activities/StartWorkflowActivity.js';
|
|
2
2
|
export * from './exceptions/ActivityException.js';
|
|
3
|
+
export * from './exceptions/AsyncActivityCallbackException.js';
|
|
3
4
|
export * from './exceptions/ClaimException.js';
|
|
4
5
|
export * from './models/Activity.js';
|
|
5
6
|
export * from './models/Authorization.js';
|
|
@@ -22,6 +23,7 @@ export * from './models/Workflow.js';
|
|
|
22
23
|
export * from './models/WorkflowBatchClaim.js';
|
|
23
24
|
export * from './models/WorkflowBatchRef.js';
|
|
24
25
|
export * from './models/WorkflowRef.js';
|
|
26
|
+
export * from './tools/AsyncActivityCallback.js';
|
|
25
27
|
export * from './tools/Internals.js';
|
|
26
28
|
export * from './typings/PromiseLikeType.js';
|
|
27
29
|
export * from './typings/Serializable.js';
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AAErD,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAE9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AAEvC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AAErD,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gCAAgC,CAAA;AAE9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AAEvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA"}
|
package/dist/core.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './activities/StartWorkflowActivity.js';
|
|
2
2
|
export * from './exceptions/ActivityException.js';
|
|
3
|
+
export * from './exceptions/AsyncActivityCallbackException.js';
|
|
3
4
|
export * from './exceptions/ClaimException.js';
|
|
4
5
|
export * from './models/Activity.js';
|
|
5
6
|
export * from './models/Authorization.js';
|
|
@@ -22,6 +23,7 @@ export * from './models/Workflow.js';
|
|
|
22
23
|
export * from './models/WorkflowBatchClaim.js';
|
|
23
24
|
export * from './models/WorkflowBatchRef.js';
|
|
24
25
|
export * from './models/WorkflowRef.js';
|
|
26
|
+
export * from './tools/AsyncActivityCallback.js';
|
|
25
27
|
export * from './tools/Internals.js';
|
|
26
28
|
export * from './typings/PromiseLikeType.js';
|
|
27
29
|
export * from './typings/Serializable.js';
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AAErD,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAE9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AAEvC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AAErD,cAAc,mCAAmC,CAAA;AACjD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gCAAgC,CAAA;AAE9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wCAAwC,CAAA;AACtD,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,uCAAuC,CAAA;AACrD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AAEvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AsyncActivityCallbackAuth } from '../models/AsyncActivityCallbackAuth.js';
|
|
2
|
+
export declare class AsyncActivityCallbackException extends Error {
|
|
3
|
+
constructor(message: string, options?: ErrorOptions);
|
|
4
|
+
}
|
|
5
|
+
export declare class AsyncActivityCallbackAuthorizerMissingException extends AsyncActivityCallbackException {
|
|
6
|
+
readonly type: AsyncActivityCallbackAuth['type'];
|
|
7
|
+
constructor(type: AsyncActivityCallbackAuth['type']);
|
|
8
|
+
}
|
|
9
|
+
export declare class AsyncActivityCallbackAuthUnsupportedException extends AsyncActivityCallbackException {
|
|
10
|
+
readonly type: string;
|
|
11
|
+
constructor(type: string);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AsyncActivityCallbackException.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncActivityCallbackException.d.ts","sourceRoot":"","sources":["../../src/exceptions/AsyncActivityCallbackException.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAEvF,qBAAa,8BAA+B,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAG3D;AAED,qBAAa,+CAAgD,SAAQ,8BAA8B;IACjG,SAAgB,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;gBAEpC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC;CAI3D;AAED,qBAAa,6CAA8C,SAAQ,8BAA8B;IAC/F,SAAgB,IAAI,EAAE,MAAM,CAAA;gBAET,IAAI,EAAE,MAAM;CAIhC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class AsyncActivityCallbackException extends Error {
|
|
2
|
+
constructor(message, options) {
|
|
3
|
+
super(message, options);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export class AsyncActivityCallbackAuthorizerMissingException extends AsyncActivityCallbackException {
|
|
7
|
+
type;
|
|
8
|
+
constructor(type) {
|
|
9
|
+
super(`No authorizer registered for callback auth type "${type}"`);
|
|
10
|
+
this.type = type;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class AsyncActivityCallbackAuthUnsupportedException extends AsyncActivityCallbackException {
|
|
14
|
+
type;
|
|
15
|
+
constructor(type) {
|
|
16
|
+
super(`Unsupported callback auth type: ${type}`);
|
|
17
|
+
this.type = type;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=AsyncActivityCallbackException.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncActivityCallbackException.js","sourceRoot":"","sources":["../../src/exceptions/AsyncActivityCallbackException.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD,YAAmB,OAAe,EAAE,OAAsB;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC;CACF;AAED,MAAM,OAAO,+CAAgD,SAAQ,8BAA8B;IACjF,IAAI,CAAmC;IAEvD,YAAmB,IAAuC;QACxD,KAAK,CAAC,oDAAoD,IAAI,GAAG,CAAC,CAAA;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAM,OAAO,6CAA8C,SAAQ,8BAA8B;IAC/E,IAAI,CAAQ;IAE5B,YAAmB,IAAY;QAC7B,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF"}
|
|
@@ -2,6 +2,7 @@ import type Type from 'typebox';
|
|
|
2
2
|
import { AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, type AsyncActivityResult, type AsyncActivityResultPendingOptions } from './AsyncActivityAdvanceResult.js';
|
|
3
3
|
import { AsyncActivityAwaitable } from './AsyncActivityAwaitable.js';
|
|
4
4
|
import type { IHistoryItemAsync } from './History.js';
|
|
5
|
+
import type { AsyncActivityCallback } from '../tools/AsyncActivityCallback.js';
|
|
5
6
|
import type { Serializable } from '../typings/Serializable.js';
|
|
6
7
|
export type AsyncActivityAdvanceContext = {
|
|
7
8
|
method: string;
|
|
@@ -14,6 +15,7 @@ export declare abstract class AsyncActivity<TArgs extends readonly any[], TInput
|
|
|
14
15
|
abstract bootstrap(input: TInput): AsyncActivityResult<TBootstrap, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<TBootstrap, TSchema, TSerializableOutput>>;
|
|
15
16
|
abstract advance(payload: Type.Static<TSchema>, bootstrap: AsyncActivityResultPending, context?: AsyncActivityAdvanceContext): AsyncActivityResult<Serializable, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<Serializable, TSchema, TSerializableOutput>>;
|
|
16
17
|
abstract toOutput(output: TSerializableOutput, ...args: TArgs): TOutput;
|
|
18
|
+
toCorrelationKey?(event: AsyncActivityCallback.Event): string | undefined | Promise<string | undefined>;
|
|
17
19
|
onTimeout?(payload: AsyncActivityResultPending): AsyncActivityResult<Serializable, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<Serializable, TSchema, TSerializableOutput>>;
|
|
18
20
|
protected pending(options?: AsyncActivityResultPendingOptions<TBootstrap, TSchema>): AsyncActivityResultPending<TBootstrap, TSchema>;
|
|
19
21
|
protected done(payload?: TSerializableOutput): AsyncActivityResultFulfilled<TSerializableOutput | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncActivity.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAE/B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EACvC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAC1C,SAAS,GAAG,EAAE,EACd,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAA;AAED,8BAAsB,aAAa,CACjC,KAAK,SAAS,SAAS,GAAG,EAAE,EAC5B,MAAM,SAAS,YAAY,EAC3B,mBAAmB,SAAS,YAAY,GAAG,IAAI,EAC/C,OAAO,EACP,UAAU,SAAS,YAAY,EAC/B,OAAO,SAAS,IAAI,CAAC,OAAO;IAErB,EAAE,EAAG,MAAM,CAAA;aAEF,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAEjD,SAAS,CACvB,KAAK,EAAE,MAAM,GAEX,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAC7D,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;aAE1D,OAAO,CACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAC7B,SAAS,EAAE,0BAA0B,EACrC,OAAO,CAAC,EAAE,2BAA2B,GAEnC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAC/D,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;aAE5D,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"AsyncActivity.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAE/B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EACvC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAC1C,SAAS,GAAG,EAAE,EACd,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAA;AAED,8BAAsB,aAAa,CACjC,KAAK,SAAS,SAAS,GAAG,EAAE,EAC5B,MAAM,SAAS,YAAY,EAC3B,mBAAmB,SAAS,YAAY,GAAG,IAAI,EAC/C,OAAO,EACP,UAAU,SAAS,YAAY,EAC/B,OAAO,SAAS,IAAI,CAAC,OAAO;IAErB,EAAE,EAAG,MAAM,CAAA;aAEF,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAEjD,SAAS,CACvB,KAAK,EAAE,MAAM,GAEX,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAC7D,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;aAE1D,OAAO,CACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAC7B,SAAS,EAAE,0BAA0B,EACrC,OAAO,CAAC,EAAE,2BAA2B,GAEnC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAC/D,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;aAE5D,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,OAAO;IACvE,gBAAgB,CAAC,CACtB,KAAK,EAAE,qBAAqB,CAAC,KAAK,GACjC,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAE5C,SAAS,CAAC,CAEf,OAAO,EAAE,0BAA0B,GAEjC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAC/D,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAM5E,SAAS,CAAC,OAAO,CACf,OAAO,CAAC,EAAE,iCAAiC,CAAC,UAAU,EAAE,OAAO,CAAC;IAKlE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB;IAI5C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAIzC,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE;CAGjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncActivity.js","sourceRoot":"","sources":["../../src/models/AsyncActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,GAG5B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"AsyncActivity.js","sourceRoot":"","sources":["../../src/models/AsyncActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,GAG5B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAmBpE,MAAM,OAAgB,aAAa;IAQ1B,EAAE,CAAS;IAuBX,SAAS;IACd,6DAA6D;IAC7D,OAAmC;QAInC,OAAO,IAAI,CAAC,QAAQ,CAAC;YACnB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;IACJ,CAAC;IAES,OAAO,CACf,OAAgE;QAEhE,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAES,IAAI,CAAC,OAA6B;QAC1C,OAAO,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAES,QAAQ,CAAC,OAA6B;QAC9C,OAAO,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAEM,WAAW,CAAC,IAAuB,EAAE,IAAoB;QAC9D,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACrD,CAAC;CACF"}
|
|
@@ -6,6 +6,7 @@ export interface AsyncActivityResultPendingOptions<TPayload extends Serializable
|
|
|
6
6
|
schema?: TSchema;
|
|
7
7
|
timeoutAt?: Date | undefined;
|
|
8
8
|
auth?: AsyncActivityCallbackAuth;
|
|
9
|
+
correlationKey?: string;
|
|
9
10
|
}
|
|
10
11
|
export type AsyncActivityResult<P extends Serializable, S extends Type.TSchema, O extends Serializable | void> = AsyncActivityResultPending<P, S> | AsyncActivityResultFulfilled<O> | AsyncActivityResultRejected<Serializable | void>;
|
|
11
12
|
export declare class AsyncActivityResultPending<TPayload extends Serializable = Serializable, TSchema extends Type.TSchema = Type.TSchema> {
|
|
@@ -13,7 +14,8 @@ export declare class AsyncActivityResultPending<TPayload extends Serializable =
|
|
|
13
14
|
readonly schema?: TSchema;
|
|
14
15
|
readonly timeoutAt?: Date | undefined;
|
|
15
16
|
readonly auth?: AsyncActivityCallbackAuth;
|
|
16
|
-
|
|
17
|
+
readonly correlationKey?: string;
|
|
18
|
+
constructor({ payload, schema, timeoutAt, auth, correlationKey, }?: AsyncActivityResultPendingOptions<TPayload, TSchema>);
|
|
17
19
|
}
|
|
18
20
|
export declare class AsyncActivityResultFulfilled<T extends Serializable | void = void> {
|
|
19
21
|
readonly payload: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncActivityAdvanceResult.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivityAdvanceResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAE/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,WAAW,iCAAiC,CAChD,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;IAE3C,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IAC5B,IAAI,CAAC,EAAE,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"AsyncActivityAdvanceResult.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivityAdvanceResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAA;AAE/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,WAAW,iCAAiC,CAChD,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;IAE3C,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IAC5B,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,IAAI,CAAC,OAAO,EACtB,CAAC,SAAS,YAAY,GAAG,IAAI,IAE3B,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,4BAA4B,CAAC,CAAC,CAAC,GAC/B,2BAA2B,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;AAEpD,qBAAa,0BAA0B,CACrC,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC5C,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;IAE3C,SAAgB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClC,SAAgB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChC,SAAgB,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IAC5C,SAAgB,IAAI,CAAC,EAAE,yBAAyB,CAAA;IAChD,SAAgB,cAAc,CAAC,EAAE,MAAM,CAAA;gBAE3B,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,cAAc,GACf,GAAE,iCAAiC,CAAC,QAAQ,EAAE,OAAO,CAAM;CAO7D;AAED,qBAAa,4BAA4B,CACvC,CAAC,SAAS,YAAY,GAAG,IAAI,GAAG,IAAI;aAER,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC;CACvC;AAED,qBAAa,2BAA2B,CAAC,CAAC,SAAS,YAAY,GAAG,IAAI,GAAG,IAAI;aAC/C,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC;CACvC"}
|
|
@@ -3,11 +3,13 @@ export class AsyncActivityResultPending {
|
|
|
3
3
|
schema;
|
|
4
4
|
timeoutAt;
|
|
5
5
|
auth;
|
|
6
|
-
|
|
6
|
+
correlationKey;
|
|
7
|
+
constructor({ payload, schema, timeoutAt, auth, correlationKey, } = {}) {
|
|
7
8
|
this.payload = payload;
|
|
8
9
|
this.schema = schema;
|
|
9
10
|
this.timeoutAt = timeoutAt;
|
|
10
11
|
this.auth = auth;
|
|
12
|
+
this.correlationKey = correlationKey;
|
|
11
13
|
}
|
|
12
14
|
}
|
|
13
15
|
export class AsyncActivityResultFulfilled {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncActivityAdvanceResult.js","sourceRoot":"","sources":["../../src/models/AsyncActivityAdvanceResult.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsyncActivityAdvanceResult.js","sourceRoot":"","sources":["../../src/models/AsyncActivityAdvanceResult.ts"],"names":[],"mappings":"AAyBA,MAAM,OAAO,0BAA0B;IAIrB,OAAO,CAAW;IAClB,MAAM,CAAU;IAChB,SAAS,CAAmB;IAC5B,IAAI,CAA4B;IAChC,cAAc,CAAS;IAEvC,YAAY,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,cAAc,MAC0C,EAAE;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACtC,CAAC;CACF;AAED,MAAM,OAAO,4BAA4B;IAGX;IAA5B,YAA4B,OAAU;QAAV,YAAO,GAAP,OAAO,CAAG;IAAG,CAAC;CAC3C;AAED,MAAM,OAAO,2BAA2B;IACV;IAA5B,YAA4B,OAAU;QAAV,YAAO,GAAP,OAAO,CAAG;IAAG,CAAC;CAC3C"}
|
|
@@ -32,5 +32,19 @@ export type AsyncActivityCallbackAuthJwt = {
|
|
|
32
32
|
audience?: string;
|
|
33
33
|
header?: string;
|
|
34
34
|
};
|
|
35
|
-
export type
|
|
35
|
+
export type AsyncActivityCallbackAuthJwks = {
|
|
36
|
+
type: 'jwks';
|
|
37
|
+
jwksUri: string;
|
|
38
|
+
header: string;
|
|
39
|
+
kid?: string;
|
|
40
|
+
kidHeader?: string;
|
|
41
|
+
algorithm?: string;
|
|
42
|
+
algorithmHeader?: string;
|
|
43
|
+
signatureFormat?: string;
|
|
44
|
+
signatureFormatHeader?: string;
|
|
45
|
+
timestampHeader?: string;
|
|
46
|
+
toleranceInSeconds?: number;
|
|
47
|
+
signedPayload?: string;
|
|
48
|
+
};
|
|
49
|
+
export type AsyncActivityCallbackAuth = AsyncActivityCallbackAuthHmac | AsyncActivityCallbackAuthBasic | AsyncActivityCallbackAuthHeader | AsyncActivityCallbackAuthBearer | AsyncActivityCallbackAuthJwt | AsyncActivityCallbackAuthJwks;
|
|
36
50
|
//# sourceMappingURL=AsyncActivityCallbackAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncActivityCallbackAuth.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivityCallbackAuth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sCAAsC,GAC9C,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,MAAM,4CAA4C,GACpD,KAAK,GACL,QAAQ,GACR,WAAW,CAAA;AAEf,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,sCAAsC,CAAA;IAClD,eAAe,CAAC,EAAE,4CAA4C,CAAA;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,KAAK,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GACjC,6BAA6B,GAC7B,8BAA8B,GAC9B,+BAA+B,GAC/B,+BAA+B,GAC/B,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"AsyncActivityCallbackAuth.d.ts","sourceRoot":"","sources":["../../src/models/AsyncActivityCallbackAuth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sCAAsC,GAC9C,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,MAAM,4CAA4C,GACpD,KAAK,GACL,QAAQ,GACR,WAAW,CAAA;AAEf,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,sCAAsC,CAAA;IAClD,eAAe,CAAC,EAAE,4CAA4C,CAAA;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,KAAK,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,yBAAyB,GACjC,6BAA6B,GAC7B,8BAA8B,GAC9B,+BAA+B,GAC/B,+BAA+B,GAC/B,4BAA4B,GAC5B,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AsyncActivityCallbackAuth } from '../models/AsyncActivityCallbackAuth.js';
|
|
2
|
+
export declare namespace AsyncActivityCallback {
|
|
3
|
+
type Headers = Record<string, string | string[] | undefined>;
|
|
4
|
+
interface Delivery {
|
|
5
|
+
method: string;
|
|
6
|
+
headers: Headers;
|
|
7
|
+
rawBody: string;
|
|
8
|
+
}
|
|
9
|
+
type Json = string | number | boolean | null | readonly Json[] | {
|
|
10
|
+
readonly [key: string]: Json | undefined;
|
|
11
|
+
};
|
|
12
|
+
interface Event {
|
|
13
|
+
method: string;
|
|
14
|
+
headers: Record<string, string>;
|
|
15
|
+
body: Json | undefined;
|
|
16
|
+
rawBody: string;
|
|
17
|
+
}
|
|
18
|
+
type AuthType = AsyncActivityCallbackAuth['type'];
|
|
19
|
+
type Authorizer<TAuth extends AsyncActivityCallbackAuth = AsyncActivityCallbackAuth> = (auth: TAuth, delivery: Delivery) => boolean | Promise<boolean>;
|
|
20
|
+
type Authorizers = {
|
|
21
|
+
[TAuth in AsyncActivityCallbackAuth as TAuth['type']]?: Authorizer<TAuth>;
|
|
22
|
+
};
|
|
23
|
+
function deriveToken(secret: string, activityId: string): string;
|
|
24
|
+
function isTokenValid(secret: string, activityId: string, token: string): boolean;
|
|
25
|
+
function getHeader(headers: Headers, name: string): string | undefined;
|
|
26
|
+
function getBearerToken(headers: Headers, name?: string): string | undefined;
|
|
27
|
+
function flattenHeaders(headers: Headers): Record<string, string>;
|
|
28
|
+
function parseBody(contentType: string | undefined, rawBody: string): Json | undefined;
|
|
29
|
+
function toEvent(delivery: Delivery): Event;
|
|
30
|
+
function authorize(auth: AsyncActivityCallbackAuth | undefined, delivery: Delivery, authorizers?: Authorizers): Promise<boolean>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=AsyncActivityCallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncActivityCallback.d.ts","sourceRoot":"","sources":["../../src/tools/AsyncActivityCallback.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,yBAAyB,EAI1B,MAAM,wCAAwC,CAAA;AAE/C,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IAEnE,UAAiB,QAAQ;QACvB,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;KAChB;IAED,KAAY,IAAI,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,IAAI,EAAE,GACf;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;IAEhD,UAAiB,KAAK;QACpB,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;KAChB;IAED,KAAY,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAExD,KAAY,UAAU,CACpB,KAAK,SAAS,yBAAyB,GAAG,yBAAyB,IACjE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnE,KAAY,WAAW,GAAG;SACvB,KAAK,IAAI,yBAAyB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;KAC1E,CAAA;IAED,SAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAK7D;IAED,SAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,WASd;IAED,SAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAYpB;IAID,SAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,SAAkB,GACrB,MAAM,GAAG,SAAS,CAMpB;IAED,SAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYvE;IAMD,SAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,MAAM,GACd,IAAI,GAAG,SAAS,CA2BlB;IAED,SAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CASjD;IA+DD,SAAsB,SAAS,CAC7B,IAAI,EAAE,yBAAyB,GAAG,SAAS,EAC3C,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,WAAgB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAkBlB;CACF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import { AsyncActivityCallbackAuthUnsupportedException, AsyncActivityCallbackAuthorizerMissingException, } from '../exceptions/AsyncActivityCallbackException.js';
|
|
3
|
+
export var AsyncActivityCallback;
|
|
4
|
+
(function (AsyncActivityCallback) {
|
|
5
|
+
function deriveToken(secret, activityId) {
|
|
6
|
+
return crypto
|
|
7
|
+
.createHmac('sha256', secret)
|
|
8
|
+
.update(activityId)
|
|
9
|
+
.digest('base64url');
|
|
10
|
+
}
|
|
11
|
+
AsyncActivityCallback.deriveToken = deriveToken;
|
|
12
|
+
function isTokenValid(secret, activityId, token) {
|
|
13
|
+
const expected = Buffer.from(deriveToken(secret, activityId));
|
|
14
|
+
const candidate = Buffer.from(token);
|
|
15
|
+
return (expected.length === candidate.length &&
|
|
16
|
+
crypto.timingSafeEqual(expected, candidate));
|
|
17
|
+
}
|
|
18
|
+
AsyncActivityCallback.isTokenValid = isTokenValid;
|
|
19
|
+
function getHeader(headers, name) {
|
|
20
|
+
const wanted = name.toLowerCase();
|
|
21
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
22
|
+
if (key.toLowerCase() !== wanted)
|
|
23
|
+
continue;
|
|
24
|
+
if (Array.isArray(value))
|
|
25
|
+
return value[0];
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
AsyncActivityCallback.getHeader = getHeader;
|
|
31
|
+
const BEARER = /^Bearer\s+(.+)$/i;
|
|
32
|
+
function getBearerToken(headers, name = 'authorization') {
|
|
33
|
+
const value = getHeader(headers, name);
|
|
34
|
+
if (!value)
|
|
35
|
+
return undefined;
|
|
36
|
+
return BEARER.exec(value)?.[1]?.trim();
|
|
37
|
+
}
|
|
38
|
+
AsyncActivityCallback.getBearerToken = getBearerToken;
|
|
39
|
+
function flattenHeaders(headers) {
|
|
40
|
+
const result = {};
|
|
41
|
+
for (const [name, value] of Object.entries(headers)) {
|
|
42
|
+
if (value === undefined)
|
|
43
|
+
continue;
|
|
44
|
+
result[name.toLowerCase()] = Array.isArray(value)
|
|
45
|
+
? value.join(', ')
|
|
46
|
+
: value;
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
AsyncActivityCallback.flattenHeaders = flattenHeaders;
|
|
51
|
+
const JSON_CONTENT_TYPE = /^application\/([\w.-]+\+)?json$/i;
|
|
52
|
+
const FORM_CONTENT_TYPE = 'application/x-www-form-urlencoded';
|
|
53
|
+
function parseBody(contentType, rawBody) {
|
|
54
|
+
if (!rawBody.length)
|
|
55
|
+
return undefined;
|
|
56
|
+
const type = contentType?.split(';')[0]?.trim().toLowerCase() ?? '';
|
|
57
|
+
if (JSON_CONTENT_TYPE.test(type))
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(rawBody);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return rawBody;
|
|
63
|
+
}
|
|
64
|
+
if (type === FORM_CONTENT_TYPE) {
|
|
65
|
+
const params = new URLSearchParams(rawBody);
|
|
66
|
+
const result = {};
|
|
67
|
+
for (const key of new Set(params.keys())) {
|
|
68
|
+
const values = params.getAll(key);
|
|
69
|
+
result[key] = values.length === 1 ? values[0] : values;
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
return rawBody;
|
|
74
|
+
}
|
|
75
|
+
AsyncActivityCallback.parseBody = parseBody;
|
|
76
|
+
function toEvent(delivery) {
|
|
77
|
+
const headers = flattenHeaders(delivery.headers);
|
|
78
|
+
return {
|
|
79
|
+
method: delivery.method,
|
|
80
|
+
headers,
|
|
81
|
+
body: parseBody(headers['content-type'], delivery.rawBody),
|
|
82
|
+
rawBody: delivery.rawBody,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
AsyncActivityCallback.toEvent = toEvent;
|
|
86
|
+
function timingSafeEqualString(expected, candidate) {
|
|
87
|
+
const a = Buffer.from(expected, 'utf8');
|
|
88
|
+
const b = Buffer.from(candidate, 'utf8');
|
|
89
|
+
if (a.length !== b.length)
|
|
90
|
+
return false;
|
|
91
|
+
return crypto.timingSafeEqual(a, b);
|
|
92
|
+
}
|
|
93
|
+
function verifyBasic(auth, delivery) {
|
|
94
|
+
const value = getHeader(delivery.headers, 'authorization');
|
|
95
|
+
if (!value)
|
|
96
|
+
return false;
|
|
97
|
+
const expected = `Basic ${Buffer.from(`${auth.username}:${auth.password}`).toString('base64')}`;
|
|
98
|
+
return timingSafeEqualString(expected, value);
|
|
99
|
+
}
|
|
100
|
+
function verifyHeader(auth, delivery) {
|
|
101
|
+
const value = getHeader(delivery.headers, auth.name);
|
|
102
|
+
if (!value)
|
|
103
|
+
return false;
|
|
104
|
+
return timingSafeEqualString(auth.value, value);
|
|
105
|
+
}
|
|
106
|
+
function verifyBearer(auth, delivery) {
|
|
107
|
+
const token = getBearerToken(delivery.headers);
|
|
108
|
+
if (!token)
|
|
109
|
+
return false;
|
|
110
|
+
return timingSafeEqualString(auth.token, token);
|
|
111
|
+
}
|
|
112
|
+
const KNOWN_TYPES = [
|
|
113
|
+
'hmac',
|
|
114
|
+
'basic',
|
|
115
|
+
'header',
|
|
116
|
+
'bearer',
|
|
117
|
+
'jwt',
|
|
118
|
+
'jwks',
|
|
119
|
+
];
|
|
120
|
+
const BUILT_IN = {
|
|
121
|
+
basic: verifyBasic,
|
|
122
|
+
header: verifyHeader,
|
|
123
|
+
bearer: verifyBearer,
|
|
124
|
+
};
|
|
125
|
+
async function authorize(auth, delivery, authorizers = {}) {
|
|
126
|
+
if (!auth)
|
|
127
|
+
return true;
|
|
128
|
+
const type = auth.type;
|
|
129
|
+
if (typeof type !== 'string' || !KNOWN_TYPES.includes(type))
|
|
130
|
+
throw new AsyncActivityCallbackAuthUnsupportedException(String(type));
|
|
131
|
+
const authorizer = { ...BUILT_IN, ...authorizers }[type];
|
|
132
|
+
if (!authorizer)
|
|
133
|
+
throw new AsyncActivityCallbackAuthorizerMissingException(type);
|
|
134
|
+
return authorizer(auth, delivery);
|
|
135
|
+
}
|
|
136
|
+
AsyncActivityCallback.authorize = authorize;
|
|
137
|
+
})(AsyncActivityCallback || (AsyncActivityCallback = {}));
|
|
138
|
+
//# sourceMappingURL=AsyncActivityCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncActivityCallback.js","sourceRoot":"","sources":["../../src/tools/AsyncActivityCallback.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EACL,6CAA6C,EAC7C,+CAA+C,GAChD,MAAM,iDAAiD,CAAA;AAQxD,MAAM,KAAW,qBAAqB,CAsOrC;AAtOD,WAAiB,qBAAqB;IAkCpC,SAAgB,WAAW,CAAC,MAAc,EAAE,UAAkB;QAC5D,OAAO,MAAM;aACV,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC5B,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC,WAAW,CAAC,CAAA;IACxB,CAAC;IALe,iCAAW,cAK1B,CAAA;IAED,SAAgB,YAAY,CAC1B,MAAc,EACd,UAAkB,EAClB,KAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpC,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;YACpC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC5C,CAAA;IACH,CAAC;IAZe,kCAAY,eAY3B,CAAA;IAED,SAAgB,SAAS,CACvB,OAAgB,EAChB,IAAY;QAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,SAAQ;YAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;YAEzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAfe,+BAAS,YAexB,CAAA;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAA;IAEjC,SAAgB,cAAc,CAC5B,OAAgB,EAChB,IAAI,GAAG,eAAe;QAEtB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEtC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAE5B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACxC,CAAC;IATe,oCAAc,iBAS7B,CAAA;IAED,SAAgB,cAAc,CAAC,OAAgB;QAC7C,MAAM,MAAM,GAA2B,EAAE,CAAA;QAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAQ;YAEjC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClB,CAAC,CAAC,KAAK,CAAA;QACX,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAZe,oCAAc,iBAY7B,CAAA;IAED,MAAM,iBAAiB,GAAG,kCAAkC,CAAA;IAE5D,MAAM,iBAAiB,GAAG,mCAAmC,CAAA;IAE7D,SAAgB,SAAS,CACvB,WAA+B,EAC/B,OAAe;QAEf,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAErC,MAAM,IAAI,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;QAEnE,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,CAAA;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAA;YAChB,CAAC;QAEH,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAyB,EAAE,CAAA;YAEvC,KAAK,MAAM,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEjC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAA;YACzD,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IA9Be,+BAAS,YA8BxB,CAAA;IAED,SAAgB,OAAO,CAAC,QAAkB;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEhD,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO;YACP,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;YAC1D,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAA;IACH,CAAC;IATe,6BAAO,UAStB,CAAA;IAED,SAAS,qBAAqB,CAAC,QAAgB,EAAE,SAAiB;QAChE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAExC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAEvC,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,WAAW,CAClB,IAAoC,EACpC,QAAkB;QAElB,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QAE1D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,MAAM,QAAQ,GAAG,SAAS,MAAM,CAAC,IAAI,CACnC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,CACpC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEtB,OAAO,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,YAAY,CACnB,IAAqC,EACrC,QAAkB;QAElB,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpD,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,SAAS,YAAY,CACnB,IAAqC,EACrC,QAAkB;QAElB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,WAAW,GAAwB;QACvC,MAAM;QACN,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,MAAM;KACP,CAAA;IAED,MAAM,QAAQ,GAAgB;QAC5B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;KACrB,CAAA;IAEM,KAAK,UAAU,SAAS,CAC7B,IAA2C,EAC3C,QAAkB,EAClB,cAA2B,EAAE;QAE7B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAA;QAE9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAgB,CAAC;YACrE,MAAM,IAAI,6CAA6C,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAEvE,MAAM,UAAU,GACd,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAC9B,CAAC,IAAI,CAAC,CAAA;QAEP,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,+CAA+C,CACvD,IAAgB,CACjB,CAAA;QAEH,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAtBqB,+BAAS,YAsB9B,CAAA;AACH,CAAC,EAtOgB,qBAAqB,KAArB,qBAAqB,QAsOrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t4h.framework/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Core module for the T4H Framework",
|
|
5
5
|
"homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/core",
|
|
6
6
|
"bugs": "https://github.com/tech4humans-brasil/framework/issues",
|