@moltzap/client 2026.529.0 → 2026.718.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/dist/agent-client.d.ts +2 -65
- package/dist/agent-client.d.ts.map +1 -1
- package/dist/agent-client.js +1 -286
- package/dist/agent-client.js.map +1 -1
- package/dist/app-client.d.ts +3 -0
- package/dist/app-client.d.ts.map +1 -0
- package/dist/app-client.js +2 -0
- package/dist/app-client.js.map +1 -0
- package/dist/auth.d.ts +6 -15
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +12 -16
- package/dist/auth.js.map +1 -1
- package/dist/channel-base/format-cross-conv.d.ts +10 -15
- package/dist/channel-base/format-cross-conv.d.ts.map +1 -1
- package/dist/channel-base/format-cross-conv.js +10 -15
- package/dist/channel-base/format-cross-conv.js.map +1 -1
- package/dist/channel-base/format-group-block.d.ts +8 -10
- package/dist/channel-base/format-group-block.d.ts.map +1 -1
- package/dist/channel-base/format-group-block.js +8 -10
- package/dist/channel-base/format-group-block.js.map +1 -1
- package/dist/channel-base/index.d.ts +3 -62
- package/dist/channel-base/index.d.ts.map +1 -1
- package/dist/channel-base/index.js +2 -65
- package/dist/channel-base/index.js.map +1 -1
- package/dist/channel-base/lease-guard.d.ts +0 -2
- package/dist/channel-base/lease-guard.d.ts.map +1 -1
- package/dist/channel-base/lease-guard.js +0 -2
- package/dist/channel-base/lease-guard.js.map +1 -1
- package/dist/channel-base/lease-store.d.ts +2 -3
- package/dist/channel-base/lease-store.d.ts.map +1 -1
- package/dist/channel-base/lease-store.js +2 -3
- package/dist/channel-base/lease-store.js.map +1 -1
- package/dist/channel-base/lease.d.ts +25 -31
- package/dist/channel-base/lease.d.ts.map +1 -1
- package/dist/channel-base/lease.js +29 -45
- package/dist/channel-base/lease.js.map +1 -1
- package/dist/channel-core-enrichment.d.ts +1 -1
- package/dist/channel-core-enrichment.d.ts.map +1 -1
- package/dist/channel-core-test-support.d.ts +17 -11
- package/dist/channel-core-test-support.d.ts.map +1 -1
- package/dist/channel-core-test-support.js +5 -6
- package/dist/channel-core-test-support.js.map +1 -1
- package/dist/channel-core.d.ts +24 -29
- package/dist/channel-core.d.ts.map +1 -1
- package/dist/channel-core.js +18 -42
- package/dist/channel-core.js.map +1 -1
- package/dist/cli/commands/agents.d.ts +3 -6
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +14 -50
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/contacts.d.ts +5 -6
- package/dist/cli/commands/contacts.d.ts.map +1 -1
- package/dist/cli/commands/contacts.js +15 -43
- package/dist/cli/commands/contacts.js.map +1 -1
- package/dist/cli/commands/conversations.d.ts +8 -18
- package/dist/cli/commands/conversations.d.ts.map +1 -1
- package/dist/cli/commands/conversations.js +14 -65
- package/dist/cli/commands/conversations.js.map +1 -1
- package/dist/cli/commands/messages.d.ts +13 -35
- package/dist/cli/commands/messages.d.ts.map +1 -1
- package/dist/cli/commands/messages.js +21 -46
- package/dist/cli/commands/messages.js.map +1 -1
- package/dist/cli/commands/register.d.ts +10 -12
- package/dist/cli/commands/register.d.ts.map +1 -1
- package/dist/cli/commands/register.js +47 -133
- package/dist/cli/commands/register.js.map +1 -1
- package/dist/cli/commands/send.d.ts +23 -36
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +25 -72
- package/dist/cli/commands/send.js.map +1 -1
- package/dist/cli/commands/start.d.ts +10 -124
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +28 -510
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +8 -9
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/test-transport.d.ts +12 -5
- package/dist/cli/commands/test-transport.d.ts.map +1 -1
- package/dist/cli/commands/test-transport.js +15 -15
- package/dist/cli/commands/test-transport.js.map +1 -1
- package/dist/cli/index.js +13 -40
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/output.d.ts +4 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +9 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/socket-client.d.ts +7 -14
- package/dist/cli/socket-client.d.ts.map +1 -1
- package/dist/cli/socket-client.js +15 -38
- package/dist/cli/socket-client.js.map +1 -1
- package/dist/cli/transport.d.ts +53 -116
- package/dist/cli/transport.d.ts.map +1 -1
- package/dist/cli/transport.js +45 -295
- package/dist/cli/transport.js.map +1 -1
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +35 -0
- package/dist/config.js.map +1 -0
- package/dist/config.test-utils.d.ts +13 -0
- package/dist/config.test-utils.d.ts.map +1 -0
- package/dist/config.test-utils.js +46 -0
- package/dist/config.test-utils.js.map +1 -0
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -12
- package/dist/index.js.map +1 -1
- package/dist/local-daemon-rpc.d.ts +259 -8
- package/dist/local-daemon-rpc.d.ts.map +1 -1
- package/dist/local-daemon-rpc.js +189 -12
- package/dist/local-daemon-rpc.js.map +1 -1
- package/dist/{runtime/local-history.d.ts → local-history.d.ts} +16 -21
- package/dist/local-history.d.ts.map +1 -0
- package/dist/{runtime/local-history.js → local-history.js} +16 -21
- package/dist/local-history.js.map +1 -0
- package/dist/local-paths.d.ts +0 -2
- package/dist/local-paths.d.ts.map +1 -1
- package/dist/local-paths.js +0 -4
- package/dist/local-paths.js.map +1 -1
- package/dist/local-socket-server.d.ts +22 -0
- package/dist/local-socket-server.d.ts.map +1 -0
- package/dist/{runtime/local-socket-server.js → local-socket-server.js} +4 -9
- package/dist/local-socket-server.js.map +1 -0
- package/dist/message-rendering.d.ts +3 -0
- package/dist/message-rendering.d.ts.map +1 -0
- package/dist/message-rendering.js +7 -0
- package/dist/message-rendering.js.map +1 -0
- package/dist/notification/__tests__/{snapshot-semantics.types-check.d.ts → subscribe-signatures.types-check.d.ts} +1 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +1 -0
- package/dist/notification/__tests__/subscribe-signatures.types-check.js +55 -0
- package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +1 -0
- package/dist/notification/errors.d.ts +18 -6
- package/dist/notification/errors.d.ts.map +1 -1
- package/dist/notification/errors.js +13 -15
- package/dist/notification/errors.js.map +1 -1
- package/dist/notification/index.d.ts +5 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +5 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notification/stream.d.ts +33 -49
- package/dist/notification/stream.d.ts.map +1 -1
- package/dist/notification/stream.js +33 -76
- package/dist/notification/stream.js.map +1 -1
- package/dist/pagination.d.ts +20 -10
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +8 -9
- package/dist/pagination.js.map +1 -1
- package/dist/profile.d.ts +92 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +149 -0
- package/dist/profile.js.map +1 -0
- package/dist/refs.d.ts.map +1 -0
- package/dist/refs.js.map +1 -0
- package/dist/service-archive-purge.d.ts +2 -1
- package/dist/service-archive-purge.d.ts.map +1 -1
- package/dist/service-archive-purge.js.map +1 -1
- package/dist/{runtime/service-helpers.d.ts → service-helpers.d.ts} +5 -11
- package/dist/service-helpers.d.ts.map +1 -0
- package/dist/{runtime/service-helpers.js → service-helpers.js} +2 -9
- package/dist/service-helpers.js.map +1 -0
- package/dist/service-local-daemon.d.ts +22 -0
- package/dist/service-local-daemon.d.ts.map +1 -0
- package/dist/service-local-daemon.js +185 -0
- package/dist/service-local-daemon.js.map +1 -0
- package/dist/service.d.ts +65 -57
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +205 -156
- package/dist/service.js.map +1 -1
- package/dist/test-utils/channel-service-fixture.d.ts +3 -2
- package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
- package/dist/test-utils/channel-service-fixture.js.map +1 -1
- package/dist/test-utils/fake-service.d.ts +26 -18
- package/dist/test-utils/fake-service.d.ts.map +1 -1
- package/dist/test-utils/fake-service.js +28 -42
- package/dist/test-utils/fake-service.js.map +1 -1
- package/dist/test-utils/ids.d.ts +3 -1
- package/dist/test-utils/ids.d.ts.map +1 -1
- package/dist/test-utils/ids.js.map +1 -1
- package/dist/test-utils/index.d.ts +9 -2
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/index.js +8 -1
- package/dist/test-utils/index.js.map +1 -1
- package/dist/test-utils/standalone-provisioning.d.ts +17 -0
- package/dist/test-utils/standalone-provisioning.d.ts.map +1 -0
- package/dist/test-utils/standalone-provisioning.js +14 -0
- package/dist/test-utils/standalone-provisioning.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +49 -27
- package/dist/auth.test.d.ts +0 -2
- package/dist/auth.test.d.ts.map +0 -1
- package/dist/auth.test.js +0 -121
- package/dist/auth.test.js.map +0 -1
- package/dist/channel-core-context.test.d.ts +0 -2
- package/dist/channel-core-context.test.d.ts.map +0 -1
- package/dist/channel-core-context.test.js +0 -342
- package/dist/channel-core-context.test.js.map +0 -1
- package/dist/channel-core-dispatch.test.d.ts +0 -2
- package/dist/channel-core-dispatch.test.d.ts.map +0 -1
- package/dist/channel-core-dispatch.test.js +0 -557
- package/dist/channel-core-dispatch.test.js.map +0 -1
- package/dist/channel-core.test.d.ts +0 -2
- package/dist/channel-core.test.d.ts.map +0 -1
- package/dist/channel-core.test.js +0 -232
- package/dist/channel-core.test.js.map +0 -1
- package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts +0 -2
- package/dist/cli/__tests__/cli-multi-agent.int.test.d.ts.map +0 -1
- package/dist/cli/__tests__/cli-multi-agent.int.test.js +0 -132
- package/dist/cli/__tests__/cli-multi-agent.int.test.js.map +0 -1
- package/dist/cli/commands/invite.d.ts +0 -7
- package/dist/cli/commands/invite.d.ts.map +0 -1
- package/dist/cli/commands/invite.js +0 -11
- package/dist/cli/commands/invite.js.map +0 -1
- package/dist/cli/commands/messages.test.d.ts +0 -2
- package/dist/cli/commands/messages.test.d.ts.map +0 -1
- package/dist/cli/commands/messages.test.js +0 -99
- package/dist/cli/commands/messages.test.js.map +0 -1
- package/dist/cli/commands/ping.d.ts +0 -7
- package/dist/cli/commands/ping.d.ts.map +0 -1
- package/dist/cli/commands/ping.js +0 -37
- package/dist/cli/commands/ping.js.map +0 -1
- package/dist/cli/commands/register.test.d.ts +0 -2
- package/dist/cli/commands/register.test.d.ts.map +0 -1
- package/dist/cli/commands/register.test.js +0 -91
- package/dist/cli/commands/register.test.js.map +0 -1
- package/dist/cli/commands/send.test.d.ts +0 -2
- package/dist/cli/commands/send.test.d.ts.map +0 -1
- package/dist/cli/commands/send.test.js +0 -59
- package/dist/cli/commands/send.test.js.map +0 -1
- package/dist/cli/commands/start.test.d.ts +0 -2
- package/dist/cli/commands/start.test.d.ts.map +0 -1
- package/dist/cli/commands/start.test.js +0 -624
- package/dist/cli/commands/start.test.js.map +0 -1
- package/dist/cli/commands/whoami.d.ts +0 -8
- package/dist/cli/commands/whoami.d.ts.map +0 -1
- package/dist/cli/commands/whoami.js +0 -28
- package/dist/cli/commands/whoami.js.map +0 -1
- package/dist/cli/config.d.ts +0 -66
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js +0 -148
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/config.test.d.ts +0 -2
- package/dist/cli/config.test.d.ts.map +0 -1
- package/dist/cli/config.test.js +0 -89
- package/dist/cli/config.test.js.map +0 -1
- package/dist/cli/http-client.d.ts +0 -17
- package/dist/cli/http-client.d.ts.map +0 -1
- package/dist/cli/http-client.js +0 -38
- package/dist/cli/http-client.js.map +0 -1
- package/dist/cli/profile.d.ts +0 -126
- package/dist/cli/profile.d.ts.map +0 -1
- package/dist/cli/profile.js +0 -231
- package/dist/cli/profile.js.map +0 -1
- package/dist/cli/profile.test.d.ts +0 -2
- package/dist/cli/profile.test.d.ts.map +0 -1
- package/dist/cli/profile.test.js +0 -369
- package/dist/cli/profile.test.js.map +0 -1
- package/dist/cli/transport.test.d.ts +0 -2
- package/dist/cli/transport.test.d.ts.map +0 -1
- package/dist/cli/transport.test.js +0 -312
- package/dist/cli/transport.test.js.map +0 -1
- package/dist/notification/__tests__/filter-equivalence.test.d.ts +0 -2
- package/dist/notification/__tests__/filter-equivalence.test.d.ts.map +0 -1
- package/dist/notification/__tests__/filter-equivalence.test.js +0 -123
- package/dist/notification/__tests__/filter-equivalence.test.js.map +0 -1
- package/dist/notification/__tests__/snapshot-semantics.test.d.ts +0 -2
- package/dist/notification/__tests__/snapshot-semantics.test.d.ts.map +0 -1
- package/dist/notification/__tests__/snapshot-semantics.test.js +0 -261
- package/dist/notification/__tests__/snapshot-semantics.test.js.map +0 -1
- package/dist/notification/__tests__/snapshot-semantics.types-check.d.ts.map +0 -1
- package/dist/notification/__tests__/snapshot-semantics.types-check.js +0 -62
- package/dist/notification/__tests__/snapshot-semantics.types-check.js.map +0 -1
- package/dist/pagination.test.d.ts +0 -2
- package/dist/pagination.test.d.ts.map +0 -1
- package/dist/pagination.test.js +0 -72
- package/dist/pagination.test.js.map +0 -1
- package/dist/runtime/close-info.d.ts +0 -84
- package/dist/runtime/close-info.d.ts.map +0 -1
- package/dist/runtime/close-info.js +0 -102
- package/dist/runtime/close-info.js.map +0 -1
- package/dist/runtime/close-info.test.d.ts +0 -2
- package/dist/runtime/close-info.test.d.ts.map +0 -1
- package/dist/runtime/close-info.test.js +0 -109
- package/dist/runtime/close-info.test.js.map +0 -1
- package/dist/runtime/errors.d.ts +0 -11
- package/dist/runtime/errors.d.ts.map +0 -1
- package/dist/runtime/errors.js +0 -41
- package/dist/runtime/errors.js.map +0 -1
- package/dist/runtime/errors.test.d.ts +0 -2
- package/dist/runtime/errors.test.d.ts.map +0 -1
- package/dist/runtime/errors.test.js +0 -79
- package/dist/runtime/errors.test.js.map +0 -1
- package/dist/runtime/frame.d.ts +0 -8
- package/dist/runtime/frame.d.ts.map +0 -1
- package/dist/runtime/frame.js +0 -12
- package/dist/runtime/frame.js.map +0 -1
- package/dist/runtime/frame.test.d.ts +0 -2
- package/dist/runtime/frame.test.d.ts.map +0 -1
- package/dist/runtime/frame.test.js +0 -59
- package/dist/runtime/frame.test.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -10
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -9
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/local-history.d.ts.map +0 -1
- package/dist/runtime/local-history.js.map +0 -1
- package/dist/runtime/local-service-commands.d.ts +0 -26
- package/dist/runtime/local-service-commands.d.ts.map +0 -1
- package/dist/runtime/local-service-commands.js +0 -29
- package/dist/runtime/local-service-commands.js.map +0 -1
- package/dist/runtime/local-socket-server.d.ts +0 -20
- package/dist/runtime/local-socket-server.d.ts.map +0 -1
- package/dist/runtime/local-socket-server.js.map +0 -1
- package/dist/runtime/refs.d.ts.map +0 -1
- package/dist/runtime/refs.js.map +0 -1
- package/dist/runtime/runtime.test.d.ts +0 -2
- package/dist/runtime/runtime.test.d.ts.map +0 -1
- package/dist/runtime/runtime.test.js +0 -37
- package/dist/runtime/runtime.test.js.map +0 -1
- package/dist/runtime/service-helpers.d.ts.map +0 -1
- package/dist/runtime/service-helpers.js.map +0 -1
- package/dist/runtime/service-teardown.d.ts +0 -5
- package/dist/runtime/service-teardown.d.ts.map +0 -1
- package/dist/runtime/service-teardown.js +0 -36
- package/dist/runtime/service-teardown.js.map +0 -1
- package/dist/runtime/service-teardown.test.d.ts +0 -2
- package/dist/runtime/service-teardown.test.d.ts.map +0 -1
- package/dist/runtime/service-teardown.test.js +0 -80
- package/dist/runtime/service-teardown.test.js.map +0 -1
- package/dist/runtime/subscribers.d.ts +0 -152
- package/dist/runtime/subscribers.d.ts.map +0 -1
- package/dist/runtime/subscribers.js +0 -222
- package/dist/runtime/subscribers.js.map +0 -1
- package/dist/service-socket-path.test.d.ts +0 -2
- package/dist/service-socket-path.test.d.ts.map +0 -1
- package/dist/service-socket-path.test.js +0 -87
- package/dist/service-socket-path.test.js.map +0 -1
- package/dist/service.test.d.ts +0 -2
- package/dist/service.test.d.ts.map +0 -1
- package/dist/service.test.js +0 -796
- package/dist/service.test.js.map +0 -1
- package/dist/test/index.d.ts +0 -47
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -39
- package/dist/test/index.js.map +0 -1
- package/dist/test-utils/conformance-adapter.d.ts +0 -40
- package/dist/test-utils/conformance-adapter.d.ts.map +0 -1
- package/dist/test-utils/conformance-adapter.js +0 -250
- package/dist/test-utils/conformance-adapter.js.map +0 -1
- package/dist/tm-client-test-support.d.ts +0 -184
- package/dist/tm-client-test-support.d.ts.map +0 -1
- package/dist/tm-client-test-support.js +0 -466
- package/dist/tm-client-test-support.js.map +0 -1
- package/dist/tm-client.d.ts +0 -269
- package/dist/tm-client.d.ts.map +0 -1
- package/dist/tm-client.js +0 -518
- package/dist/tm-client.js.map +0 -1
- package/dist/tm-client.test.d.ts +0 -2
- package/dist/tm-client.test.d.ts.map +0 -1
- package/dist/tm-client.test.js +0 -490
- package/dist/tm-client.test.js.map +0 -1
- /package/dist/{runtime/refs.d.ts → refs.d.ts} +0 -0
- /package/dist/{runtime/refs.js → refs.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-helpers.js","sourceRoot":"","sources":["../src/service-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RpcGroup } from "@effect/rpc";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
import { type AgentId } from "@moltzap/protocol/identity";
|
|
4
|
+
import { AgentCallableGroup } from "@moltzap/protocol/socket/catalog";
|
|
5
|
+
import type { PayloadForTag, SuccessForTag } from "@moltzap/protocol/rpc";
|
|
6
|
+
import type { RpcCallOptions } from "./agent-client.js";
|
|
7
|
+
import type { ServiceRpcError } from "./service.js";
|
|
8
|
+
import type { HistoryRequest, HistoryResponse } from "./local-history.js";
|
|
9
|
+
import { type LocalDaemonHandlers } from "./local-daemon-rpc.js";
|
|
10
|
+
type AgentCallableRpcs = RpcGroup.Rpcs<typeof AgentCallableGroup>;
|
|
11
|
+
type AgentCallableTag = AgentCallableRpcs["_tag"];
|
|
12
|
+
type ServiceCall = <Tag extends AgentCallableTag>(tag: Tag, payload: PayloadForTag<AgentCallableRpcs, Tag>, opts?: RpcCallOptions) => Effect.Effect<SuccessForTag<AgentCallableRpcs, Tag>, ServiceRpcError>;
|
|
13
|
+
interface LocalDaemonHandlerOptions {
|
|
14
|
+
readonly ownAgentId: AgentId;
|
|
15
|
+
readonly connected: boolean;
|
|
16
|
+
readonly conversationCount: () => number;
|
|
17
|
+
readonly call: ServiceCall;
|
|
18
|
+
readonly handleHistoryRequest: (request: HistoryRequest) => Effect.Effect<HistoryResponse, ServiceRpcError>;
|
|
19
|
+
}
|
|
20
|
+
export declare function makeLocalDaemonHandlers({ ownAgentId, connected, conversationCount, call, handleHistoryRequest, }: LocalDaemonHandlerOptions): LocalDaemonHandlers;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=service-local-daemon.d.ts.map
|
|
@@ -0,0 +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,EAKL,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAStE,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,EAKL,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;AA0QD,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,oBAAoB,GACrB,EAAE,yBAAyB,GAAG,mBAAmB,CA+BjD"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { Effect, Either } from "effect";
|
|
2
|
+
import { AgentsList, ContactsAccept, ContactsAdd, ContactsList, } from "@moltzap/protocol/identity";
|
|
3
|
+
import { AgentCallableGroup } from "@moltzap/protocol/socket/catalog";
|
|
4
|
+
import { ConversationList } from "@moltzap/protocol/conversation";
|
|
5
|
+
import { DEFAULT_APP_ID, TaskRequest, } from "@moltzap/protocol/task";
|
|
6
|
+
import { MessagesList, MessagesSend } from "@moltzap/protocol/message";
|
|
7
|
+
import { LocalDaemonCommands, ServiceInputError, StartTaskPartialFailure, StartTaskUsageError, } from "./local-daemon-rpc.js";
|
|
8
|
+
const MAX_START_PARTICIPANT_LOOKUP_NAMES = 100;
|
|
9
|
+
const AGENT_LOOKUP_PAGE_SIZE = 100;
|
|
10
|
+
const AGENT_LOOKUP_MAX_PAGES = 20;
|
|
11
|
+
function startParticipantNames(participants) {
|
|
12
|
+
return Array.from(new Set(participants.flatMap((entry) => entry.kind === "name" ? [entry.name] : [])));
|
|
13
|
+
}
|
|
14
|
+
function initialStartConversation(name, invitedAgentIds) {
|
|
15
|
+
return invitedAgentIds.length === 0
|
|
16
|
+
? { name }
|
|
17
|
+
: { name, participants: invitedAgentIds };
|
|
18
|
+
}
|
|
19
|
+
function resolveStartParticipantIds(participants, byName) {
|
|
20
|
+
return Effect.gen(function* () {
|
|
21
|
+
const resolved = [];
|
|
22
|
+
for (const entry of participants) {
|
|
23
|
+
if (entry.kind === "id") {
|
|
24
|
+
resolved.push(entry.id);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const id = byName.get(entry.name);
|
|
28
|
+
if (id === undefined) {
|
|
29
|
+
return yield* Effect.fail(new StartTaskUsageError({
|
|
30
|
+
message: `Cannot resolve "${entry.token}": not-found`,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
resolved.push(id);
|
|
34
|
+
}
|
|
35
|
+
return resolved;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function lookupAgentsByNames(call, names) {
|
|
39
|
+
return Effect.gen(function* () {
|
|
40
|
+
const wanted = new Set(names);
|
|
41
|
+
const agents = [];
|
|
42
|
+
let cursor = undefined;
|
|
43
|
+
for (let page = 0; page < AGENT_LOOKUP_MAX_PAGES; page++) {
|
|
44
|
+
const result = yield* call(AgentsList.name, cursor === undefined
|
|
45
|
+
? { limit: AGENT_LOOKUP_PAGE_SIZE }
|
|
46
|
+
: { limit: AGENT_LOOKUP_PAGE_SIZE, cursor });
|
|
47
|
+
const matchedAgents = result.agents.filter((agent) => wanted.has(agent.name));
|
|
48
|
+
agents.push(...matchedAgents);
|
|
49
|
+
for (const agent of matchedAgents) {
|
|
50
|
+
wanted.delete(agent.name);
|
|
51
|
+
}
|
|
52
|
+
if (wanted.size === 0 || result.nextCursor === undefined) {
|
|
53
|
+
return { agents };
|
|
54
|
+
}
|
|
55
|
+
cursor = result.nextCursor;
|
|
56
|
+
}
|
|
57
|
+
return { agents };
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function handleSendCommand(call, params) {
|
|
61
|
+
return call(MessagesSend.name, {
|
|
62
|
+
taskId: params.target.taskId,
|
|
63
|
+
conversationId: params.target.conversationId,
|
|
64
|
+
parts: [{ type: "text", text: params.message }],
|
|
65
|
+
...(params.replyToId === undefined ? {} : { replyToId: params.replyToId }),
|
|
66
|
+
}).pipe(Effect.map((result) => ({ messageId: result.message.id })));
|
|
67
|
+
}
|
|
68
|
+
function resolveStartParticipants(call, participants) {
|
|
69
|
+
return Effect.gen(function* () {
|
|
70
|
+
const names = startParticipantNames(participants);
|
|
71
|
+
if (names.length > MAX_START_PARTICIPANT_LOOKUP_NAMES) {
|
|
72
|
+
return yield* Effect.fail(new StartTaskUsageError({
|
|
73
|
+
message: `Too many distinct agent names: ${names.length} (max ${MAX_START_PARTICIPANT_LOOKUP_NAMES})`,
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
const byName = new Map();
|
|
77
|
+
if (names.length > 0) {
|
|
78
|
+
const result = yield* lookupAgentsByNames(call, names);
|
|
79
|
+
for (const agent of result.agents) {
|
|
80
|
+
if (!byName.has(agent.name))
|
|
81
|
+
byName.set(agent.name, agent.id);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return yield* resolveStartParticipantIds(participants, byName);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function findReusableStartConversation(call, taskId) {
|
|
88
|
+
return Effect.gen(function* () {
|
|
89
|
+
let cursor = undefined;
|
|
90
|
+
for (let page = 0; page < 10; page++) {
|
|
91
|
+
const result = yield* call(ConversationList.name, {
|
|
92
|
+
limit: 100,
|
|
93
|
+
...(cursor === undefined ? {} : { cursor }),
|
|
94
|
+
});
|
|
95
|
+
const hit = result.items.find((item) => item.taskId === taskId && item.conversation.archivedAt === undefined);
|
|
96
|
+
if (hit !== undefined)
|
|
97
|
+
return hit.conversation.id;
|
|
98
|
+
if (result.nextCursor === undefined)
|
|
99
|
+
return null;
|
|
100
|
+
cursor = result.nextCursor;
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function sendStartMessage({ call, taskId, conversationId, reusedConversation, text, }) {
|
|
106
|
+
return Effect.either(call(MessagesSend.name, {
|
|
107
|
+
taskId,
|
|
108
|
+
conversationId,
|
|
109
|
+
parts: [{ type: "text", text }],
|
|
110
|
+
})).pipe(Effect.flatMap((outcome) => Either.match(outcome, {
|
|
111
|
+
onRight: (result) => Effect.succeed(result.message.id),
|
|
112
|
+
onLeft: (error) => Effect.fail(new StartTaskPartialFailure({
|
|
113
|
+
taskId,
|
|
114
|
+
conversationId,
|
|
115
|
+
reusedConversation,
|
|
116
|
+
message: error instanceof Error ? error.message : String(error),
|
|
117
|
+
})),
|
|
118
|
+
})));
|
|
119
|
+
}
|
|
120
|
+
function sendOptionalStartMessage({ call, params, taskId, conversationId, reusedConversation, }) {
|
|
121
|
+
if (params.message === undefined)
|
|
122
|
+
return Effect.succeed(undefined);
|
|
123
|
+
return sendStartMessage({
|
|
124
|
+
call,
|
|
125
|
+
taskId,
|
|
126
|
+
conversationId,
|
|
127
|
+
reusedConversation,
|
|
128
|
+
text: params.message,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function handleStartTaskCommand(call, params) {
|
|
132
|
+
return Effect.gen(function* () {
|
|
133
|
+
const appId = params.appId ?? DEFAULT_APP_ID;
|
|
134
|
+
const invitedAgentIds = yield* resolveStartParticipants(call, params.participants);
|
|
135
|
+
const result = yield* call(TaskRequest.name, {
|
|
136
|
+
appId,
|
|
137
|
+
invitedAgentIds,
|
|
138
|
+
initialConversation: initialStartConversation(params.name, invitedAgentIds),
|
|
139
|
+
});
|
|
140
|
+
const reusedConversation = result.conversation === null;
|
|
141
|
+
const conversationId = result.conversation?.id ??
|
|
142
|
+
(yield* findReusableStartConversation(call, result.task.id));
|
|
143
|
+
if (conversationId === null) {
|
|
144
|
+
return yield* Effect.fail(new ServiceInputError({
|
|
145
|
+
message: `Task already exists but is closed: ${result.task.id}`,
|
|
146
|
+
}));
|
|
147
|
+
}
|
|
148
|
+
const sentMessageId = yield* sendOptionalStartMessage({
|
|
149
|
+
call,
|
|
150
|
+
params,
|
|
151
|
+
taskId: result.task.id,
|
|
152
|
+
conversationId,
|
|
153
|
+
reusedConversation,
|
|
154
|
+
});
|
|
155
|
+
return {
|
|
156
|
+
taskId: result.task.id,
|
|
157
|
+
conversationId,
|
|
158
|
+
reusedConversation,
|
|
159
|
+
...(sentMessageId === undefined ? {} : { sentMessageId }),
|
|
160
|
+
};
|
|
161
|
+
}).pipe(Effect.withSpan("MoltZapService.handleStartTaskCommand"));
|
|
162
|
+
}
|
|
163
|
+
export function makeLocalDaemonHandlers({ ownAgentId, connected, conversationCount, call, handleHistoryRequest, }) {
|
|
164
|
+
return {
|
|
165
|
+
[LocalDaemonCommands.Status]: () => Effect.succeed({
|
|
166
|
+
agentId: ownAgentId,
|
|
167
|
+
connected,
|
|
168
|
+
conversations: conversationCount(),
|
|
169
|
+
}),
|
|
170
|
+
[LocalDaemonCommands.History]: handleHistoryRequest,
|
|
171
|
+
[LocalDaemonCommands.AgentsList]: (params) => call(AgentsList.name, params.limit === undefined ? {} : { limit: params.limit }),
|
|
172
|
+
[LocalDaemonCommands.AgentsSearch]: (params) => lookupAgentsByNames(call, params.names),
|
|
173
|
+
[LocalDaemonCommands.ContactsList]: () => call(ContactsList.name, {}),
|
|
174
|
+
[LocalDaemonCommands.ContactsAdd]: (params) => call(ContactsAdd.name, { contactUserId: params.userId }),
|
|
175
|
+
[LocalDaemonCommands.ContactsAccept]: (params) => call(ContactsAccept.name, { contactId: params.contactId }),
|
|
176
|
+
[LocalDaemonCommands.MessagesList]: (params) => call(MessagesList.name, {
|
|
177
|
+
taskId: params.taskId,
|
|
178
|
+
conversationId: params.conversationId,
|
|
179
|
+
...(params.limit === undefined ? {} : { limit: params.limit }),
|
|
180
|
+
}),
|
|
181
|
+
[LocalDaemonCommands.Send]: (params) => handleSendCommand(call, params),
|
|
182
|
+
[LocalDaemonCommands.StartTask]: (params) => handleStartTaskCommand(call, params),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=service-local-daemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,13 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { AgentNotFoundError, type AgentId } from "@moltzap/protocol/identity";
|
|
2
|
+
import { DispatchRequest, DispatchRelease, DispatchLeaseConsumed, DispatchLeaseExpired, type LeaseId } from "@moltzap/protocol/message/dispatch";
|
|
3
|
+
import type { HelloOk } from "@moltzap/protocol/network";
|
|
4
|
+
import type { AnyAgentCallableRpcDefinition, AnyNotificationDefinition } from "@moltzap/protocol/socket/catalog";
|
|
5
|
+
import type { ClientDefinitionPayload, ClientDefinitionSuccess } from "@moltzap/protocol/socket";
|
|
6
|
+
import { type ConversationArchivedNotification, type ConversationUnarchivedNotification } from "@moltzap/protocol/conversation";
|
|
7
|
+
import { type ConversationId, type MessageId } from "@moltzap/protocol/conversation";
|
|
8
|
+
import { type Message } from "@moltzap/protocol/message";
|
|
9
|
+
import { NotConnectedError, RpcTimeoutError, type NotificationDelivery, type NotificationParamsOf, type PayloadForTag, type ParamsOf, type ResultOf, type SuccessForTag } from "@moltzap/protocol/rpc";
|
|
10
|
+
import { AgentCallableGroup } from "@moltzap/protocol/socket/catalog";
|
|
11
|
+
import type { RpcGroup, Rpc } from "@effect/rpc";
|
|
12
|
+
import type { TaskId } from "@moltzap/protocol/task";
|
|
3
13
|
import { Effect } from "effect";
|
|
4
14
|
import { type RpcCallOptions } from "./agent-client.js";
|
|
5
|
-
import {
|
|
15
|
+
import { type MoltzapServiceConfig, type ServiceConfigError } from "./config.js";
|
|
16
|
+
/** The agent group's member `Rpc`s — the tag-keyed surface the service drives. */
|
|
17
|
+
type AgentCallableRpcs = RpcGroup.Rpcs<typeof AgentCallableGroup>;
|
|
18
|
+
/** The branded wire tags the service may originate. */
|
|
19
|
+
type AgentCallableTag = AgentCallableRpcs["_tag"];
|
|
6
20
|
/**
|
|
7
|
-
* Errors that can surface from the Effect-based service API
|
|
8
|
-
*
|
|
21
|
+
* Errors that can surface from the Effect-based service API: any tagged error
|
|
22
|
+
* an agent-callable method declares (recovered from the group's per-method
|
|
23
|
+
* error unions) plus the transport errors. Methods that fan multiple calls
|
|
24
|
+
* (e.g. `sendToAgent`) surface this broad union; a single-method call narrows
|
|
25
|
+
* to that method's errors at the `call` site.
|
|
9
26
|
*/
|
|
10
|
-
export type ServiceRpcError =
|
|
27
|
+
export type ServiceRpcError = Rpc.Error<AgentCallableRpcs> | RpcTimeoutError | NotConnectedError;
|
|
11
28
|
export interface ConversationMeta {
|
|
12
29
|
id: string;
|
|
13
30
|
type: string;
|
|
@@ -31,41 +48,28 @@ export interface CrossConversationEntry {
|
|
|
31
48
|
}
|
|
32
49
|
/** Escape `<`, `>`, `&` so sender content can't escape a `<system-reminder>` block. */
|
|
33
50
|
export declare function sanitizeForSystemReminder(s: string): string;
|
|
34
|
-
|
|
35
|
-
* Format CrossConversationEntry[] as a `<system-reminder>` block. Adapters
|
|
36
|
-
* that inline context into prompt text (nanoclaw) and `MoltZapService.getContext`
|
|
37
|
-
* share this formatter so sanitization and line shape stay in one place.
|
|
38
|
-
*/
|
|
39
|
-
export declare function formatCrossConversationBlock(entries: CrossConversationEntry[], opts: {
|
|
40
|
-
header: string;
|
|
41
|
-
}): string | null;
|
|
42
|
-
export interface ServiceOptions {
|
|
43
|
-
serverUrl: string;
|
|
44
|
-
agentKey: string;
|
|
45
|
-
}
|
|
51
|
+
type ServiceOptions = MoltzapServiceConfig;
|
|
46
52
|
type NotificationHandler<T> = (data: T) => void;
|
|
53
|
+
type ClientNotificationDelivery = NotificationDelivery<AnyNotificationDefinition>;
|
|
47
54
|
interface ServiceHandlerPayloads {
|
|
48
55
|
readonly message: {
|
|
49
56
|
readonly taskId: TaskId;
|
|
50
57
|
readonly message: Message;
|
|
51
58
|
};
|
|
52
59
|
/**
|
|
53
|
-
* The "raw notification" surface receives the
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* Subscribers that want validated payloads register specific typed
|
|
58
|
-
* `on(...)` handlers (e.g. `conversationArchived`) which run behind
|
|
59
|
-
* the typed-bridge lift in `handleNotification`.
|
|
60
|
+
* The "raw notification" surface receives the descriptor-tagged delivery
|
|
61
|
+
* emitted after the native reverse RPC handler has Schema-decoded params.
|
|
62
|
+
* Subscribers that want specific payloads register typed `on(...)` handlers
|
|
63
|
+
* such as `conversationArchived`.
|
|
60
64
|
*/
|
|
61
|
-
readonly rawNotification:
|
|
65
|
+
readonly rawNotification: ClientNotificationDelivery;
|
|
62
66
|
readonly disconnect: void;
|
|
63
67
|
readonly reconnect: HelloOk;
|
|
64
|
-
readonly conversationArchived:
|
|
65
|
-
readonly conversationUnarchived:
|
|
68
|
+
readonly conversationArchived: ConversationArchivedNotification;
|
|
69
|
+
readonly conversationUnarchived: ConversationUnarchivedNotification;
|
|
66
70
|
readonly dispatchRelease: NotificationParamsOf<typeof DispatchRelease>;
|
|
67
|
-
readonly
|
|
68
|
-
readonly
|
|
71
|
+
readonly dispatchLeaseConsumed: NotificationParamsOf<typeof DispatchLeaseConsumed>;
|
|
72
|
+
readonly dispatchLeaseExpired: NotificationParamsOf<typeof DispatchLeaseExpired>;
|
|
69
73
|
}
|
|
70
74
|
type ServiceHandlerName = keyof ServiceHandlerPayloads;
|
|
71
75
|
/** Full message from another conversation, used by peekFullMessages(). */
|
|
@@ -84,19 +88,16 @@ export interface CrossConvMessage {
|
|
|
84
88
|
* API contract: **every fallible method returns `Effect`.** No `*Async`
|
|
85
89
|
* Promise siblings — async/await consumers run the Effect at the edge
|
|
86
90
|
* with `Effect.runPromise`. Keep this class Effect-only so downstream
|
|
87
|
-
* callers compose failures and cancellation explicitly.
|
|
88
|
-
* vendored the legacy `@moltzap/app-sdk` Promise-shaped wrapper out
|
|
89
|
-
* to arena; consumers wanting Promise wrappers maintain their own.)
|
|
91
|
+
* callers compose failures and cancellation explicitly.
|
|
90
92
|
*/
|
|
91
93
|
export declare class MoltZapService {
|
|
92
94
|
private opts;
|
|
93
95
|
private client;
|
|
94
96
|
private _connected;
|
|
95
97
|
/**
|
|
96
|
-
* Service-owned scope
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* service.
|
|
98
|
+
* Service-owned scope. Opened in `connect()`, owns the
|
|
99
|
+
* `subscribeAll → Stream.runForEach` fan-out fiber. Closed in `close()` so
|
|
100
|
+
* the fiber terminates with the service.
|
|
100
101
|
*
|
|
101
102
|
* Held off the public `connect()` signature so callers do not need to
|
|
102
103
|
* thread a `Scope` requirement.
|
|
@@ -120,11 +121,13 @@ export declare class MoltZapService {
|
|
|
120
121
|
*/
|
|
121
122
|
private readonly seenMessageIds;
|
|
122
123
|
private readonly handlers;
|
|
123
|
-
private readonly notificationDispatchers;
|
|
124
124
|
private _ownAgentId;
|
|
125
|
-
constructor(opts: ServiceOptions);
|
|
125
|
+
protected constructor(opts: ServiceOptions);
|
|
126
|
+
static fromConfig(config: MoltzapServiceConfig): MoltZapService;
|
|
127
|
+
static make(profileName: string): Effect.Effect<MoltZapService, ServiceConfigError>;
|
|
128
|
+
static startDaemon(profileName: string): Effect.Effect<MoltZapService, ServiceConfigError | ServiceRpcError | unknown>;
|
|
126
129
|
get connected(): boolean;
|
|
127
|
-
get ownAgentId():
|
|
130
|
+
get ownAgentId(): AgentId | undefined;
|
|
128
131
|
/** Effect-native: compose via `yield*` or bridge at the edge via `Effect.runPromise`. */
|
|
129
132
|
connect(): Effect.Effect<HelloOk, ServiceRpcError>;
|
|
130
133
|
/**
|
|
@@ -150,7 +153,7 @@ export declare class MoltZapService {
|
|
|
150
153
|
startSocketServer(): Effect.Effect<void, unknown, never>;
|
|
151
154
|
private resetSocketServerState;
|
|
152
155
|
private stopSocketServer;
|
|
153
|
-
private
|
|
156
|
+
private localDaemonHandlers;
|
|
154
157
|
private handleHistoryRequest;
|
|
155
158
|
private loadHistorySupportData;
|
|
156
159
|
private refreshHistoryAgentNames;
|
|
@@ -183,8 +186,8 @@ export declare class MoltZapService {
|
|
|
183
186
|
* svc-->>caller: fail(RpcServerError ConversationArchived)
|
|
184
187
|
* else
|
|
185
188
|
* svc->>ws: sendRpc(MessagesSend, params)
|
|
186
|
-
* Note over ws: stateRef None → fail NotConnectedError
|
|
187
|
-
* ws->>server: {jsonrpc, method
|
|
189
|
+
* Note over ws: stateRef None → fail NotConnectedError; otherwise allocate request id, encode frame
|
|
190
|
+
* ws->>server: {jsonrpc, method agent/message/send, id, params}
|
|
188
191
|
* Note over ws: Deferred raced against 30s timeout
|
|
189
192
|
* server-->>ws: {result, id} or {error, id}
|
|
190
193
|
* Note over ws: reader fiber decodes, resolves the Deferred
|
|
@@ -195,7 +198,7 @@ export declare class MoltZapService {
|
|
|
195
198
|
*
|
|
196
199
|
* `opts.dispatchLeaseId` (when set) is forwarded verbatim in the
|
|
197
200
|
* params frame. The server marks the lease consumed, blocking the
|
|
198
|
-
*
|
|
201
|
+
* app authorization timeout sweep. `MoltZapChannelCore.sendReply` forwards
|
|
199
202
|
* `leaseIdInFlight` automatically when the caller omits it.
|
|
200
203
|
*/
|
|
201
204
|
send(taskId: TaskId, conversationId: ConversationId, text: string, opts?: {
|
|
@@ -203,23 +206,19 @@ export declare class MoltZapService {
|
|
|
203
206
|
dispatchLeaseId?: LeaseId;
|
|
204
207
|
}): Effect.Effect<void, ServiceRpcError>;
|
|
205
208
|
/**
|
|
206
|
-
* Issue `dispatch/request`. The server returns the ack
|
|
209
|
+
* Issue `agent/dispatch/request`. The server returns the ack
|
|
207
210
|
* `{leaseId, dispatchId}` immediately; the recipient observes the
|
|
208
211
|
* verdict asynchronously via the `dispatchRelease` event.
|
|
209
212
|
*/
|
|
210
213
|
requestDispatch(params: ParamsOf<typeof DispatchRequest>): Effect.Effect<ResultOf<typeof DispatchRequest>, ServiceRpcError>;
|
|
211
|
-
/**
|
|
212
|
-
* Issue `dispatches/get`. Moderator-only — calls from non-moderator
|
|
213
|
-
* connections fail with a typed wire error. The server enforces the
|
|
214
|
-
* binding tuple recorded at lease-mint time.
|
|
215
|
-
*/
|
|
216
|
-
dispatchesGet(params: {
|
|
217
|
-
readonly dispatchId: DispatchId;
|
|
218
|
-
}): Effect.Effect<ResultOf<typeof DispatchesGet>, ServiceRpcError>;
|
|
219
214
|
sendToAgent(agentName: string, text: string, opts?: {
|
|
220
215
|
replyTo?: MessageId;
|
|
221
216
|
}): Effect.Effect<void, ServiceRpcError | AgentNotFoundError>;
|
|
222
217
|
private resolveReusableConversationId;
|
|
218
|
+
private cacheAgentNames;
|
|
219
|
+
private agentListParams;
|
|
220
|
+
private cacheVisibleAgentNamesForIds;
|
|
221
|
+
private findVisibleAgentByName;
|
|
223
222
|
/**
|
|
224
223
|
* Generate a system reminder with updates from other conversations.
|
|
225
224
|
* Each conversation has its own view of what's "new" — markers are tracked
|
|
@@ -253,20 +252,29 @@ export declare class MoltZapService {
|
|
|
253
252
|
private iterNewMessagesByConv;
|
|
254
253
|
private advanceLastNotified;
|
|
255
254
|
on<K extends ServiceHandlerName>(notification: K, handler: NotificationHandler<ServiceHandlerPayloads[K]>): void;
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
/**
|
|
256
|
+
* Outbound RPC, typed per method — delegates to the agent client's typed
|
|
257
|
+
* `call`. `call("agent/identity/agents/list", payload)` recovers the result and that
|
|
258
|
+
* method's tagged-error union; an app-only method does not typecheck.
|
|
259
|
+
*/
|
|
260
|
+
call<Tag extends AgentCallableTag>(tag: Tag, payload: PayloadForTag<AgentCallableRpcs, Tag>, opts?: RpcCallOptions): Effect.Effect<SuccessForTag<AgentCallableRpcs, Tag>, ServiceRpcError>;
|
|
261
|
+
callDefinition<D extends AnyAgentCallableRpcDefinition>(definition: D, payload: ClientDefinitionPayload<D>, opts?: RpcCallOptions): Effect.Effect<ClientDefinitionSuccess<D>, ServiceRpcError>;
|
|
262
|
+
protected handleNotification(notification: ClientNotificationDelivery): void;
|
|
258
263
|
private recordNotificationTrace;
|
|
259
264
|
private dispatchTypedNotification;
|
|
265
|
+
private dispatchMessageNotification;
|
|
266
|
+
private dispatchConversationNotification;
|
|
267
|
+
private dispatchAppNotification;
|
|
260
268
|
/**
|
|
261
269
|
* Record `messageId` in the per-conversation dedup window. Returns
|
|
262
270
|
* `true` when the id is new (caller proceeds), `false` when the id is
|
|
263
271
|
* a duplicate within the window (caller drops). On a new id, evicts
|
|
264
272
|
* the oldest entry if the window is full.
|
|
265
273
|
*
|
|
266
|
-
* Bound to the live `
|
|
274
|
+
* Bound to the live `agent/message/received` notification path: a single
|
|
267
275
|
* server-side broadcast that surfaces the same id twice (network
|
|
268
276
|
* replay, dual subscription) is suppressed to one
|
|
269
|
-
* `on("message", ...)` event. `
|
|
277
|
+
* `on("message", ...)` event. `agent/message/list` returns raw history
|
|
270
278
|
* unfiltered; consumers that combine both feeds dedup themselves.
|
|
271
279
|
*/
|
|
272
280
|
private recordMessageIdIfNew;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|