@openclaw/clickclack 2026.9.1 → 2026.9.3

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 CHANGED
@@ -120,7 +120,7 @@ Messages in the managed channel run in a stable side session under the same
120
120
  agent id as the attached main session. The plugin installs a scoped host grant
121
121
  for `sessions_history`, `session_status`, and `sessions_send` between that side
122
122
  session and its attached main session, so `tools.sessions.visibility` can be set
123
- explicitly to `tree` for narrower access than the agent-wide default. A second host-side policy blocks session discovery
123
+ explicitly to `tree` for narrower access than the default `all`. A second host-side policy blocks session discovery
124
124
  and alternate targets; the side-agent prompt is not the authorization boundary.
125
125
  The agent still needs those three tools in its effective tool allowlist.
126
126
 
package/dist/api.js CHANGED
@@ -1,3 +1,3 @@
1
- import { _ as DEFAULT_ACCOUNT_ID, b as resolveClickClackAccount, p as clickClackConfigSchema, u as createClickClackClient, v as listClickClackAccountIds, x as resolveDefaultClickClackAccountId, y as listEnabledClickClackAccounts } from "./setup-surface-ktvDJmH4.js";
2
- import { a as setClickClackRuntime, i as getClickClackRuntime, n as buildClickClackTarget, r as parseClickClackTarget, t as clickClackPlugin } from "./channel-DR3HQ51j.js";
1
+ import { _ as DEFAULT_ACCOUNT_ID, b as resolveClickClackAccount, p as clickClackConfigSchema, u as createClickClackClient, v as listClickClackAccountIds, x as resolveDefaultClickClackAccountId, y as listEnabledClickClackAccounts } from "./setup-surface-qNPMK71w.js";
2
+ import { a as setClickClackRuntime, i as getClickClackRuntime, n as buildClickClackTarget, r as parseClickClackTarget, t as clickClackPlugin } from "./channel-ByvJKugM.js";
3
3
  export { DEFAULT_ACCOUNT_ID, buildClickClackTarget, clickClackConfigSchema, clickClackPlugin, createClickClackClient, getClickClackRuntime, listClickClackAccountIds, listEnabledClickClackAccounts, parseClickClackTarget, resolveClickClackAccount, resolveDefaultClickClackAccountId, setClickClackRuntime };
@@ -1,4 +1,4 @@
1
- import { _ as DEFAULT_ACCOUNT_ID, b as resolveClickClackAccount, c as resolveWorkspaceId, f as normalizeClickClackCorrelationId, g as clickClackMeta, h as clickClackConfigAdapter, l as ClickClackHttpError, m as CLICKCLACK_CHANNEL_ID, n as clickClackSetupContract, p as clickClackConfigSchema, s as resolveChannelId, t as clickClackSetupWizard, u as createClickClackClient, y as listEnabledClickClackAccounts } from "./setup-surface-ktvDJmH4.js";
1
+ import { _ as DEFAULT_ACCOUNT_ID, b as resolveClickClackAccount, c as resolveWorkspaceId, f as normalizeClickClackCorrelationId, g as clickClackMeta, h as clickClackConfigAdapter, l as ClickClackHttpError, m as CLICKCLACK_CHANNEL_ID, n as clickClackSetupContract, p as clickClackConfigSchema, s as resolveChannelId, t as clickClackSetupWizard, u as createClickClackClient, y as listEnabledClickClackAccounts } from "./setup-surface-qNPMK71w.js";
2
2
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-BKkzzjBA.js";
3
3
  import { resolveChannelMediaMaxBytes } from "openclaw/plugin-sdk/account-helpers";
4
4
  import { parseDateStringTimestampMs } from "openclaw/plugin-sdk/number-runtime";
