@moltzap/client 2026.801.3 → 2026.803.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 (84) hide show
  1. package/dist/bounded-map.d.ts +3 -3
  2. package/dist/bounded-map.js +3 -3
  3. package/dist/channel-base/index.d.ts +3 -7
  4. package/dist/channel-base/index.d.ts.map +1 -1
  5. package/dist/channel-base/index.js +2 -6
  6. package/dist/channel-base/index.js.map +1 -1
  7. package/dist/channel-base/reply-guard.d.ts +52 -0
  8. package/dist/channel-base/reply-guard.d.ts.map +1 -0
  9. package/dist/channel-base/reply-guard.js +78 -0
  10. package/dist/channel-base/reply-guard.js.map +1 -0
  11. package/dist/channel-core-test-support.d.ts +5 -29
  12. package/dist/channel-core-test-support.d.ts.map +1 -1
  13. package/dist/channel-core-test-support.js +2 -92
  14. package/dist/channel-core-test-support.js.map +1 -1
  15. package/dist/channel-core.d.ts +130 -244
  16. package/dist/channel-core.d.ts.map +1 -1
  17. package/dist/channel-core.js +181 -505
  18. package/dist/channel-core.js.map +1 -1
  19. package/dist/cli/commands/start.d.ts +1 -5
  20. package/dist/cli/commands/start.d.ts.map +1 -1
  21. package/dist/cli/commands/start.js +0 -3
  22. package/dist/cli/commands/start.js.map +1 -1
  23. package/dist/harness-mcp-server.d.ts +19 -0
  24. package/dist/harness-mcp-server.d.ts.map +1 -0
  25. package/dist/harness-mcp-server.js +105 -0
  26. package/dist/harness-mcp-server.js.map +1 -0
  27. package/dist/harness-mcp-wire.d.ts +21 -0
  28. package/dist/harness-mcp-wire.d.ts.map +1 -0
  29. package/dist/harness-mcp-wire.js +48 -0
  30. package/dist/harness-mcp-wire.js.map +1 -0
  31. package/dist/index.d.ts +1 -5
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/local-daemon-rpc.d.ts +99 -178
  36. package/dist/local-daemon-rpc.d.ts.map +1 -1
  37. package/dist/local-daemon-rpc.js +8 -10
  38. package/dist/local-daemon-rpc.js.map +1 -1
  39. package/dist/moltzapd.d.ts +37 -0
  40. package/dist/moltzapd.d.ts.map +1 -0
  41. package/dist/moltzapd.js +64 -0
  42. package/dist/moltzapd.js.map +1 -0
  43. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +14 -14
  44. package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +1 -1
  45. package/dist/notification/__tests__/subscribe-signatures.types-check.js +5 -5
  46. package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +1 -1
  47. package/dist/service-local-daemon.d.ts +1 -1
  48. package/dist/service-local-daemon.d.ts.map +1 -1
  49. package/dist/service-local-daemon.js +2 -4
  50. package/dist/service-local-daemon.js.map +1 -1
  51. package/dist/service.d.ts +16 -29
  52. package/dist/service.d.ts.map +1 -1
  53. package/dist/service.js +41 -52
  54. package/dist/service.js.map +1 -1
  55. package/dist/test-utils/channel-service-fixture.d.ts +1 -3
  56. package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
  57. package/dist/test-utils/channel-service-fixture.js +2 -22
  58. package/dist/test-utils/channel-service-fixture.js.map +1 -1
  59. package/dist/test-utils/ids.d.ts +0 -13
  60. package/dist/test-utils/ids.d.ts.map +1 -1
  61. package/dist/test-utils/ids.js +1 -16
  62. package/dist/test-utils/ids.js.map +1 -1
  63. package/dist/test-utils/index.d.ts +1 -1
  64. package/dist/test-utils/index.d.ts.map +1 -1
  65. package/dist/test-utils/index.js +1 -1
  66. package/dist/test-utils/index.js.map +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +6 -3
  69. package/dist/app-client.d.ts +0 -5
  70. package/dist/app-client.d.ts.map +0 -1
  71. package/dist/app-client.js +0 -3
  72. package/dist/app-client.js.map +0 -1
  73. package/dist/channel-base/lease-guard.d.ts +0 -31
  74. package/dist/channel-base/lease-guard.d.ts.map +0 -1
  75. package/dist/channel-base/lease-guard.js +0 -44
  76. package/dist/channel-base/lease-guard.js.map +0 -1
  77. package/dist/channel-base/lease-store.d.ts +0 -48
  78. package/dist/channel-base/lease-store.d.ts.map +0 -1
  79. package/dist/channel-base/lease-store.js +0 -77
  80. package/dist/channel-base/lease-store.js.map +0 -1
  81. package/dist/channel-base/lease.d.ts +0 -96
  82. package/dist/channel-base/lease.d.ts.map +0 -1
  83. package/dist/channel-base/lease.js +0 -106
  84. package/dist/channel-base/lease.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ import { Effect, Scope } from "effect";
