@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.
Files changed (124) hide show
  1. package/README.md +23 -7
  2. package/dist/client-runtime.d.ts.map +1 -1
  3. package/dist/client-runtime.js +28 -11
  4. package/dist/client-runtime.js.map +1 -1
  5. package/dist/contract.d.ts +440 -57
  6. package/dist/contract.d.ts.map +1 -1
  7. package/dist/contract.js +256 -18
  8. package/dist/contract.js.map +1 -1
  9. package/dist/contract.types-check.d.ts +109 -13
  10. package/dist/contract.types-check.d.ts.map +1 -1
  11. package/dist/contract.types-check.js +11 -3
  12. package/dist/contract.types-check.js.map +1 -1
  13. package/dist/daemon/configuration.d.ts +18 -6
  14. package/dist/daemon/configuration.d.ts.map +1 -1
  15. package/dist/daemon/configuration.js +15 -9
  16. package/dist/daemon/configuration.js.map +1 -1
  17. package/dist/daemon/management.d.ts.map +1 -1
  18. package/dist/daemon/management.js +2 -0
  19. package/dist/daemon/management.js.map +1 -1
  20. package/dist/daemon/registration.d.ts +18 -3
  21. package/dist/daemon/registration.d.ts.map +1 -1
  22. package/dist/daemon/registration.js +17 -2
  23. package/dist/daemon/registration.js.map +1 -1
  24. package/dist/daemon/runtime/activation.d.ts +1 -1
  25. package/dist/daemon/runtime/activation.d.ts.map +1 -1
  26. package/dist/daemon/runtime/controller.d.ts +1 -1
  27. package/dist/daemon/runtime/controller.d.ts.map +1 -1
  28. package/dist/daemon/runtime/controller.js +44 -10
  29. package/dist/daemon/runtime/controller.js.map +1 -1
  30. package/dist/daemon/runtime/history-export.d.ts +11 -1
  31. package/dist/daemon/runtime/history-export.d.ts.map +1 -1
  32. package/dist/daemon/runtime/history-export.js +4 -0
  33. package/dist/daemon/runtime/history-export.js.map +1 -1
  34. package/dist/daemon/runtime/index.d.ts.map +1 -1
  35. package/dist/daemon/runtime/index.js +1 -2
  36. package/dist/daemon/runtime/index.js.map +1 -1
  37. package/dist/daemon/runtime/pending-delivery.d.ts +49 -0
  38. package/dist/daemon/runtime/pending-delivery.d.ts.map +1 -0
  39. package/dist/daemon/runtime/pending-delivery.js +115 -0
  40. package/dist/daemon/runtime/pending-delivery.js.map +1 -0
  41. package/dist/daemon/runtime/protocol.d.ts +20 -5
  42. package/dist/daemon/runtime/protocol.d.ts.map +1 -1
  43. package/dist/daemon/runtime/protocol.js +58 -24
  44. package/dist/daemon/runtime/protocol.js.map +1 -1
  45. package/dist/endpoint/addressing/index.d.ts +22 -1
  46. package/dist/endpoint/addressing/index.d.ts.map +1 -1
  47. package/dist/endpoint/addressing/index.js +50 -26
  48. package/dist/endpoint/addressing/index.js.map +1 -1
  49. package/dist/endpoint/collective/operation.d.ts +123 -0
  50. package/dist/endpoint/collective/operation.d.ts.map +1 -0
  51. package/dist/endpoint/collective/operation.js +784 -0
  52. package/dist/endpoint/collective/operation.js.map +1 -0
  53. package/dist/endpoint/collective/shared-answers.d.ts +78 -0
  54. package/dist/endpoint/collective/shared-answers.d.ts.map +1 -0
  55. package/dist/endpoint/collective/shared-answers.js +62 -0
  56. package/dist/endpoint/collective/shared-answers.js.map +1 -0
  57. package/dist/endpoint/collective/validation.d.ts +49 -0
  58. package/dist/endpoint/collective/validation.d.ts.map +1 -0
  59. package/dist/endpoint/collective/validation.js +99 -0
  60. package/dist/endpoint/collective/validation.js.map +1 -0
  61. package/dist/endpoint/collective/wire.d.ts +176 -0
  62. package/dist/endpoint/collective/wire.d.ts.map +1 -0
  63. package/dist/endpoint/collective/wire.js +181 -0
  64. package/dist/endpoint/collective/wire.js.map +1 -0
  65. package/dist/endpoint/engine-durability.d.ts +3 -17
  66. package/dist/endpoint/engine-durability.d.ts.map +1 -1
  67. package/dist/endpoint/engine-durability.js +3 -14
  68. package/dist/endpoint/engine-durability.js.map +1 -1
  69. package/dist/endpoint/engine-send.d.ts +14 -16
  70. package/dist/endpoint/engine-send.d.ts.map +1 -1
  71. package/dist/endpoint/engine-send.js +16 -20
  72. package/dist/endpoint/engine-send.js.map +1 -1
  73. package/dist/endpoint/engine-types.d.ts +32 -15
  74. package/dist/endpoint/engine-types.d.ts.map +1 -1
  75. package/dist/endpoint/engine-types.js +1 -5
  76. package/dist/endpoint/engine-types.js.map +1 -1
  77. package/dist/endpoint/engine.d.ts +1 -1
  78. package/dist/endpoint/engine.d.ts.map +1 -1
  79. package/dist/endpoint/engine.js +44 -27
  80. package/dist/endpoint/engine.js.map +1 -1
  81. package/dist/endpoint/protocol/index.d.ts.map +1 -1
  82. package/dist/endpoint/protocol/index.js +5 -8
  83. package/dist/endpoint/protocol/index.js.map +1 -1
  84. package/dist/endpoint/recovery/index.d.ts +5 -0
  85. package/dist/endpoint/recovery/index.d.ts.map +1 -1
  86. package/dist/endpoint/recovery/index.js +40 -39
  87. package/dist/endpoint/recovery/index.js.map +1 -1
  88. package/dist/endpoint/recovery/reanchor/empty.js +1 -1
  89. package/dist/endpoint/recovery/reanchor/empty.js.map +1 -1
  90. package/dist/endpoint/recovery/reanchor/index.js +26 -5
  91. package/dist/endpoint/recovery/reanchor/index.js.map +1 -1
  92. package/dist/endpoint/recovery/state.d.ts +7 -1
  93. package/dist/endpoint/recovery/state.d.ts.map +1 -1
  94. package/dist/endpoint/recovery/state.js +3 -1
  95. package/dist/endpoint/recovery/state.js.map +1 -1
  96. package/dist/endpoint/recovery/store.d.ts +9 -2
  97. package/dist/endpoint/recovery/store.d.ts.map +1 -1
  98. package/dist/endpoint/recovery/store.js +27 -5
  99. package/dist/endpoint/recovery/store.js.map +1 -1
  100. package/dist/endpoint/representation-schemas.d.ts +2 -0
  101. package/dist/endpoint/representation-schemas.d.ts.map +1 -1
  102. package/dist/endpoint/representation-schemas.js +2 -2
  103. package/dist/endpoint/representation-schemas.js.map +1 -1
  104. package/dist/endpoint/representation.d.ts +1 -1
  105. package/dist/endpoint/representation.d.ts.map +1 -1
  106. package/dist/endpoint/representation.js +1 -1
  107. package/dist/endpoint/representation.js.map +1 -1
  108. package/dist/harness-mcp-contract.d.ts +189 -57
  109. package/dist/harness-mcp-contract.d.ts.map +1 -1
  110. package/dist/harness-mcp-contract.js +61 -9
  111. package/dist/harness-mcp-contract.js.map +1 -1
  112. package/dist/harness-mcp-wire.d.ts +3 -3
  113. package/dist/harness-mcp-wire.d.ts.map +1 -1
  114. package/dist/harness-mcp-wire.js +38 -28
  115. package/dist/harness-mcp-wire.js.map +1 -1
  116. package/dist/index.d.ts +1 -1
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +2 -1
  119. package/dist/index.js.map +1 -1
  120. package/dist/server.d.ts +2 -0
  121. package/dist/server.d.ts.map +1 -1
  122. package/dist/server.js +18 -0
  123. package/dist/server.js.map +1 -1
  124. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/endpoint/collective/operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @file What an all_gather member keeps between the request and the close,
