@openclaw/nextcloud-talk 2026.7.2-beta.5 → 2026.7.33

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.
@@ -0,0 +1,7 @@
1
+ import { createLegacyPrivateNetworkDoctorContract } from "openclaw/plugin-sdk/ssrf-runtime";
2
+ //#region extensions/nextcloud-talk/src/doctor-contract.ts
3
+ const contract = createLegacyPrivateNetworkDoctorContract({ channelKey: "nextcloud-talk" });
4
+ const legacyConfigRules = contract.legacyConfigRules;
5
+ const normalizeCompatibilityConfig = contract.normalizeCompatibilityConfig;
6
+ //#endregion
7
+ export { normalizeCompatibilityConfig as n, legacyConfigRules as t };
@@ -1,10 +1,51 @@
1
- import { collectConditionalChannelFieldAssignments, createChannelSecretTargetRegistryEntries, getChannelSurface, hasOwnProperty } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
1
+ import { collectConditionalChannelFieldAssignments, getChannelSurface, hasOwnProperty } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
2
2
  //#region extensions/nextcloud-talk/src/secret-contract.ts
3
- const secretTargetRegistryEntries = createChannelSecretTargetRegistryEntries({
4
- channelKey: "nextcloud-talk",
5
- account: ["apiPassword", "botSecret"],
6
- channel: ["apiPassword", "botSecret"]
7
- });
3
+ const secretTargetRegistryEntries = [
4
+ {
5
+ id: "channels.nextcloud-talk.accounts.*.apiPassword",
6
+ targetType: "channels.nextcloud-talk.accounts.*.apiPassword",
7
+ configFile: "openclaw.json",
8
+ pathPattern: "channels.nextcloud-talk.accounts.*.apiPassword",
9
+ secretShape: "secret_input",
10
+ expectedResolvedValue: "string",
11
+ includeInPlan: true,
12
+ includeInConfigure: true,
13
+ includeInAudit: true
14
+ },
15
+ {
16
+ id: "channels.nextcloud-talk.accounts.*.botSecret",
17
+ targetType: "channels.nextcloud-talk.accounts.*.botSecret",
18
+ configFile: "openclaw.json",
19
+ pathPattern: "channels.nextcloud-talk.accounts.*.botSecret",
20
+ secretShape: "secret_input",
21
+ expectedResolvedValue: "string",
22
+ includeInPlan: true,
23
+ includeInConfigure: true,
24
+ includeInAudit: true
25
+ },
26
+ {
27
+ id: "channels.nextcloud-talk.apiPassword",
28
+ targetType: "channels.nextcloud-talk.apiPassword",
29
+ configFile: "openclaw.json",
30
+ pathPattern: "channels.nextcloud-talk.apiPassword",
31
+ secretShape: "secret_input",
32
+ expectedResolvedValue: "string",
33
+ includeInPlan: true,
34
+ includeInConfigure: true,
35
+ includeInAudit: true
36
+ },
37
+ {
38
+ id: "channels.nextcloud-talk.botSecret",
39
+ targetType: "channels.nextcloud-talk.botSecret",
40
+ configFile: "openclaw.json",
41
+ pathPattern: "channels.nextcloud-talk.botSecret",
42
+ secretShape: "secret_input",
43
+ expectedResolvedValue: "string",
44
+ includeInPlan: true,
45
+ includeInConfigure: true,
46
+ includeInAudit: true
47
+ }
48
+ ];
8
49
  function collectRuntimeConfigAssignments(params) {
9
50
  const resolved = getChannelSurface(params.config, "nextcloud-talk");
10
51
  if (!resolved) return;
@@ -0,0 +1,3 @@
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-CsCJ-vOP.mjs";
2
+ import "../secret-contract-api.js";
3
+ export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
package/dist/api.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as nextcloudTalkPlugin } from "./channel-D6MTjGj3.js";
1
+ import { t as nextcloudTalkPlugin } from "./.setup/channel-DzVvFd6m.mjs";
2
2
  export { nextcloudTalkPlugin };