2
+ import { acquireHarnessMcpHttpServer } from "./harness-mcp-server.js";
3
+ import { type ServiceRpcError } from "./service.js";
4
+ import type { ServiceConfigError } from "./config.js";
5
+ interface MoltzapdOptions {
6
+ readonly profileName: string;
7
+ readonly port: number;
8
+ }
9
+ type MoltzapdServer = Effect.Effect.Success<ReturnType<typeof acquireHarnessMcpHttpServer>>;
10
+ /**
11
+ * Owns one registered agent's service, channel core, network connection, and
12
+ * guarded loopback MCP listener for the lifetime of the caller's scope.
13
+ *
14
+ * ```mermaid
15
+ * sequenceDiagram
16
+ * participant process as moltzapd
17
+ * participant service as MoltZapService
18
+ * participant core as MoltZapChannelCore
19
+ * participant mcp as MCP listener
20
+ *
21
+ * process->>service: make(profileName)
22
+ * process->>core: construct(service)
23
+ * process->>core: connect()
24
+ * process->>mcp: listen(port)
25
+ * Note over core,mcp: Scope release closes MCP before disconnecting the core
26
+ * ```
27
+ *
28
+ * The caller resolves the profile and port policy. This composition does not
29
+ * start the Unix-socket server and does not expose its service or core.
30
+ *
31
+ * @param options Existing profile name and caller-resolved listener port.
32
+ * @returns The scoped loopback HTTP listener.
33
+ * @internal
34
+ */
35
+ export declare const acquireMoltzapd: (options: MoltzapdOptions) => Effect.Effect<MoltzapdServer, Error | ServiceConfigError | ServiceRpcError, Scope.Scope>;
36
+ export {};
37
+ //# sourceMappingURL=moltzapd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moltzapd.d.ts","sourceRoot":"","sources":["../src/moltzapd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA2B,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAMtE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,UAAU,eAAe;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAQD,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CACzC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAC/C,CAAC;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe,YACjB,eAAe,KACvB,MAAM,CAAC,MAAM,CACd,cAAc,EACd,KAAK,GAAG,kBAAkB,GAAG,eAAe,EAC5C,KAAK,CAAC,KAAK,CA0BgC,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { Effect, ExecutionStrategy, Exit, Scope } from "effect";
2
+ import packageJson from "../package.json" with { type: "json" };
3
+ import { MoltZapChannelCore } from "./channel-core.js";
4
+ import { acquireHarnessMcpHttpServer } from "./harness-mcp-server.js";
5
+ import { makeHarnessMcpHttpHandlers } from "./harness-mcp-wire.js";
6
+ import { MoltZapService } from "./service.js";
7
+ const MCP_IMPLEMENTATION = {
8
+ name: "moltzapd",
9
+ version: packageJson.version,
10
+ };
11
+ const makeStatusHandler = (service, core) => () => Effect.succeed({
12
+ ...(service.ownAgentId === undefined
13
+ ? {}
14
+ : { agentId: service.ownAgentId }),
15
+ connected: core.isConnected(),
16
+ conversations: service.getConversations().length,
17
+ });
18
+ const acquireConnectedCore = (service) =>
19
+ // eslint-disable-next-line agent-code-guard/acquire-release-requires-scope -- the process scope owns the sole core and its network connection
20
+ Effect.acquireRelease(Effect.sync(() => new MoltZapChannelCore({ service })), (core) => core.disconnect()).pipe(Effect.tap((core) => core.connect()));
21
+ /**
22
+ * Owns one registered agent's service, channel core, network connection, and
23
+ * guarded loopback MCP listener for the lifetime of the caller's scope.
24
+ *
25
+ * ```mermaid
26
+ * sequenceDiagram
27
+ * participant process as moltzapd
28
+ * participant service as MoltZapService
29
+ * participant core as MoltZapChannelCore
30
+ * participant mcp as MCP listener
31
+ *
32
+ * process->>service: make(profileName)
33
+ * process->>core: construct(service)
34
+ * process->>core: connect()
35
+ * process->>mcp: listen(port)
36
+ * Note over core,mcp: Scope release closes MCP before disconnecting the core
37
+ * ```
38
+ *
39
+ * The caller resolves the profile and port policy. This composition does not
40
+ * start the Unix-socket server and does not expose its service or core.
41
+ *
42
+ * @param options Existing profile name and caller-resolved listener port.
43
+ * @returns The scoped loopback HTTP listener.
44
+ * @internal
45
+ */
46
+ export const acquireMoltzapd = (options) => Effect.gen(function* () {
47
+ const parentScope = yield* Effect.scope;
48
+ const daemonScope = yield* Scope.fork(parentScope, ExecutionStrategy.sequential);
49
+ const acquire = Effect.gen(function* () {
50
+ const service = yield* MoltZapService.make(options.profileName);
51
+ const core = yield* acquireConnectedCore(service);
52
+ const handlers = makeHarnessMcpHttpHandlers({
53
+ implementation: MCP_IMPLEMENTATION,
54
+ status: makeStatusHandler(service, core),
55
+ });
56
+ return yield* acquireHarnessMcpHttpServer({
57
+ port: options.port,
58
+ registrationHandler: handlers.registration,
59
+ harnessHandler: handlers.active,
60
+ });
61
+ }).pipe(Scope.extend(daemonScope));
62
+ return yield* acquire.pipe(Effect.onExit((exit) => Exit.isSuccess(exit) ? Effect.void : Scope.close(daemonScope, exit)));
63
+ }).pipe(Effect.withSpan("acquireMoltzapd"));
64
+ //# sourceMappingURL=moltzapd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moltzapd.js","sourceRoot":"","sources":["../src/moltzapd.ts"],"names":[],"mappings":"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"}
@@ -8,25 +8,25 @@
8
8
  import { type Effect, Stream } from "effect";
