@ontemper/sdk 0.6.0-pr-7774.1 → 0.7.0-postgresql.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 +36 -4
- package/dist/As2.d.ts +7 -4
- package/dist/As2.d.ts.map +1 -1
- package/dist/As2.js +39 -218
- package/dist/As2.js.map +1 -1
- package/dist/As2Destination.d.ts +2 -0
- package/dist/As2Destination.d.ts.map +1 -1
- package/dist/As2Destination.js +7 -5
- package/dist/As2Destination.js.map +1 -1
- package/dist/As2Testing.d.ts +5 -0
- package/dist/As2Testing.d.ts.map +1 -1
- package/dist/As2Testing.js +1 -0
- package/dist/As2Testing.js.map +1 -1
- package/dist/As2Transport.d.ts +30 -0
- package/dist/As2Transport.d.ts.map +1 -0
- package/dist/As2Transport.js +88 -0
- package/dist/As2Transport.js.map +1 -0
- package/dist/As2Wire.d.ts +338 -0
- package/dist/As2Wire.d.ts.map +1 -0
- package/dist/As2Wire.js +202 -0
- package/dist/As2Wire.js.map +1 -0
- package/dist/Contract/RuntimeApi.d.ts +19 -0
- package/dist/Contract/RuntimeApi.d.ts.map +1 -1
- package/dist/Contract/RuntimeApi.js +1 -1
- package/dist/Contract/RuntimeApi.js.map +1 -1
- package/dist/HttpApiResource.d.ts +12 -0
- package/dist/HttpApiResource.d.ts.map +1 -1
- package/dist/HttpApiResource.js +1 -1
- package/dist/HttpApiResource.js.map +1 -1
- package/dist/HttpClient.d.ts +19 -0
- package/dist/HttpClient.d.ts.map +1 -1
- package/dist/HttpClient.js +10 -5
- package/dist/HttpClient.js.map +1 -1
- package/dist/Manifest.d.ts +1 -1
- package/dist/Manifest.d.ts.map +1 -1
- package/dist/Manifest.js +1 -1
- package/dist/Manifest.js.map +1 -1
- package/dist/PostgreSql.d.ts +22 -0
- package/dist/PostgreSql.d.ts.map +1 -0
- package/dist/PostgreSql.js +56 -0
- package/dist/PostgreSql.js.map +1 -0
- package/dist/PostgreSqlPool.d.ts +60 -0
- package/dist/PostgreSqlPool.d.ts.map +1 -0
- package/dist/PostgreSqlPool.js +116 -0
- package/dist/PostgreSqlPool.js.map +1 -0
- package/dist/PostgreSqlTimeouts.d.ts +4 -0
- package/dist/PostgreSqlTimeouts.d.ts.map +1 -0
- package/dist/PostgreSqlTimeouts.js +16 -0
- package/dist/PostgreSqlTimeouts.js.map +1 -0
- package/dist/PostgreSqlTunnel.d.ts +25 -0
- package/dist/PostgreSqlTunnel.d.ts.map +1 -0
- package/dist/PostgreSqlTunnel.js +114 -0
- package/dist/PostgreSqlTunnel.js.map +1 -0
- package/dist/RuntimeResources.d.ts +10 -1
- package/dist/RuntimeResources.d.ts.map +1 -1
- package/dist/RuntimeResources.js +15 -3
- package/dist/RuntimeResources.js.map +1 -1
- package/package.json +24 -4
package/README.md
CHANGED
|
@@ -313,11 +313,41 @@ const sent = yield * as2.send(document, { partner, idempotencyKey: order.id });
|
|
|
313
313
|
Provide `As2.layer`, and mark each route a partner posts to with `.annotate(As2Route, true)`. `receive`, `confirm`,
|
|
314
314
|
and `deliverMdn` are the steps `inbound` composes. A Run that the gateway admits as AS2 (`triggerKind: 'as2'`), or any
|
|
315
315
|
request to a marked route, starts on a fresh trace, and its request lines log only allowlisted headers and no body. AS2 lines carry ids, outcomes, and byte counts, never the document, a receipt body, or a key. A
|
|
316
|
-
failure is an `As2Error` with `operation`, `code`, `status`, and `retryable`.
|
|
317
|
-
|
|
316
|
+
failure is an `As2Error` with `operation`, `code`, `status`, and `retryable`. On Bun (Firecracker), `send` applies
|
|
317
|
+
a partner's CA, client certificate, SNI name, and proxy, and an async MDN goes to the address the destination check
|
|
318
|
+
approved; another runtime refuses a partner with TLS settings or a proxy. In tests, provide `memoryAs2().layer` from
|
|
318
319
|
`@temper/workflow/as2/testing` and pass its `fetch` to `testPlatform`; it keeps the platform ledger rules and runs
|
|
319
320
|
no crypto.
|
|
320
321
|
|
|
322
|
+
## PostgreSQL
|
|
323
|
+
|
|
324
|
+
`@temper/workflow/postgresql` opens a `pg.Pool` for a PostgreSQL Resource by key. It loads `pg` and `ws`, which
|
|
325
|
+
the workflow installs; no other entry point loads them. TypeScript code also needs `@types/pg`.
|
|
326
|
+
|
|
327
|
+
```ts
|
|
328
|
+
import { createPostgresqlPool, makePostgresqlPool } from '@temper/workflow/postgresql';
|
|
329
|
+
|
|
330
|
+
// A script or a module-level pool; the caller ends it with `pool.end()`.
|
|
331
|
+
const pool = await createPostgresqlPool('orders-db');
|
|
332
|
+
|
|
333
|
+
// In an Effect service: the pool ends with the scope, and its password masks the workflow's log lines.
|
|
334
|
+
const Ledger = Layer.effect(LedgerService, Effect.map(makePostgresqlPool('orders-db'), makeLedger));
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
The pool resolves the Resource through the runtime API and opens no connection until the first query. It
|
|
338
|
+
holds at most 5 connections, with a 10 s connect timeout, a 30 s idle timeout, and a 10 s statement timeout.
|
|
339
|
+
A statement timeout logs `temper.database.query.timeout`, and an idle connection error logs
|
|
340
|
+
`temper.database.connection.error`, without the query or the server text. `sslmode` maps to TLS as libpq does
|
|
341
|
+
(`disable`, `require`, `verify-ca`, `verify-full`; default `verify-full`). A Resource without a password sends an
|
|
342
|
+
empty one, never `PGPASSWORD` or `.pgpass`. A record with an SSH tunnel or RDS IAM authentication fails with
|
|
343
|
+
`InvalidResourceError`.
|
|
344
|
+
|
|
345
|
+
Deployed workflows and external databases connect over native TCP. In a builder sandbox
|
|
346
|
+
(`TEMPER_DATABASE_TUNNEL=websocket`), a Temper-managed Resource connects through the Resources-authenticated
|
|
347
|
+
WebSocket tunnel. Each physical connection reads the current runtime token, and a refused tunnel fails the
|
|
348
|
+
connection without a TCP fallback. `createPostgresqlPool` registers the password in the process-wide secret
|
|
349
|
+
registry; inside a workflow handler, prefer `makePostgresqlPool`, which registers it in the workflow's own.
|
|
350
|
+
|
|
321
351
|
## Versions
|
|
322
352
|
|
|
323
353
|
CI publishes every version to npm as `@ontemper/sdk`; nobody publishes by hand. Workflow code keeps
|
|
@@ -331,9 +361,11 @@ npm install --save-exact @temper/workflow@npm:@ontemper/sdk@<version>
|
|
|
331
361
|
A published version never changes. The workflow template and the examples pin one exact
|
|
332
362
|
version; `pnpm sdk:pin` moves them all together.
|
|
333
363
|
|
|
334
|
-
The package has
|
|
364
|
+
The package has nine entry points: `@temper/workflow`, `@temper/workflow/testing`,
|
|
335
365
|
`@temper/workflow/contract`, `@temper/workflow/sftp`, `@temper/workflow/sftp/testing`,
|
|
336
|
-
`@temper/workflow/edi`, `@temper/workflow/as2`,
|
|
366
|
+
`@temper/workflow/edi`, `@temper/workflow/as2`, `@temper/workflow/as2/testing`, and `@temper/workflow/postgresql`.
|
|
367
|
+
Only `/sftp` loads `ssh2`, and only `/postgresql` loads `pg` and `ws` (optional peer dependencies).
|
|
368
|
+
`@temper/workflow/contract` holds the runtime Resources HttpApi and the
|
|
337
369
|
manifest, trigger, and invocation schemas that the platform imports. Workflow code rarely needs it.
|
|
338
370
|
|
|
339
371
|
## Develop and release
|
package/dist/As2.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { Context, Effect, Layer } from 'effect';
|
|
|
2
2
|
import { HttpClient, type HttpServerRequest, HttpServerResponse } from 'effect/http';
|
|
3
3
|
import { type LookupAddresses } from './As2Destination.js';
|
|
4
4
|
import { As2Error } from './As2Error.js';
|
|
5
|
-
import { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
5
|
+
import type { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
6
6
|
import { Invocation } from './Invocation.js';
|
|
7
7
|
export { As2Error } from './As2Error.js';
|
|
8
|
+
export { as2FailureResponse } from './As2Wire.js';
|
|
8
9
|
export { As2Route } from './As2Route.js';
|
|
9
10
|
export type { LookupAddresses } from './As2Destination.js';
|
|
10
11
|
export { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
@@ -138,8 +139,6 @@ export declare const AS2_ASYNC_RECEIPT_PATH = "/as2/mdn";
|
|
|
138
139
|
export declare const unquoteAs2Id: (value: string | undefined) => string;
|
|
139
140
|
/** Runs `effect` on the exchange's verified trace; with none, on the current one. */
|
|
140
141
|
export declare const withExchangeTrace: (customerTraceId: string | null) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
141
|
-
/** Legacy `as2Endpoint`: a partner decides whether to resend from the status, so it gets the status and a generic message. */
|
|
142
|
-
export declare const as2FailureResponse: (error: As2Error) => HttpServerResponse.HttpServerResponse;
|
|
143
142
|
declare const As2_base: Context.ServiceClass<As2, "@temper/workflow/As2", As2Client>;
|
|
144
143
|
/**
|
|
145
144
|
* First-party AS2 on the workflow's `HttpClient`, logger, and Run token: `yield* As2` in a handler layer and
|
|
@@ -147,9 +146,13 @@ declare const As2_base: Context.ServiceClass<As2, "@temper/workflow/As2", As2Cli
|
|
|
147
146
|
*/
|
|
148
147
|
export declare class As2 extends As2_base {
|
|
149
148
|
static readonly layer: Layer.Layer<As2, never, HttpClient.HttpClient>;
|
|
150
|
-
/**
|
|
149
|
+
/**
|
|
150
|
+
* `layer` with a replaced name lookup for the async-MDN destination check, and optionally the runtime: `bun`
|
|
151
|
+
* applies partner TLS, proxies, and address pinning through the `fetch` options Bun takes.
|
|
152
|
+
*/
|
|
151
153
|
static readonly layerWith: (options: {
|
|
152
154
|
readonly lookupAddresses: LookupAddresses;
|
|
155
|
+
readonly runtime?: 'bun' | 'fetch';
|
|
153
156
|
}) => Layer.Layer<As2, never, HttpClient.HttpClient>;
|
|
154
157
|
}
|
|
155
158
|
//# sourceMappingURL=As2.d.ts.map
|
package/dist/As2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"As2.d.ts","sourceRoot":"","sources":["../src/As2.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"As2.d.ts","sourceRoot":"","sources":["../src/As2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,EAAE,KAAK,EAAoC,MAAM,QAAQ,CAAC;AAC5F,OAAO,EAEL,UAAU,EAGV,KAAK,iBAAiB,EACtB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,eAAe,EAAyC,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkChF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,oFAAoF;AACpF,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,uGAAuG;IACvG,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,CAAC;CAC1D;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,qGAAqG;IACrG,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;CAC/E;AAED,sFAAsF;AACtF,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,kHAAkH;AAClH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,CAAC;CAC1D;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IACtD,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACpD,qCAAqC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,+HAA+H;IAC/H,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,4GAA4G;IAC5G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kGAAkG;IAClG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACpD,qHAAqH;IACrH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD,GAAG,CACA;IAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CACrD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC;IACzC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,gGAAgG;IAChG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS;IACxB,2HAA2H;IAC3H,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxG;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAC7B,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC;IAC1G,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,uGAAuG;IACvG,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxG,qGAAqG;IACrG,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAClF;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,2FAA2F;AAC3F,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,SAAS,KAAG,MAIxD,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,oBACV,MAAM,GAAG,IAAI,MAC9B,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAQzD,CAAC;;AA6rBV;;;GAGG;AACH,qBAAa,GAAI,SAAQ,QAAyD;IAChF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAGnE;IACF;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,YAAa;QACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;QAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;KACpC,KAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CACmE;CACtH"}
|
package/dist/As2.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FetchHttpClient, HttpClient,
|
|
3
|
-
import {
|
|
1
|
+
import { Context, Duration, Effect, Layer, Option, Redacted, Schema, Stream } from 'effect';
|
|
2
|
+
import { FetchHttpClient, HttpClient, HttpClientRequest, HttpServerResponse, } from 'effect/http';
|
|
3
|
+
import { lookupAllAddresses, publicAddressesOf } from './As2Destination.js';
|
|
4
4
|
import { As2Error } from './As2Error.js';
|
|
5
|
-
import {
|
|
5
|
+
import { bunFetch, deliveryTransport, pinnedDestination } from './As2Transport.js';
|
|
6
|
+
import { AcknowledgeAnswer, answerAs2Failures, as2Line, bytesOf, CAPACITY_BACKOFF_MS, CAPACITY_RETRIES, ConfirmAnswer, endOf, endpointOf, ErrorAnswer, fromBase64, headerOf, isEmptyBody, isHttpUrl, MAX_PARTNER_RESPONSE_BYTES, originOf, PackAnswer, partiesOf, present, protocolHeaders, ReceiveAnswer, Settings, SettleAnswer, symbolicCause, toBase64, wireParties, } from './As2Wire.js';
|
|
6
7
|
import { isTransientStatus } from './EdiError.js';
|
|
7
8
|
import { Invocation } from './Invocation.js';
|
|
8
9
|
import { CurrentLogContext, TRACE_HEADER, withSpanLines } from './LogContext.js';
|
|
9
10
|
import { registerSecrets } from './Redaction.js';
|
|
10
11
|
export { As2Error } from './As2Error.js';
|
|
12
|
+
export { as2FailureResponse } from './As2Wire.js';
|
|
11
13
|
export { As2Route } from './As2Route.js';
|
|
12
14
|
export { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
13
15
|
/** The route an async receipt is posted to, under the sending workflow's own URL. */
|
|
@@ -26,191 +28,6 @@ export const withExchangeTrace = (customerTraceId) => (effect) => customerTraceI
|
|
|
26
28
|
...fiber.getRef(CurrentLogContext),
|
|
27
29
|
traceId: customerTraceId,
|
|
28
30
|
}));
|
|
29
|
-
// Must stay in lockstep with AS2_HEADER_NAMES in apps/api/src/Platform/As2/Domain.ts; scripts/check-sdk-consistency.ts pins the sets.
|
|
30
|
-
const AS2_HEADERS = new Set([
|
|
31
|
-
'as2-from',
|
|
32
|
-
'as2-to',
|
|
33
|
-
'as2-version',
|
|
34
|
-
'content-transfer-encoding',
|
|
35
|
-
'content-type',
|
|
36
|
-
'disposition-notification-options',
|
|
37
|
-
'disposition-notification-to',
|
|
38
|
-
'message-id',
|
|
39
|
-
'mime-version',
|
|
40
|
-
'receipt-delivery-option',
|
|
41
|
-
'subject',
|
|
42
|
-
]);
|
|
43
|
-
/** Inbound headers are untrusted and may carry credentials: only protocol headers reach the platform. */
|
|
44
|
-
const protocolHeaders = (headers) => Object.fromEntries(Object.entries(headers).flatMap(([name, value]) => value !== undefined && AS2_HEADERS.has(name.toLowerCase()) ? [[name.toLowerCase(), value]] : []));
|
|
45
|
-
const headerOf = (headers, name) => Object.entries(headers).find(([key]) => key.toLowerCase() === name)?.[1];
|
|
46
|
-
/** A partner's largest legitimate answer is a signed MDN of some KiB; a gateway that streams more fails the delivery. */
|
|
47
|
-
const MAX_PARTNER_RESPONSE_BYTES = 8 * 1024 * 1024;
|
|
48
|
-
/** ENGINE_BUSY answers 503 before any work, so a bounded retry is safe; every AS2 call is idempotent. */
|
|
49
|
-
const CAPACITY_RETRIES = 3;
|
|
50
|
-
const CAPACITY_BACKOFF_MS = 500;
|
|
51
|
-
const HeaderMap = Schema.Record(Schema.String, Schema.String);
|
|
52
|
-
const MdnMode = Schema.Literals(['sync', 'async']);
|
|
53
|
-
const ReceiveAnswer = Schema.Union([
|
|
54
|
-
Schema.Struct({
|
|
55
|
-
kind: Schema.Literal('received'),
|
|
56
|
-
messageId: Schema.String,
|
|
57
|
-
payloadB64: Schema.String,
|
|
58
|
-
payloadContentType: Schema.NullOr(Schema.String),
|
|
59
|
-
mic: Schema.String,
|
|
60
|
-
deliveryToken: Schema.String,
|
|
61
|
-
mdnMode: MdnMode,
|
|
62
|
-
customerTraceId: Schema.NullOr(Schema.String),
|
|
63
|
-
}),
|
|
64
|
-
Schema.Struct({
|
|
65
|
-
kind: Schema.Literal('duplicate'),
|
|
66
|
-
messageId: Schema.String,
|
|
67
|
-
mic: Schema.String,
|
|
68
|
-
mdnHeaders: Schema.NullOr(HeaderMap),
|
|
69
|
-
mdnBodyB64: Schema.NullOr(Schema.String),
|
|
70
|
-
mdnMode: MdnMode,
|
|
71
|
-
mdnDeliveryUrl: Schema.NullOr(Schema.String),
|
|
72
|
-
customerTraceId: Schema.NullOr(Schema.String),
|
|
73
|
-
}),
|
|
74
|
-
Schema.Struct({ kind: Schema.Literal('inFlight'), messageId: Schema.String }),
|
|
75
|
-
Schema.Struct({ kind: Schema.Literal('parked'), messageId: Schema.String }),
|
|
76
|
-
]);
|
|
77
|
-
const AcknowledgeAnswer = Schema.Struct({
|
|
78
|
-
messageId: Schema.String,
|
|
79
|
-
mic: Schema.String,
|
|
80
|
-
mdnHeaders: Schema.NullOr(HeaderMap),
|
|
81
|
-
mdnBodyB64: Schema.NullOr(Schema.String),
|
|
82
|
-
mdnMode: MdnMode,
|
|
83
|
-
mdnDeliveryUrl: Schema.NullOr(Schema.String),
|
|
84
|
-
alreadyAcknowledged: Schema.Boolean,
|
|
85
|
-
customerTraceId: Schema.NullOr(Schema.String),
|
|
86
|
-
});
|
|
87
|
-
const PackAnswer = Schema.Struct({
|
|
88
|
-
messageId: Schema.String,
|
|
89
|
-
as2Headers: HeaderMap,
|
|
90
|
-
envelopeBodyB64: Schema.String,
|
|
91
|
-
mic: Schema.String,
|
|
92
|
-
partnerUrl: Schema.NullOr(Schema.String),
|
|
93
|
-
mdnMode: Schema.Literals(['none', 'sync', 'async']),
|
|
94
|
-
replayed: Schema.Boolean,
|
|
95
|
-
customerTraceId: Schema.NullOr(Schema.String),
|
|
96
|
-
});
|
|
97
|
-
const ConfirmAnswer = Schema.Struct({
|
|
98
|
-
outcome: Schema.Literals(['confirmed', 'failed']),
|
|
99
|
-
messageId: Schema.String,
|
|
100
|
-
disposition: Schema.NullOr(Schema.String),
|
|
101
|
-
receivedMic: Schema.NullOr(Schema.String),
|
|
102
|
-
packMic: Schema.NullOr(Schema.String),
|
|
103
|
-
micMatched: Schema.Boolean,
|
|
104
|
-
originatingTraceId: Schema.NullOr(Schema.String),
|
|
105
|
-
});
|
|
106
|
-
const SettleAnswer = Schema.Struct({
|
|
107
|
-
outcome: Schema.Literal('confirmed'),
|
|
108
|
-
messageId: Schema.String,
|
|
109
|
-
customerTraceId: Schema.NullOr(Schema.String),
|
|
110
|
-
});
|
|
111
|
-
const ErrorAnswer = Schema.Struct({
|
|
112
|
-
error: Schema.Struct({ code: Schema.String, message: Schema.String }),
|
|
113
|
-
});
|
|
114
|
-
const Settings = Config.all({
|
|
115
|
-
apiUrl: Config.option(Config.String('UNNBOUND_API_URL')),
|
|
116
|
-
// Hosts other than Firecracker pass no Run token; their workflow token is in the environment.
|
|
117
|
-
envToken: Config.option(Config.Redacted('TEMPER_RUN_TOKEN')),
|
|
118
|
-
sandboxToken: Config.option(Config.Redacted('UNNBOUND_SANDBOX_JWT')),
|
|
119
|
-
workflowUrl: Config.option(Config.String('UNNBOUND_WORKFLOW_URL')),
|
|
120
|
-
});
|
|
121
|
-
const present = (token) => Option.filter(token, (value) => Redacted.value(value).length > 0);
|
|
122
|
-
const toBase64 = (bytes) => Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString('base64');
|
|
123
|
-
const fromBase64 = (text) => new Uint8Array(Buffer.from(text, 'base64'));
|
|
124
|
-
const bytesOf = (value) => Predicate.isString(value) ? new TextEncoder().encode(value) : value;
|
|
125
|
-
const keyPairSecrets = (slots) => [
|
|
126
|
-
slots.privateKey,
|
|
127
|
-
slots.secondaryPrivateKey,
|
|
128
|
-
];
|
|
129
|
-
const tlsSecrets = (tls) => [
|
|
130
|
-
tls?.clientKey,
|
|
131
|
-
tls?.clientKeyPassphrase,
|
|
132
|
-
];
|
|
133
|
-
/** Every secret field of the two records: the wire carries them in clear, so each becomes a log mask first. */
|
|
134
|
-
const secretsOf = ({ partner, identity }) => [
|
|
135
|
-
...(identity.keys.mode === 'combined'
|
|
136
|
-
? keyPairSecrets(identity.keys)
|
|
137
|
-
: [...keyPairSecrets(identity.keys.signing), ...keyPairSecrets(identity.keys.encryption)]),
|
|
138
|
-
partner.httpAuth.type === 'basic' ? partner.httpAuth.password : undefined,
|
|
139
|
-
...tlsSecrets(partner.tls),
|
|
140
|
-
partner.proxy?.auth.type === 'basic' ? partner.proxy.auth.password : undefined,
|
|
141
|
-
...tlsSecrets(partner.proxy?.tls),
|
|
142
|
-
].flatMap((secret) => (secret === undefined ? [] : [Redacted.value(secret)]));
|
|
143
|
-
const partiesOf = (operation, options) => Effect.gen(function* () {
|
|
144
|
-
const identity = options.identity ?? options.partner.identity;
|
|
145
|
-
// The decoded record always carries one; a hand-built value may not.
|
|
146
|
-
if (!Predicate.isObject(identity)) {
|
|
147
|
-
return yield* new As2Error({
|
|
148
|
-
operation,
|
|
149
|
-
code: 'NOT_CONFIGURED',
|
|
150
|
-
retryable: false,
|
|
151
|
-
message: 'An AS2 identity is required: pass one, or resolve a partner record that references one.',
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
return { partner: options.partner, identity };
|
|
155
|
-
});
|
|
156
|
-
/** The platform wants the partner without its inlined identity, and the identity beside it. */
|
|
157
|
-
const wireParties = ({ partner, identity }) => Effect.gen(function* () {
|
|
158
|
-
yield* registerSecrets(secretsOf({ partner, identity }));
|
|
159
|
-
const { identity: _inlined, ...wirePartner } = Schema.encodeSync(As2PartnerResource)(partner);
|
|
160
|
-
return { partner: wirePartner, identity: Schema.encodeSync(As2IdentityResource)(identity) };
|
|
161
|
-
});
|
|
162
|
-
const isHttpUrl = (value) => {
|
|
163
|
-
if (!URL.canParse(value))
|
|
164
|
-
return false;
|
|
165
|
-
const protocol = new URL(value).protocol;
|
|
166
|
-
return protocol === 'http:' || protocol === 'https:';
|
|
167
|
-
};
|
|
168
|
-
// Userinfo, query, and fragment can carry credentials, so they never reach a log line.
|
|
169
|
-
const endpointOf = (url) => {
|
|
170
|
-
if (!isHttpUrl(url))
|
|
171
|
-
return {};
|
|
172
|
-
const parsed = new URL(url);
|
|
173
|
-
const scheme = parsed.protocol === 'https:' ? 'https' : 'http';
|
|
174
|
-
const port = parsed.port !== '' ? Number(parsed.port) : scheme === 'https' ? 443 : 80;
|
|
175
|
-
return { host: parsed.host, url: `${parsed.protocol}//${parsed.hostname}:${port}${parsed.pathname}`, scheme, port };
|
|
176
|
-
};
|
|
177
|
-
// A partner-chosen async-MDN URL can carry a credential in its path, so only its origin is logged.
|
|
178
|
-
const originOf = (url) => {
|
|
179
|
-
const endpoint = endpointOf(url);
|
|
180
|
-
if (endpoint.scheme === undefined)
|
|
181
|
-
return {};
|
|
182
|
-
return { ...endpoint, url: `${endpoint.scheme}://${new URL(url).hostname}:${endpoint.port}` };
|
|
183
|
-
};
|
|
184
|
-
const as2Line = (fields) => {
|
|
185
|
-
const as2 = {};
|
|
186
|
-
for (const [key, value] of Object.entries(fields))
|
|
187
|
-
if (value !== undefined)
|
|
188
|
-
as2[key] = value;
|
|
189
|
-
return { type: 'as2', as2 };
|
|
190
|
-
};
|
|
191
|
-
/** Answers each `As2Error` with the status a partner reads; every other failure passes through unchanged. */
|
|
192
|
-
const answerAs2Failures = (effect) => Effect.catch(effect, (error) => error instanceof As2Error
|
|
193
|
-
? Effect.succeed(as2FailureResponse(error))
|
|
194
|
-
: // SAFETY: the instanceof check above took every As2Error out of this branch.
|
|
195
|
-
Effect.fail(error));
|
|
196
|
-
const isEmptyBody = (error) => HttpClientError.isHttpClientError(error) && error.reason._tag === 'EmptyBodyError';
|
|
197
|
-
/** The outcome fields of a span's end line: none while it runs, else its outcome and, on failure, the error code. */
|
|
198
|
-
const endOf = (outcome, success) => outcome === undefined
|
|
199
|
-
? {}
|
|
200
|
-
: outcome.error === undefined
|
|
201
|
-
? { outcome: success }
|
|
202
|
-
: { outcome: 'failed', errorCode: outcome.error instanceof As2Error ? outcome.error.code : 'UNKNOWN' };
|
|
203
|
-
/** A fetch error can quote the URL, so a failure keeps only a symbolic code from its cause chain. */
|
|
204
|
-
const symbolicCause = (error) => {
|
|
205
|
-
let current = error;
|
|
206
|
-
for (let depth = 0; depth < 8 && current !== undefined; depth++) {
|
|
207
|
-
const code = Predicate.hasProperty(current, 'code') ? current.code : undefined;
|
|
208
|
-
if (Predicate.isString(code) && /^[A-Z][A-Z0-9_]*$/.test(code))
|
|
209
|
-
return code;
|
|
210
|
-
current = current.cause instanceof Error ? current.cause : undefined;
|
|
211
|
-
}
|
|
212
|
-
return 'unknown';
|
|
213
|
-
};
|
|
214
31
|
const retryLater = () => HttpServerResponse.text('AS2 message is being processed; retry later', {
|
|
215
32
|
status: 503,
|
|
216
33
|
headers: { 'retry-after': '60' },
|
|
@@ -222,18 +39,7 @@ const receiptResponse = (mdnMode, mdn) => mdnMode === 'async' || mdn === null
|
|
|
222
39
|
headers: mdn.headers,
|
|
223
40
|
contentType: headerOf(mdn.headers, 'content-type'),
|
|
224
41
|
});
|
|
225
|
-
const
|
|
226
|
-
const PERMANENT_WIRE = [400, 413, 422];
|
|
227
|
-
/** Legacy `as2Endpoint`: a partner decides whether to resend from the status, so it gets the status and a generic message. */
|
|
228
|
-
export const as2FailureResponse = (error) => {
|
|
229
|
-
const status = error.status;
|
|
230
|
-
if (status !== undefined && RETRYABLE_WIRE.includes(status))
|
|
231
|
-
return HttpServerResponse.jsonUnsafe({ message: 'AS2 message could not be processed; retry later' }, { status });
|
|
232
|
-
if (status !== undefined && PERMANENT_WIRE.includes(status))
|
|
233
|
-
return HttpServerResponse.jsonUnsafe({ message: 'AS2 message was rejected and should not be resent' }, { status });
|
|
234
|
-
return HttpServerResponse.jsonUnsafe({ message: 'Internal server error' }, { status: 500 });
|
|
235
|
-
};
|
|
236
|
-
const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
42
|
+
const makeAs2 = (lookupAddresses, bun) => Effect.gen(function* () {
|
|
237
43
|
const client = yield* HttpClient.HttpClient;
|
|
238
44
|
const settings = (operation) => Settings.pipe(Effect.mapError((cause) => new As2Error({
|
|
239
45
|
operation,
|
|
@@ -486,18 +292,22 @@ const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
|
486
292
|
const parsed = new URL(url);
|
|
487
293
|
if (parsed.username !== '' || parsed.password !== '')
|
|
488
294
|
return yield* refuseMdn('MDN_DELIVERY_FAILED', 'The MDN destination carries credentials.');
|
|
489
|
-
const
|
|
490
|
-
try: () =>
|
|
295
|
+
const addresses = yield* Effect.tryPromise({
|
|
296
|
+
try: () => publicAddressesOf(parsed.hostname, lookupAddresses),
|
|
491
297
|
catch: (cause) => deliveryFailure('MDN_DELIVERY_FAILED', 'deliverMdn', cause instanceof Error ? cause : new Error('lookup failed')),
|
|
492
298
|
});
|
|
493
|
-
|
|
299
|
+
const checked = addresses?.[0];
|
|
300
|
+
if (checked === undefined) {
|
|
494
301
|
return yield* refuseMdn('MDN_DESTINATION_BLOCKED', 'The MDN destination resolves to a private or reserved address.');
|
|
495
302
|
}
|
|
303
|
+
// On Bun the POST goes to the checked address, as legacy dialed it, so a name that rebinds cannot redirect it.
|
|
304
|
+
const pinned = bun ? pinnedDestination(parsed, checked) : undefined;
|
|
305
|
+
const outbound = { redirect: 'manual', ...pinned?.transport };
|
|
496
306
|
const response = yield* client
|
|
497
|
-
.execute(HttpClientRequest.post(url).pipe(HttpClientRequest.bodyUint8Array(mdn.body, headerOf(mdn.headers, 'content-type')), HttpClientRequest.setHeaders(mdn.headers)))
|
|
307
|
+
.execute(HttpClientRequest.post(pinned?.url ?? url).pipe(HttpClientRequest.bodyUint8Array(mdn.body, headerOf(mdn.headers, 'content-type')), HttpClientRequest.setHeaders(mdn.headers), (request) => (pinned === undefined ? request : HttpClientRequest.setHeader(request, 'host', pinned.host))))
|
|
498
308
|
.pipe(Effect.provideService(HttpClient.TracerDisabledWhen, () => true),
|
|
499
309
|
// The partner controls the URL; a redirect would send the POST where the destination check never looked.
|
|
500
|
-
Effect.provideService(FetchHttpClient.RequestInit,
|
|
310
|
+
Effect.provideService(FetchHttpClient.RequestInit, outbound), Effect.mapError((cause) => deliveryFailure('MDN_DELIVERY_FAILED', 'deliverMdn', cause)));
|
|
501
311
|
status = response.status;
|
|
502
312
|
yield* readCapped(response, 'deliverMdn', 'MDN_DELIVERY_FAILED');
|
|
503
313
|
if (response.status < 200 || response.status >= 300) {
|
|
@@ -520,7 +330,6 @@ const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
|
520
330
|
})), Effect.asVoid);
|
|
521
331
|
};
|
|
522
332
|
const refuse = (code, message) => Effect.fail(new As2Error({ operation: 'send', code, retryable: false, message }));
|
|
523
|
-
const hasTls = (tls) => tls !== undefined && Object.values(tls).some((value) => value !== undefined);
|
|
524
333
|
/** Checks that run before pack: pack records a pending message, so a refusal after it would strand that row. */
|
|
525
334
|
const checkDestination = (url, options) => Effect.gen(function* () {
|
|
526
335
|
const { partner } = options;
|
|
@@ -530,18 +339,18 @@ const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
|
530
339
|
if (parsed.username !== '' || parsed.password !== '')
|
|
531
340
|
return yield* refuse('INVALID_PARTNER_URL', 'The partner URL must not carry credentials.');
|
|
532
341
|
const basic = partner.httpAuth.type === 'basic';
|
|
342
|
+
const credentialed = basic || partner.tls?.clientCertificate !== undefined || partner.tls?.clientKey !== undefined;
|
|
533
343
|
const configured = partner.url;
|
|
534
344
|
if (options.url !== undefined &&
|
|
535
|
-
|
|
345
|
+
credentialed &&
|
|
536
346
|
(configured === undefined || parsed.origin !== new URL(configured).origin)) {
|
|
537
347
|
return yield* refuse('PARTNER_CREDENTIAL_ORIGIN_MISMATCH', 'Partner credentials go only to the origin of the partner URL.');
|
|
538
348
|
}
|
|
539
349
|
if (basic && parsed.protocol !== 'https:')
|
|
540
350
|
return yield* refuse('INSECURE_CREDENTIAL_TRANSPORT', 'HTTP Basic delivery auth requires an https:// partner URL.');
|
|
541
|
-
|
|
542
|
-
if (
|
|
543
|
-
return yield* refuse(
|
|
544
|
-
}
|
|
351
|
+
const transport = deliveryTransport(partner, parsed, bun);
|
|
352
|
+
if (transport.kind === 'refused')
|
|
353
|
+
return yield* refuse(transport.code, transport.message);
|
|
545
354
|
});
|
|
546
355
|
const receiptUrlFor = (partner, options) => Effect.gen(function* () {
|
|
547
356
|
if (partner.receipt !== 'async')
|
|
@@ -565,13 +374,22 @@ const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
|
565
374
|
return Effect.gen(function* () {
|
|
566
375
|
if (auth.type === 'basic')
|
|
567
376
|
yield* registerSecrets([Redacted.value(auth.password)]);
|
|
377
|
+
const transport = deliveryTransport(parties.partner, new URL(url), bun);
|
|
378
|
+
if (transport.kind === 'refused') {
|
|
379
|
+
return yield* new As2Error({
|
|
380
|
+
operation: 'send',
|
|
381
|
+
code: transport.code,
|
|
382
|
+
retryable: false,
|
|
383
|
+
message: transport.message,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
// AS2 endpoints are fixed, agreed URLs; a redirect would send the envelope where the partner's gateway chose.
|
|
387
|
+
const outbound = { redirect: 'manual', ...transport.transport };
|
|
568
388
|
const response = yield* client
|
|
569
389
|
.execute(HttpClientRequest.post(url).pipe(HttpClientRequest.bodyUint8Array(envelope, headerOf(as2Headers, 'content-type')), HttpClientRequest.setHeaders(as2Headers), (request) => auth.type === 'basic'
|
|
570
390
|
? HttpClientRequest.basicAuth(request, auth.username, Redacted.value(auth.password))
|
|
571
391
|
: request))
|
|
572
|
-
.pipe(Effect.provideService(HttpClient.TracerDisabledWhen, () => true),
|
|
573
|
-
// AS2 endpoints are fixed, agreed URLs; a redirect would send the envelope where the partner's gateway chose.
|
|
574
|
-
Effect.provideService(FetchHttpClient.RequestInit, { redirect: 'manual' }), Effect.mapError((cause) => deliveryFailure('DELIVERY_FAILED', 'send', cause)));
|
|
392
|
+
.pipe(Effect.provideService(HttpClient.TracerDisabledWhen, () => true), Effect.provideService(FetchHttpClient.RequestInit, outbound), Effect.mapError((cause) => deliveryFailure('DELIVERY_FAILED', 'send', cause)));
|
|
575
393
|
status = response.status;
|
|
576
394
|
const body = yield* readCapped(response, 'send', 'DELIVERY_FAILED');
|
|
577
395
|
if (response.status < 200 || response.status >= 300) {
|
|
@@ -701,8 +519,11 @@ const makeAs2 = (lookupAddresses) => Effect.gen(function* () {
|
|
|
701
519
|
* provide `As2.layer`. All S/MIME crypto runs on the platform; the SDK carries bytes and records.
|
|
702
520
|
*/
|
|
703
521
|
export class As2 extends Context.Service()('@temper/workflow/As2') {
|
|
704
|
-
static layer = Layer.effect(As2, makeAs2(lookupAllAddresses));
|
|
705
|
-
/**
|
|
706
|
-
|
|
522
|
+
static layer = Layer.effect(As2, makeAs2(lookupAllAddresses, bunFetch()));
|
|
523
|
+
/**
|
|
524
|
+
* `layer` with a replaced name lookup for the async-MDN destination check, and optionally the runtime: `bun`
|
|
525
|
+
* applies partner TLS, proxies, and address pinning through the `fetch` options Bun takes.
|
|
526
|
+
*/
|
|
527
|
+
static layerWith = (options) => Layer.effect(As2, makeAs2(options.lookupAddresses, (options.runtime ?? (bunFetch() ? 'bun' : 'fetch')) === 'bun'));
|
|
707
528
|
}
|
|
708
529
|
//# sourceMappingURL=As2.js.map
|
package/dist/As2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"As2.js","sourceRoot":"","sources":["../src/As2.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"As2.js","sourceRoot":"","sources":["../src/As2.ts"],"names":[],"mappings":"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"}
|
package/dist/As2Destination.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export type LookupAddresses = (hostname: string) => Promise<ReadonlyArray<string
|
|
|
3
3
|
export declare const lookupAllAddresses: LookupAddresses;
|
|
4
4
|
/** Only global unicast addresses pass: loopback, private, link-local, metadata, and mapped forms fail. */
|
|
5
5
|
export declare const isPublicAddress: (address: string) => boolean;
|
|
6
|
+
/** The addresses a host reaches when every one is public; `undefined` for a private, reserved, or unresolved host. */
|
|
7
|
+
export declare const publicAddressesOf: (host: string, lookupAddresses: LookupAddresses) => Promise<ReadonlyArray<string> | undefined>;
|
|
6
8
|
/** An IP literal must be public; a name passes only when every address it resolves to is public. */
|
|
7
9
|
export declare const isPublicDestination: (host: string, lookupAddresses: LookupAddresses) => Promise<boolean>;
|
|
8
10
|
//# sourceMappingURL=As2Destination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"As2Destination.d.ts","sourceRoot":"","sources":["../src/As2Destination.ts"],"names":[],"mappings":"AAGA,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnF,eAAO,MAAM,kBAAkB,EAAE,eACyD,CAAC;AAwC3F,0GAA0G;AAC1G,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,OAKjD,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,SAAgB,MAAM,mBAAmB,eAAe,KAAG,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"As2Destination.d.ts","sourceRoot":"","sources":["../src/As2Destination.ts"],"names":[],"mappings":"AAGA,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnF,eAAO,MAAM,kBAAkB,EAAE,eACyD,CAAC;AAwC3F,0GAA0G;AAC1G,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,OAKjD,CAAC;AAEF,sHAAsH;AACtH,eAAO,MAAM,iBAAiB,SACtB,MAAM,mBACK,eAAe,KAC/B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAO3C,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,SAAgB,MAAM,mBAAmB,eAAe,KAAG,OAAO,CAAC,OAAO,CAC1C,CAAC"}
|