3
+ * and how a close's list selects from it.
4
+ *
5
+ * A member records each member's first answer certified in the group
6
+ * conversation, its own included, under the record hash the requester's
7
+ * close lists it by. The close names answers only by hash, so a member builds
8
+ * its result from exactly the answers it holds under the listed hashes. The
9
+ * requester's result uses the same member ordering.
10
+ */
11
+ import type { AgentAddress, CollectiveMemberOutcome, InboundItem, PostId } from "../../contract.js";
12
+ import type { RecordHash } from "../representation.js";
13
+ import type { CollectiveValue } from "./wire.js";
14
+ /** The members a collecting operation asks, in member order. */
15
+ export type Members = readonly [AgentAddress, ...AgentAddress[]];
16
+ /** A member's response value, as its post carries it. */
17
+ export type ResponseValue = Extract<CollectiveValue, {
18
+ readonly kind: "response";
19
+ }>;
20
+ /** The item a completed gather or all_gather publishes. */
21
+ export type CollectiveResultItem = Extract<InboundItem, {
22
+ readonly kind: "collectiveResult";
23
+ }>;
24
+ /** One answer certified in an all_gather's group conversation. */
25
+ export interface CertifiedAnswer {
26
+ readonly recordHash: RecordHash;
27
+ readonly response: ResponseValue;
28
+ }
29
+ /** A close whose listed answers wait for this member's own answer to certify. */
30
+ export interface HeldClose {
31
+ readonly postId: PostId;
32
+ readonly included: readonly RecordHash[];
33
+ }
34
+ /**
35
+ * What a member of an all_gather keeps until the close: each member's first
36
+ * answer certified in the group conversation, its own included, with the
37
+ * record hash a close lists it by.
38
+ */
39
+ export interface SharedAnswers {
40
+ readonly question: string;
41
+ readonly members: Members;
42
+ readonly answers: Map<AgentAddress, CertifiedAnswer>;
43
+ heldClose?: HeldClose;
44
+ }
45
+ /**
46
+ * Keep `sender`'s answer if it is an asked member without one yet. Answers
47
+ * arrive in the conversation's chain order, so the kept one is the first
48
+ * that every endpoint, the requester included, sees from that member.
49
+ * @param shared The answers kept for one all_gather.
50
+ * @param sender The certified author of the answer post.
51
+ * @param answer The answer and the hash of its certified record.
52
+ */
53
+ export declare function keepFirstAnswer(shared: SharedAnswers, sender: AgentAddress, answer: CertifiedAnswer): void;
54
+ /**
55
+ * The kept answers a close lists, in its order. `missing` says a listed hash
56
+ * names no kept answer, and `repeated` that two listed hashes name answers
57
+ * from one member; either means the close does not describe this endpoint's
58
+ * history.
59
+ * @param shared The answers kept for one all_gather.
60
+ * @param included The record hashes the close lists.
61
+ * @returns The listed answers with their members, and whether the list is whole.
62
+ */
63
+ export declare function listedAnswers(shared: SharedAnswers, included: readonly RecordHash[]): {
64
+ answers: {
65
+ member: string & import("effect/Brand").Brand<"MessageAddressInput"> & import("effect/Brand").Brand<"AgentAddress">;
66
+ response: ResponseValue;
67
+ }[];
68
+ missing: boolean;
69
+ repeated: boolean;
70
+ };
71
+ /**
72
+ * Each member's outcome in member order; a member without one had no answer.
73
+ * @param members The members the operation asked.
74
+ * @param outcomes The outcome of each member that answered.
75
+ * @returns One outcome per member.
76
+ */
77
+ export declare function memberOutcomes(members: Members, outcomes: ReadonlyMap<AgentAddress, CollectiveMemberOutcome>): CollectiveResultItem["outcomes"];
78
+ //# sourceMappingURL=shared-answers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-answers.d.ts","sourceRoot":"","sources":["../../../src/endpoint/collective/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,gEAAgE;AAChE,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AAEjE,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,eAAe,EACf;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAC9B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CACtC,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,GACtB,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,SAAS,UAAU,EAAE;;;;;;;EAkBhC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,GAC3D,oBAAoB,CAAC,UAAU,CAAC,CAOlC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @file What an all_gather member keeps between the request and the close,
3
+ * and how a close's list selects from it.
4
+ *
5
+ * A member records each member's first answer certified in the group
6
+ * conversation, its own included, under the record hash the requester's
7
+ * close lists it by. The close names answers only by hash, so a member builds
8
+ * its result from exactly the answers it holds under the listed hashes. The
9
+ * requester's result uses the same member ordering.
10
+ */
11
+ /**
12
+ * Keep `sender`'s answer if it is an asked member without one yet. Answers
13
+ * arrive in the conversation's chain order, so the kept one is the first
14
+ * that every endpoint, the requester included, sees from that member.
15
+ * @param shared The answers kept for one all_gather.
16
+ * @param sender The certified author of the answer post.
17
+ * @param answer The answer and the hash of its certified record.
18
+ */
19
+ export function keepFirstAnswer(shared, sender, answer) {
20
+ if (shared.members.includes(sender) && !shared.answers.has(sender)) {
21
+ shared.answers.set(sender, answer);
22
+ }
23
+ }
24
+ /**
25
+ * The kept answers a close lists, in its order. `missing` says a listed hash
26
+ * names no kept answer, and `repeated` that two listed hashes name answers
27
+ * from one member; either means the close does not describe this endpoint's
28
+ * history.
29
+ * @param shared The answers kept for one all_gather.
30
+ * @param included The record hashes the close lists.
31
+ * @returns The listed answers with their members, and whether the list is whole.
32
+ */
33
+ export function listedAnswers(shared, included) {
34
+ const byHash = new Map([...shared.answers].map(([member, answer]) => [
35
+ answer.recordHash,
36
+ { member, response: answer.response },
37
+ ]));
38
+ const answers = included.flatMap((hash) => {
39
+ const answer = byHash.get(hash);
40
+ return answer === undefined ? [] : [answer];
41
+ });
42
+ return {
43
+ answers,
44
+ missing: answers.length < included.length,
45
+ repeated: new Set(answers.map((answer) => answer.member)).size < answers.length,
46
+ };
47
+ }
48
+ /**
49
+ * Each member's outcome in member order; a member without one had no answer.
50
+ * @param members The members the operation asked.
51
+ * @param outcomes The outcome of each member that answered.
52
+ * @returns One outcome per member.
53
+ */
54
+ export function memberOutcomes(members, outcomes) {
55
+ const outcome = (member) => ({
56
+ member,
57
+ outcome: outcomes.get(member) ?? { kind: "no-answer" },
58
+ });
59
+ const [first, ...rest] = members;
60
+ return [outcome(first), ...rest.map(outcome)];
61
+ }
62
+ //# sourceMappingURL=shared-answers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-answers.js","sourceRoot":"","sources":["../../../src/endpoint/collective/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkDH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,MAAoB,EACpB,MAAuB;IAEvB,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,QAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU;QACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;KACtC,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QACzC,QAAQ,EACN,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;KACxE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,QAA4D;IAE5D,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAoB,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @file Answer validation against a collective request's form-mode schema.
3
+ *
4
+ * Validation runs field by field with the MCP SDK's JSON Schema validator so
5
+ * a failure names each failing field rather than one combined message. The
6
+ * form-mode grammar is flat, so a field's property schema is the whole rule
7
+ * for that field.
8
+ */
9
+ import { Effect } from "effect";
10
+ import type { AnswerContent, CollectiveFailure, CollectiveMemberOutcome } from "../../contract.js";
11
+ import type { CollectiveResponse, FormModeSchema } from "./wire.js";
12
+ /**
13
+ * Why one answer field failed its request's schema; `detail` is the SDK
14
+ * validator's message for an `invalid` field.
15
+ */
16
+ export type CollectiveFieldFailure = Extract<CollectiveFailure, {
17
+ readonly kind: "answer-invalid";
18
+ }>["fields"][number];
19
+ declare const CollectiveAnswerInvalidError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
20
+ readonly _tag: "CollectiveAnswerInvalidError";
21
+ } & Readonly<A>;
22
+ /** An answer does not satisfy its request's `requestedSchema`. */
23
+ export declare class CollectiveAnswerInvalidError extends CollectiveAnswerInvalidError_base<{
24
+ readonly failures: readonly [
25
+ CollectiveFieldFailure,
26
+ ...CollectiveFieldFailure[]
27
+ ];
28
+ }> {
29
+ get message(): string;
30
+ }
31
+ /**
32
+ * Check an answer against the schema its request carried. Each call compiles
33
+ * with its own validator: the SDK's shared default caches every compiled
34
+ * schema for the life of the process, and request schemas are unbounded.
35
+ * @param requestedSchema The request's form-mode schema.
36
+ * @param content The member's answer.
37
+ * @returns The answer unchanged, or an error naming every failing field.
38
+ */
39
+ export declare const validateAnswer: (requestedSchema: FormModeSchema, content: AnswerContent) => Effect.Effect<AnswerContent, CollectiveAnswerInvalidError>;
40
+ /**
41
+ * Record a received response as the member's outcome. An `accept` whose content
42
+ * fails the request's schema is recorded as invalid rather than rejected.
43
+ * @param requestedSchema The schema the request carried.
44
+ * @param response The member's decoded response.
45
+ * @returns The member's outcome.
46
+ */
47
+ export declare const outcomeOfResponse: (requestedSchema: FormModeSchema, response: CollectiveResponse) => Effect.Effect<CollectiveMemberOutcome>;
48
+ export {};
49
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/endpoint/collective/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,iBAAiB,EACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CACpC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;;;;AAEpB,kEAAkE;AAClE,qBAAa,4BAA6B,SAAQ,kCAEhD;IACA,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,sBAAsB;QACtB,GAAG,sBAAsB,EAAE;KAC5B,CAAC;CACH,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAQ7B;CACF;AAuCD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,oBACR,cAAc,WACtB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAe3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oBACX,cAAc,YACrB,kBAAkB,KAC3B,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAwBvC,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @file Answer validation against a collective request's form-mode schema.
3
+ *
4
+ * Validation runs field by field with the MCP SDK's JSON Schema validator so
5
+ * a failure names each failing field rather than one combined message. The
6
+ * form-mode grammar is flat, so a field's property schema is the whole rule
7
+ * for that field.
8
+ */
9
+ import { fromJsonSchema, } from "@modelcontextprotocol/client";
10
+ import { AjvJsonSchemaValidator } from "@modelcontextprotocol/client/validators/ajv";
11
+ import { Data, Effect } from "effect";
12
+ /** An answer does not satisfy its request's `requestedSchema`. */
13
+ export class CollectiveAnswerInvalidError extends Data.TaggedError("CollectiveAnswerInvalidError") {
14
+ get message() {
15
+ return this.failures
16
+ .map((failure) => failure.detail === undefined
17
+ ? `${failure.field}: ${failure.reason}`
18
+ : `${failure.field}: ${failure.reason} (${failure.detail})`)
19
+ .join("; ");
20
+ }
21
+ }
22
+ /**
23
+ * Field names come from peers, so a lookup ignores the prototype chain: an
24
+ * answer field named `constructor` must not find `Object.prototype.constructor`.
25
+ */
26
+ const ownValue = (record, key) => (Object.hasOwn(record, key) ? record[key] : undefined);
27
+ function fieldFailure(validator, requestedSchema, content, field) {
28
+ const definition = ownValue(requestedSchema.properties, field);
29
+ if (definition === undefined) {
30
+ return { field, reason: "unexpected" };
31
+ }
32
+ const value = ownValue(content, field);
33
+ if (value === undefined) {
34
+ return requestedSchema.required?.includes(field) === true
35
+ ? { field, reason: "missing" }
36
+ : undefined;
37
+ }
38
+ const result = fromJsonSchema(definition, validator)["~standard"].validate(value);
39
+ if (result instanceof Promise) {
40
+ return { field, reason: "invalid", detail: "asynchronous validator" };
41
+ }
42
+ const detail = result.issues?.map((issue) => issue.message).join(", ");
43
+ return detail === undefined
44
+ ? undefined
45
+ : { field, reason: "invalid", detail };
46
+ }
47
+ /**
48
+ * Check an answer against the schema its request carried. Each call compiles
49
+ * with its own validator: the SDK's shared default caches every compiled
50
+ * schema for the life of the process, and request schemas are unbounded.
51
+ * @param requestedSchema The request's form-mode schema.
52
+ * @param content The member's answer.
53
+ * @returns The answer unchanged, or an error naming every failing field.
54
+ */
55
+ export const validateAnswer = (requestedSchema, content) => {
56
+ const fields = new Set([
57
+ ...Object.keys(requestedSchema.properties),
58
+ ...Object.keys(content),
59
+ ]);
60
+ const validator = new AjvJsonSchemaValidator();
61
+ const [first, ...rest] = [...fields].flatMap((field) => {
62
+ const failure = fieldFailure(validator, requestedSchema, content, field);
63
+ return failure === undefined ? [] : [failure];
64
+ });
65
+ return first === undefined
66
+ ? Effect.succeed(content)
67
+ : Effect.fail(new CollectiveAnswerInvalidError({ failures: [first, ...rest] }));
68
+ };
69
+ /**
70
+ * Record a received response as the member's outcome. An `accept` whose content
71
+ * fails the request's schema is recorded as invalid rather than rejected.
72
+ * @param requestedSchema The schema the request carried.
73
+ * @param response The member's decoded response.
74
+ * @returns The member's outcome.
75
+ */
76
+ export const outcomeOfResponse = (requestedSchema, response) => {
77
+ switch (response.action) {
78
+ case "accept":
79
+ return validateAnswer(requestedSchema, response.content).pipe(Effect.match({
80
+ onFailure: (error) => ({
81
+ kind: "invalid",
82
+ reason: error.message,
83
+ }),
84
+ onSuccess: (content) => ({
85
+ kind: "answered",
86
+ content,
87
+ }),
88
+ }));
89
+ case "decline":
90
+ return Effect.succeed({ kind: "declined" });
91
+ case "cancel":
92
+ return Effect.succeed({ kind: "cancelled" });
93
+ default: {
94
+ const exhaustive = response;
95
+ return exhaustive;
96
+ }
97
+ }
98
+ };
99
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/endpoint/collective/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * @file Collective-layer values carried inside a certified post's content.
3
+ *
4
+ * A collective value travels as one `data` part whose value is an object with
5
+ * the key `COLLECTIVE_DATA_KEY`. `Content` stays a generic container; only
6
+ * endpoints read the part, and the Router sees only the envelope. Every value
7
+ * carries a `kind` discriminant so an endpoint classifies a part without trying
8
+ * each shape in turn.
9
+ */
10
+ import { type PrimitiveSchemaDefinition as McpPrimitiveSchemaDefinition } from "@modelcontextprotocol/client";
11
+ import { Effect, Option, ParseResult, Schema } from "effect";
12
+ import { type AgentAddress, CollectiveId } from "../../contract.js";
13
+ import { Content } from "../representation.js";
14
+ type PostContent = typeof Content.Type;
15
+ /** The `data` part key under which the collective layer carries its value. */
16
+ export declare const COLLECTIVE_DATA_KEY = "xyz.moltzap/collective";
17
+ /**
18
+ * The MCP form-mode `requestedSchema`: a flat object of primitive properties.
19
+ * Every `required` name must be a declared property, since an answer can carry
20
+ * no other field.
21
+ */
22
+ export declare const FormModeSchema: Schema.filter<Schema.Struct<{
23
+ $schema: Schema.optional<typeof Schema.String>;
24
+ type: Schema.Literal<["object"]>;
25
+ properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<McpPrimitiveSchemaDefinition, McpPrimitiveSchemaDefinition, readonly [], never>, never>>;
26
+ required: Schema.optional<Schema.Array$<typeof Schema.String>>;
27
+ }>>;
28
+ /** A validated form-mode schema for one collective question. */
29
+ export type FormModeSchema = typeof FormModeSchema.Type;
30
+ /**
31
+ * The collective id a requester's nonce names: `col_` and the base64url
32
+ * SHA-256 of a domain tag, the requester's address and the nonce. A member
33
+ * accepts a request only when its id derives from the request's certified
34
+ * sender, so no agent can reuse an id another requester minted.
35
+ * @param requester The agent that minted the id.
36
+ * @param nonce The request's nonce.
37
+ * @returns The id the pair names.
38
+ */
39
+ export declare const collectiveIdOf: (requester: AgentAddress, nonce: string) => CollectiveId;
40
+ /** A member's reply to one request; only `accept` carries content. */
41
+ declare const CollectiveResponse: Schema.Union<[Schema.Struct<{
42
+ kind: Schema.Literal<["response"]>;
43
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
44
+ action: Schema.Literal<["accept"]>;
45
+ content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
46
+ }>, Schema.Struct<{
47
+ kind: Schema.Literal<["response"]>;
48
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
49
+ action: Schema.Literal<["decline", "cancel"]>;
50
+ }>]>;
51
+ /** A validated collective response. */
52
+ export type CollectiveResponse = typeof CollectiveResponse.Type;
53
+ /** Every value the collective layer carries, discriminated by `kind`. */
54
+ declare const CollectiveValue: Schema.Union<[Schema.Struct<{
55
+ kind: Schema.Literal<["operation"]>;
56
+ op: Schema.Literal<["multicast"]>;
57
+ }>, Schema.Struct<{
58
+ kind: Schema.Literal<["operation"]>;
59
+ op: Schema.Literal<["gather", "all_gather"]>;
60
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
61
+ nonce: Schema.filter<typeof Schema.String>;
62
+ deadlineAt: Schema.filter<typeof Schema.Int>;
63
+ requestedSchema: Schema.filter<Schema.Struct<{
64
+ $schema: Schema.optional<typeof Schema.String>;
65
+ type: Schema.Literal<["object"]>;
66
+ properties: Schema.Record$<typeof Schema.String, Schema.transformOrFail<typeof Schema.Unknown, Schema.declare<McpPrimitiveSchemaDefinition, McpPrimitiveSchemaDefinition, readonly [], never>, never>>;
67
+ required: Schema.optional<Schema.Array$<typeof Schema.String>>;
68
+ }>>;
69
+ }>, Schema.Union<[Schema.Struct<{
70
+ kind: Schema.Literal<["response"]>;
71
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
72
+ action: Schema.Literal<["accept"]>;
73
+ content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
74
+ }>, Schema.Struct<{
75
+ kind: Schema.Literal<["response"]>;
76
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
77
+ action: Schema.Literal<["decline", "cancel"]>;
78
+ }>]>, Schema.Struct<{
79
+ kind: Schema.Literal<["close"]>;
80
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
81
+ included: Schema.Array$<Schema.brand<Schema.filter<typeof Schema.String>, "RecordHash">>;
82
+ }>]>;
83
+ /** A validated collective value. */
84
+ export type CollectiveValue = typeof CollectiveValue.Type;
85
+ declare const CollectivePartInvalidError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
86
+ readonly _tag: "CollectivePartInvalidError";
87
+ } & Readonly<A>;
88
+ /** Content carries a collective part that is duplicated or does not decode. */
89
+ export declare class CollectivePartInvalidError extends CollectivePartInvalidError_base<{
90
+ readonly reason: "duplicate" | "malformed";
91
+ }> {
92
+ }
93
+ declare const CollectiveContentError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
94
+ readonly _tag: "CollectiveContentError";
95
+ } & Readonly<A>;
96
+ /** A collective value and its text do not form content within the 32,768-byte canonical limit. */
97
+ export declare class CollectiveContentError extends CollectiveContentError_base {
98
+ }
99
+ /**
100
+ * Remove the collective part from post content, keeping every other part in
101
+ * order.
102
+ * @param content Certified post content.
103
+ * @returns The remaining parts, empty when the collective part was the only one.
104
+ */
105
+ export declare const withoutCollectivePart: (content: PostContent) => ReadonlyArray<PostContent[number]>;
106
+ /**
107
+ * Decode one untrusted collective value.
108
+ * @param value The value found under `COLLECTIVE_DATA_KEY`.
109
+ * @returns The validated value.
110
+ */
111
+ export declare const decodeCollectiveValue: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
112
+ readonly kind: "response";
113
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
114
+ readonly action: "accept";
115
+ readonly content: {
116
+ readonly [x: string]: string | number | boolean | readonly string[];
117
+ };
118
+ } | {
119
+ readonly kind: "response";
120
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
121
+ readonly action: "cancel" | "decline";
122
+ } | {
123
+ readonly kind: "operation";
124
+ readonly op: "multicast";
125
+ } | {
126
+ readonly kind: "operation";
127
+ readonly op: "all_gather" | "gather";
128
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
129
+ readonly nonce: string;
130
+ readonly deadlineAt: number;
131
+ readonly requestedSchema: {
132
+ readonly $schema?: string | undefined;
133
+ readonly type: "object";
134
+ readonly properties: {
135
+ readonly [x: string]: McpPrimitiveSchemaDefinition;
136
+ };
137
+ readonly required?: readonly string[] | undefined;
138
+ };
139
+ } | {
140
+ readonly kind: "close";
141
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
142
+ readonly included: readonly (string & import("effect/Brand").Brand<"RecordHash">)[];
143
+ }, ParseResult.ParseError, never>;
144
+ /**
145
+ * Decode one untrusted collective response.
146
+ * @param value A member's response as it arrives.
147
+ * @returns The validated response.
148
+ */
149
+ export declare const decodeCollectiveResponse: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
150
+ readonly kind: "response";
151
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
152
+ readonly action: "accept";
153
+ readonly content: {
154
+ readonly [x: string]: string | number | boolean | readonly string[];
155
+ };
156
+ } | {
157
+ readonly kind: "response";
158
+ readonly id: string & import("effect/Brand").Brand<"CollectiveId">;
159
+ readonly action: "cancel" | "decline";
160
+ }, ParseResult.ParseError, never>;
161
+ /**
162
+ * Find and decode the collective value in one post's content.
163
+ * @param content Certified post content.
164
+ * @returns The decoded value, or none when the content carries no collective part.
165
+ */
166
+ export declare const readCollectiveValue: (content: PostContent) => Effect.Effect<Option.Option<CollectiveValue>, CollectivePartInvalidError>;
167
+ /**
168
+ * Build post content from a collective value and optional message text. The
169
+ * public `Content` schema applies the one canonical size limit.
170
+ * @param value The collective value to carry in the data part.
171
+ * @param text The message body; for gather and all_gather, the question.
172
+ * @returns Content with the text first and the collective part last.
173
+ */
174
+ export declare const encodeCollectiveContent: (value: CollectiveValue, text?: string) => Effect.Effect<PostContent, CollectiveContentError>;
175
+ export {};
176
+ //# sourceMappingURL=wire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/endpoint/collective/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,yBAAyB,IAAI,4BAA4B,EAE/D,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAQ,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEnE,OAAO,EACL,KAAK,YAAY,EAEjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAA2B,MAAM,sBAAsB,CAAC;AAIxE,KAAK,WAAW,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAEvC,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AA8C5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;GAmB1B,CAAC;AACF,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AASxD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,cACd,YAAY,SAChB,MAAM,KACZ,YAKA,CAAC;AAuBJ,sEAAsE;AACtE,QAAA,MAAM,kBAAkB;;;;;;;;;IAYvB,CAAC;AACF,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAShE,yEAAyE;AACzE,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKpB,CAAC;AACF,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;;;;AAE1D,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,gCAE9C;IACA,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;CAC5C,CAAC;CAAG;;;;AAEL,kGAAkG;AAClG,qBAAa,sBAAuB,SAAQ,2BAE3C;CAAG;AAoBJ;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,YACvB,WAAW,KACnB,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CACgC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAwC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;iCACK,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,YACrB,WAAW,KACnB,MAAM,CAAC,MAAM,CACd,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAC9B,0BAA0B,CAiB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAC3B,eAAe,SACf,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAWjD,CAAC"}