@t4h.framework/core 0.0.0-experimental-4621dcf-2ba30d83b350fbc392d4 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -13
- package/dist/models/App.d.ts +2 -2
- package/dist/models/AsyncActivity.d.ts +1 -0
- package/dist/models/AsyncActivity.d.ts.map +1 -1
- package/dist/models/AsyncActivity.js +7 -0
- package/dist/models/AsyncActivity.js.map +1 -1
- package/dist/models/AsyncActivityAdvanceResult.d.ts +1 -1
- package/dist/models/AsyncActivityAdvanceResult.d.ts.map +1 -1
- package/dist/models/Authorization.d.ts +2 -2
- package/dist/models/Authorization.d.ts.map +1 -1
- package/dist/models/Workflow.d.ts +1 -1
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -152,11 +152,12 @@ flowchart LR
|
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
- `toInput` -- same as sync.
|
|
155
|
-
- `bootstrap` -- runtime context, starts the long-running operation and returns a `
|
|
155
|
+
- `bootstrap` -- runtime context, starts the long-running operation and returns a `AsyncActivityResultPending`.
|
|
156
156
|
- `advance` -- runtime context, called when an external event resumes the activity. It returns one of:
|
|
157
|
-
- `
|
|
158
|
-
- `
|
|
159
|
-
- `
|
|
157
|
+
- `AsyncActivityResultPending` (still waiting),
|
|
158
|
+
- `AsyncActivityResultFulfilled` (completed),
|
|
159
|
+
- `AsyncActivityResultRejected` (failed).
|
|
160
|
+
- `onTimeout` -- optional runtime hook called when a pending activity reaches `timeoutAt`.
|
|
160
161
|
- `toOutput` -- same as sync.
|
|
161
162
|
|
|
162
163
|
### SyncActivity
|
|
@@ -191,9 +192,7 @@ For long-running operations that need a bootstrap/advance cycle (e.g. waiting fo
|
|
|
191
192
|
import Type from 'typebox'
|
|
192
193
|
import {
|
|
193
194
|
AsyncActivity,
|
|
194
|
-
|
|
195
|
-
AsyncActivityAdvanceResultPending,
|
|
196
|
-
AsyncActivityAdvanceResultRejected,
|
|
195
|
+
AsyncActivityResultPending,
|
|
197
196
|
} from '@t4h.framework/core'
|
|
198
197
|
|
|
199
198
|
const ApprovalSchema = Type.Object({
|
|
@@ -204,6 +203,7 @@ class WaitForApprovalActivity extends AsyncActivity<
|
|
|
204
203
|
[orderId: string],
|
|
205
204
|
{ orderId: string },
|
|
206
205
|
{ approved: boolean },
|
|
206
|
+
{ approved: boolean },
|
|
207
207
|
{ requestId: string; orderId: string },
|
|
208
208
|
typeof ApprovalSchema
|
|
209
209
|
> {
|
|
@@ -213,31 +213,43 @@ class WaitForApprovalActivity extends AsyncActivity<
|
|
|
213
213
|
|
|
214
214
|
public async bootstrap(input: { orderId: string }) {
|
|
215
215
|
// triggers the approval request and stores correlation data
|
|
216
|
-
return
|
|
217
|
-
|
|
216
|
+
return this.pending({
|
|
217
|
+
payload: {
|
|
218
218
|
requestId: 'req-123',
|
|
219
219
|
orderId: input.orderId,
|
|
220
220
|
},
|
|
221
221
|
schema: ApprovalSchema,
|
|
222
|
+
timeoutAt: new Date(Date.now() + 1000 * 60 * 60), // 1 hour
|
|
222
223
|
})
|
|
223
224
|
}
|
|
224
225
|
|
|
225
226
|
public async advance(
|
|
226
227
|
payload: Type.Static<typeof ApprovalSchema>,
|
|
227
|
-
bootstrap:
|
|
228
|
+
bootstrap: AsyncActivityResultPending<{
|
|
228
229
|
requestId: string
|
|
229
230
|
orderId: string
|
|
230
231
|
}>,
|
|
231
232
|
) {
|
|
232
233
|
if (payload.approved) {
|
|
233
|
-
return
|
|
234
|
+
return this.done({
|
|
234
235
|
approved: true,
|
|
235
236
|
})
|
|
236
237
|
}
|
|
237
238
|
|
|
238
|
-
return
|
|
239
|
+
return this.rejected({
|
|
240
|
+
approved: false,
|
|
241
|
+
requestId: bootstrap.payload?.requestId,
|
|
242
|
+
})
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
public async onTimeout(
|
|
246
|
+
bootstrap: AsyncActivityResultPending<{ requestId: string; orderId: string }>,
|
|
247
|
+
) {
|
|
248
|
+
return this.rejected({
|
|
239
249
|
approved: false,
|
|
240
|
-
|
|
250
|
+
reason: 'approval-timeout',
|
|
251
|
+
requestId: bootstrap.payload?.requestId,
|
|
252
|
+
orderId: bootstrap.payload?.orderId,
|
|
241
253
|
})
|
|
242
254
|
}
|
|
243
255
|
|
package/dist/models/App.d.ts
CHANGED
|
@@ -19,12 +19,12 @@ export declare class App {
|
|
|
19
19
|
id: string;
|
|
20
20
|
description: string | null;
|
|
21
21
|
slug: string | null;
|
|
22
|
-
authorization: import("./Authorization.js").
|
|
22
|
+
authorization: import("./Authorization.js").AuthorizationManifest<any> | undefined;
|
|
23
23
|
workflows: {
|
|
24
24
|
id: string | null;
|
|
25
25
|
description: string | null;
|
|
26
26
|
schema: import("typebox").TSchema | null;
|
|
27
|
-
authorization: import("./Authorization.js").
|
|
27
|
+
authorization: import("./Authorization.js").AuthorizationManifest<any> | null;
|
|
28
28
|
}[];
|
|
29
29
|
env: import("typebox").TObject<Record<string, import("typebox").TSchema>>;
|
|
30
30
|
};
|
|
@@ -9,6 +9,7 @@ export declare abstract class AsyncActivity<TArgs extends readonly any[], TInput
|
|
|
9
9
|
abstract bootstrap(input: TInput): AsyncActivityResult<TBootstrap, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<TBootstrap, TSchema, TSerializableOutput>>;
|
|
10
10
|
abstract advance(payload: Type.Static<TSchema>, bootstrap: AsyncActivityResultPending): AsyncActivityResult<Serializable, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<Serializable, TSchema, TSerializableOutput>>;
|
|
11
11
|
abstract toOutput(output: TSerializableOutput, ...args: TArgs): TOutput;
|
|
12
|
+
onTimeout?(payload: AsyncActivityResultPending): AsyncActivityResult<Serializable, TSchema, TSerializableOutput> | Promise<AsyncActivityResult<Serializable, TSchema, TSerializableOutput>>;
|
|
12
13
|
protected pending(options?: AsyncActivityResultPendingOptions<TBootstrap, TSchema>): AsyncActivityResultPending<TBootstrap, TSchema>;
|
|
13
14
|
protected done(payload?: TSerializableOutput): AsyncActivityResultFulfilled<TSerializableOutput | undefined>;
|
|
14
15
|
protected rejected(payload?: Serializable | void): AsyncActivityResultRejected<void | Serializable>;
|
|
@@ -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,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;aAEZ,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,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,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,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;aAEZ,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,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;IAEvE,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,6 +1,13 @@
|
|
|
1
1
|
import { AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, } from './AsyncActivityAdvanceResult.js';
|
|
2
2
|
import { AsyncActivityAwaitable } from './AsyncActivityAwaitable.js';
|
|
3
3
|
export class AsyncActivity {
|
|
4
|
+
onTimeout(
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
+
payload) {
|
|
7
|
+
return this.rejected({
|
|
8
|
+
reason: 'timeout',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
4
11
|
pending(options) {
|
|
5
12
|
return new AsyncActivityResultPending(options);
|
|
6
13
|
}
|
|
@@ -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;AAapE,MAAM,OAAgB,aAAa;
|
|
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;AAapE,MAAM,OAAgB,aAAa;IAyB1B,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"}
|
|
@@ -5,7 +5,7 @@ export interface AsyncActivityResultPendingOptions<TPayload extends Serializable
|
|
|
5
5
|
schema?: TSchema;
|
|
6
6
|
timeoutAt?: Date | undefined;
|
|
7
7
|
}
|
|
8
|
-
export type AsyncActivityResult<P extends Serializable, S extends Type.TSchema, O extends Serializable | void> = AsyncActivityResultPending<P, S> | AsyncActivityResultFulfilled<O> | AsyncActivityResultRejected<Serializable>;
|
|
8
|
+
export type AsyncActivityResult<P extends Serializable, S extends Type.TSchema, O extends Serializable | void> = AsyncActivityResultPending<P, S> | AsyncActivityResultFulfilled<O> | AsyncActivityResultRejected<Serializable | void>;
|
|
9
9
|
export declare class AsyncActivityResultPending<TPayload extends Serializable = Serializable, TSchema extends Type.TSchema = Type.TSchema> {
|
|
10
10
|
readonly payload?: TPayload;
|
|
11
11
|
readonly schema?: TSchema;
|
|
@@ -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,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;CAC7B;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,CAAC,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,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;CAC7B;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;gBAEhC,EACV,OAAO,EACP,MAAM,EACN,SAAS,GACV,GAAE,iCAAiC,CAAC,QAAQ,EAAE,OAAO,CAAM;CAK7D;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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type AuthorizationManifest<TContext extends object = any> = {
|
|
2
2
|
context?: TContext;
|
|
3
3
|
pathToModule: string;
|
|
4
4
|
};
|
|
5
5
|
export declare abstract class Authorization<T extends object = any> {
|
|
6
|
-
abstract toManifest():
|
|
6
|
+
abstract toManifest(): AuthorizationManifest<T>;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=Authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../src/models/Authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../src/models/Authorization.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,MAAM,GAAG,GAAG,IAAI;IACjE,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,8BAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG;aACxC,UAAU,IAAI,qBAAqB,CAAC,CAAC,CAAC;CACvD"}
|
|
@@ -22,7 +22,7 @@ export declare class Workflow<TSchema extends Type.TSchema | null = null, TOutpu
|
|
|
22
22
|
id: string | null;
|
|
23
23
|
description: string | null;
|
|
24
24
|
schema: Type.TSchema | null;
|
|
25
|
-
authorization: import("./Authorization.js").
|
|
25
|
+
authorization: import("./Authorization.js").AuthorizationManifest<any> | null;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=Workflow.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t4h.framework/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1",
|
|
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",
|
|
@@ -43,6 +43,5 @@
|
|
|
43
43
|
"packageManager": "yarn@4.12.0",
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=22"
|
|
46
|
-
}
|
|
47
|
-
"stableVersion": "0.0.0"
|
|
46
|
+
}
|
|
48
47
|
}
|