keri-ts 2.2.3 → 2.2.5
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/esm/keri/npm/src/_dnt.polyfills.js +14 -14
- package/esm/keri/npm/src/acdc/registering.js +19 -0
- package/esm/keri/npm/src/acdc/salting.js +4 -0
- package/esm/keri/npm/src/app/bootstrap/authenticating.js +34 -12
- package/esm/keri/npm/src/app/bootstrap/oobiery.js +365 -32
- package/esm/keri/npm/src/app/credentials/credential-importing.js +33 -4
- package/esm/keri/npm/src/app/credentials/root-replicator.js +27 -15
- package/esm/keri/npm/src/app/credentials/schema-resolving.js +5 -1
- package/esm/keri/npm/src/app/credentials/tel-publishing.js +16 -7
- package/esm/keri/npm/src/app/delivery/forwarding.js +188 -47
- package/esm/keri/npm/src/app/delivery/relaying.js +232 -0
- package/esm/keri/npm/src/app/delivery/respondant.js +8 -5
- package/esm/keri/npm/src/app/exchanges/exchange-messaging.js +1 -1
- package/esm/keri/npm/src/app/exchanges/exchanging.js +65 -9
- package/esm/keri/npm/src/app/identity/delegating.js +66 -9
- package/esm/keri/npm/src/app/identity/habbing.js +190 -71
- package/esm/keri/npm/src/app/identity/keeping.js +111 -39
- package/esm/keri/npm/src/app/identity/retire-identifier.js +98 -0
- package/esm/keri/npm/src/app/ipex/disclosure-replaying.js +116 -0
- package/esm/keri/npm/src/app/ipex/group-ipex.js +122 -25
- package/esm/keri/npm/src/app/ipex/group-issuance.js +109 -23
- package/esm/keri/npm/src/app/ipex/ipex-discloser.js +36 -22
- package/esm/keri/npm/src/app/ipex/ipex-grouping.js +53 -3
- package/esm/keri/npm/src/app/ipex/ipex-v2.js +7 -2
- package/esm/keri/npm/src/app/ipex/issuance.js +131 -35
- package/esm/keri/npm/src/app/ipex/pending-presentations.js +4 -2
- package/esm/keri/npm/src/app/ipex/presenting.js +3 -18
- package/esm/keri/npm/src/app/ipex/receive-issuance.js +2 -1
- package/esm/keri/npm/src/app/ipex/unblinding-workflow.js +16 -3
- package/esm/keri/npm/src/app/mailbox/agent-inbox.js +292 -0
- package/esm/keri/npm/src/app/mailbox/forward-handler.js +298 -52
- package/esm/keri/npm/src/app/mailbox/kel-publisher.js +26 -31
- package/esm/keri/npm/src/app/mailbox/mailbox-poller.js +70 -62
- package/esm/keri/npm/src/app/mailbox/mailboxing.js +20 -4
- package/esm/keri/npm/src/app/multisig/counseling.js +75 -27
- package/esm/keri/npm/src/app/multisig/group-members.js +41 -5
- package/esm/keri/npm/src/app/multisig/grouping.js +50 -2
- package/esm/keri/npm/src/app/multisig/multisig-workflows.js +3 -18
- package/esm/keri/npm/src/app/multisig/proposing.js +1 -16
- package/esm/keri/npm/src/app/multisig/rejoin-group.js +99 -0
- package/esm/keri/npm/src/app/multisig/replace-member.js +29 -8
- package/esm/keri/npm/src/app/protocol/parsering.js +45 -17
- package/esm/keri/npm/src/app/protocol/protocol-processing.js +62 -27
- package/esm/keri/npm/src/app/queries/query-replies.js +0 -22
- package/esm/keri/npm/src/app/queries/relay-refresh.js +81 -0
- package/esm/keri/npm/src/app/queries/witness-inquisitor.js +190 -40
- package/esm/keri/npm/src/app/runtime/agent-runtime.js +46 -73
- package/esm/keri/npm/src/app/runtime/cue-runtime.js +45 -5
- package/esm/keri/npm/src/app/runtime/doing.js +25 -0
- package/esm/keri/npm/src/app/runtime/operation-owners.js +26 -56
- package/esm/keri/npm/src/app/runtime/workflow-contract.js +7 -4
- package/esm/keri/npm/src/app/transport/http-client.js +20 -2
- package/esm/keri/npm/src/app/transport/message-source.js +2 -1
- package/esm/keri/npm/src/app/transport/messengering.js +39 -8
- package/esm/keri/npm/src/app/witness/ingress.js +7 -0
- package/esm/keri/npm/src/app/witness/receipt-client.js +43 -16
- package/esm/keri/npm/src/app/witness/receipting.js +62 -20
- package/esm/keri/npm/src/cli/messaging/multisig.js +4 -3
- package/esm/keri/npm/src/core/errors.js +73 -0
- package/esm/keri/npm/src/core/kel/delegation-ancestry.js +11 -2
- package/esm/keri/npm/src/core/kel/eventing.js +25 -28
- package/esm/keri/npm/src/core/kel/kever.js +15 -9
- package/esm/keri/npm/src/core/mailbox/kram-policy.js +8 -0
- package/esm/keri/npm/src/core/mailbox/kram-pruning.js +25 -6
- package/esm/keri/npm/src/core/mailbox/kram-time.js +34 -6
- package/esm/keri/npm/src/core/mailbox/kraming.js +58 -2
- package/esm/keri/npm/src/core/routing.js +18 -25
- package/esm/keri/npm/src/core/scheming.js +12 -5
- package/esm/keri/npm/src/core/wire-fields.js +126 -0
- package/esm/keri/npm/src/db/basing.js +4 -13
- package/esm/keri/npm/src/db/core/indexeddb-persistence.js +3 -2
- package/esm/keri/npm/src/db/core/lmdber.js +25 -6
- package/esm/keri/npm/src/db/core/memstore.js +4 -0
- package/esm/keri/npm/src/db/core/store-owner.js +4 -0
- package/esm/keri/npm/src/db/core/webdber.js +85 -27
- package/esm/keri/npm/src/db/mailbox/mailboxing.js +13 -0
- package/esm/keri/npm/src/db/subing.js +4 -0
- package/esm/keri/npm/src/runtime/index.js +11 -5
- package/esm/keri/npm/src/time/mod.js +5 -0
- package/esm/keri/npm/src/vdr/credential-tsn-record.js +2 -7
- package/esm/keri/npm/src/vdr/eventing.js +28 -19
- package/esm/keri/npm/src/vdr/registry-tsn-record.js +3 -13
- package/esm/keri/npm/src/version.js +2 -2
- package/package.json +1 -1
- package/types/_dnt.polyfills.d.ts +9 -9
- package/types/_dnt.polyfills.d.ts.map +1 -1
- package/types/acdc/registering.d.ts +6 -0
- package/types/acdc/registering.d.ts.map +1 -1
- package/types/acdc/salting.d.ts.map +1 -1
- package/types/app/bootstrap/authenticating.d.ts +12 -2
- package/types/app/bootstrap/authenticating.d.ts.map +1 -1
- package/types/app/bootstrap/oobiery.d.ts +144 -7
- package/types/app/bootstrap/oobiery.d.ts.map +1 -1
- package/types/app/credentials/credential-importing.d.ts +8 -0
- package/types/app/credentials/credential-importing.d.ts.map +1 -1
- package/types/app/credentials/root-replicator.d.ts +19 -8
- package/types/app/credentials/root-replicator.d.ts.map +1 -1
- package/types/app/credentials/schema-resolving.d.ts.map +1 -1
- package/types/app/credentials/tel-publishing.d.ts +4 -2
- package/types/app/credentials/tel-publishing.d.ts.map +1 -1
- package/types/app/delivery/forwarding.d.ts +75 -7
- package/types/app/delivery/forwarding.d.ts.map +1 -1
- package/types/app/delivery/relaying.d.ts +144 -0
- package/types/app/delivery/relaying.d.ts.map +1 -0
- package/types/app/delivery/respondant.d.ts +9 -2
- package/types/app/delivery/respondant.d.ts.map +1 -1
- package/types/app/exchanges/exchanging.d.ts +36 -0
- package/types/app/exchanges/exchanging.d.ts.map +1 -1
- package/types/app/identity/delegating.d.ts +6 -0
- package/types/app/identity/delegating.d.ts.map +1 -1
- package/types/app/identity/habbing.d.ts +106 -19
- package/types/app/identity/habbing.d.ts.map +1 -1
- package/types/app/identity/keeping.d.ts +54 -19
- package/types/app/identity/keeping.d.ts.map +1 -1
- package/types/app/identity/retire-identifier.d.ts +24 -0
- package/types/app/identity/retire-identifier.d.ts.map +1 -0
- package/types/app/ipex/disclosure-replaying.d.ts +61 -0
- package/types/app/ipex/disclosure-replaying.d.ts.map +1 -0
- package/types/app/ipex/group-ipex.d.ts +60 -14
- package/types/app/ipex/group-ipex.d.ts.map +1 -1
- package/types/app/ipex/group-issuance.d.ts +48 -6
- package/types/app/ipex/group-issuance.d.ts.map +1 -1
- package/types/app/ipex/ipex-discloser.d.ts +14 -2
- package/types/app/ipex/ipex-discloser.d.ts.map +1 -1
- package/types/app/ipex/ipex-grouping.d.ts +23 -2
- package/types/app/ipex/ipex-grouping.d.ts.map +1 -1
- package/types/app/ipex/ipex-v2.d.ts +5 -2
- package/types/app/ipex/ipex-v2.d.ts.map +1 -1
- package/types/app/ipex/issuance.d.ts +35 -11
- package/types/app/ipex/issuance.d.ts.map +1 -1
- package/types/app/ipex/pending-presentations.d.ts +4 -2
- package/types/app/ipex/pending-presentations.d.ts.map +1 -1
- package/types/app/ipex/presenting.d.ts.map +1 -1
- package/types/app/ipex/receive-issuance.d.ts +2 -1
- package/types/app/ipex/receive-issuance.d.ts.map +1 -1
- package/types/app/ipex/unblinding-workflow.d.ts +4 -1
- package/types/app/ipex/unblinding-workflow.d.ts.map +1 -1
- package/types/app/mailbox/agent-inbox.d.ts +126 -0
- package/types/app/mailbox/agent-inbox.d.ts.map +1 -0
- package/types/app/mailbox/forward-handler.d.ts +114 -14
- package/types/app/mailbox/forward-handler.d.ts.map +1 -1
- package/types/app/mailbox/kel-publisher.d.ts +12 -22
- package/types/app/mailbox/kel-publisher.d.ts.map +1 -1
- package/types/app/mailbox/mailbox-poller.d.ts +40 -24
- package/types/app/mailbox/mailbox-poller.d.ts.map +1 -1
- package/types/app/mailbox/mailboxing.d.ts +19 -5
- package/types/app/mailbox/mailboxing.d.ts.map +1 -1
- package/types/app/multisig/counseling.d.ts +34 -11
- package/types/app/multisig/counseling.d.ts.map +1 -1
- package/types/app/multisig/group-members.d.ts +17 -1
- package/types/app/multisig/group-members.d.ts.map +1 -1
- package/types/app/multisig/grouping.d.ts +17 -1
- package/types/app/multisig/grouping.d.ts.map +1 -1
- package/types/app/multisig/multisig-workflows.d.ts +0 -8
- package/types/app/multisig/multisig-workflows.d.ts.map +1 -1
- package/types/app/multisig/proposing.d.ts +4 -19
- package/types/app/multisig/proposing.d.ts.map +1 -1
- package/types/app/multisig/rejoin-group.d.ts +119 -0
- package/types/app/multisig/rejoin-group.d.ts.map +1 -0
- package/types/app/multisig/replace-member.d.ts +15 -1
- package/types/app/multisig/replace-member.d.ts.map +1 -1
- package/types/app/protocol/parsering.d.ts +21 -2
- package/types/app/protocol/parsering.d.ts.map +1 -1
- package/types/app/protocol/protocol-processing.d.ts +31 -6
- package/types/app/protocol/protocol-processing.d.ts.map +1 -1
- package/types/app/queries/query-replies.d.ts +4 -8
- package/types/app/queries/query-replies.d.ts.map +1 -1
- package/types/app/queries/relay-refresh.d.ts +26 -0
- package/types/app/queries/relay-refresh.d.ts.map +1 -0
- package/types/app/queries/witness-inquisitor.d.ts +57 -6
- package/types/app/queries/witness-inquisitor.d.ts.map +1 -1
- package/types/app/runtime/agent-runtime.d.ts +34 -3
- package/types/app/runtime/agent-runtime.d.ts.map +1 -1
- package/types/app/runtime/cue-runtime.d.ts +15 -3
- package/types/app/runtime/cue-runtime.d.ts.map +1 -1
- package/types/app/runtime/doing.d.ts +17 -0
- package/types/app/runtime/doing.d.ts.map +1 -1
- package/types/app/runtime/operation-owners.d.ts +16 -26
- package/types/app/runtime/operation-owners.d.ts.map +1 -1
- package/types/app/runtime/workflow-contract.d.ts +21 -6
- package/types/app/runtime/workflow-contract.d.ts.map +1 -1
- package/types/app/transport/http-client.d.ts +9 -0
- package/types/app/transport/http-client.d.ts.map +1 -1
- package/types/app/transport/message-source.d.ts +6 -3
- package/types/app/transport/message-source.d.ts.map +1 -1
- package/types/app/transport/messengering.d.ts +10 -1
- package/types/app/transport/messengering.d.ts.map +1 -1
- package/types/app/witness/ingress.d.ts +1 -0
- package/types/app/witness/ingress.d.ts.map +1 -1
- package/types/app/witness/receipt-client.d.ts +19 -1
- package/types/app/witness/receipt-client.d.ts.map +1 -1
- package/types/app/witness/receipting.d.ts +24 -1
- package/types/app/witness/receipting.d.ts.map +1 -1
- package/types/cli/messaging/multisig.d.ts.map +1 -1
- package/types/core/cues.d.ts +53 -1
- package/types/core/cues.d.ts.map +1 -1
- package/types/core/errors.d.ts +32 -0
- package/types/core/errors.d.ts.map +1 -1
- package/types/core/kel/delegation-ancestry.d.ts.map +1 -1
- package/types/core/kel/eventing.d.ts.map +1 -1
- package/types/core/kel/kever-decisions.d.ts +3 -1
- package/types/core/kel/kever-decisions.d.ts.map +1 -1
- package/types/core/kel/kever.d.ts +7 -1
- package/types/core/kel/kever.d.ts.map +1 -1
- package/types/core/mailbox/kram-policy.d.ts +6 -0
- package/types/core/mailbox/kram-policy.d.ts.map +1 -1
- package/types/core/mailbox/kram-pruning.d.ts +5 -1
- package/types/core/mailbox/kram-pruning.d.ts.map +1 -1
- package/types/core/mailbox/kram-time.d.ts +26 -2
- package/types/core/mailbox/kram-time.d.ts.map +1 -1
- package/types/core/mailbox/kraming.d.ts +14 -1
- package/types/core/mailbox/kraming.d.ts.map +1 -1
- package/types/core/routing.d.ts +3 -7
- package/types/core/routing.d.ts.map +1 -1
- package/types/core/scheming.d.ts.map +1 -1
- package/types/core/wire-fields.d.ts +56 -0
- package/types/core/wire-fields.d.ts.map +1 -0
- package/types/db/basing.d.ts.map +1 -1
- package/types/db/core/dber.d.ts +5 -0
- package/types/db/core/dber.d.ts.map +1 -1
- package/types/db/core/indexeddb-persistence.d.ts +3 -2
- package/types/db/core/indexeddb-persistence.d.ts.map +1 -1
- package/types/db/core/lmdber.d.ts +6 -0
- package/types/db/core/lmdber.d.ts.map +1 -1
- package/types/db/core/memstore.d.ts +2 -0
- package/types/db/core/memstore.d.ts.map +1 -1
- package/types/db/core/store-owner.d.ts +2 -0
- package/types/db/core/store-owner.d.ts.map +1 -1
- package/types/db/core/webdber.d.ts +32 -6
- package/types/db/core/webdber.d.ts.map +1 -1
- package/types/db/exchange/exchange-records.d.ts +4 -0
- package/types/db/exchange/exchange-records.d.ts.map +1 -1
- package/types/db/mailbox/mailboxing.d.ts +10 -1
- package/types/db/mailbox/mailboxing.d.ts.map +1 -1
- package/types/db/subing.d.ts +2 -0
- package/types/db/subing.d.ts.map +1 -1
- package/types/runtime/index.d.ts +20 -14
- package/types/runtime/index.d.ts.map +1 -1
- package/types/time/mod.d.ts +2 -0
- package/types/time/mod.d.ts.map +1 -1
- package/types/vdr/credential-tsn-record.d.ts.map +1 -1
- package/types/vdr/eventing.d.ts.map +1 -1
- package/types/vdr/registry-tsn-record.d.ts.map +1 -1
- package/types/version.d.ts +2 -2
- package/esm/keri/npm/src/app/runtime/signer-conditions.js +0 -51
- package/types/app/runtime/signer-conditions.d.ts +0 -32
- package/types/app/runtime/signer-conditions.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-processing.d.ts","sourceRoot":"","sources":["../../../src/app/protocol/protocol-processing.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol-processing.d.ts","sourceRoot":"","sources":["../../../src/app/protocol/protocol-processing.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,15 +10,11 @@ interface QueryReplyBatch {
|
|
|
10
10
|
*/
|
|
11
11
|
readonly cues: readonly DirectReply[];
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* A request correlation slot; close it when its HTTP/TCP request completes or is cancelled.
|
|
15
|
+
* A request that waits for its reply reads `ready` on its own loop; the slot tells nobody.
|
|
16
|
+
*/
|
|
14
17
|
export interface QueryReply {
|
|
15
|
-
/**
|
|
16
|
-
* Observe this existing slot without queues or retained Promise waiters; one observer at a time.
|
|
17
|
-
*
|
|
18
|
-
* @param notify Synchronous wake-up callback, including already-ready/closed state.
|
|
19
|
-
* @returns Unsubscribe function; cancellation must call it.
|
|
20
|
-
*/
|
|
21
|
-
observeReady(notify: () => void): () => void;
|
|
22
18
|
/** Whether a captured batch is available for request-owned consumption. */
|
|
23
19
|
readonly ready: boolean;
|
|
24
20
|
/** Take the receipt/witness or ordered TSN pair. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-replies.d.ts","sourceRoot":"","sources":["../../../src/app/queries/query-replies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,yFAAyF;AACzF,KAAK,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"query-replies.d.ts","sourceRoot":"","sources":["../../../src/app/queries/query-replies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,yFAAyF;AACzF,KAAK,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAalE,wDAAwD;AACxD,UAAU,eAAe;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,oDAAoD;IACpD,OAAO,IAAI,eAAe,GAAG,SAAS,CAAC;IACvC,kFAAkF;IAClF,OAAO,IAAI,eAAe,GAAG,SAAS,CAAC;IACvC,wFAAwF;IACxF,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,SAAS;IAPtC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD;;;;OAIG;gBAC0B,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;IAEtD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIjC;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAInD;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IA6ClB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI;CAyBtC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { QueryCue } from "../../core/cues.js";
|
|
2
|
+
import type { Habery } from "../identity/habbing.js";
|
|
3
|
+
import { type DispatchResult } from "../protocol/parsering.js";
|
|
4
|
+
/**
|
|
5
|
+
* Decide whether one processed query makes a relaying host refresh its view of the subject, and return the query cue
|
|
6
|
+
* that does it.
|
|
7
|
+
*
|
|
8
|
+
* Every condition must hold:
|
|
9
|
+
* - the message is a remote (not local) `logs` or `ksn` query the KEL owner accepted or escrowed;
|
|
10
|
+
* - its subject `q.i` is not a prefix of this Habery;
|
|
11
|
+
* - its requester is authenticated (see {@link authenticatedRequester}) and served by a local host under the shared
|
|
12
|
+
* `servingHost` rule (an accepted mailbox or agent end role naming the host);
|
|
13
|
+
* - the host can address an attester for the subject now ({@link addressableAttesters}: one with an accepted
|
|
14
|
+
* location), so the request is sent on the querier's next pass instead of waiting in its queue.
|
|
15
|
+
*
|
|
16
|
+
* The cue is `{ route: "logs", q: {} }` for the subject, signed by the serving host: one full replay from the
|
|
17
|
+
* attester covers both routes, since `ksn` is answered from the same key state. A `tels` query is not refreshed:
|
|
18
|
+
* its wire body names the registry and credential but not the issuer the querier selects attesters by.
|
|
19
|
+
*
|
|
20
|
+
* @param hby Borrowed habitats and accepted-state store of the relaying host.
|
|
21
|
+
* @param result Processed envelope and the decision its owner made.
|
|
22
|
+
* @param mailboxAid Receiving hosted endpoint AID, or null when the request named none.
|
|
23
|
+
* @returns The refresh query cue, or null when this query refreshes nothing.
|
|
24
|
+
*/
|
|
25
|
+
export declare function relayRefreshCue(hby: Habery, result: DispatchResult, mailboxAid: string | null): QueryCue | null;
|
|
26
|
+
//# sourceMappingURL=relay-refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay-refresh.d.ts","sourceRoot":"","sources":["../../../src/app/queries/relay-refresh.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,0BAA0B,CAAC;AAuB1F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAa/G"}
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import { type Operation } from "effection";
|
|
2
2
|
import type { QueryCue, QueryRequest } from "../../core/cues.js";
|
|
3
3
|
import { Deck } from "../../core/deck.js";
|
|
4
|
+
import { type Relay } from "../delivery/relaying.js";
|
|
4
5
|
import type { Hab, Habery } from "../identity/habbing.js";
|
|
5
6
|
import type { ProtocolProcessor } from "../protocol/protocol-processing.js";
|
|
6
7
|
import type { RuntimeClock } from "../runtime/runtime-clock.js";
|
|
7
|
-
import type
|
|
8
|
+
import { type HttpClient } from "../transport/http-client.js";
|
|
9
|
+
/**
|
|
10
|
+
* Delivery passes an ordinary request may rotate with a ready signer but no reachable attester before it is dropped:
|
|
11
|
+
* about five minutes at the protocol tock. Any remote party can cause such requests (every unverified reply signed by
|
|
12
|
+
* an unknown prefix yields a `query` cue), so without a bound they would rotate in the queue forever.
|
|
13
|
+
*/
|
|
14
|
+
export declare const UNADDRESSED_QUERY_PASS_LIMIT = 9600;
|
|
15
|
+
/**
|
|
16
|
+
* The attesters of an ordinary query for `pre` that can be sent to now: those {@link queryAttesters} selects that also
|
|
17
|
+
* have an accepted location.
|
|
18
|
+
*
|
|
19
|
+
* @param hab Local habitat whose accepted-state store is read.
|
|
20
|
+
* @param pre Subject AID whose accepted endpoint roles and locations are consulted.
|
|
21
|
+
* @returns Addressable attester AIDs of the first eligible role; empty when none can be reached now.
|
|
22
|
+
*/
|
|
23
|
+
export declare function addressableAttesters(hab: Hab, pre: string): string[];
|
|
8
24
|
/**
|
|
9
25
|
* KERIpy-shaped query sender, independent from semantic query completion.
|
|
10
26
|
*
|
|
@@ -43,6 +59,8 @@ export declare class WitnessInquisitor {
|
|
|
43
59
|
private closed;
|
|
44
60
|
/** Explicit default signer; null requires a unique local habitat. */
|
|
45
61
|
private hab;
|
|
62
|
+
/** The agent every query is addressed and sent to (an edge); null selects ordinary attesters. */
|
|
63
|
+
readonly relay: Relay | null;
|
|
46
64
|
/**
|
|
47
65
|
* Bind actual protocol and I/O collaborators; acquire no store or network lifetime.
|
|
48
66
|
*
|
|
@@ -50,9 +68,10 @@ export declare class WitnessInquisitor {
|
|
|
50
68
|
* @param protocol Borrowed same-database processor for incoming query replies.
|
|
51
69
|
* @param http Borrowed HTTP implementation selected by composition.
|
|
52
70
|
* @param clock Borrowed clock for transport deadlines; times are milliseconds.
|
|
71
|
+
* @param relay The agent every query goes to; null selects attesters from accepted endpoint roles.
|
|
53
72
|
* @param hab Optional default local signer; null requires an unambiguous sole habitat.
|
|
54
73
|
*/
|
|
55
|
-
constructor(hby: Habery, protocol: ProtocolProcessor, http: HttpClient, clock: RuntimeClock, hab?: Hab | null);
|
|
74
|
+
constructor(hby: Habery, protocol: ProtocolProcessor, http: HttpClient, clock: RuntimeClock, relay: Relay | null, hab?: Hab | null);
|
|
56
75
|
/**
|
|
57
76
|
* Select the local habitat used when queued requests have no explicit signer.
|
|
58
77
|
*
|
|
@@ -61,6 +80,10 @@ export declare class WitnessInquisitor {
|
|
|
61
80
|
configure({ hab }?: {
|
|
62
81
|
hab?: Hab | null;
|
|
63
82
|
}): void;
|
|
83
|
+
/** The explicitly configured default signer, or null when the sole local habitat is used. */
|
|
84
|
+
get defaultSigner(): string | null;
|
|
85
|
+
/** Whether a queued request names `signer` as its explicit signer. */
|
|
86
|
+
hasRequestsSignedBy(signer: string): boolean;
|
|
64
87
|
/** Deferred instructions and active sends are this sender's only pending work. */
|
|
65
88
|
hasPendingWork(): boolean;
|
|
66
89
|
/**
|
|
@@ -77,6 +100,16 @@ export declare class WitnessInquisitor {
|
|
|
77
100
|
* @param hab Optional local signer hint when the cue has no explicit signer.
|
|
78
101
|
*/
|
|
79
102
|
enqueueCue(cue: QueryCue, hab?: Hab | null): void;
|
|
103
|
+
/**
|
|
104
|
+
* Admit a routed query cue unless an identical request is already queued: same subject, route, filters, signer,
|
|
105
|
+
* attester and witness overrides, with the signer resolved as {@link enqueueCue} resolves it. A relaying host's cue
|
|
106
|
+
* router uses this, so the queries of the many edges it serves about one subject leave one request queued; a request
|
|
107
|
+
* already taken for delivery is no longer queued, so a later cue queues the next one.
|
|
108
|
+
*
|
|
109
|
+
* @param cue Typed query cue; missing route/subject produces no request.
|
|
110
|
+
* @param hab Optional local signer hint when the cue has no explicit signer.
|
|
111
|
+
*/
|
|
112
|
+
enqueueCueOnce(cue: QueryCue, hab?: Hab | null): void;
|
|
80
113
|
/** Include actual query I/O in convergence; pending instructions have their own queue. */
|
|
81
114
|
get hasPendingDelivery(): boolean;
|
|
82
115
|
/**
|
|
@@ -114,7 +147,7 @@ export declare class WitnessInquisitor {
|
|
|
114
147
|
* preparation/cleanup faults terminate the worker. Caller cancellation joins
|
|
115
148
|
* the current attempt; it does not close the borrowed state or HTTP service.
|
|
116
149
|
*/
|
|
117
|
-
deliverDo(): Operation<never>;
|
|
150
|
+
deliverDo(tockMs?: number): Operation<never>;
|
|
118
151
|
/**
|
|
119
152
|
* Resolve the habitat that is allowed to sign the outbound query.
|
|
120
153
|
*
|
|
@@ -131,12 +164,30 @@ export declare class WitnessInquisitor {
|
|
|
131
164
|
* Resolve/sign one selected query and introduction immediately before its attempt.
|
|
132
165
|
*
|
|
133
166
|
* @param request Deferred unsigned request; nested query values must remain immutable.
|
|
134
|
-
*
|
|
135
|
-
*
|
|
167
|
+
* The attester is chosen at random among the eligible ones (the explicit `src`, the `wits` overrides, or the first
|
|
168
|
+
* eligible endpoint role) that have an accepted location. An attester without one is never promoted to another
|
|
169
|
+
* role; when none of the eligible attesters can be reached the request is unresolved, like a signer that cannot sign
|
|
170
|
+
* yet, so no endpoint condition ends the delivery loop or fails a caller's pass.
|
|
171
|
+
*
|
|
172
|
+
* @param request Deferred unsigned request; nested query values must remain immutable.
|
|
173
|
+
* @returns Prepared packet, or null when signer/attester evidence is unresolved, no eligible attester has an
|
|
174
|
+
* accepted location, or the signer cannot sign yet.
|
|
136
175
|
*/
|
|
137
176
|
private prepareRequest;
|
|
138
177
|
/**
|
|
139
|
-
*
|
|
178
|
+
* Address one query to the relay and sign it for the relay's location. The relay must have an accepted location
|
|
179
|
+
* and the signer must have authorized it as mailbox (where the answer is stored); until then the request stays
|
|
180
|
+
* unresolved and is tried again on a later pass, as for a signer that cannot sign yet.
|
|
181
|
+
*
|
|
182
|
+
* @param hab Local signing habitat.
|
|
183
|
+
* @param request Deferred unsigned request; its `src` and `wits` are not consulted.
|
|
184
|
+
* @param relay The configured relay agent, which is the attester.
|
|
185
|
+
* @returns Prepared packet for the relay, or null while {@link relayRefusal} refuses the relay for this signer.
|
|
186
|
+
*/
|
|
187
|
+
private prepareRelayRequest;
|
|
188
|
+
/**
|
|
189
|
+
* Return the first eligible role’s attester IDs; preparation chooses one randomly. With a relay, the relay is the
|
|
190
|
+
* only attester.
|
|
140
191
|
*
|
|
141
192
|
* @param pre Subject AID whose accepted endpoint roles are consulted.
|
|
142
193
|
* @param options Optional local signer AID and remote witness/attester overrides; neither selects a transport implementation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-inquisitor.d.ts","sourceRoot":"","sources":["../../../src/app/queries/witness-inquisitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"witness-inquisitor.d.ts","sourceRoot":"","sources":["../../../src/app/queries/witness-inquisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { Authenticator } from "../bootstrap/authenticating.js";
|
|
|
15
15
|
import { Oobiery, type OobiJob } from "../bootstrap/oobiery.js";
|
|
16
16
|
import type { RootReplicator } from "../credentials/root-replicator.js";
|
|
17
17
|
import { Poster } from "../delivery/forwarding.js";
|
|
18
|
+
import { type Relay } from "../delivery/relaying.js";
|
|
18
19
|
import { ReplyStreams } from "../delivery/reply-streams.js";
|
|
19
20
|
import { Respondant } from "../delivery/respondant.js";
|
|
20
21
|
import { Exchanger } from "../exchanges/exchanging.js";
|
|
@@ -37,7 +38,7 @@ import { IpexAuxiliaries } from "./ipex-auxiliaries.js";
|
|
|
37
38
|
import { type OperationStores, type RuntimeOperations } from "./operation-owners.js";
|
|
38
39
|
import type { RetryPolicy } from "./retry-backoff.js";
|
|
39
40
|
import type { RuntimeClock } from "./runtime-clock.js";
|
|
40
|
-
import {
|
|
41
|
+
import { type ChangeSink } from "./workflow-contract.js";
|
|
41
42
|
export type { KeriDispatchEnvelope, OobiJob, TransIdxSigGroup };
|
|
42
43
|
/**
|
|
43
44
|
* Shared runtime composition root owned by one `Habery`.
|
|
@@ -59,6 +60,11 @@ export interface AgentRuntime {
|
|
|
59
60
|
hby: Habery;
|
|
60
61
|
/** Provider mailbox store, borrowed when injected and otherwise owned when enabled. */
|
|
61
62
|
mailboxer: Mailboxer | null;
|
|
63
|
+
/**
|
|
64
|
+
* Whether this runtime relays for served senders (the agent side of relay mode, `AgentRuntimeOptions.relaying`).
|
|
65
|
+
* A host reads it to serve the OOBI of any identifier whose KEL it holds, the edge's replay source.
|
|
66
|
+
*/
|
|
67
|
+
readonly relaying: boolean;
|
|
62
68
|
/** Persistent notice store; ownership follows explicit injection. */
|
|
63
69
|
noter: Noter | null;
|
|
64
70
|
/** Configured notice producer, sharing the composed signer and signaler. */
|
|
@@ -67,6 +73,8 @@ export interface AgentRuntime {
|
|
|
67
73
|
signaler: Signaler | null;
|
|
68
74
|
/** Ordinary protocol facts, consumed by the composed cue workers. */
|
|
69
75
|
cues: Deck<AgentCue>;
|
|
76
|
+
/** Where the cue worker publishes `kramRefused` cues: the injected operation sink, else the Signaler's; null with neither. */
|
|
77
|
+
readonly changes: ChangeSink | null;
|
|
70
78
|
/** Demand-driven input lifetime; protocol decisions stay with ProtocolProcessor. */
|
|
71
79
|
reactor: Reactor;
|
|
72
80
|
/** Shared protocol mutations, publication and background escrow processing. */
|
|
@@ -111,8 +119,6 @@ export interface AgentRuntime {
|
|
|
111
119
|
counselor: Counselor;
|
|
112
120
|
/** Tells an identifier's mailboxes its KEL after a rotation; `runAgentRuntime` runs its fiber. */
|
|
113
121
|
kelPublisher: KelPublisher;
|
|
114
|
-
/** Loops waiting for a signer the host released; empty when nothing waits. */
|
|
115
|
-
signerConditions: SignerConditions;
|
|
116
122
|
/** Pacing of the owners loop `runAgentRuntime` runs. */
|
|
117
123
|
readonly ownerPacing: Readonly<DoerPacing>;
|
|
118
124
|
/** Pacing of the KEL publisher loop `runAgentRuntime` runs. */
|
|
@@ -170,6 +176,16 @@ export interface AgentRuntimeOptions {
|
|
|
170
176
|
notifier?: Notifier;
|
|
171
177
|
/** Construct a provider mailbox store. Omitted leaves it absent; injected mailboxer stays borrowed. */
|
|
172
178
|
enableMailboxStore?: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Agent side of relay mode: `/fwd` intake delivers the child of a sender that authorized this host as its
|
|
181
|
+
* `mailbox` or `agent`, through this runtime's own ingress to a local habitat and through its Poster to anyone
|
|
182
|
+
* else. Requires a mailbox store, which hosts `/fwd` intake. The `/oobis` handler then resolves an OOBI only
|
|
183
|
+
* for such a sender. A `logs` or `ksn` query from such a sender about a subject that is not local also makes
|
|
184
|
+
* this runtime query the subject's own endpoints for it (`relayRefreshCue`), and the cue router queues no
|
|
185
|
+
* query identical to one already queued. Omitted or false keeps store-only intake, accepts `/oobis` from any
|
|
186
|
+
* sender and never refreshes.
|
|
187
|
+
*/
|
|
188
|
+
relaying?: boolean;
|
|
173
189
|
/**
|
|
174
190
|
* Header and poll-window overrides, in milliseconds, for this runtime's mailbox poller. Omitted values keep
|
|
175
191
|
* the poller defaults; a short `maxPollDurationMs` makes polls turn over quickly for an embedder or test.
|
|
@@ -221,6 +237,16 @@ export interface AgentRuntimeOptions {
|
|
|
221
237
|
* `"closed"` refuses any Grant missing a far node. Neither mode escrows.
|
|
222
238
|
*/
|
|
223
239
|
grantWalk?: AcdcWalkPolicy;
|
|
240
|
+
/**
|
|
241
|
+
* The agent this runtime sends, queries and polls through, which makes it an edge. Every HTTP and TCP request
|
|
242
|
+
* is refused unless it goes to the relay's OOBI origin or an accepted relay location. Poster forwards every
|
|
243
|
+
* message to the relay, every query is addressed to the relay, and the relay is the only mailbox polled. Each
|
|
244
|
+
* needs a mailbox end role naming the relay: from the wrapper or query signer (a group's local member) to send,
|
|
245
|
+
* and from the polled subject (a group itself) to poll. The Oobiery fetches only the relay's origin: it asks the
|
|
246
|
+
* relay to resolve any other OOBI and reads the result from the relay's OOBI endpoint. The relay's OOBI
|
|
247
|
+
* is queued when its location is not yet accepted. Omitted, the runtime is a forwarder and delivers directly.
|
|
248
|
+
*/
|
|
249
|
+
relay?: Relay;
|
|
224
250
|
}
|
|
225
251
|
/** Summary of pending runtime-backed durable work for bounded command hosts. */
|
|
226
252
|
export interface RuntimePendingState {
|
|
@@ -391,6 +417,11 @@ export { runtimeTurn } from "./runtime-turn.js";
|
|
|
391
417
|
* delegation and ordinary query sending. The finalizer halts children in reverse
|
|
392
418
|
* order; store ownership remains with the composition scope.
|
|
393
419
|
*
|
|
420
|
+
* Each loop is a plain spawned fixed-tock doer. A loop that signs for a local habitat reads `Hab.canSign()` on its
|
|
421
|
+
* tock and skips a habitat that cannot sign yet (a store opened without its signer); a later `Manager.hold` lets
|
|
422
|
+
* that habitat act on the next tock. A `SignerNotHeldError` that still escapes a loop is a fault: the loop ends
|
|
423
|
+
* and the failure ends this operation.
|
|
424
|
+
*
|
|
394
425
|
* @param runtime Borrowed composed runtime; caller owns its worker and store lifetime.
|
|
395
426
|
* @param options Optional default query/cue signer, remote pollMailbox switch
|
|
396
427
|
* (default true) and command-owned queryCues Deck. Wire queryCues before starting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/agent-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,SAAS,EAA4B,MAAM,WAAW,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAoC,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import { type Operation } from "effection";
|
|
2
|
-
import type { AgentCue } from "../../core/cues.js";
|
|
2
|
+
import type { AgentCue, EndRoleSavedCue } from "../../core/cues.js";
|
|
3
3
|
import type { Deck } from "../../core/deck.js";
|
|
4
4
|
import type { Hab } from "../identity/habbing.js";
|
|
5
5
|
import type { AgentRuntime } from "./agent-runtime.js";
|
|
6
6
|
import { type DoerPacing } from "./doing.js";
|
|
7
|
+
/**
|
|
8
|
+
* Hand an accepted mailbox end role to the KEL publisher and the mailbox poller, so both look at its controller on
|
|
9
|
+
* their next tock rather than at their next sweep. Other roles concern neither.
|
|
10
|
+
*
|
|
11
|
+
* @param runtime Borrowed composed runtime containing the publisher and poller.
|
|
12
|
+
* @param cue The committed end-role fact from `Revery`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function promptForEndRole(runtime: AgentRuntime, cue: EndRoleSavedCue): void;
|
|
7
15
|
/**
|
|
8
16
|
* Route one initial cue batch to its concrete owners before removing source records.
|
|
9
17
|
*
|
|
10
|
-
* Transfer query instructions to the sender
|
|
11
|
-
*
|
|
18
|
+
* Transfer query instructions to the sender (a relaying runtime skips one identical to a request already queued),
|
|
19
|
+
* stream cues to mailbox correlation,
|
|
20
|
+
* accepted mailbox end roles to the KEL publisher and poller, and produced responder
|
|
21
|
+
* messages to Poster. No network delivery runs inline.
|
|
22
|
+
* A responder cue whose signing habitat cannot sign yet moves to the tail and is
|
|
23
|
+
* tried again on a later pass; the cues behind it still go now.
|
|
12
24
|
* Saved key-state facts transfer once to the command's optional query Deck;
|
|
13
25
|
* its noticer never competes with this worker over the runtime source Deck.
|
|
14
26
|
* Admission and source removal run synchronously within this finite batch.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cue-runtime.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/cue-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cue-runtime.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/cue-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,UAAU,EAA4B,MAAM,YAAY,CAAC;AAgBvE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI,CAIlF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAiB,eAAe,CAC9B,OAAO,EAAE,YAAY,EACrB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;CAAO,GACjE,SAAS,CAAC,IAAI,CAAC,CAmCjB;AAED;;;;;GAKG;AACH,wBAAiB,KAAK,CACpB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;CAAO,EACvD,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAmB,GAC7C,SAAS,CAAC,KAAK,CAAC,CAElB"}
|
|
@@ -15,13 +15,30 @@ export type DoerPass = (tock: number) => Operation<unknown>;
|
|
|
15
15
|
export interface DoerPacing {
|
|
16
16
|
tockMs: number;
|
|
17
17
|
sweepTocks: number;
|
|
18
|
+
/**
|
|
19
|
+
* For a doer that runs on store writes ({@link doEveryOnWrite}): tocks between passes when nothing was written.
|
|
20
|
+
* {@link PROTOCOL_IDLE_TOCKS} when absent.
|
|
21
|
+
*/
|
|
22
|
+
idleTocks?: number;
|
|
18
23
|
}
|
|
19
24
|
/** Milliseconds between passes of the protocol-facing background loops: KERIpy's Doist cycle, as the escrow loop uses. */
|
|
20
25
|
export declare const PROTOCOL_TOCK_MS = 31.25;
|
|
21
26
|
/** Tocks between full sweeps of a loop that has one: 1920 tocks of 31.25 ms is a minute. */
|
|
22
27
|
export declare const PROTOCOL_SWEEP_TOCKS = 1920;
|
|
28
|
+
/** Tocks between passes of a write-driven loop when the store did not change: 32 tocks of 31.25 ms is one second. */
|
|
29
|
+
export declare const PROTOCOL_IDLE_TOCKS = 32;
|
|
23
30
|
/** The production pacing of the protocol-facing background loops. */
|
|
24
31
|
export declare const PROTOCOL_PACING: Readonly<DoerPacing>;
|
|
25
32
|
/** Run `pass` forever: pass 0, wait `tockMs` on `clock`, pass 1, and so on. A thrown error ends the doer. */
|
|
26
33
|
export declare function doEvery(clock: RuntimeClock, tockMs: number, pass: DoerPass): Operation<never>;
|
|
34
|
+
/**
|
|
35
|
+
* A fixed-tock doer for a loop whose work lives in store rows: pass 0, then a pass only on a tock after the
|
|
36
|
+
* store's write counter moved (a pass's own writes included, so it repeats until the store is quiet),
|
|
37
|
+
* after `busy()` says work is held in memory, or every `idleTocks`-th tock for what only time releases
|
|
38
|
+
* (timeouts, retry delays). A tock with nothing new costs a counter read, which touches no store, and no table scan. Rows written by
|
|
39
|
+
* another loop are seen on the next tock; time-driven work waits at most `idleTocks` tocks.
|
|
40
|
+
*/
|
|
41
|
+
export declare function doEveryOnWrite(clock: RuntimeClock, pacing: Readonly<DoerPacing>, db: {
|
|
42
|
+
readonly writeActivity: number;
|
|
43
|
+
}, pass: DoerPass, busy?: () => boolean): Operation<never>;
|
|
27
44
|
//# sourceMappingURL=doing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doing.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/doing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,8GAA8G;AAC9G,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,0HAA0H;AAC1H,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,qEAAqE;AACrE,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"doing.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/doing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,8GAA8G;AAC9G,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0HAA0H;AAC1H,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,qEAAqE;AACrE,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,UAAU,CAI/C,CAAC;AAEH,6GAA6G;AAC7G,wBAAiB,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAK9F;AAED;;;;;;GAMG;AACH,wBAAiB,cAAc,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC5B,EAAE,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EACtC,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,MAAM,OAAqB,GAChC,SAAS,CAAC,KAAK,CAAC,CAalB"}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
* sent copies in the Baser (`rrsn.`), so a CLI command that sends copies through its own
|
|
13
13
|
* replicator shares that record with the loop and a later pass does not repeat its sends.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import type { Operation } from "effection";
|
|
16
16
|
import { type DerivedUpdateStore } from "../../acdc/custody.js";
|
|
17
17
|
import type { Regery } from "../../acdc/registraring.js";
|
|
18
18
|
import type { RegistryRoot } from "../../acdc/salting.js";
|
|
19
|
+
import type { Deck } from "../../core/deck.js";
|
|
19
20
|
import { RootReplicator } from "../credentials/root-replicator.js";
|
|
20
21
|
import type { Poster } from "../delivery/forwarding.js";
|
|
21
22
|
import type { Exchanger } from "../exchanges/exchanging.js";
|
|
@@ -54,7 +55,7 @@ export interface OperationStores {
|
|
|
54
55
|
derived?: DerivedUpdateStore;
|
|
55
56
|
/** The embedder's credential inventory, from which presentation selects issued and held credentials. Without it only replies and `apply` can be presented. */
|
|
56
57
|
views?: CredentialViews;
|
|
57
|
-
/** Receives
|
|
58
|
+
/** Receives workflow identities after commit (and, from the cue worker, KRAM refusals with their facts); defaults to the runtime's Signaler when it has one. */
|
|
58
59
|
changes?: ChangeSink;
|
|
59
60
|
}
|
|
60
61
|
/** The operations owners of one runtime, additive on `AgentRuntime.operations`. */
|
|
@@ -64,25 +65,6 @@ export interface RuntimeOperations {
|
|
|
64
65
|
readonly groupIpex: GroupIpexOperations;
|
|
65
66
|
readonly presentation: PresentationOperations;
|
|
66
67
|
readonly unblinding: UnblindingOperations;
|
|
67
|
-
/** What the owner loop could not do; read by a host that reports runtime health. */
|
|
68
|
-
readonly health: OwnerHealth;
|
|
69
|
-
}
|
|
70
|
-
/** The last failure of an owner pass that no single operation owned, and how many there have been. */
|
|
71
|
-
export interface OwnerFault {
|
|
72
|
-
owner: "issuance" | "groupIpex" | "presentation" | "unblinding" | "replicator";
|
|
73
|
-
error: string;
|
|
74
|
-
/** ISO 8601 time of the failure on the host clock. */
|
|
75
|
-
at: string;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Failures of the owner loop itself. A failure of one operation (a delivery that throws, an unreadable stored
|
|
79
|
-
* Grant) ends that operation as `failed` and is never recorded here; this records only what escaped an owner
|
|
80
|
-
* pass, which the loop survives so that the other owners keep running. `faults` counts them and `last` keeps
|
|
81
|
-
* the latest. Nothing clears it: a host reads it and decides.
|
|
82
|
-
*/
|
|
83
|
-
export declare class OwnerHealth {
|
|
84
|
-
faults: number;
|
|
85
|
-
last: OwnerFault | null;
|
|
86
68
|
}
|
|
87
69
|
/** What the runtime composes for its operations owners. */
|
|
88
70
|
export interface ComposedOwners {
|
|
@@ -105,6 +87,8 @@ export interface OwnerParts {
|
|
|
105
87
|
mux: Multiplexor;
|
|
106
88
|
/** Counsels the group anchor of a custodian's registry update. */
|
|
107
89
|
counselor: Counselor;
|
|
90
|
+
/** The deck the Counselor puts changed groups on; the root replicator drains it. */
|
|
91
|
+
groupChanges?: Deck<string>;
|
|
108
92
|
/** Delivery retry delays of the owners; the production policy when absent. */
|
|
109
93
|
retry?: Readonly<RetryPolicy>;
|
|
110
94
|
/** Milliseconds between issuer query resends; one second when absent. */
|
|
@@ -126,12 +110,18 @@ export interface OwnerLoopParts extends ComposedOwners {
|
|
|
126
110
|
* Idle cost, per tock: four constant-time table checks, one in-memory walk of the Unblind owners for an owed
|
|
127
111
|
* reply, one drain of each DH owner's cue deck, and the replicator's emptiness checks. The replicator's
|
|
128
112
|
* rotation check (the establishment SAID of each local group, one keyed read per local identifier) runs on
|
|
129
|
-
* tock 0 and every `pacing.sweepTocks`. No owner reads a protocol store
|
|
130
|
-
* pending exchange escrow for resumable Grants
|
|
113
|
+
* tock 0 and every `pacing.sweepTocks`. No owner reads a protocol store on an ordinary tock. The issuance owner
|
|
114
|
+
* scans the pending exchange escrow on its first pass and then every `ISSUANCE_SWEEP_MS`, for resumable Grants and
|
|
115
|
+
* for group Grants whose custodian's final proof a member follows without signing; nothing else walks it per tock.
|
|
131
116
|
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
117
|
+
* Nothing is caught here. Every remote, network or validation outcome an owner meets is already a typed result
|
|
118
|
+
* below this loop: a failed delivery is retried by its operation, and an operation that cannot go on ends `failed`
|
|
119
|
+
* or `expired` alone. What escapes a pass is a real fault (a store that cannot be read or written, corrupt or
|
|
120
|
+
* missing durable state such as a `MissingDurableStateError`, a `SignerNotHeldError` past a `canSign`
|
|
121
|
+
* gate), and it ends the loop and with it `runAgentRuntime`. Halting the loop is not a fault: Effection halts a
|
|
122
|
+
* pass by returning from it, so no error is thrown. The owners run one after another, so a delivery that does not
|
|
123
|
+
* return holds the others up until it fails or its Grant deadline passes; operations already bound each delivery by
|
|
124
|
+
* that deadline.
|
|
135
125
|
*/
|
|
136
126
|
export declare function operationOwnersDo(owners: OwnerLoopParts, pacing?: Readonly<DoerPacing>): Operation<never>;
|
|
137
127
|
//# sourceMappingURL=operation-owners.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-owners.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/operation-owners.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"operation-owners.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/operation-owners.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* infrastructure failures throw.
|
|
12
12
|
*/
|
|
13
13
|
import { type Operation } from "effection";
|
|
14
|
+
import type { KramRefusedCue } from "../../core/cues.js";
|
|
14
15
|
import type { Signaler } from "../notifications/signaling.js";
|
|
15
16
|
import { type RuntimeClock } from "./runtime-clock.js";
|
|
16
17
|
/** Workflow families that publish changes. */
|
|
@@ -23,11 +24,24 @@ export interface WorkflowChange {
|
|
|
23
24
|
id: string;
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* A remote message this receiver's KRAM refused after its sender authenticated. Unlike a
|
|
28
|
+
* {@link WorkflowChange} there is no status to re-read, so the facts ride along. `id` is the
|
|
29
|
+
* refused message SAID. Transient: nothing durable backs it.
|
|
30
|
+
*/
|
|
31
|
+
export interface KramRefusedChange {
|
|
32
|
+
kind: "kramRefused";
|
|
33
|
+
id: string;
|
|
34
|
+
refusal: KramRefusedCue;
|
|
35
|
+
}
|
|
36
|
+
/** Everything a {@link ChangeSink} receives. */
|
|
37
|
+
export type RuntimeChange = WorkflowChange | KramRefusedChange;
|
|
38
|
+
/**
|
|
39
|
+
* Receiver of changes. Owners publish after their commit and never depend on what the sink does with it; a
|
|
40
|
+
* sink must not throw into a workflow. A workflow change is an identity to re-read; the one exception is
|
|
41
|
+
* {@link KramRefusedChange}, which carries its facts.
|
|
28
42
|
*/
|
|
29
43
|
export interface ChangeSink {
|
|
30
|
-
push(change:
|
|
44
|
+
push(change: RuntimeChange): void;
|
|
31
45
|
}
|
|
32
46
|
/**
|
|
33
47
|
* Result of a library wait. `settled` means the status reached a terminal or
|
|
@@ -46,13 +60,14 @@ export type WaitResult<S, Timed extends object = {
|
|
|
46
60
|
} & Readonly<Timed>);
|
|
47
61
|
/** In-memory sink that records changes in order. */
|
|
48
62
|
export declare class MemoryChangeSink implements ChangeSink {
|
|
49
|
-
readonly changes:
|
|
50
|
-
push(change:
|
|
63
|
+
readonly changes: RuntimeChange[];
|
|
64
|
+
push(change: RuntimeChange): void;
|
|
51
65
|
}
|
|
52
66
|
/**
|
|
53
67
|
* Back a sink with the host's transient `Signaler`. Publishing needs no polling:
|
|
54
68
|
* `push` is a synchronous append that collapses repeats of one workflow into a
|
|
55
|
-
* single signal (collapse key `kind:id`).
|
|
69
|
+
* single signal (collapse key `kind:id`). A {@link KramRefusedChange} adds its refusal fields to the signal
|
|
70
|
+
* attributes, so a resent message collapses by SAID. Delivery is pull-based, though: the
|
|
56
71
|
* Signaler has no subscriber hook, so the consumer must read `signaler.list()`.
|
|
57
72
|
* A closed or failing Signaler drops the change instead of throwing: a hint must
|
|
58
73
|
* never break the workflow that published it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-contract.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/workflow-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAU,KAAK,SAAS,EAAS,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAGpE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,OAAO,GACP,YAAY,GACZ,OAAO,GACP,UAAU,GACV,MAAM,GACN,cAAc,GACd,YAAY;AACd,+DAA+D;GAC7D,MAAM,CAAC;AAEX,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED
|
|
1
|
+
{"version":3,"file":"workflow-contract.d.ts","sourceRoot":"","sources":["../../../src/app/runtime/workflow-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAU,KAAK,SAAS,EAAS,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAGpE,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,OAAO,GACP,YAAY,GACZ,OAAO,GACP,UAAU,GACV,MAAM,GACN,cAAc,GACd,YAAY;AACd,+DAA+D;GAC7D,MAAM,CAAC;AAEX,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CACnC;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,IAClE;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACnD,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9E,oDAAoD;AACpD,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,CAAM;IACvC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAGlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,UAAU,CAY/E;AAED;;;;;;;;GAQG;AACH,wBAAiB,YAAY,CAC3B,IAAI,EAAE,MAAM,OAAO,EACnB,EAAE,SAAS,EAAE,KAAmB,EAAE,MAAM,EAAE,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,SAAS,CAAC,OAAO,CAAC,CASpB;AAED;;GAEG;AACH,wBAAiB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAKvF"}
|
|
@@ -69,6 +69,15 @@ export interface HttpClient {
|
|
|
69
69
|
*/
|
|
70
70
|
open(url: string, init?: HttpRequestInit): Operation<HttpStreamResponse>;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Whether {@link FetchHttpClient.open} can request `url` at all: an absolute HTTP(S) URL without embedded
|
|
74
|
+
* credentials. Anything else is refused by construction, before any I/O, so a caller holding a URL from a remote
|
|
75
|
+
* party can refuse it at intake instead of queuing work that can never succeed.
|
|
76
|
+
*
|
|
77
|
+
* @param url Candidate request URL.
|
|
78
|
+
* @returns False for an unparseable URL, a non-HTTP(S) scheme, or a URL carrying a user name or password.
|
|
79
|
+
*/
|
|
80
|
+
export declare function isRequestableHttpUrl(url: string): boolean;
|
|
72
81
|
/**
|
|
73
82
|
* Own the native Request, fetch and response reader for one attempt.
|
|
74
83
|
* Construction errors remain outside network classification. Native fetch/read
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-client.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAAQ,KAAK,SAAS,EAAoB,MAAM,WAAW,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACvD;AAED,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACtE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;CAC1E;AAmBD;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,YAAY,CAAC;IASzE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/app/transport/http-client.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAAQ,KAAK,SAAS,EAAoB,MAAM,WAAW,CAAC;AAInE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACvD;AAED,uGAAuG;AACvG,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAEzB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACtE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;CAC1E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASzD;AAmBD;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,YAAY,CAAC;IASzE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,SAAS,CAAC,kBAAkB,CAAC;CAwH7E"}
|