@moltzap/client 2026.922.3 → 2026.1001.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -7
- package/dist/client-runtime.d.ts.map +1 -1
- package/dist/client-runtime.js +28 -11
- package/dist/client-runtime.js.map +1 -1
- package/dist/contract.d.ts +440 -57
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +256 -18
- package/dist/contract.js.map +1 -1
- package/dist/contract.types-check.d.ts +109 -13
- package/dist/contract.types-check.d.ts.map +1 -1
- package/dist/contract.types-check.js +11 -3
- package/dist/contract.types-check.js.map +1 -1
- package/dist/daemon/configuration.d.ts +18 -6
- package/dist/daemon/configuration.d.ts.map +1 -1
- package/dist/daemon/configuration.js +15 -9
- package/dist/daemon/configuration.js.map +1 -1
- package/dist/daemon/management.d.ts.map +1 -1
- package/dist/daemon/management.js +2 -0
- package/dist/daemon/management.js.map +1 -1
- package/dist/daemon/registration.d.ts +18 -3
- package/dist/daemon/registration.d.ts.map +1 -1
- package/dist/daemon/registration.js +17 -2
- package/dist/daemon/registration.js.map +1 -1
- package/dist/daemon/runtime/activation.d.ts +1 -1
- package/dist/daemon/runtime/activation.d.ts.map +1 -1
- package/dist/daemon/runtime/controller.d.ts +1 -1
- package/dist/daemon/runtime/controller.d.ts.map +1 -1
- package/dist/daemon/runtime/controller.js +44 -10
- package/dist/daemon/runtime/controller.js.map +1 -1
- package/dist/daemon/runtime/history-export.d.ts +11 -1
- package/dist/daemon/runtime/history-export.d.ts.map +1 -1
- package/dist/daemon/runtime/history-export.js +4 -0
- package/dist/daemon/runtime/history-export.js.map +1 -1
- package/dist/daemon/runtime/index.d.ts.map +1 -1
- package/dist/daemon/runtime/index.js +1 -2
- package/dist/daemon/runtime/index.js.map +1 -1
- package/dist/daemon/runtime/pending-delivery.d.ts +49 -0
- package/dist/daemon/runtime/pending-delivery.d.ts.map +1 -0
- package/dist/daemon/runtime/pending-delivery.js +115 -0
- package/dist/daemon/runtime/pending-delivery.js.map +1 -0
- package/dist/daemon/runtime/protocol.d.ts +20 -5
- package/dist/daemon/runtime/protocol.d.ts.map +1 -1
- package/dist/daemon/runtime/protocol.js +58 -24
- package/dist/daemon/runtime/protocol.js.map +1 -1
- package/dist/endpoint/addressing/index.d.ts +22 -1
- package/dist/endpoint/addressing/index.d.ts.map +1 -1
- package/dist/endpoint/addressing/index.js +50 -26
- package/dist/endpoint/addressing/index.js.map +1 -1
- package/dist/endpoint/collective/operation.d.ts +123 -0
- package/dist/endpoint/collective/operation.d.ts.map +1 -0
- package/dist/endpoint/collective/operation.js +784 -0
- package/dist/endpoint/collective/operation.js.map +1 -0
- package/dist/endpoint/collective/shared-answers.d.ts +78 -0
- package/dist/endpoint/collective/shared-answers.d.ts.map +1 -0
- package/dist/endpoint/collective/shared-answers.js +62 -0
- package/dist/endpoint/collective/shared-answers.js.map +1 -0
- package/dist/endpoint/collective/validation.d.ts +49 -0
- package/dist/endpoint/collective/validation.d.ts.map +1 -0
- package/dist/endpoint/collective/validation.js +99 -0
- package/dist/endpoint/collective/validation.js.map +1 -0
- package/dist/endpoint/collective/wire.d.ts +176 -0
- package/dist/endpoint/collective/wire.d.ts.map +1 -0
- package/dist/endpoint/collective/wire.js +181 -0
- package/dist/endpoint/collective/wire.js.map +1 -0
- package/dist/endpoint/engine-durability.d.ts +3 -17
- package/dist/endpoint/engine-durability.d.ts.map +1 -1
- package/dist/endpoint/engine-durability.js +3 -14
- package/dist/endpoint/engine-durability.js.map +1 -1
- package/dist/endpoint/engine-send.d.ts +14 -16
- package/dist/endpoint/engine-send.d.ts.map +1 -1
- package/dist/endpoint/engine-send.js +16 -20
- package/dist/endpoint/engine-send.js.map +1 -1
- package/dist/endpoint/engine-types.d.ts +32 -15
- package/dist/endpoint/engine-types.d.ts.map +1 -1
- package/dist/endpoint/engine-types.js +1 -5
- package/dist/endpoint/engine-types.js.map +1 -1
- package/dist/endpoint/engine.d.ts +1 -1
- package/dist/endpoint/engine.d.ts.map +1 -1
- package/dist/endpoint/engine.js +44 -27
- package/dist/endpoint/engine.js.map +1 -1
- package/dist/endpoint/protocol/index.d.ts.map +1 -1
- package/dist/endpoint/protocol/index.js +5 -8
- package/dist/endpoint/protocol/index.js.map +1 -1
- package/dist/endpoint/recovery/index.d.ts +5 -0
- package/dist/endpoint/recovery/index.d.ts.map +1 -1
- package/dist/endpoint/recovery/index.js +40 -39
- package/dist/endpoint/recovery/index.js.map +1 -1
- package/dist/endpoint/recovery/reanchor/empty.js +1 -1
- package/dist/endpoint/recovery/reanchor/empty.js.map +1 -1
- package/dist/endpoint/recovery/reanchor/index.js +26 -5
- package/dist/endpoint/recovery/reanchor/index.js.map +1 -1
- package/dist/endpoint/recovery/state.d.ts +7 -1
- package/dist/endpoint/recovery/state.d.ts.map +1 -1
- package/dist/endpoint/recovery/state.js +3 -1
- package/dist/endpoint/recovery/state.js.map +1 -1
- package/dist/endpoint/recovery/store.d.ts +9 -2
- package/dist/endpoint/recovery/store.d.ts.map +1 -1
- package/dist/endpoint/recovery/store.js +27 -5
- package/dist/endpoint/recovery/store.js.map +1 -1
- package/dist/endpoint/representation-schemas.d.ts +2 -0
- package/dist/endpoint/representation-schemas.d.ts.map +1 -1
- package/dist/endpoint/representation-schemas.js +2 -2
- package/dist/endpoint/representation-schemas.js.map +1 -1
- package/dist/endpoint/representation.d.ts +1 -1
- package/dist/endpoint/representation.d.ts.map +1 -1
- package/dist/endpoint/representation.js +1 -1
- package/dist/endpoint/representation.js.map +1 -1
- package/dist/harness-mcp-contract.d.ts +189 -57
- package/dist/harness-mcp-contract.d.ts.map +1 -1
- package/dist/harness-mcp-contract.js +61 -9
- package/dist/harness-mcp-contract.js.map +1 -1
- package/dist/harness-mcp-wire.d.ts +3 -3
- package/dist/harness-mcp-wire.d.ts.map +1 -1
- package/dist/harness-mcp-wire.js +38 -28
- package/dist/harness-mcp-wire.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +18 -0
- package/dist/server.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/endpoint/addressing/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAAE,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAgB,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,YAAY,EAEZ,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAsCjC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAiC;IAEjC,OAAO,KAAK,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/endpoint/addressing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Collective operations over the post envelope.
|
|
3
|
+
*
|
|
4
|
+
* The daemon holds one `CollectiveOperations` per active identity. It turns
|
|
5
|
+
* each send into the posts its operation certifies and each certified remote
|
|
6
|
+
* post into the item the subscriber receives, or consumes it. Every post an
|
|
7
|
+
* endpoint authors carries its operation as an explicit collective part, so
|
|
8
|
+
* each certified post says which operation it belongs to; a post without a
|
|
9
|
+
* collective part reads as multicast, the operation an omitted `op` names.
|
|
10
|
+
*
|
|
11
|
+
* Collective state lives in daemon memory: an operation open at a daemon
|
|
12
|
+
* restart is lost, and a request whose delivery the member already
|
|
13
|
+
* acknowledged can no longer be answered after one.
|
|
14
|
+
*
|
|
15
|
+
* ```mermaid
|
|
16
|
+
* sequenceDiagram
|
|
17
|
+
* participant RM as Requester host
|
|
18
|
+
* participant RE as Requester endpoint
|
|
19
|
+
* participant ME as Member endpoint
|
|
20
|
+
* participant MM as Member host
|
|
21
|
+
* RM->>RE: send gather to, question, deadline, schema
|
|
22
|
+
* RE->>RE: validate schema, mint id<br>deadline = now + duration
|
|
23
|
+
* RE->>ME: one request post per member
|
|
24
|
+
* alt a request post is refused
|
|
25
|
+
* RE-->>RM: error naming each unreachable member
|
|
26
|
+
* else every request post accepted
|
|
27
|
+
* RE-->>RM: operation id
|
|
28
|
+
* end
|
|
29
|
+
* ME->>MM: collectiveRequest item
|
|
30
|
+
* MM->>ME: send collectiveResponse id, action, content
|
|
31
|
+
* ME->>ME: validate content against the stored schema
|
|
32
|
+
* ME->>RE: response post in the direct conversation
|
|
33
|
+
* RE->>RE: consume, validate and record the answer
|
|
34
|
+
* Note over RE: complete when every member has an outcome<br>or at the deadline
|
|
35
|
+
* RE->>RM: collectiveResult item
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* An all_gather asks a group in its own conversation. Every member endpoint
|
|
39
|
+
* consumes the answers it sees there, so no model sees a peer's answer before
|
|
40
|
+
* the close, and builds its result from exactly the answers the requester's
|
|
41
|
+
* close lists.
|
|
42
|
+
*
|
|
43
|
+
* ```mermaid
|
|
44
|
+
* sequenceDiagram
|
|
45
|
+
* participant RM as Requester host
|
|
46
|
+
* participant RE as Requester endpoint
|
|
47
|
+
* participant ME as Member endpoints
|
|
48
|
+
* participant MM as Member hosts
|
|
49
|
+
* RM->>RE: send all_gather to group, question, deadline, schema
|
|
50
|
+
* RE->>ME: one request post to the group
|
|
51
|
+
* alt the group post is refused or not certified in time
|
|
52
|
+
* RE-->>RM: error naming each unreachable member
|
|
53
|
+
* else request post certified
|
|
54
|
+
* RE-->>RM: operation id
|
|
55
|
+
* end
|
|
56
|
+
* ME->>MM: collectiveRequest item
|
|
57
|
+
* MM->>ME: send collectiveResponse id, action, content
|
|
58
|
+
* ME->>ME: validate content against the stored schema
|
|
59
|
+
* ME->>RE: response post to the group
|
|
60
|
+
* ME->>ME: peer response posts, consumed and recorded by record hash
|
|
61
|
+
* Note over RE: complete when every member has an outcome<br>or at the deadline
|
|
62
|
+
* RE->>ME: close post listing the counted answers' record hashes
|
|
63
|
+
* RE->>RM: collectiveResult item once the close is certified
|
|
64
|
+
* ME->>ME: build the result from exactly the listed answers
|
|
65
|
+
* ME->>MM: collectiveResult item, the same outcomes
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
import { Duration, Effect, Option, type Scope } from "effect";
|
|
69
|
+
import type { EngineSendInput, EngineSentPost } from "../engine-types.js";
|
|
70
|
+
import type { RecordHash } from "../representation.js";
|
|
71
|
+
import { AgentAddress, CollectiveError, type FailureDelivery, type InboundItem, type InboundMessage, SendError, type SendInput, type SendResult } from "../../contract.js";
|
|
72
|
+
/** What the collective layer needs from the daemon around it. */
|
|
73
|
+
export interface CollectivePorts {
|
|
74
|
+
/** The local agent: a group gather or all_gather asks every member but this one. */
|
|
75
|
+
readonly self: AgentAddress;
|
|
76
|
+
/**
|
|
77
|
+
* Resolve one member's Registry card without sending. A refused all_gather
|
|
78
|
+
* group post names only the members that fail this lookup.
|
|
79
|
+
*/
|
|
80
|
+
readonly lookupMember: (member: AgentAddress) => Effect.Effect<void, SendError>;
|
|
81
|
+
/** Certify one post and complete once it is stored locally. */
|
|
82
|
+
readonly sendPost: (input: EngineSendInput) => Effect.Effect<EngineSentPost, SendError>;
|
|
83
|
+
/** Queue an item the layer emits itself: a result or a failure. */
|
|
84
|
+
readonly emit: (item: InboundItem) => Effect.Effect<void>;
|
|
85
|
+
/** Owns deadline timers and request sends that outlive their send call. */
|
|
86
|
+
readonly scope: Scope.Scope;
|
|
87
|
+
/** Overrides `REQUEST_SEND_WAIT`; tests bound the wait. */
|
|
88
|
+
readonly requestSendWait?: Duration.Duration;
|
|
89
|
+
}
|
|
90
|
+
/** One certified remote post with the hash of its certified record. */
|
|
91
|
+
interface CertifiedPost {
|
|
92
|
+
readonly message: InboundMessage;
|
|
93
|
+
readonly recordHash: RecordHash;
|
|
94
|
+
}
|
|
95
|
+
/** One completed send: the posts certified by its return, and a collective id. */
|
|
96
|
+
interface CollectiveSendOutcome extends SendResult {
|
|
97
|
+
readonly postIds: ReadonlyArray<EngineSentPost["postId"]>;
|
|
98
|
+
}
|
|
99
|
+
/** The daemon's collective layer for one active identity. */
|
|
100
|
+
export interface CollectiveOperations {
|
|
101
|
+
/**
|
|
102
|
+
* Perform one send. A gather completes once every request post is accepted
|
|
103
|
+
* and fails naming each member whose post was refused; an all_gather
|
|
104
|
+
* completes once its group post is certified. A response is validated
|
|
105
|
+
* against its request's schema and addressed to the request's conversation.
|
|
106
|
+
*/
|
|
107
|
+
readonly send: (input: SendInput, failureDelivery: FailureDelivery) => Effect.Effect<CollectiveSendOutcome, SendError | CollectiveError>;
|
|
108
|
+
/**
|
|
109
|
+
* Classify one certified remote post. Answers are recorded and consumed,
|
|
110
|
+
* every other protocol post is consumed, and each remaining post becomes
|
|
111
|
+
* one item. Classifying a post again yields the same result, so the daemon
|
|
112
|
+
* may run it on every pass over pending deliveries.
|
|
113
|
+
*/
|
|
114
|
+
readonly classify: (post: CertifiedPost) => Effect.Effect<Option.Option<InboundItem>>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Build the collective layer for one active identity.
|
|
118
|
+
* @param ports The daemon's post sending, item queue, scope and identity.
|
|
119
|
+
* @returns Send and classification over state held in daemon memory.
|
|
120
|
+
*/
|
|
121
|
+
export declare const makeCollectiveOperations: (ports: CollectivePorts) => CollectiveOperations;
|
|
122
|
+
export {};
|
|
123
|
+
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/endpoint/collective/operation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAEH,OAAO,EAEL,QAAQ,EACR,MAAM,EAKN,MAAM,EAGN,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,eAAe,EAMf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EAKnB,SAAS,EACT,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAoF3B,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CACrB,MAAM,EAAE,YAAY,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,eAAe,KACnB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC9C,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC9C;AAED,uEAAuE;AACvE,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,kFAAkF;AAClF,UAAU,qBAAsB,SAAQ,UAAU;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC3D;AAED,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,eAAe,KAC7B,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,GAAG,eAAe,CAAC,CAAC;IACvE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,aAAa,KAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;CAChD;AAsED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAC5B,eAAe,KACrB,oBAiBF,CAAC"}
|