@openclaw/clickclack 2026.7.2-beta.1 → 2026.7.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/dist/api.js +2 -1
- package/dist/{channel-Ds6d_3nx.js → channel-BnREQIP8.js} +111 -422
- package/dist/channel-plugin-api.js +1 -1
- package/dist/runtime-api.js +2 -1
- package/dist/secret-contract-BKkzzjBA.js +35 -0
- package/dist/secret-contract-api.js +2 -0
- package/dist/setup-entry.js +15 -0
- package/dist/setup-plugin-api.js +18 -0
- package/dist/setup-surface-B346XaAu.js +828 -0
- package/npm-shrinkwrap.json +3 -3
- package/openclaw.plugin.json +12 -0
- package/package.json +14 -6
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
+
import { collectConditionalChannelFieldAssignments, createChannelSecretTargetRegistryEntries, getChannelSurface, hasConfiguredSecretInputValue } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
|
|
3
|
+
//#region extensions/clickclack/src/secret-contract.ts
|
|
4
|
+
const secretTargetRegistryEntries = createChannelSecretTargetRegistryEntries({
|
|
5
|
+
channelKey: "clickclack",
|
|
6
|
+
account: ["token"],
|
|
7
|
+
channel: ["token"]
|
|
8
|
+
});
|
|
9
|
+
function collectRuntimeConfigAssignments(params) {
|
|
10
|
+
const resolved = getChannelSurface(params.config, "clickclack");
|
|
11
|
+
if (!resolved) return;
|
|
12
|
+
const { channel: clickclack, surface } = resolved;
|
|
13
|
+
const baseTokenFile = normalizeOptionalString(clickclack.tokenFile) ?? "";
|
|
14
|
+
const accountTokenFile = (account) => normalizeOptionalString(account.tokenFile) ?? "";
|
|
15
|
+
const hasImplicitDefault = Boolean(normalizeOptionalString(clickclack.baseUrl)) && Boolean(normalizeOptionalString(clickclack.workspace));
|
|
16
|
+
collectConditionalChannelFieldAssignments({
|
|
17
|
+
channelKey: "clickclack",
|
|
18
|
+
field: "token",
|
|
19
|
+
channel: clickclack,
|
|
20
|
+
surface,
|
|
21
|
+
defaults: params.defaults,
|
|
22
|
+
context: params.context,
|
|
23
|
+
topLevelActiveWithoutAccounts: baseTokenFile.length === 0,
|
|
24
|
+
topLevelInheritedAccountActive: ({ account, enabled }) => hasImplicitDefault && baseTokenFile.length === 0 || enabled && baseTokenFile.length === 0 && accountTokenFile(account).length === 0 && !hasConfiguredSecretInputValue(account.token, params.defaults),
|
|
25
|
+
accountActive: ({ account, enabled }) => enabled && accountTokenFile(account).length === 0,
|
|
26
|
+
topInactiveReason: "no enabled ClickClack account inherits this top-level token (tokenFile is configured).",
|
|
27
|
+
accountInactiveReason: "ClickClack account is disabled or tokenFile is configured."
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const channelSecrets = {
|
|
31
|
+
secretTargetRegistryEntries,
|
|
32
|
+
collectRuntimeConfigAssignments
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { collectRuntimeConfigAssignments as n, secretTargetRegistryEntries as r, channelSecrets as t };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
|
|
2
|
+
//#region extensions/clickclack/setup-entry.ts
|
|
3
|
+
var setup_entry_default = defineBundledChannelSetupEntry({
|
|
4
|
+
importMetaUrl: import.meta.url,
|
|
5
|
+
plugin: {
|
|
6
|
+
specifier: "./setup-plugin-api.js",
|
|
7
|
+
exportName: "clickClackSetupPlugin"
|
|
8
|
+
},
|
|
9
|
+
secrets: {
|
|
10
|
+
specifier: "./secret-contract-api.js",
|
|
11
|
+
exportName: "channelSecrets"
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { setup_entry_default as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { l as clickClackConfigAdapter, n as clickClackSetupAdapter, s as clickClackConfigSchema, t as clickClackSetupWizard, u as clickClackMeta } from "./setup-surface-B346XaAu.js";
|
|
2
|
+
//#region extensions/clickclack/src/channel.setup.ts
|
|
3
|
+
const clickClackSetupPlugin = {
|
|
4
|
+
id: "clickclack",
|
|
5
|
+
meta: clickClackMeta,
|
|
6
|
+
capabilities: {
|
|
7
|
+
chatTypes: ["direct", "group"],
|
|
8
|
+
threads: true,
|
|
9
|
+
blockStreaming: true
|
|
10
|
+
},
|
|
11
|
+
reload: { configPrefixes: ["channels.clickclack"] },
|
|
12
|
+
configSchema: clickClackConfigSchema,
|
|
13
|
+
config: clickClackConfigAdapter,
|
|
14
|
+
setup: clickClackSetupAdapter,
|
|
15
|
+
setupWizard: clickClackSetupWizard
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { clickClackSetupPlugin };
|