@@ -1,2 +1,2 @@
1
- import { t as nextcloudTalkPlugin } from "./channel-D6MTjGj3.js";
1
+ import { t as nextcloudTalkPlugin } from "./.setup/channel-DzVvFd6m.mjs";
2
2
  export { nextcloudTalkPlugin };
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-fNhK1wag.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./.setup/doctor-contract-BY7I5-v9.mjs";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,2 +1,2 @@
1
- import { a as fetchWithSsrFGuard, c as resolveDefaultGroupPolicy, d as setNextcloudTalkRuntime, i as deliverFormattedTextWithAttachments, l as warnMissingProviderGroupPolicyFallbackOnce, n as createChannelMessageReplyPipeline, o as logInboundDrop, r as createChannelPairingController, s as resolveAllowlistProviderRuntimeGroupPolicy, t as GROUP_POLICY_BLOCKED_LABEL } from "./runtime-api-BKsxTw4J.js";
1
+ import { a as fetchWithSsrFGuard, c as resolveDefaultGroupPolicy, d as setNextcloudTalkRuntime, i as deliverFormattedTextWithAttachments, l as warnMissingProviderGroupPolicyFallbackOnce, n as createChannelMessageReplyPipeline, o as logInboundDrop, r as createChannelPairingController, s as resolveAllowlistProviderRuntimeGroupPolicy, t as GROUP_POLICY_BLOCKED_LABEL } from "./.setup/runtime-api-BKsxTw4J.mjs";
2
2
  export { GROUP_POLICY_BLOCKED_LABEL, createChannelMessageReplyPipeline, createChannelPairingController, deliverFormattedTextWithAttachments, fetchWithSsrFGuard, logInboundDrop, resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, setNextcloudTalkRuntime, warnMissingProviderGroupPolicyFallbackOnce };
@@ -1,2 +1,2 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-DGgvfVqm.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./.setup/secret-contract-CsCJ-vOP.mjs";
2
2
  export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,13 +1,14 @@
1
1
  import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
+ import { fileURLToPath } from "node:url";
2
3
  //#region extensions/nextcloud-talk/setup-entry.ts
3
4
  var setup_entry_default = defineBundledChannelSetupEntry({
4
5
  importMetaUrl: import.meta.url,
5
6
  plugin: {
6
- specifier: "./api.js",
7
+ specifier: fileURLToPath(new URL(".setup/api-Debykz-a.mjs", import.meta.url).href),
7
8
  exportName: "nextcloudTalkPlugin"
8
9
  },
9
10
  secrets: {
10
- specifier: "./secret-contract-api.js",
11
+ specifier: fileURLToPath(new URL(".setup/secret-contract-api-CcDcTyh9.mjs", import.meta.url).href),
11
12
  exportName: "channelSecrets"
12
13
  }
13
14
  });
@@ -9,6 +9,12 @@
9
9
  "channels": [
10
10
  "nextcloud-talk"
11
11
  ],
12
+ "channelEnvVars": {
13
+ "nextcloud-talk": [
14
+ "NEXTCLOUD_TALK_BOT_SECRET",
15
+ "NEXTCLOUD_TALK_API_PASSWORD"
16
+ ]
17
+ },
12
18
  "configSchema": {
13
19
  "type": "object",
14
20
  "additionalProperties": false,
@@ -360,45 +366,33 @@
360
366
  "exclusiveMinimum": 0,
361
367
  "maximum": 9007199254740991
362
368
  },
