@moltzap/openclaw-channel 2026.724.2 → 2026.811.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/context-log.d.ts +8 -2
- package/dist/context-log.d.ts.map +1 -1
- package/dist/context-log.js +11 -5
- package/dist/context-log.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/openclaw-entry.d.ts +37 -54
- package/dist/openclaw-entry.d.ts.map +1 -1
- package/dist/openclaw-entry.js +182 -183
- package/dist/openclaw-entry.js.map +1 -1
- package/dist/test-utils/container-core.d.ts +45 -12
- package/dist/test-utils/container-core.d.ts.map +1 -1
- package/dist/test-utils/container-core.js +92 -32
- package/dist/test-utils/container-core.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -8
package/dist/context-log.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import type { CrossConvMessage } from "@moltzap/client/channel-base";
|
|
3
|
+
/** Describes open claw context log input. */
|
|
3
4
|
export interface OpenClawContextLogInput {
|
|
4
|
-
readonly logDir
|
|
5
|
+
readonly logDir?: string;
|
|
5
6
|
readonly accountId: string;
|
|
6
7
|
readonly accountAgentName?: string;
|
|
7
8
|
readonly ownAgentId?: string;
|
|
@@ -14,5 +15,10 @@ export interface OpenClawContextLogInput {
|
|
|
14
15
|
readonly bodyForAgent: string;
|
|
15
16
|
readonly crossConversationMessages: readonly CrossConvMessage[];
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Writes open claw context log.
|
|
20
|
+
* @param input Input value to process.
|
|
21
|
+
* @returns The write open claw context log result.
|
|
22
|
+
*/
|
|
23
|
+
export declare function writeOpenClawContextLog(input: OpenClawContextLogInput): Effect.Effect<void, unknown>;
|
|
18
24
|
//# sourceMappingURL=context-log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-log.d.ts","sourceRoot":"","sources":["../src/context-log.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"context-log.d.ts","sourceRoot":"","sources":["../src/context-log.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,MAAM,EAAiB,MAAM,QAAQ,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAsBrE,6CAA6C;AAC7C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,yBAAyB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACjE;AAqCD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CA4C9B"}
|
package/dist/context-log.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FileSystem, Path } from "@effect/platform";
|
|
2
2
|
import { NodeFileSystem, NodePath } from "@effect/platform-node";
|
|
3
|
-
import { Config, ConfigProvider, Effect, Option } from "effect";
|
|
3
|
+
import { Config, ConfigProvider, Effect, Layer, Option } from "effect";
|
|
4
4
|
function sanitizePathPart(value) {
|
|
5
5
|
const sanitized = value.replace(/[^a-zA-Z0-9._-]+/g, "_");
|
|
6
6
|
return sanitized.length > 0 ? sanitized : "unknown";
|
|
7
7
|
}
|
|
8
|
-
const
|
|
9
|
-
const getOpenClawStateDir = () => Option.getOrUndefined(Effect.runSync(
|
|
8
|
+
const openClawStateDir = Config.option(Config.string("OPENCLAW_STATE_DIR"));
|
|
9
|
+
const getOpenClawStateDir = () => Option.getOrUndefined(Effect.runSync(openClawStateDir.pipe(Effect.withConfigProvider(ConfigProvider.fromEnv()))));
|
|
10
10
|
function contextLogPath(logDir, accountAgentName) {
|
|
11
11
|
const stateDir = getOpenClawStateDir();
|
|
12
12
|
const agentName = accountAgentName ?? "agent";
|
|
@@ -17,10 +17,16 @@ function contextLogPath(logDir, accountAgentName) {
|
|
|
17
17
|
return path.join(logDir, `${sanitizePathPart(agentName)}.${sanitizePathPart(stateName)}.${process.pid}.contexts.jsonl`);
|
|
18
18
|
}));
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Writes open claw context log.
|
|
22
|
+
* @param input Input value to process.
|
|
23
|
+
* @returns The write open claw context log result.
|
|
24
|
+
*/
|
|
20
25
|
export function writeOpenClawContextLog(input) {
|
|
21
26
|
const logDir = input.logDir;
|
|
22
|
-
if (!logDir)
|
|
27
|
+
if (!logDir) {
|
|
23
28
|
return Effect.void;
|
|
29
|
+
}
|
|
24
30
|
return Effect.gen(function* () {
|
|
25
31
|
const fileSystem = yield* FileSystem.FileSystem;
|
|
26
32
|
const stateDir = getOpenClawStateDir();
|
|
@@ -54,6 +60,6 @@ export function writeOpenClawContextLog(input) {
|
|
|
54
60
|
yield* fileSystem.writeFileString(file, `${JSON.stringify(entry)}\n`, {
|
|
55
61
|
flag: "a",
|
|
56
62
|
});
|
|
57
|
-
}).pipe(Effect.withSpan("writeOpenClawContextLog"), Effect.provide(NodePath.layer
|
|
63
|
+
}).pipe(Effect.withSpan("writeOpenClawContextLog"), Effect.provide(Layer.mergeAll(NodePath.layer, NodeFileSystem.layer)));
|
|
58
64
|
}
|
|
59
65
|
//# sourceMappingURL=context-log.js.map
|
package/dist/context-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-log.js","sourceRoot":"","sources":["../src/context-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"context-log.js","sourceRoot":"","sources":["../src/context-log.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* `dist/index.js` must exist; the implementation lives in `openclaw-entry.ts`.
|
|
5
5
|
*/
|
|
6
6
|
export { createMoltzapChannelPlugin, moltzapChannelPlugin, type MoltzapChannelPlugin, } from "./openclaw-entry.js";
|
|
7
|
+
/** Re-exports the public API from `./openclaw-entry.js`. */
|
|
7
8
|
export { default } from "./openclaw-entry.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,4DAA4D;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,5 +4,7 @@
|
|
|
4
4
|
* `dist/index.js` must exist; the implementation lives in `openclaw-entry.ts`.
|
|
5
5
|
*/
|
|
6
6
|
export { createMoltzapChannelPlugin, moltzapChannelPlugin, } from "./openclaw-entry.js";
|
|
7
|
+
/** Re-exports the public API from `./openclaw-entry.js`. */
|
|
8
|
+
// eslint-disable-next-line import-x/no-default-export -- OpenClaw's extension loader resolves the package root default export.
|
|
7
9
|
export { default } from "./openclaw-entry.js";
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,4DAA4D;AAC5D,+HAA+H;AAC/H,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/openclaw-entry.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ChannelPlugin shape expected by OpenClaw's api.registerChannel().
|
|
6
6
|
*
|
|
7
7
|
* Installed via: openclaw plugin install `@moltzap/openclaw-channel`
|
|
8
|
-
* Config: channels.moltzap.accounts[].{id, agentName}
|
|
8
|
+
* Config: channels.moltzap.accounts[].{id, agentName}.
|
|
9
9
|
*
|
|
10
10
|
* OpenClaw's plugin interface imposes Promise-based contracts at the boundary
|
|
11
11
|
* (`startAccount`, `sendText`, `deliver`, `listPeers`, `listGroups`, etc.) —
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* `Effect.runPromise` tax at the plugin surface.
|
|
14
14
|
*/
|
|
15
15
|
import { MoltZapService } from "@moltzap/client";
|
|
16
|
-
import {
|
|
16
|
+
import { MoltZapChannelCore, type ChannelService } from "@moltzap/client/channel-base";
|
|
17
17
|
import { Effect, JSONSchema, Schema } from "effect";
|
|
18
18
|
declare const OpenClawTargetResolved_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]; }>) => Readonly<A> & {
|
|
19
19
|
readonly _tag: "OpenClawTargetResolved";
|
|
@@ -21,7 +21,7 @@ declare const OpenClawTargetResolved_base: new <A extends Record<string, any> =
|
|
|
21
21
|
declare class OpenClawTargetResolved extends OpenClawTargetResolved_base<{
|
|
22
22
|
readonly to: string;
|
|
23
23
|
}> {
|
|
24
|
-
readonly ok
|
|
24
|
+
readonly ok = true;
|
|
25
25
|
}
|
|
26
26
|
declare const OpenClawTargetRejected_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]; }>) => Readonly<A> & {
|
|
27
27
|
readonly _tag: "OpenClawTargetRejected";
|
|
@@ -29,14 +29,14 @@ declare const OpenClawTargetRejected_base: new <A extends Record<string, any> =
|
|
|
29
29
|
declare class OpenClawTargetRejected extends OpenClawTargetRejected_base<{
|
|
30
30
|
readonly error: Error;
|
|
31
31
|
}> {
|
|
32
|
-
readonly ok
|
|
32
|
+
readonly ok = false;
|
|
33
33
|
}
|
|
34
34
|
type OpenClawTargetResolveResult = OpenClawTargetResolved | OpenClawTargetRejected;
|
|
35
35
|
declare const OpenClawSendTextSuccess_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]; }>) => Readonly<A> & {
|
|
36
36
|
readonly _tag: "OpenClawSendTextSuccess";
|
|
37
37
|
};
|
|
38
|
-
declare class OpenClawSendTextSuccess extends OpenClawSendTextSuccess_base<
|
|
39
|
-
readonly ok
|
|
38
|
+
declare class OpenClawSendTextSuccess extends OpenClawSendTextSuccess_base<Record<never, never>> {
|
|
39
|
+
readonly ok = true;
|
|
40
40
|
}
|
|
41
41
|
declare const OpenClawSendTextFailure_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]; }>) => Readonly<A> & {
|
|
42
42
|
readonly _tag: "OpenClawSendTextFailure";
|
|
@@ -44,33 +44,35 @@ declare const OpenClawSendTextFailure_base: new <A extends Record<string, any> =
|
|
|
44
44
|
declare class OpenClawSendTextFailure extends OpenClawSendTextFailure_base<{
|
|
45
45
|
readonly error: Error;
|
|
46
46
|
}> {
|
|
47
|
-
readonly ok
|
|
47
|
+
readonly ok = false;
|
|
48
48
|
}
|
|
49
|
-
declare const
|
|
49
|
+
declare const moltZapAccountSchema: Schema.Struct<{
|
|
50
50
|
id: typeof Schema.String;
|
|
51
51
|
agentName: Schema.optional<typeof Schema.String>;
|
|
52
52
|
enabled: Schema.optional<typeof Schema.Boolean>;
|
|
53
53
|
}>;
|
|
54
|
-
type MoltZapAccount = Schema.Schema.Type<typeof
|
|
54
|
+
type MoltZapAccount = Schema.Schema.Type<typeof moltZapAccountSchema>;
|
|
55
55
|
/**
|
|
56
56
|
* The drift test consumes this projection because OpenClaw reads the manifest
|
|
57
57
|
* from disk.
|
|
58
58
|
* @internal
|
|
59
|
+
* @returns The created molt zap channel config json schema.
|
|
59
60
|
*/
|
|
60
61
|
export declare const makeMoltZapChannelConfigJsonSchema: () => JSONSchema.JsonSchema7Root;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
interface OpenClawConfig {
|
|
63
|
+
readonly [key: string]: unknown;
|
|
64
|
+
readonly channels?: {
|
|
65
|
+
readonly moltzap?: {
|
|
66
|
+
readonly accounts?: readonly MoltZapAccount[];
|
|
65
67
|
};
|
|
66
68
|
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
+
}
|
|
70
|
+
interface OpenClawLogger {
|
|
69
71
|
info?: (...args: unknown[]) => void;
|
|
70
72
|
warn?: (...args: unknown[]) => void;
|
|
71
73
|
error?: (...args: unknown[]) => void;
|
|
72
74
|
debug?: (...args: unknown[]) => void;
|
|
73
|
-
}
|
|
75
|
+
}
|
|
74
76
|
type OpenClawDeliver = (payload: {
|
|
75
77
|
text?: string;
|
|
76
78
|
body?: string;
|
|
@@ -86,7 +88,7 @@ type OpenClawReplyDispatcher = (params: {
|
|
|
86
88
|
}) => PromiseLike<{
|
|
87
89
|
queuedFinal: boolean;
|
|
88
90
|
}>;
|
|
89
|
-
|
|
91
|
+
interface OpenClawStartAccountContext {
|
|
90
92
|
cfg: OpenClawConfig;
|
|
91
93
|
accountId: string;
|
|
92
94
|
account: MoltZapAccount;
|
|
@@ -98,35 +100,22 @@ type OpenClawStartAccountContext = {
|
|
|
98
100
|
dispatchReplyWithBufferedBlockDispatcher?: OpenClawReplyDispatcher;
|
|
99
101
|
};
|
|
100
102
|
};
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
+
}
|
|
104
|
+
interface OpenClawStopAccountContext {
|
|
103
105
|
accountId: string;
|
|
104
106
|
log?: Pick<OpenClawLogger, "info">;
|
|
105
|
-
}
|
|
107
|
+
}
|
|
106
108
|
interface OpenClawClientService extends ChannelService {
|
|
107
109
|
/**
|
|
108
110
|
* The agent service's descriptor-based call. Optional because the fake
|
|
109
111
|
* channel service used in tests may omit it.
|
|
110
112
|
*/
|
|
111
113
|
callDefinition?: MoltZapService["callDefinition"];
|
|
112
|
-
sendToAgent?(agentName: string, text: string,
|
|
113
|
-
replyTo?: string;
|
|
114
|
-
}): Effect.Effect<void, unknown>;
|
|
114
|
+
sendToAgent?(agentName: string, text: string): Effect.Effect<void, unknown>;
|
|
115
115
|
}
|
|
116
116
|
interface MoltzapChannelPluginDeps {
|
|
117
117
|
readonly createService?: (profileName: string, account: MoltZapAccount) => OpenClawClientService;
|
|
118
118
|
readonly createCore?: (service: ChannelService) => MoltZapChannelCore;
|
|
119
|
-
/**
|
|
120
|
-
* Invoked when the dispatch lease was already consumed (single-use
|
|
121
|
-
* semantics). Deliver still returns `false` per the
|
|
122
|
-
* `OpenClawDeliver: PromiseLike<boolean>` contract; this callback is
|
|
123
|
-
* the side-channel for hosts that want the typed `LeaseAlreadyConsumed`
|
|
124
|
-
* error without violating that contract. Threaded from
|
|
125
|
-
* `createMoltzapChannelPlugin` deps through `createGatewaySection` and
|
|
126
|
-
* `registerInboundHandler` into the `createLeaseConsumingDeliver`
|
|
127
|
-
* closure.
|
|
128
|
-
*/
|
|
129
|
-
readonly onLeaseConsumed?: (err: LeaseAlreadyConsumed) => void;
|
|
130
119
|
}
|
|
131
120
|
interface OpenClawDirectoryParams {
|
|
132
121
|
readonly cfg: OpenClawConfig;
|
|
@@ -164,32 +153,26 @@ interface OpenClawResolveTargetParams {
|
|
|
164
153
|
* Core->>Plugin: enriched message arrives
|
|
165
154
|
* Plugin->>OC: dispatchReplyWithBufferedBlockDispatcher
|
|
166
155
|
* note over OC: agent pipeline → LLM
|
|
167
|
-
* OC->>Plugin: deliver(payload, opts) —
|
|
156
|
+
* OC->>Plugin: deliver(payload, opts) — createReplyDeliver
|
|
168
157
|
* Plugin->>Server: core.sendReply(conversationId, text)
|
|
169
|
-
* alt LeaseInvalid wire error
|
|
170
|
-
* Server-->>Plugin: RpcServerError reason=LeaseInvalid
|
|
171
|
-
* Plugin->>Plugin: catchLeaseInvalid → LeaseAlreadyConsumed<br>onLeaseConsumed callback, return false
|
|
172
|
-
* end
|
|
173
158
|
* OC->>Plugin: stopAccount(ctx)
|
|
174
159
|
* Plugin->>Core: core.disconnect()
|
|
175
160
|
* Plugin->>Plugin: activeClients.delete(account)
|
|
176
161
|
* ```
|
|
177
162
|
*
|
|
178
163
|
* `deliver` returns `PromiseLike<boolean>` per openclaw contract;
|
|
179
|
-
* false signals
|
|
180
|
-
* is single-shot per inbound message: a retried `deliver` exercises
|
|
181
|
-
* the lease again, surfacing `LeaseAlreadyConsumed` as a typed
|
|
182
|
-
* callback (`MoltzapChannelPluginDeps.onLeaseConsumed`) rather than
|
|
183
|
-
* a throw.
|
|
164
|
+
* false signals a failed send without throwing.
|
|
184
165
|
*
|
|
185
|
-
* `resolveTarget` accepts `agent:<name>`
|
|
186
|
-
* `
|
|
187
|
-
*
|
|
166
|
+
* `resolveTarget` accepts a plain agent name or `agent:<name>` for a DM and
|
|
167
|
+
* `conv:<conversationId>` for an existing conversation. Plain names normalize
|
|
168
|
+
* to `agent:<name>`. Other colon-prefixed shapes are rejected.
|
|
169
|
+
* @param deps Value supplied to the operation.
|
|
170
|
+
* @returns The created moltzap channel plugin.
|
|
188
171
|
*/
|
|
189
172
|
export declare function createMoltzapChannelPlugin(deps?: MoltzapChannelPluginDeps): {
|
|
190
|
-
id:
|
|
173
|
+
id: string;
|
|
191
174
|
meta: {
|
|
192
|
-
id:
|
|
175
|
+
id: string;
|
|
193
176
|
label: string;
|
|
194
177
|
selectionLabel: string;
|
|
195
178
|
docsPath: string;
|
|
@@ -200,7 +183,7 @@ export declare function createMoltzapChannelPlugin(deps?: MoltzapChannelPluginDe
|
|
|
200
183
|
order: number;
|
|
201
184
|
};
|
|
202
185
|
capabilities: {
|
|
203
|
-
chatTypes: ("
|
|
186
|
+
chatTypes: ("dm" | "group")[];
|
|
204
187
|
};
|
|
205
188
|
messaging: {
|
|
206
189
|
targetResolver: {
|
|
@@ -208,7 +191,7 @@ export declare function createMoltzapChannelPlugin(deps?: MoltzapChannelPluginDe
|
|
|
208
191
|
hint: string;
|
|
209
192
|
resolveTarget(params: OpenClawResolveTargetParams): Promise<null> | Promise<{
|
|
210
193
|
to: string;
|
|
211
|
-
kind: "
|
|
194
|
+
kind: "user" | "group";
|
|
212
195
|
display: string;
|
|
213
196
|
source: string;
|
|
214
197
|
}>;
|
|
@@ -239,7 +222,7 @@ export declare function createMoltzapChannelPlugin(deps?: MoltzapChannelPluginDe
|
|
|
239
222
|
};
|
|
240
223
|
gateway: {
|
|
241
224
|
startAccount(ctx: OpenClawStartAccountContext): Promise<void>;
|
|
242
|
-
stopAccount(ctx: OpenClawStopAccountContext): Promise<
|
|
225
|
+
stopAccount(ctx: OpenClawStopAccountContext): Promise<undefined>;
|
|
243
226
|
};
|
|
244
227
|
outbound: {
|
|
245
228
|
deliveryMode: "gateway";
|
|
@@ -254,10 +237,10 @@ export declare function createMoltzapChannelPlugin(deps?: MoltzapChannelPluginDe
|
|
|
254
237
|
to: string;
|
|
255
238
|
text: string;
|
|
256
239
|
accountId?: string | null;
|
|
257
|
-
|
|
258
|
-
}): Promise<OpenClawSendTextSuccess | OpenClawSendTextFailure>;
|
|
240
|
+
}): Promise<OpenClawSendTextFailure | OpenClawSendTextSuccess>;
|
|
259
241
|
};
|
|
260
242
|
};
|
|
243
|
+
/** Represents moltzap channel plugin values. */
|
|
261
244
|
export type MoltzapChannelPlugin = ReturnType<typeof createMoltzapChannelPlugin>;
|
|
262
245
|
/**
|
|
263
246
|
* Shared singleton so a single registration reuses the same `activeClients`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"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"}
|