@@ -529,7 +529,7 @@ function resolveMentionHandles(body) {
529
529
  * - Checks the message body against shared and account-local mention patterns.
530
530
  * - If botHandle is provided and the message body contains its ClickClack
531
531
  * `@handle`, treat it as a mention.
532
- * - Plain display names do not count unless explicitly configured as a pattern.
532
+ * - Shared patterns default to the routed agent's identity name when none are configured.
533
533
  */
534
534
  function resolveClickClackMentionFacts(params) {
535
535
  const { isDirect, body, mentionPatterns, botHandle, cfg, agentId, channelId } = params;
@@ -1,2 +1,2 @@
1
- import { t as clickClackPlugin } from "./channel-DR3HQ51j.js";
1
+ import { t as clickClackPlugin } from "./channel-ByvJKugM.js";
2
2
  export { clickClackPlugin };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as registerClickClackDiscussions } from "./runtime-api-CrR-O-0P.js";
1
+ import { t as registerClickClackDiscussions } from "./runtime-api-vd8TLXz1.js";
2
2
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
3
3
  //#region extensions/clickclack/index.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { b as resolveClickClackAccount, d as isClickClackChannelNameConflict, l as ClickClackHttpError, u as createClickClackClient, v as listClickClackAccountIds } from "./setup-surface-ktvDJmH4.js";
2
- import { C as slugifyDiscussionLabel, D as listPendingDiscussionOpens, E as clearPendingDiscussionOpen, O as recordPendingDiscussionOpen, S as resolveDiscussionLabel, T as clearDiscussionBindingGeneration, _ as getClickClackDiscussionBindingStore, b as fallbackDiscussionLabel, c as markClickClackDiscussionChannelIdentityRevoked, d as discussionInfoForBinding, f as normalizedServerBaseUrl, g as bindingMatchesActiveSessionIncarnation, h as attachBindingToCurrentActiveSession, k as reserveDiscussionBindingGeneration, l as markClickClackDiscussionChannelRevoked, o as clearClickClackDiscussionChannelRevoked, p as resolveDiscussionBindingAccount, s as isClickClackDiscussionChannelRevoked, u as discussionAccounts, v as discussionCredentialFingerprint, w as truncateDiscussionDisplayTitle, x as isDiscussionSessionKey, y as discussionExternalRef } from "./channel-DR3HQ51j.js";
1
+ import { b as resolveClickClackAccount, d as isClickClackChannelNameConflict, l as ClickClackHttpError, u as createClickClackClient, v as listClickClackAccountIds } from "./setup-surface-qNPMK71w.js";
2
+ import { C as slugifyDiscussionLabel, D as listPendingDiscussionOpens, E as clearPendingDiscussionOpen, O as recordPendingDiscussionOpen, S as resolveDiscussionLabel, T as clearDiscussionBindingGeneration, _ as getClickClackDiscussionBindingStore, b as fallbackDiscussionLabel, c as markClickClackDiscussionChannelIdentityRevoked, d as discussionInfoForBinding, f as normalizedServerBaseUrl, g as bindingMatchesActiveSessionIncarnation, h as attachBindingToCurrentActiveSession, k as reserveDiscussionBindingGeneration, l as markClickClackDiscussionChannelRevoked, o as clearClickClackDiscussionChannelRevoked, p as resolveDiscussionBindingAccount, s as isClickClackDiscussionChannelRevoked, u as discussionAccounts, v as discussionCredentialFingerprint, w as truncateDiscussionDisplayTitle, x as isDiscussionSessionKey, y as discussionExternalRef } from "./channel-ByvJKugM.js";
3
3
  import "./api.js";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import { buildControlUiSessionPath, registerSessionDiscussionProvider } from "openclaw/plugin-sdk/session-discussion";
@@ -1,4 +1,4 @@
1
- import { b as resolveClickClackAccount, u as createClickClackClient } from "./setup-surface-ktvDJmH4.js";
2
- import { a as setClickClackRuntime, r as parseClickClackTarget } from "./channel-DR3HQ51j.js";
3
- import { t as registerClickClackDiscussions } from "./runtime-api-CrR-O-0P.js";
1
+ import { b as resolveClickClackAccount, u as createClickClackClient } from "./setup-surface-qNPMK71w.js";
2
+ import { a as setClickClackRuntime, r as parseClickClackTarget } from "./channel-ByvJKugM.js";
3
+ import { t as registerClickClackDiscussions } from "./runtime-api-vd8TLXz1.js";
4
4
  export { createClickClackClient, parseClickClackTarget, registerClickClackDiscussions, resolveClickClackAccount, setClickClackRuntime };
@@ -1,4 +1,4 @@
1
- import { a as isClickClackSetupLoopbackHost, i as buildClickClackSetupClaimUrl, o as requireClickClackSetupApiBaseUrl } from "./setup-surface-ktvDJmH4.js";
1
+ import { a as isClickClackSetupLoopbackHost, i as buildClickClackSetupClaimUrl, o as requireClickClackSetupApiBaseUrl } from "./setup-surface-qNPMK71w.js";
2
2
  import { createProviderOperationDeadline, readProviderJsonResponse, readResponseTextLimited, resolveProviderOperationTimeoutMs } from "openclaw/plugin-sdk/provider-http";
3
3
  import { fetchWithSsrFGuard, resolvePinnedHostnameWithPolicy, ssrfPolicyFromHttpBaseUrlAllowedHostname } from "openclaw/plugin-sdk/ssrf-runtime";
4
4
  import { withTimeout } from "openclaw/plugin-sdk/text-utility-runtime";
@@ -1,4 +1,4 @@
1
- import { g as clickClackMeta, h as clickClackConfigAdapter, n as clickClackSetupContract, p as clickClackConfigSchema, t as clickClackSetupWizard } from "./setup-surface-ktvDJmH4.js";
1
+ import { g as clickClackMeta, h as clickClackConfigAdapter, n as clickClackSetupContract, p as clickClackConfigSchema, t as clickClackSetupWizard } from "./setup-surface-qNPMK71w.js";
2
2
  //#region extensions/clickclack/src/channel.setup.ts
3
3
  const clickClackSetupPlugin = {
4
4
  id: "clickclack",
@@ -1,3 +1,4 @@
1
+ import { createRequire } from "node:module";
1
2
  import { createAccountListHelpers, hasConfiguredAccountValue } from "openclaw/plugin-sdk/account-helpers";
2
3
  import { DEFAULT_ACCOUNT_ID, DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$2, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
3
4
  import { resolveNormalizedAccountEntry } from "openclaw/plugin-sdk/account-resolution-runtime";
@@ -14,7 +15,7 @@ import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
14
15
  import { bufferToBlobPart } from "openclaw/plugin-sdk/blob-runtime";
15
16
  import { redactToolPayloadText } from "openclaw/plugin-sdk/logging-core";
16
17
  import { readProviderJsonResponse, readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
17
- import { WebSocket } from "ws";
18
+ import path from "node:path";
18
19
  import { defineChannelSetupContract } from "openclaw/plugin-sdk/channel-setup";
19
20
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, applyAccountNameToChannelSection, baseUrlTextInput, createSetupTranslator, createStandardChannelSetupStatus, defineTokenCredential, formatDocsLink, hasConfiguredSecretInput, moveSingleAccountChannelSectionToDefaultAccount, patchScopedAccountConfig, prepareScopedSetupConfig, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
20
21
  import { createSetupInputPresenceValidator } from "openclaw/plugin-sdk/setup-runtime";
@@ -294,6 +295,10 @@ const ClickClackConfigSchema = buildMultiAccountChannelSchema(ClickClackAccountC
294
295
  */
295
296
  const clickClackConfigSchema = buildChannelConfigSchema(ClickClackConfigSchema);
296
297
  //#endregion
298
+ //#region extensions/clickclack/src/ws-runtime.ts
299
+ const require = createRequire(import.meta.url);
300
+ const WebSocket = require(path.join(path.dirname(require.resolve("ws/package.json")), "index.js"));
301
+ //#endregion
297
302
  //#region extensions/clickclack/src/http-client.ts
298
303
  /**
299
304
  * Thin ClickClack REST/websocket client used by gateway, resolver, and outbound
@@ -822,7 +827,7 @@ const clickClackSetupAdapter = {
822
827
  const claimUrl = setup.exactClaimUrl && !privateApiBaseUrl ? setup.exactClaimUrl : buildClickClackSetupClaimUrl(privateApiBaseUrl ?? setup.baseUrl);
823
828
  let claim;
824
829
  try {
825
- const { claimClickClackSetupCode } = await import("./setup-claim-Cp-qIa1w.js");
830
+ const { claimClickClackSetupCode } = await import("./setup-claim-DHkUFaSu.js");
826
831
  claim = await claimClickClackSetupCode({
827
832
  claimUrl,
828
833
  code: setup.code,
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "id": "clickclack",
3
+ "name": "ClickClack",
4
+ "description": "OpenClaw ClickClack channel plugin.",
3
5
  "doctorContract": {
4
6
  "configRepair": true
5
7
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/clickclack",
3
- "version": "2026.9.1",
3
+ "version": "2026.9.3",
4
4
  "description": "OpenClaw ClickClack channel plugin",
5
5
  "type": "module",
6
6
  "exports": {
@@ -13,7 +13,7 @@
13
13
  "zod": "4.4.3"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.9.1"
16
+ "openclaw": ">=2026.9.3"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -139,10 +139,10 @@
139
139
  "allowInvalidConfigRecovery": true
140
140
  },
141
141
  "compat": {
142
- "pluginApi": ">=2026.9.1"
142
+ "pluginApi": ">=2026.9.3"
143
143
  },
144
144
  "build": {
145
- "openclawVersion": "2026.9.1",
145
+ "openclawVersion": "2026.9.3",
146
146
  "bundledDist": false
147
147
  },
148
148
  "release": {