9
9
  import type { NotConnectedError, NotificationDelivery, NotificationParamsOf, NotificationSubscriberRegistry } from "@moltzap/protocol/rpc";
10
10
  import type { AnyNotificationDefinition } from "@moltzap/protocol/socket/catalog";
11
- import { dispatchRelease } from "@moltzap/protocol/message/dispatch";
11
+ import { messageReceivedNotificationDefinition } from "@moltzap/protocol/message";
12
12
  import { subscribe, type subscribeAll } from "../stream.js";
13
13
  type Equal<Left, Right> = [Left, Right] extends [Right, Left] ? true : false;
14
14
  type Expect<Value extends true> = Value;
15
- type ReleaseParams = NotificationParamsOf<typeof dispatchRelease>;
16
- type DeniedRelease = ReleaseParams & {
17
- readonly verdict: {
18
- readonly decision: "deny";
15
+ type ReceivedParams = NotificationParamsOf<typeof messageReceivedNotificationDefinition>;
16
+ type GroupReceived = ReceivedParams & {
17
+ readonly message: {
18
+ readonly conversationId: string;
19
19
  };
20
20
  };
21
- type DeniedPredicate = (params: ReleaseParams) => params is DeniedRelease;
21
+ type GroupPredicate = (params: ReceivedParams) => params is GroupReceived;
22
22
  /**
23
23
  * Exercise the type-guard overload with concrete protocol types.
24
24
  * @param registry Notification registry supplied by a connected client.
25
- * @param isDenied Predicate that narrows dispatch releases to denials.
26
- * @returns A stream narrowed to denied dispatch releases.
25
+ * @param isGroup Predicate that narrows received messages to group deliveries.
26
+ * @returns A stream narrowed to group message deliveries.
27
27
  */
28
- export declare function subscribeDeniedCanary(registry: NotificationSubscriberRegistry<NotConnectedError, AnyNotificationDefinition>, isDenied: DeniedPredicate): Stream.Stream<DeniedRelease, NotConnectedError, never>;
29
- type DeniedStream = ReturnType<typeof subscribeDeniedCanary>;
28
+ export declare function subscribeNarrowedCanary(registry: NotificationSubscriberRegistry<NotConnectedError, AnyNotificationDefinition>, isGroup: GroupPredicate): Stream.Stream<GroupReceived, NotConnectedError, never>;
29
+ type NarrowedStream = ReturnType<typeof subscribeNarrowedCanary>;
30
30
  /**
31
31
  * Exercise Stream consumption against the real subscription return type.
32
32
  * @param stream Subscription stream to consume.
@@ -35,16 +35,16 @@ type DeniedStream = ReturnType<typeof subscribeDeniedCanary>;
35
35
  */
36
36
  export declare function runSubscriptionCanary(stream: ReturnType<typeof subscribe<AnyNotificationDefinition>>, handler: (notification: NotificationParamsOf<AnyNotificationDefinition>) => Effect.Effect<void>): Effect.Effect<void, NotConnectedError, never>;
37
37
  type SubscribeStreamShape = Expect<Equal<ReturnType<typeof subscribe<AnyNotificationDefinition>>, Stream.Stream<NotificationParamsOf<AnyNotificationDefinition>, NotConnectedError>>>;
38
- type DeniedOverloadResolves = Expect<Equal<DeniedStream, Stream.Stream<DeniedRelease, NotConnectedError>>>;
39
- type DeniedElementIsExact = Expect<Equal<Stream.Stream.Success<DeniedStream>, DeniedRelease>>;
38
+ type NarrowedOverloadResolves = Expect<Equal<NarrowedStream, Stream.Stream<GroupReceived, NotConnectedError>>>;
39
+ type NarrowedElementIsExact = Expect<Equal<Stream.Stream.Success<NarrowedStream>, GroupReceived>>;
40
40
  type SubscribeAllStreamShape = Expect<Equal<ReturnType<typeof subscribeAll>, Stream.Stream<NotificationDelivery<AnyNotificationDefinition>, NotConnectedError>>>;
41
41
  type RunForEachHasNoLeakedRequirements = Expect<Equal<Effect.Effect.Context<ReturnType<typeof runSubscriptionCanary>>, never>>;
42
42
  type TypedErrorChannelIsExact = Expect<Equal<Stream.Stream.Error<ReturnType<typeof subscribe<AnyNotificationDefinition>>>, NotConnectedError>>;
43
43
  /** Compile-time assertions for notification subscription contracts. */
44
44
  export type NotificationSubscriptionCanaries = [
45
45
  SubscribeStreamShape,
46
- DeniedOverloadResolves,
47
- DeniedElementIsExact,
46
+ NarrowedOverloadResolves,
47
+ NarrowedElementIsExact,
48
48
  SubscribeAllStreamShape,
49
49
  RunForEachHasNoLeakedRequirements,
50
50
  TypedErrorChannelIsExact
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe-signatures.types-check.d.ts","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribe-signatures.types-check.d.ts","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,16 @@
6
6
  * channels, and the absence of leaked Effect requirements.
7
7
  */
8
8
  import { Stream } from "effect";
9
- import { dispatchRelease } from "@moltzap/protocol/message/dispatch";
9
+ import { messageReceivedNotificationDefinition } from "@moltzap/protocol/message";
10
10
  import { subscribe } from "../stream.js";
11
11
  /**
12
12
  * Exercise the type-guard overload with concrete protocol types.
13
13
  * @param registry Notification registry supplied by a connected client.
14
- * @param isDenied Predicate that narrows dispatch releases to denials.
15
- * @returns A stream narrowed to denied dispatch releases.
14
+ * @param isGroup Predicate that narrows received messages to group deliveries.
15
+ * @returns A stream narrowed to group message deliveries.
16
16
  */
17
- export function subscribeDeniedCanary(registry, isDenied) {
18
- return subscribe(registry, dispatchRelease, isDenied);
17
+ export function subscribeNarrowedCanary(registry, isGroup) {
18
+ return subscribe(registry, messageReceivedNotificationDefinition, isGroup);
19
19
  }
20
20
  /**
21
21
  * Exercise Stream consumption against the real subscription return type.
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe-signatures.types-check.js","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAW5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAGC,EACD,QAAyB;IAEzB,OAAO,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+D,EAC/D,OAEwB;IAExB,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"subscribe-signatures.types-check.js","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,EAAE,qCAAqC,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAa5D;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAGC,EACD,OAAuB;IAEvB,OAAO,SAAS,CAAC,QAAQ,EAAE,qCAAqC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+D,EAC/D,OAEwB;IAExB,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC"}
@@ -12,7 +12,7 @@ type AgentCallableTag = AgentCallableRpcs["_tag"];
12
12
  type ServiceCall = <Tag extends AgentCallableTag>(tag: Tag, payload: PayloadForTag<AgentCallableRpcs, Tag>, opts?: RpcCallOptions) => Effect.Effect<SuccessForTag<AgentCallableRpcs, Tag>, ServiceRpcError>;
13
13
  interface LocalDaemonHandlerOptions {
14
14
  readonly ownAgentId: AgentId;
15
- readonly connected: boolean;
15
+ readonly connected: () => boolean;
16
16
  readonly conversationCount: () => number;
17
17
  readonly call: ServiceCall;
18
18
  readonly handleHistoryRequest: (request: HistoryRequest) => Effect.Effect<HistoryResponse, ServiceRpcError>;
@@ -1 +1 @@
1
- {"version":3,"file":"service-local-daemon.d.ts","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAO3E,OAAO,KAAK,EAEV,aAAa,EAEb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAIL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAElD,KAAK,WAAW,GAAG,CAAC,GAAG,SAAS,gBAAgB,EAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAC9C,IAAI,CAAC,EAAE,cAAc,KAClB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAE3E,UAAU,yBAAyB;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;CACtD;AAyMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,oBAAoB,GACrB,EAAE,yBAAyB,GAAG,mBAAmB,CAwBjD"}
1
+ {"version":3,"file":"service-local-daemon.d.ts","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAO3E,OAAO,KAAK,EAEV,aAAa,EAEb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAIL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAElD,KAAK,WAAW,GAAG,CAAC,GAAG,SAAS,gBAAgB,EAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAC9C,IAAI,CAAC,EAAE,cAAc,KAClB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAE3E,UAAU,yBAAyB;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;CACtD;AAuMD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,oBAAoB,GACrB,EAAE,yBAAyB,GAAG,mBAAmB,CAwBjD"}
@@ -1,5 +1,5 @@
1
1
  import { Effect, Either } from "effect";
2
- import { agentsList, DEFAULT_APP_ID, } from "@moltzap/protocol/identity";
2
+ import { agentsList } from "@moltzap/protocol/identity";
3
3
  import { agentConversationCreate, } from "@moltzap/protocol/conversation";
4
4
  import { messagesList, messagesSend } from "@moltzap/protocol/message";
5
5
  import { localDaemonCommands, StartPartialFailure, StartUsageError, } from "./local-daemon-rpc.js";
@@ -100,7 +100,6 @@ function sendOptionalStartMessage({ call, params, conversationId, }) {
100
100
  }
101
101
  function handleStartCommand(call, params) {
102
102
  return Effect.gen(function* () {
103
- const appId = params.appId ?? DEFAULT_APP_ID;
104
103
  const participants = yield* resolveStartParticipants(call, params.participants);
105
104
  if (participants.length === 0) {
106
105
  return yield* new StartUsageError({
@@ -108,7 +107,6 @@ function handleStartCommand(call, params) {
108
107
  });
109
108
  }
110
109
  const created = yield* call(agentConversationCreate.name, {
111
- appId,
112
110
  name: params.name,
113
111
  participants,
114
112
  });
@@ -138,7 +136,7 @@ export function makeLocalDaemonHandlers({ ownAgentId, connected, conversationCou
138
136
  return {
139
137
  [localDaemonCommands.status]: () => Effect.succeed({
140
138
  agentId: ownAgentId,
141
- connected,
139
+ connected: connected(),
142
140
  conversations: conversationCount(),
143
141
  }),
144
142
  [localDaemonCommands.history]: handleHistoryRequest,
@@ -1 +1 @@
1
- {"version":3,"file":"service-local-daemon.js","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-local-daemon.js","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import { AgentNotFoundError, type AgentId } from "@moltzap/protocol/identity";
2
- import { dispatchRequest, dispatchRelease, dispatchLeaseConsumed, dispatchLeaseExpired, type LeaseId } from "@moltzap/protocol/message/dispatch";
3
2
  import type { HelloOk } from "@moltzap/protocol/network";
4
3
  import type { AnyAgentCallableRpcDefinition, AnyNotificationDefinition, agentCallableGroup } from "@moltzap/protocol/socket/catalog";
5
4
  import type { ClientDefinitionPayload, ClientDefinitionSuccess } from "@moltzap/protocol/socket";
6
5
  import { type ConversationId } from "@moltzap/protocol/conversation";
7
6
  import { type Message } from "@moltzap/protocol/message";
8
- import { NotConnectedError, type RpcTimeoutError, type NotificationDelivery, type NotificationParamsOf, type PayloadForTag, type ParamsOf, type ResultOf, type SuccessForTag } from "@moltzap/protocol/rpc";
7
+ import { NotConnectedError, type RpcTimeoutError, type NotificationDelivery, type PayloadForTag, type SuccessForTag } from "@moltzap/protocol/rpc";
9
8
  import type { RpcGroup, Rpc } from "@effect/rpc";
10
9
  import { Effect } from "effect";
11
10
  import { type RpcCallOptions } from "./agent-client.js";
@@ -61,14 +60,11 @@ interface ServiceHandlerPayloads {
61
60
  /**
62
61
  * The "raw notification" surface receives the descriptor-tagged delivery
63
62
  * emitted after the native reverse RPC handler has Schema-decoded params.
64
- * Subscribers that want specific payloads register typed `on(...)` handlers
65
- * such as `dispatchRelease`.
63
+ * Subscribers that want a specific payload narrow the delivery themselves
64
+ * with `isNotificationDeliveryFor`.
66
65
  */
67
66
  readonly rawNotification: ClientNotificationDelivery;
68
67
  readonly disconnect: undefined;
69
- readonly dispatchRelease: NotificationParamsOf<typeof dispatchRelease>;
70
- readonly dispatchLeaseConsumed: NotificationParamsOf<typeof dispatchLeaseConsumed>;
71
- readonly dispatchLeaseExpired: NotificationParamsOf<typeof dispatchLeaseExpired>;
72
68
  }
73
69
  type ServiceHandlerName = keyof ServiceHandlerPayloads;
74
70
  /** Full message from another conversation, used by peekFullMessages(). */
@@ -92,6 +88,7 @@ export interface CrossConvMessage {
92
88
  export declare class MoltZapService {
93
89
  private client;
94
90
  private connectedValue;
91
+ private shutdownCompletion;
95
92
  /**
96
93
  * Service-owned scope. Opened in `connect()`, owns the
97
94
  * `subscribeAll → Stream.runForEach` fan-out fiber. Closed in `close()` so
@@ -127,10 +124,17 @@ export declare class MoltZapService {
127
124
  */
128
125
  connect(): Effect.Effect<HelloOk, ServiceRpcError>;
129
126
  /**
130
- * Tear down the service. `close()` is sync because it fans out to the
131
- * socket server, Refs, and the ws-client. Effectful network/filesystem
132
- * cleanup is forked at the edge so existing callers still get immediate
133
- * shutdown.
127
+ * Returns a lazy teardown effect that resolves after the service's owned
128
+ * transports and notification scope close.
129
+ *
130
+ * @returns Completion of the service-owned cleanup.
131
+ * @internal
132
+ */
133
+ shutdown(): Effect.Effect<void>;
134
+ private beginShutdown;
135
+ /**
136
+ * Starts service teardown for callers that use the legacy synchronous
137
+ * lifecycle boundary.
134
138
  */
135
139
  close(): void;
136
140
  private socketServerScope;
@@ -194,27 +198,11 @@ export declare class MoltZapService {
194
198
  * svc-->>caller: Effect.void
195
199
  * ```
196
200
  *
197
- * `opts.dispatchLeaseId` (when set) is forwarded verbatim in the
198
- * params frame. The server marks the lease consumed, blocking the
199
- * app authorization timeout sweep. `MoltZapChannelCore.sendReply` forwards
200
- * `leaseIdInFlight` automatically when the caller omits it.
201
201
  * @param conversationId Value supplied to the operation.
202
202
  * @param text Text to process.
203
- * @param opts Value supplied to the operation.
204
- * @param opts.dispatchLeaseId Value supplied to the operation.
205
203
  * @returns The send result.
206
204
  */
207
- send(conversationId: ConversationId, text: string, opts?: {
208
- dispatchLeaseId?: LeaseId;
209
- }): Effect.Effect<void, ServiceRpcError>;
210
- /**
211
- * Issue `agent/dispatch/request`. The server returns the ack
212
- * `{leaseId, dispatchId}` immediately; the recipient observes the
213
- * verdict asynchronously via the `dispatchRelease` event.
214
- * @param params Request payload to process.
215
- * @returns The cache result.
216
- */
217
- requestDispatch(params: ParamsOf<typeof dispatchRequest>): Effect.Effect<ResultOf<typeof dispatchRequest>, ServiceRpcError>;
205
+ send(conversationId: ConversationId, text: string): Effect.Effect<void, ServiceRpcError>;
218
206
  /**
219
207
  * Send to a named agent, minting the DM conversation on first use and
220
208
  * reusing it afterwards. The per-name cache is what makes the DM stable:
@@ -287,7 +275,6 @@ export declare class MoltZapService {
287
275
  private dispatchTypedNotification;
288
276
  private dispatchMessageNotification;
289
277
  private dispatchConversationNotification;
290
- private dispatchAppNotification;
291
278
  /**
292
279
  * Record `messageId` in the per-conversation dedup window. Returns
293
280
  * `true` when the id is new (caller proceeds), `false` when the id is
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/service.js CHANGED
@@ -1,10 +1,9 @@
1
- import { agentId as AgentIdSchema, AgentNotFoundError, agentsList, DEFAULT_APP_ID, } from "@moltzap/protocol/identity";
2
- import { dispatchRequest, dispatchRelease, dispatchLeaseConsumed, dispatchLeaseExpired, } from "@moltzap/protocol/message/dispatch";
1
+ import { agentId as AgentIdSchema, AgentNotFoundError, agentsList, } from "@moltzap/protocol/identity";
3
2
  import { agentConversationCreate, conversationCreatedNotificationDefinition, conversationList, } from "@moltzap/protocol/conversation";
4
3
  import { messageReceivedNotificationDefinition, messagesList, messagesSend, } from "@moltzap/protocol/message";
5
4
  import { NotConnectedError, isNotificationDeliveryFor, } from "@moltzap/protocol/rpc";
6
5
  import { BoundedMap } from "./bounded-map.js";
7
- import { Effect, Exit, HashMap, Option, Ref, Schema, Scope, Stream, } from "effect";
6
+ import { Deferred, Effect, Exit, HashMap, Option, Ref, Schema, Scope, Stream, } from "effect";
8
7
  import { MoltZapAgentClient } from "./agent-client.js";
9
8
  import { loadServiceConfig, } from "./config.js";
10
9
  import { getOr, snapshot } from "./refs.js";
@@ -100,6 +99,7 @@ function fanout(handlers, arg) {
100
99
  export class MoltZapService {
101
100
  client = null;
102
101
  connectedValue = false;
102
+ shutdownCompletion = null;
103
103
  /**
104
104
  * Service-owned scope. Opened in `connect()`, owns the
105
105
  * `subscribeAll → Stream.runForEach` fan-out fiber. Closed in `close()` so
@@ -124,9 +124,6 @@ export class MoltZapService {
124
124
  message: [],
125
125
  rawNotification: [],
126
126
  disconnect: [],
127
- dispatchRelease: [],
128
- dispatchLeaseConsumed: [],
129
- dispatchLeaseExpired: [],
130
127
  };
131
128
  ownAgentIdValue;
132
129
  opts;
@@ -162,6 +159,15 @@ export class MoltZapService {
162
159
  */
163
160
  connect() {
164
161
  return Effect.gen(function* () {
162
+ // A new connection never takes ownership while resources from the
163
+ // preceding lifecycle are still closing.
164
+ while (this.shutdownCompletion !== null) {
165
+ const priorShutdown = this.shutdownCompletion;
166
+ yield* Deferred.await(priorShutdown);
167
+ if (this.shutdownCompletion === priorShutdown) {
168
+ this.shutdownCompletion = null;
169
+ }
170
+ }
165
171
  const client = new MoltZapAgentClient({
166
172
  serverUrl: this.opts.serverUrl,
167
173
  agentKey: this.opts.agentKey,
@@ -196,14 +202,23 @@ export class MoltZapService {
196
202
  }.bind(this));
197
203
  }
198
204
  /**
199
- * Tear down the service. `close()` is sync because it fans out to the
200
- * socket server, Refs, and the ws-client. Effectful network/filesystem
201
- * cleanup is forked at the edge so existing callers still get immediate
202
- * shutdown.
205
+ * Returns a lazy teardown effect that resolves after the service's owned
206
+ * transports and notification scope close.
207
+ *
208
+ * @returns Completion of the service-owned cleanup.
209
+ * @internal
203
210
  */
204
- close() {
211
+ shutdown() {
212
+ return Effect.suspend(() => this.beginShutdown());
213
+ }
214
+ beginShutdown() {
215
+ if (this.shutdownCompletion !== null) {
216
+ return Deferred.await(this.shutdownCompletion);
217
+ }
218
+ const shutdownCompletion = Effect.runSync(Deferred.make());
219
+ this.shutdownCompletion = shutdownCompletion;
205
220
  this.connectedValue = false;
206
- Effect.runFork(this.stopSocketServer());
221
+ const stopSocketServer = this.stopSocketServer();
207
222
  const scopeToClose = this.serviceScope;
208
223
  const clientToClose = this.client;
209
224
  this.serviceScope = null;
@@ -212,7 +227,6 @@ export class MoltZapService {
212
227
  ? Effect.void
213
228
  : Scope.close(scopeToClose, Exit.void);
214
229
  const closeClient = clientToClose === null ? Effect.void : clientToClose.close();
215
- Effect.runFork(closeScope.pipe(Effect.zipRight(closeClient)));
216
230
  Effect.runSync(Effect.all([
217
231
  Ref.set(this.conversationsRef, HashMap.empty()),
218
232
  Ref.set(this.messagesRef, HashMap.empty()),
@@ -225,6 +239,14 @@ export class MoltZapService {
225
239
  // Handlers are preserved across explicit close()/connect() cycles.
226
240
  // MoltZapChannelCore subscribes once in its constructor; clearing handlers
227
241
  // here would silently drop inbound dispatch after the next connect.
242
+ return Effect.uninterruptible(Effect.all([stopSocketServer, closeScope.pipe(Effect.zipRight(closeClient))], { concurrency: 2, discard: true }).pipe(Effect.ensuring(Deferred.succeed(shutdownCompletion, undefined).pipe(Effect.asVoid))));
243
+ }
244
+ /**
245
+ * Starts service teardown for callers that use the legacy synchronous
246
+ * lifecycle boundary.
247
+ */
248
+ close() {
249
+ Effect.runFork(this.beginShutdown());
228
250
  }
229
251
  // --- Socket Server ---
230
252
  socketServerScope = null;
@@ -285,7 +307,10 @@ export class MoltZapService {
285
307
  localDaemonHandlers() {
286
308
  return makeLocalDaemonHandlers({
287
309
  ownAgentId: this.ownAgentIdValue,
288
- connected: this.connectedValue,
310
+ // A live thunk, not a snapshot: the handler table outlives connection
311
+ // cycles, and daemon/status must report the same liveness the MCP
312
+ // status tool reads.
313
+ connected: () => this.connectedValue,
289
314
  conversationCount: () => this.getConversations().length,
290
315
  call: this.call.bind(this),
291
316
  handleHistoryRequest: (request) => this.handleHistoryRequest(request),
@@ -427,35 +452,16 @@ export class MoltZapService {
427
452
  * svc-->>caller: Effect.void
428
453
  * ```
429
454
  *
430
- * `opts.dispatchLeaseId` (when set) is forwarded verbatim in the
431
- * params frame. The server marks the lease consumed, blocking the
432
- * app authorization timeout sweep. `MoltZapChannelCore.sendReply` forwards
433
- * `leaseIdInFlight` automatically when the caller omits it.
434
455
  * @param conversationId Value supplied to the operation.
435
456
  * @param text Text to process.
436
- * @param opts Value supplied to the operation.
437
- * @param opts.dispatchLeaseId Value supplied to the operation.
438
457
  * @returns The send result.
439
458
  */
440
- send(conversationId, text, opts) {
459
+ send(conversationId, text) {
441
460
  return Effect.asVoid(this.call(messagesSend.name, {
442
461
  conversationId,
443
462
  parts: [{ type: "text", text }],
444
- ...(opts?.dispatchLeaseId !== undefined
445
- ? { dispatchLeaseId: opts.dispatchLeaseId }
446
- : {}),
447
463
  }));
448
464
  }
449
- /**
450
- * Issue `agent/dispatch/request`. The server returns the ack
451
- * `{leaseId, dispatchId}` immediately; the recipient observes the
452
- * verdict asynchronously via the `dispatchRelease` event.
453
- * @param params Request payload to process.
454
- * @returns The cache result.
455
- */
456
- requestDispatch(params) {
457
- return this.call(dispatchRequest.name, params);
458
- }
459
465
  /**
460
466
  * Send to a named agent, minting the DM conversation on first use and
461
467
  * reusing it afterwards. The per-name cache is what makes the DM stable:
@@ -474,7 +480,6 @@ export class MoltZapService {
474
480
  return yield* agentNotFound(agentName);
475
481
  }
476
482
  const created = yield* this.call(agentConversationCreate.name, {
477
- appId: DEFAULT_APP_ID,
478
483
  participants: [agent.id],
479
484
  });
480
485
  conversationId = created.conversation.id;
@@ -697,10 +702,7 @@ export class MoltZapService {
697
702
  if (this.dispatchMessageNotification(notification)) {
698
703
  return;
699
704
  }
700
- if (this.dispatchConversationNotification(notification)) {
701
- return;
702
- }
703
- this.dispatchAppNotification(notification);
705
+ this.dispatchConversationNotification(notification);
704
706
  }
705
707
  dispatchMessageNotification(notification) {
706
708
  if (isNotificationDeliveryFor(notification, messageReceivedNotificationDefinition)) {
@@ -716,19 +718,6 @@ export class MoltZapService {
716
718
  }
717
719
  return false;
718
720
  }
719
- dispatchAppNotification(notification) {
720
- if (isNotificationDeliveryFor(notification, dispatchRelease)) {
721
- fanout(this.handlers.dispatchRelease, notification.params);
722
- return;
723
- }
724
- if (isNotificationDeliveryFor(notification, dispatchLeaseConsumed)) {
725
- fanout(this.handlers.dispatchLeaseConsumed, notification.params);
726
- return;
727
- }
728
- if (isNotificationDeliveryFor(notification, dispatchLeaseExpired)) {
729
- fanout(this.handlers.dispatchLeaseExpired, notification.params);
730
- }
731
- }
732
721
  /**
733
722
  * Record `messageId` in the per-conversation dedup window. Returns
734
723
  * `true` when the id is new (caller proceeds), `false` when the id is