363
- "streaming": {
369
+ "chunkMode": {
370
+ "type": "string",
371
+ "enum": [
372
+ "length",
373
+ "newline"
374
+ ]
375
+ },
376
+ "blockStreaming": {
377
+ "type": "boolean"
378
+ },
379
+ "blockStreamingCoalesce": {
364
380
  "type": "object",
365
381
  "properties": {
366
- "chunkMode": {
367
- "type": "string",
368
- "enum": [
369
- "length",
370
- "newline"
371
- ]
382
+ "minChars": {
383
+ "type": "integer",
384
+ "exclusiveMinimum": 0,
385
+ "maximum": 9007199254740991
372
386
  },
373
- "block": {
374
- "type": "object",
375
- "properties": {
376
- "enabled": {
377
- "type": "boolean"
378
- },
379
- "coalesce": {
380
- "type": "object",
381
- "properties": {
382
- "minChars": {
383
- "type": "integer",
384
- "exclusiveMinimum": 0,
385
- "maximum": 9007199254740991
386
- },
387
- "maxChars": {
388
- "type": "integer",
389
- "exclusiveMinimum": 0,
390
- "maximum": 9007199254740991
391
- },
392
- "idleMs": {
393
- "type": "integer",
394
- "minimum": 0,
395
- "maximum": 9007199254740991
396
- }
397
- },
398
- "additionalProperties": false
399
- }
400
- },
401
- "additionalProperties": false
387
+ "maxChars": {
388
+ "type": "integer",
389
+ "exclusiveMinimum": 0,
390
+ "maximum": 9007199254740991
391
+ },
392
+ "idleMs": {
393
+ "type": "integer",
394
+ "minimum": 0,
395
+ "maximum": 9007199254740991
402
396
  }
403
397
  },
404
398
  "additionalProperties": false
@@ -758,45 +752,33 @@
758
752
  "exclusiveMinimum": 0,
759
753
  "maximum": 9007199254740991
760
754
  },
761
- "streaming": {
755
+ "chunkMode": {
756
+ "type": "string",
757
+ "enum": [
758
+ "length",
759
+ "newline"
760
+ ]
761
+ },
762
+ "blockStreaming": {
763
+ "type": "boolean"
764
+ },
765
+ "blockStreamingCoalesce": {
762
766
  "type": "object",
763
767
  "properties": {
764
- "chunkMode": {
765
- "type": "string",
766
- "enum": [
767
- "length",
768
- "newline"
769
- ]
768
+ "minChars": {
769
+ "type": "integer",
770
+ "exclusiveMinimum": 0,
771
+ "maximum": 9007199254740991
770
772
  },
771
- "block": {
772
- "type": "object",
773
- "properties": {
774
- "enabled": {
775
- "type": "boolean"
776
- },
777
- "coalesce": {
778
- "type": "object",
779
- "properties": {
780
- "minChars": {
781
- "type": "integer",
782
- "exclusiveMinimum": 0,
783
- "maximum": 9007199254740991
784
- },
785
- "maxChars": {
786
- "type": "integer",
787
- "exclusiveMinimum": 0,
788
- "maximum": 9007199254740991
789
- },
790
- "idleMs": {
791
- "type": "integer",
792
- "minimum": 0,
793
- "maximum": 9007199254740991
794
- }
795
- },
796
- "additionalProperties": false
797
- }
798
- },
799
- "additionalProperties": false
773
+ "maxChars": {
774
+ "type": "integer",
775
+ "exclusiveMinimum": 0,
776
+ "maximum": 9007199254740991
777
+ },
778
+ "idleMs": {
779
+ "type": "integer",
780
+ "minimum": 0,
781
+ "maximum": 9007199254740991
800
782
  }
801
783
  },
802
784
  "additionalProperties": false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/nextcloud-talk",
3
- "version": "2026.7.2-beta.5",
3
+ "version": "2026.7.33",
4
4
  "description": "OpenClaw Nextcloud Talk channel plugin for conversations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "type": "module",
10
10
  "peerDependencies": {
11
- "openclaw": ">=2026.7.2-beta.5"
11
+ "openclaw": ">=2026.7.33"
12
12
  },
13
13
  "peerDependenciesMeta": {
14
14
  "openclaw": {
@@ -20,19 +20,8 @@
20
20
  "./index.ts"
21
21
  ],
22
22
  "setupEntry": "./dist/setup-entry.js",
23
- "setupFeatures": {
24
- "configPromotion": true
25
- },
26
23
  "channel": {
27
24
  "id": "nextcloud-talk",
28
- "configuredState": {
29
- "env": {
30
- "anyOf": [
31
- "NEXTCLOUD_TALK_BOT_SECRET",
32
- "NEXTCLOUD_TALK_API_PASSWORD"
33
- ]
34
- }
35
- },
36
25
  "label": "Nextcloud Talk",
37
26
  "selectionLabel": "Nextcloud Talk (self-hosted)",
38
27
  "docsPath": "/channels/nextcloud-talk",
@@ -43,80 +32,7 @@
43
32
  "nc"
44
33
  ],
45
34
  "order": 65,
46
- "quickstartAllowFrom": true,
47
- "setup": {
48
- "fields": [
49
- {
50
- "key": "baseUrl",
51
- "kind": "string",
52
- "cli": {
53
- "flags": "--base-url <url>",
54
- "description": "Nextcloud base URL"
55
- }
56
- },
57
- {
58
- "key": "url",
59
- "kind": "string",
60
- "cli": {
61
- "flags": "--url <url>",
62
- "description": "Legacy Nextcloud base URL alias"
63
- }
64
- },
65
- {
66
- "key": "secret",
67
- "kind": "string",
68
- "sensitive": true,
69
- "cli": {
70
- "flags": "--secret <secret>",
71
- "description": "Nextcloud Talk bot secret"
72
- }
73
- },
74
- {
75
- "key": "token",
76
- "kind": "string",
77
- "sensitive": true,
78
- "cli": {
79
- "flags": "--token <secret>",
80
- "description": "Legacy Nextcloud bot secret alias"
81
- }
82
- },
83
- {
84
- "key": "password",
85
- "kind": "string",
86
- "sensitive": true,
87
- "cli": {
88
- "flags": "--password <secret>",
89
- "description": "Legacy Nextcloud bot secret alias"
90
- }
91
- },
92
- {
93
- "key": "secretFile",
94
- "kind": "string",
95
- "sensitive": true,
96
- "cli": {
97
- "flags": "--secret-file <path>",
98
- "description": "Nextcloud Talk bot secret file"
99
- }
100
- },
101
- {
102
- "key": "tokenFile",
103
- "kind": "string",
104
- "sensitive": true,
105
- "cli": {
106
- "flags": "--token-file <path>",
107
- "description": "Legacy Nextcloud bot secret file alias"
108
- }
109
- },
110
- {
111
- "key": "useEnv",
112
- "kind": "boolean",
113
- "cli": {
114
- "flags": "--use-env",
115
- "description": "Use Nextcloud Talk environment credentials"
116
- }
117
- }
118
- ]
119
- }
35
+ "quickstartAllowFrom": true
120
36
  },
121
37
  "install": {
122
38
  "npmSpec": "@openclaw/nextcloud-talk",
@@ -124,10 +40,10 @@
124
40
  "minHostVersion": ">=2026.4.10"
125
41
  },
126
42
  "compat": {
127
- "pluginApi": ">=2026.7.2-beta.5"
43
+ "pluginApi": ">=2026.7.33"
128
44
  },
129
45
  "build": {
130
- "openclawVersion": "2026.7.2-beta.5"
46
+ "openclawVersion": "2026.7.33"
131
47
  },
132
48
  "release": {
133
49
  "publishToClawHub": true,
@@ -1,22 +0,0 @@
1
- import { createLegacyPrivateNetworkDoctorContract } from "openclaw/plugin-sdk/ssrf-runtime";
2
- import { defineChannelAliasMigration } from "openclaw/plugin-sdk/runtime-doctor";
3
- //#region extensions/nextcloud-talk/src/doctor-contract.ts
4
- const networkContract = createLegacyPrivateNetworkDoctorContract({ channelKey: "nextcloud-talk" });
5
- const streamingAliasMigration = defineChannelAliasMigration({
6
- channelId: "nextcloud-talk",
7
- streaming: {
8
- defaultMode: "partial",
9
- deliveryOnly: true
10
- },
11
- accountStreamingReplacesRoot: true
12
- });
13
- const legacyConfigRules = [...networkContract.legacyConfigRules, ...streamingAliasMigration.legacyConfigRules];
14
- function normalizeCompatibilityConfig({ cfg }) {
15
- const network = networkContract.normalizeCompatibilityConfig({ cfg });
16
- return streamingAliasMigration.normalizeChannelConfig({
17
- cfg: network.config,
18
- changes: network.changes
19
- });
20
- }
21
- //#endregion
22
- export { normalizeCompatibilityConfig as n, legacyConfigRules as t };