@toa.io/extensions.exposition 1.0.0-alpha.298 → 1.0.0-alpha.299
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/components/identity.bans/types/toa.d.ts +5 -4
- package/components/identity.basic/types/toa.d.ts +5 -4
- package/components/identity.clients/types/toa.d.ts +5 -4
- package/components/identity.federation/types/toa.d.ts +5 -4
- package/components/identity.grants/types/toa.d.ts +5 -4
- package/components/identity.keys/types/toa.d.ts +5 -4
- package/components/identity.otp/types/toa.d.ts +5 -4
- package/components/identity.passkeys/types/toa.d.ts +4 -3
- package/components/identity.roles/types/toa.d.ts +5 -4
- package/components/identity.tokens/types/toa.d.ts +5 -4
- package/package.json +5 -5
- package/transpiled/Gateway.js +4 -3
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +6 -1
- package/transpiled/HTTP/Context.js +7 -1
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +10 -0
- package/transpiled/HTTP/Server.js +46 -3
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/messages.js +83 -11
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Query.js +4 -3
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/factory.js +1 -2
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/directives/auth/Assert.js +2 -2
- package/transpiled/directives/auth/Assert.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +2 -2
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Federation.js +2 -2
- package/transpiled/directives/auth/Federation.js.map +1 -1
- package/transpiled/directives/auth/Incept.js +4 -3
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Role.js +2 -2
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/dev/Faulty.js +4 -3
- package/transpiled/directives/dev/Faulty.js.map +1 -1
- package/transpiled/directives/dev/Sleep.js +2 -2
- package/transpiled/directives/dev/Sleep.js.map +1 -1
- package/transpiled/directives/flow/Compose.js +5 -4
- package/transpiled/directives/flow/Compose.js.map +1 -1
- package/transpiled/directives/flow/Fetch.js +3 -3
- package/transpiled/directives/flow/Fetch.js.map +1 -1
- package/transpiled/directives/help/Family.js +2 -2
- package/transpiled/directives/help/Family.js.map +1 -1
- package/transpiled/directives/help/Help.js +2 -2
- package/transpiled/directives/help/Help.js.map +1 -1
- package/transpiled/directives/help/Parameters.js +2 -2
- package/transpiled/directives/help/Parameters.js.map +1 -1
- package/transpiled/directives/help/described.js +13 -9
- package/transpiled/directives/help/described.js.map +1 -1
- package/transpiled/directives/io/Status.js +4 -3
- package/transpiled/directives/io/Status.js.map +1 -1
- package/transpiled/directives/io/lib/throttle/components/Segment.js +2 -2
- package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -1
- package/transpiled/directives/io/lib/throttle/conditions/Status.js +2 -2
- package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -1
- package/transpiled/directives/map/Authority.js +2 -2
- package/transpiled/directives/map/Authority.js.map +1 -1
- package/transpiled/directives/map/Buffer.js +2 -2
- package/transpiled/directives/map/Buffer.js.map +1 -1
- package/transpiled/directives/map/Claims.js +4 -3
- package/transpiled/directives/map/Claims.js.map +1 -1
- package/transpiled/directives/map/Headers.js +4 -3
- package/transpiled/directives/map/Headers.js.map +1 -1
- package/transpiled/directives/map/Language.js +2 -2
- package/transpiled/directives/map/Language.js.map +1 -1
- package/transpiled/directives/map/Languages.js +4 -3
- package/transpiled/directives/map/Languages.js.map +1 -1
- package/transpiled/directives/map/Segments.js +6 -4
- package/transpiled/directives/map/Segments.js.map +1 -1
- package/transpiled/directives/mcp/MCP.js +2 -2
- package/transpiled/directives/mcp/MCP.js.map +1 -1
- package/transpiled/directives/mcp/Tool.js +4 -3
- package/transpiled/directives/mcp/Tool.js.map +1 -1
- package/transpiled/directives/octets/Context.js +2 -2
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Delete.d.ts +5 -0
- package/transpiled/directives/octets/Delete.js +26 -9
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/Put.js +4 -2
- package/transpiled/directives/octets/Put.js.map +1 -1
- package/transpiled/directives/octets/bytes.js +2 -2
- package/transpiled/directives/octets/bytes.js.map +1 -1
- package/transpiled/directives/octets/workflows/Execution.d.ts +13 -0
- package/transpiled/directives/octets/workflows/Execution.js +23 -1
- package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
- package/transpiled/directives/octets/workflows/index.d.ts +1 -0
- package/transpiled/directives/require/Require.js +2 -2
- package/transpiled/directives/require/Require.js.map +1 -1
- package/transpiled/service.js +2 -2
- package/transpiled/service.js.map +1 -1
- package/ui/dist/_app/immutable/chunks/{DG4OFQ9V.js → Bg92Ff-H.js} +2 -2
- package/ui/dist/_app/immutable/chunks/{Cec6E11I.js → CiH4YaDd.js} +1 -1
- package/ui/dist/_app/immutable/chunks/Db7Vwwng.js +1 -0
- package/ui/dist/_app/immutable/chunks/{CSmOlTSe.js → pL_8ezUT.js} +2 -2
- package/ui/dist/_app/immutable/entry/{app.xQaqMBBI.js → app.5vMdme9b.js} +2 -2
- package/ui/dist/_app/immutable/entry/start.43FKMMlZ.js +1 -0
- package/ui/dist/_app/immutable/nodes/{0.DVee6nnk.js → 0.DOb3LPeF.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{1.BEUjUfUC.js → 1.BW74-b_6.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{2.woHR77fz.js → 2.CzgD9WuN.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{3.SWWw_ly3.js → 3.Btbj_hcv.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{4.Dm-ECSOq.js → 4.CKgb241g.js} +1 -1
- package/ui/dist/_app/immutable/nodes/{5.dblTLZRp.js → 5.BNDP4aw-.js} +1 -1
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +10 -10
- package/ui/dist/_app/immutable/chunks/42lgtt7R.js +0 -1
- package/ui/dist/_app/immutable/entry/start.Vc6aSJjU.js +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
/**
|
|
3
2
|
* The status of the reply, taken from a property of what the operation returned and removed
|
|
4
3
|
* from it — an outcome the operation knows and the transport does not, like a protocol that
|
|
@@ -15,7 +14,8 @@ export class Status {
|
|
|
15
14
|
this.property = property;
|
|
16
15
|
}
|
|
17
16
|
static validate(value) {
|
|
18
|
-
|
|
17
|
+
if (typeof value !== 'string')
|
|
18
|
+
throw new Error('`io:status` must be a string');
|
|
19
19
|
}
|
|
20
20
|
precall() {
|
|
21
21
|
// nothing to do until the operation has answered
|
|
@@ -25,7 +25,8 @@ export class Status {
|
|
|
25
25
|
if (body === null || typeof body !== 'object' || !(this.property in body))
|
|
26
26
|
return;
|
|
27
27
|
const value = body[this.property];
|
|
28
|
-
|
|
28
|
+
if (typeof value !== 'number')
|
|
29
|
+
throw new Error(`\`io:status\` expects '${this.property}' to be a number`);
|
|
29
30
|
response.status = value;
|
|
30
31
|
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
31
32
|
delete body[this.property];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAQ;IAEjC,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAkB,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAChF,CAAC;IAEM,OAAO;QACZ,iDAAiD;IACnD,CAAC;IAEM,MAAM,CAAC,CAAU,EAAE,QAA8B;QACtD,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAA;QAEnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;YAAE,OAAM;QAEjF,MAAM,KAAK,GAAa,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,kBAAkB,CAAC,CAAA;QAE5E,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;QAEvB,gEAAgE;QAChE,OAAQ,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
/** The value a named route segment was bound to, or nothing when the route has none. */
|
|
3
2
|
export class Segment {
|
|
4
3
|
name;
|
|
5
4
|
constructor(name) {
|
|
6
|
-
|
|
5
|
+
if (typeof name !== 'string')
|
|
6
|
+
throw new Error('Throttle segment must be a string');
|
|
7
7
|
this.name = name;
|
|
8
8
|
}
|
|
9
9
|
get(_, parameters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Segment.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/components/Segment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Segment.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/components/Segment.ts"],"names":[],"mappings":"AAIA,wFAAwF;AACxF,MAAM,OAAO,OAAO;IACD,IAAI,CAAQ;IAE7B,YAAmB,IAAa;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAElF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,GAAG,CAAC,CAAU,EAAE,UAAuB;QAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAA;IACvE,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
export class Status {
|
|
3
2
|
status;
|
|
4
3
|
constructor(status) {
|
|
5
|
-
|
|
4
|
+
if (typeof status !== 'number')
|
|
5
|
+
throw new Error('Status must be a number');
|
|
6
6
|
this.status = status;
|
|
7
7
|
}
|
|
8
8
|
match(input, output) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/conditions/Status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/conditions/Status.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,MAAM;IACA,MAAM,CAAQ;IAE/B,YAAmB,MAAe;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAE1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAY,EAAE,MAAc;QACvC,OAAO,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Mapping } from './Mapping.js';
|
|
3
2
|
export class Authority extends Mapping {
|
|
4
3
|
constructor(property) {
|
|
5
|
-
|
|
4
|
+
if (typeof property !== 'string')
|
|
5
|
+
throw new Error('`map:authority` must be a string');
|
|
6
6
|
super(property);
|
|
7
7
|
}
|
|
8
8
|
properties(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authority.js","sourceRoot":"","sources":["../../../source/directives/map/Authority.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Authority.js","sourceRoot":"","sources":["../../../source/directives/map/Authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,SAAU,SAAQ,OAAe;IAC5C,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAErF,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Mapping } from './Mapping.js';
|
|
3
2
|
export class BufferMapping extends Mapping {
|
|
4
3
|
constructor(property) {
|
|
5
|
-
|
|
4
|
+
if (typeof property !== 'string')
|
|
5
|
+
throw new Error('`map:buffer` must be a string');
|
|
6
6
|
super(property);
|
|
7
7
|
}
|
|
8
8
|
async properties(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../../../source/directives/map/Buffer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../../../source/directives/map/Buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,aAAc,SAAQ,OAAe;IAChD,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAElF,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEe,KAAK,CAAC,UAAU,CAAC,OAAc;QAC7C,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;IACpE,CAAC;CACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Mapping } from './Mapping.js';
|
|
3
2
|
export class Claims extends Mapping {
|
|
4
3
|
discovery;
|
|
5
4
|
federation = null;
|
|
6
5
|
constructor(map, remotes) {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
if (map.constructor !== Object)
|
|
7
|
+
throw new Error('`map:claims` must be an object');
|
|
8
|
+
if (!Object.values(map).every((value) => typeof value === 'string'))
|
|
9
|
+
throw new Error('`map:claims ` must be an object with string values');
|
|
9
10
|
super(map, remotes);
|
|
10
11
|
this.discovery = remotes.discover('identity', 'federation');
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Claims.js","sourceRoot":"","sources":["../../../source/directives/map/Claims.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Claims.js","sourceRoot":"","sources":["../../../source/directives/map/Claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,MAAM,OAAO,MAAO,SAAQ,OAA+B;IACxC,SAAS,CAAqB;IACvC,UAAU,GAAqB,IAAI,CAAA;IAE3C,YAAmB,GAA2B,EAAE,OAAgB;QAC9D,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAEjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEnB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;IAEe,KAAK,CAAC,UAAU,CAC9B,OAAc;QAEd,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAA;QAE5D,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAEhD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAE3B,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAErD,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,cAAsB;QACzC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvD,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEjE,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,QAAQ,EACR,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAA;QAED,IAAI,MAAM,YAAY,KAAK;YAAE,OAAO,IAAI,CAAA;QAExC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { cors } from '../cors/index.js';
|
|
3
2
|
import { Mapping } from './Mapping.js';
|
|
4
3
|
import { take } from '../../Introspection.js';
|
|
@@ -11,8 +10,10 @@ const FORBIDDEN = new Set(['host', 'origin']);
|
|
|
11
10
|
export class Headers extends Mapping {
|
|
12
11
|
headers;
|
|
13
12
|
constructor(map) {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (map.constructor !== Object)
|
|
14
|
+
throw new Error('`map:headers` must be an object');
|
|
15
|
+
if (!Object.values(map).every((value) => typeof value === 'string'))
|
|
16
|
+
throw new Error('`map:headers` must be an object with string values');
|
|
16
17
|
super(map);
|
|
17
18
|
this.headers = Object.values(map).filter((header) => !FORBIDDEN.has(header));
|
|
18
19
|
this.headers.forEach((header) => cors.allow(header));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C;;;;GAIG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE7C,MAAM,OAAO,OAAQ,SAAQ,OAA+B;IACzC,OAAO,CAAU;IAElC,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/E,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;YAEzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE7C,IAAI,KAAK,KAAK,SAAS;gBACrB,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAExE,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import Negotiator from 'negotiator';
|
|
3
2
|
import { cors } from '../cors/index.js';
|
|
4
3
|
import { Mapping } from './Mapping.js';
|
|
@@ -6,7 +5,8 @@ import { Languages } from './Languages.js';
|
|
|
6
5
|
export class Language extends Mapping {
|
|
7
6
|
languages = null;
|
|
8
7
|
constructor(property) {
|
|
9
|
-
|
|
8
|
+
if (typeof property !== 'string')
|
|
9
|
+
throw new Error('`map:language` must be a string');
|
|
10
10
|
cors.allow('accept-language');
|
|
11
11
|
super(property);
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../source/directives/map/Language.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../source/directives/map/Language.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,OAAO,QAAS,SAAQ,OAAe;IACnC,SAAS,GAAoB,IAAI,CAAA;IAEzC,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAEpF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CACf,OAAc,EACd,UAAuB,EACvB,UAAuB;QAEvB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAEzE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnC,CAAC;IAEO,OAAO,CAAC,UAAuB;QACrC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,SAAS;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAA;QAE5D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACvF,CAAC;CACF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Property } from './Properties.js';
|
|
3
2
|
export class Languages extends Property {
|
|
4
3
|
constructor(value) {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
if (!(Array.isArray(value) && value.length > 0))
|
|
5
|
+
throw new Error('`map:languages` must be a non-empty array of strings');
|
|
6
|
+
if (!value.every((language) => typeof language === 'string'))
|
|
7
|
+
throw new Error('`map:languages` must be an array of strings');
|
|
7
8
|
super('languages', value);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Languages.js","sourceRoot":"","sources":["../../../source/directives/map/Languages.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Languages.js","sourceRoot":"","sources":["../../../source/directives/map/Languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,OAAO,SAAU,SAAQ,QAAqB;IAClD,YAAmB,KAAe;QAChC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAEhE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;CACF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Mapping } from './Mapping.js';
|
|
3
2
|
import { take } from '../../Introspection.js';
|
|
4
3
|
export class Segments extends Mapping {
|
|
5
4
|
constructor(map) {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
if (map.constructor !== Object)
|
|
6
|
+
throw new Error('`map:segments` must be an object');
|
|
7
|
+
if (!Object.values(map).every((value) => typeof value === 'string'))
|
|
8
|
+
throw new Error('`map:segments ` must be an object with string values');
|
|
8
9
|
super(map);
|
|
9
10
|
}
|
|
10
11
|
/** A segment is the caller's, so it moves to the route rather than out of sight. */
|
|
@@ -21,7 +22,8 @@ export class Segments extends Mapping {
|
|
|
21
22
|
if (cut)
|
|
22
23
|
parameter = parameter.slice(1);
|
|
23
24
|
const index = parameters.findIndex(({ name }) => name === parameter);
|
|
24
|
-
|
|
25
|
+
if (!(index > -1))
|
|
26
|
+
throw new Error(`Route parameter '${parameter}' is missing`);
|
|
25
27
|
properties[property] = parameters[index].value;
|
|
26
28
|
if (cut)
|
|
27
29
|
parameters.splice(index, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Segments.js","sourceRoot":"","sources":["../../../source/directives/map/Segments.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Segments.js","sourceRoot":"","sources":["../../../source/directives/map/Segments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C,MAAM,OAAO,QAAS,SAAQ,OAA+B;IAC3D,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEnF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAEzE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,oFAAoF;IACpE,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;YAE5C,aAAa,CAAC,KAAK,KAAK,EAAE,CAAA;YAC1B,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAK,EAAE,IAAI,EAAE,QAAQ,EAAwB,CAAA;QACrF,CAAC;IACH,CAAC;IAEe,UAAU,CACxB,CAAU,EACV,UAAuB;QAEvB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;YAEhC,IAAI,GAAG;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEvC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;YAEpE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,cAAc,CAAC,CAAA;YAE/E,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;YAE9C,IAAI,GAAG;gBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAEpC,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Tool } from './Tool.js';
|
|
3
2
|
/** The name the family is declared under, and what `MCP` asks a method for. */
|
|
4
3
|
export const FAMILY = 'mcp';
|
|
@@ -18,7 +17,8 @@ export class MCP {
|
|
|
18
17
|
}
|
|
19
18
|
// eslint-disable-next-line max-params
|
|
20
19
|
create(name, value, _, route) {
|
|
21
|
-
|
|
20
|
+
if (name !== 'tool')
|
|
21
|
+
throw new Error(`Unknown directive: mcp:${name}`);
|
|
22
22
|
return new Tool(value, route);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MCP.js","sourceRoot":"","sources":["../../../source/directives/mcp/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MCP.js","sourceRoot":"","sources":["../../../source/directives/mcp/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAA;AAE3B,MAAM,OAAO,GAAG;IACE,IAAI,GAAG,MAAM,CAAA;IACb,SAAS,GAAG,KAAK,CAAA;IAEjC,oFAAoF;IAC7E,MAAM,CAAC,SAAS,CAAC,UAA8B;QACpD,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,OAAO,CACZ,UAAkB,EAClB,CAAU,EACV,aAA4B;QAE5B,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IACpF,CAAC;IAED,sCAAsC;IAC/B,MAAM,CAAC,IAAY,EAAE,KAAc,EAAE,CAAU,EAAE,KAAa;QACnE,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;QAEtE,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { refusal } from '../../RPC/names.js';
|
|
3
2
|
import { segment } from '../../RTD/segment.js';
|
|
4
3
|
/**
|
|
@@ -12,11 +11,13 @@ import { segment } from '../../RTD/segment.js';
|
|
|
12
11
|
export class Tool {
|
|
13
12
|
published;
|
|
14
13
|
constructor(value, route) {
|
|
15
|
-
|
|
14
|
+
if (typeof value !== 'boolean')
|
|
15
|
+
throw new Error('Directive mcp:tool: the value is whether the method is published; what it is, is `help:method`');
|
|
16
16
|
// a tool is called by name, so a route that cannot be named cannot be one — said where
|
|
17
17
|
// the mistake is, rather than as a tool that is quietly never listed
|
|
18
18
|
if (value)
|
|
19
|
-
|
|
19
|
+
if (refusal(segment(route)) !== null)
|
|
20
|
+
throw new Error(`Directive mcp:tool: '${route}' holds a segment no tool name can spell`);
|
|
20
21
|
this.published = value;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../source/directives/mcp/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../source/directives/mcp/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,OAAO,IAAI;IACC,SAAS,CAAS;IAElC,YAAmB,KAAc,EAAE,KAAa;QAC9C,IAAI,OAAO,KAAK,KAAK,SAAS;YAC5B,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAA;QAEH,uFAAuF;QACvF,qEAAqE;QACrE,IAAI,KAAK;YACP,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;gBAClC,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,0CAA0C,CACxE,CAAA;QAEL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Directive } from './Directive.js';
|
|
3
2
|
export class Context extends Directive {
|
|
4
3
|
targeted = false;
|
|
5
4
|
storage;
|
|
6
5
|
constructor(value) {
|
|
7
6
|
super();
|
|
8
|
-
|
|
7
|
+
if (typeof value !== 'string')
|
|
8
|
+
throw new Error("Directive 'octets:context' must must be a string");
|
|
9
9
|
this.storage = value;
|
|
10
10
|
}
|
|
11
11
|
async apply() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../source/directives/octets/Context.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../source/directives/octets/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpB,QAAQ,GAAG,KAAK,CAAA;IAChB,OAAO,CAAQ;IAE/B,YAAmB,KAAc;QAC/B,KAAK,EAAE,CAAA;QAEP,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAErE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -13,6 +13,11 @@ export declare class Delete extends Directive {
|
|
|
13
13
|
constructor(options: Options | null, discovery: Promise<Component>, remotes: Remotes);
|
|
14
14
|
apply(storage: string, input: Input, parameters: Parameter[]): Promise<Output>;
|
|
15
15
|
private delete;
|
|
16
|
+
/**
|
|
17
|
+
* The reports, then the deletion once every step has completed. A reply destroyed before
|
|
18
|
+
* that — the client gone, the gateway stopping — destroys the execution with it, and the
|
|
19
|
+
* entry stays.
|
|
20
|
+
*/
|
|
16
21
|
private execute;
|
|
17
22
|
}
|
|
18
23
|
export interface Options {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Transform, pipeline } from 'node:stream';
|
|
2
2
|
import { NotFound } from '../../HTTP/index.js';
|
|
3
3
|
import * as schemas from './schemas.js';
|
|
4
4
|
import { Workflow } from './workflows/index.js';
|
|
@@ -28,7 +28,7 @@ export class Delete extends Directive {
|
|
|
28
28
|
if (entry instanceof Error)
|
|
29
29
|
throw new NotFound();
|
|
30
30
|
output.status = 202;
|
|
31
|
-
output.body =
|
|
31
|
+
output.body = this.execute(input, storage, entry, parameters);
|
|
32
32
|
}
|
|
33
33
|
else
|
|
34
34
|
await this.delete(storage, input);
|
|
@@ -42,19 +42,36 @@ export class Delete extends Directive {
|
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* The reports, then the deletion once every step has completed. A reply destroyed before
|
|
47
|
+
* that — the client gone, the gateway stopping — destroys the execution with it, and the
|
|
48
|
+
* entry stays.
|
|
49
|
+
*/
|
|
45
50
|
// eslint-disable-next-line max-params
|
|
46
|
-
|
|
51
|
+
execute(input, storage, entry, parameters) {
|
|
47
52
|
const location = {
|
|
48
53
|
storage,
|
|
49
54
|
authority: input.authority,
|
|
50
55
|
path: input.request.url
|
|
51
56
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
let failed = false;
|
|
58
|
+
const reports = new Transform({
|
|
59
|
+
objectMode: true,
|
|
60
|
+
transform: (report, _, callback) => {
|
|
61
|
+
if (report.error !== undefined || report.status === 'exception')
|
|
62
|
+
failed = true;
|
|
63
|
+
callback(null, report);
|
|
64
|
+
},
|
|
65
|
+
flush: (callback) => {
|
|
66
|
+
if (failed)
|
|
67
|
+
callback();
|
|
68
|
+
else
|
|
69
|
+
this.delete(storage, input).then(() => callback(), callback);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
// the error is the reply's, and the pipeline that writes the reply reports it
|
|
73
|
+
pipeline(this.workflow.execute(location, entry, parameters), reports, () => { });
|
|
74
|
+
return reports;
|
|
58
75
|
}
|
|
59
76
|
}
|
|
60
77
|
//# sourceMappingURL=Delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PassThrough } from 'node:stream';
|
|
1
|
+
import { PassThrough, pipeline } from 'node:stream';
|
|
2
2
|
import { match } from 'matchacho';
|
|
3
3
|
import * as http from '../../HTTP/index.js';
|
|
4
4
|
import { cors } from '../cors/index.js';
|
|
@@ -72,7 +72,9 @@ export class Put extends Directive {
|
|
|
72
72
|
identity: input.identity?.id,
|
|
73
73
|
path: this.location ?? input.request.url
|
|
74
74
|
};
|
|
75
|
-
|
|
75
|
+
// not `pipe`: destroying the reply destroys the execution with it. The error is the
|
|
76
|
+
// reply's, and the pipeline that writes the reply is the one that reports it.
|
|
77
|
+
pipeline(this.workflow.execute(location, entry, parameters), stream, () => { });
|
|
76
78
|
return stream;
|
|
77
79
|
}
|
|
78
80
|
throw(error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Put.js","sourceRoot":"","sources":["../../../source/directives/octets/Put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Put.js","sourceRoot":"","sources":["../../../source/directives/octets/Put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAWpC,MAAM,OAAO,GAAI,SAAQ,SAAS;IAChB,QAAQ,GAAG,KAAK,CAAA;IAEf,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,KAAK,CAAQ;IACb,WAAW,CAAQ;IACnB,KAAK,CAAyB;IAC9B,QAAQ,CAAW;IACnB,SAAS,GAAuC,EAAE,CAAA;IAC3D,OAAO,GAAqB,IAAI,CAAA;IAExC,YACE,OAAuB,EACvB,SAA6B,EAC7B,OAAgB;QAEhB,KAAK,EAAE,CAAA;QAEP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAU,OAAO,CAAC,CAAA;QAEtC,IAAI,CAAC,MAAM,GAAG,KAAK,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EACN,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EACxB,KAAK,EACL,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EACpC,SAAS,CACV,CAAA;QAED,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEzD,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAC/C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/D,CAAA;QAEH,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAErE,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,KAAK,IAAI,OAAO,CAAA;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAA;QAElC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAChC,CAAC;IAED,6FAA6F;IAC7E,QAAQ,CAAC,aAA4B;QACnD,aAAa,CAAC,MAAM,GAAG;YACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzD,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA;QAE7C,MAAM,OAAO,GAAiB;YAC5B,KAAK,EAAE;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAQ,KAAK,EAAE,OAAO,CAAC,CAAA;QAE9D,OAAO,KAAK,CACV,KAAK,EACL,KAAK,EACL,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACxC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CACpD,CAAA;IACH,CAAC;IAED,sCAAsC;IAC9B,KAAK,CACX,KAAY,EACZ,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,MAAM,IAAI,GACR,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QAErD,OAAO,EAAE,IAAI,EAAE,CAAA;IACjB,CAAC;IAED,sCAAsC;IAC9B,OAAO,CACb,KAAY,EACZ,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAa;YACzB,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG;SACzC,CAAA;QAED,oFAAoF;QACpF,8EAA8E;QAC9E,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,KAAiB;QAC7B,MAAM,KAAK,CACT,KAAK,CAAC,IAAI,EACV,gBAAgB,EAChB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EACrC,eAAe,EACf,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAC3B,gBAAgB,EAChB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,EACzE,oBAAoB,EACpB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACvC,iBAAiB,EACjB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EACxC,sBAAsB,EACtB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EACtC,YAAY,EACZ,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EACxC,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
export function toBytes(input) {
|
|
3
2
|
const match = RX.exec(input);
|
|
4
|
-
|
|
3
|
+
if (match === null)
|
|
4
|
+
throw new Error(`Invalid bytes format: ${input}`);
|
|
5
5
|
const value = parseFloat(match.groups.value);
|
|
6
6
|
const prefix = match.groups.prefix?.[0].toLowerCase() ?? '';
|
|
7
7
|
const binary = match.groups.binary !== undefined || match.groups.unit === 'b';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../source/directives/octets/bytes.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../source/directives/octets/bytes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;IAErE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAO,CAAC,IAAI,KAAK,GAAG,CAAA;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvC,MAAM,EAAE,GAAG,sEAAsE,CAAA"}
|
|
@@ -8,9 +8,16 @@ export declare class Execution extends Readable {
|
|
|
8
8
|
private readonly context;
|
|
9
9
|
private readonly components;
|
|
10
10
|
private readonly discovery;
|
|
11
|
+
/** The step streams being read, to be cut with the execution. */
|
|
12
|
+
private readonly streams;
|
|
11
13
|
private interrupted;
|
|
12
14
|
constructor(context: Context, units: Unit[], remotes: Remotes);
|
|
13
15
|
_read(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Nobody reads the reports any more: the reply was destroyed, or the gateway is stopping.
|
|
18
|
+
* The step in flight completes — an invocation is not cancelled — and no other starts.
|
|
19
|
+
*/
|
|
20
|
+
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
|
14
21
|
private run;
|
|
15
22
|
private execute;
|
|
16
23
|
private stream;
|
|
@@ -28,3 +35,9 @@ export interface Context {
|
|
|
28
35
|
parameters: Record<string, string>;
|
|
29
36
|
steps: Record<string, unknown>;
|
|
30
37
|
}
|
|
38
|
+
export interface Report {
|
|
39
|
+
step: string;
|
|
40
|
+
status?: 'completed' | 'exception';
|
|
41
|
+
output?: unknown;
|
|
42
|
+
error?: Record<string, unknown>;
|
|
43
|
+
}
|
|
@@ -6,6 +6,8 @@ export class Execution extends Readable {
|
|
|
6
6
|
context;
|
|
7
7
|
components = {};
|
|
8
8
|
discovery = {};
|
|
9
|
+
/** The step streams being read, to be cut with the execution. */
|
|
10
|
+
streams = new Set();
|
|
9
11
|
interrupted = false;
|
|
10
12
|
constructor(context, units, remotes) {
|
|
11
13
|
super({ objectMode: true });
|
|
@@ -15,13 +17,24 @@ export class Execution extends Readable {
|
|
|
15
17
|
void this.run();
|
|
16
18
|
}
|
|
17
19
|
_read() { }
|
|
20
|
+
/**
|
|
21
|
+
* Nobody reads the reports any more: the reply was destroyed, or the gateway is stopping.
|
|
22
|
+
* The step in flight completes — an invocation is not cancelled — and no other starts.
|
|
23
|
+
*/
|
|
24
|
+
_destroy(error, callback) {
|
|
25
|
+
this.interrupted = true;
|
|
26
|
+
for (const stream of this.streams)
|
|
27
|
+
stream.destroy();
|
|
28
|
+
callback(error);
|
|
29
|
+
}
|
|
18
30
|
async run() {
|
|
19
31
|
for (const unit of this.units) {
|
|
20
32
|
await this.execute(unit);
|
|
21
33
|
if (this.interrupted)
|
|
22
34
|
break;
|
|
23
35
|
}
|
|
24
|
-
this.
|
|
36
|
+
if (!this.destroyed)
|
|
37
|
+
this.push(null);
|
|
25
38
|
}
|
|
26
39
|
async execute(unit) {
|
|
27
40
|
const promises = Object.entries(unit).map(async ([step, endpoint]) => {
|
|
@@ -38,6 +51,7 @@ export class Execution extends Readable {
|
|
|
38
51
|
await Promise.all(promises);
|
|
39
52
|
}
|
|
40
53
|
async stream(step, stream) {
|
|
54
|
+
this.streams.add(stream);
|
|
41
55
|
try {
|
|
42
56
|
for await (const result of stream)
|
|
43
57
|
this.report(step, result, false);
|
|
@@ -46,8 +60,13 @@ export class Execution extends Readable {
|
|
|
46
60
|
catch (e) {
|
|
47
61
|
this.exception(step, e);
|
|
48
62
|
}
|
|
63
|
+
finally {
|
|
64
|
+
this.streams.delete(stream);
|
|
65
|
+
}
|
|
49
66
|
}
|
|
50
67
|
report(step, result, completed = true) {
|
|
68
|
+
if (this.destroyed)
|
|
69
|
+
return;
|
|
51
70
|
const report = { step };
|
|
52
71
|
if (completed)
|
|
53
72
|
report.status = 'completed';
|
|
@@ -64,6 +83,9 @@ export class Execution extends Readable {
|
|
|
64
83
|
this.push(report);
|
|
65
84
|
}
|
|
66
85
|
exception(step, error) {
|
|
86
|
+
// a step stream cut by `_destroy` is not an exception of the step
|
|
87
|
+
if (this.destroyed)
|
|
88
|
+
return;
|
|
67
89
|
console.error('Workflow exception', error);
|
|
68
90
|
this.push({ step, status: 'exception' });
|
|
69
91
|
this.interrupted = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Execution.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAOlC,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACpB,KAAK,CAAQ;IACb,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,UAAU,GAA8B,EAAE,CAAA;IAC1C,SAAS,GAAuC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Execution.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
1
|
import { Headers } from './Headers.js';
|
|
3
2
|
export class Require {
|
|
4
3
|
name = 'require';
|
|
5
4
|
mandatory = false;
|
|
6
5
|
create(name, value) {
|
|
7
|
-
|
|
6
|
+
if (!(name in directives))
|
|
7
|
+
throw new Error(`Unknown directive: require:${name}`);
|
|
8
8
|
return new directives[name](value);
|
|
9
9
|
}
|
|
10
10
|
precall(instances, context) {
|