@insta-dev01/intclaw 1.0.6 → 1.0.9

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.
@@ -2,7 +2,7 @@
2
2
  "id": "intclaw",
3
3
  "name": "IntClaw Plugin",
4
4
  "description": "OpenClaw plugin for IntClaw services - WebSocket-based channel integration for Community Platform, Message Channel, and Agent Collaboration Engine",
5
- "version": "1.0.6",
5
+ "version": "1.0.9",
6
6
  "kind": "channel",
7
7
  "channels": ["intclaw"],
8
8
  "configSchema": {
@@ -14,126 +14,63 @@
14
14
  "description": "Enable/disable the IntClaw channel",
15
15
  "default": true
16
16
  },
17
- "wsUrl": {
18
- "type": "string",
19
- "description": "WebSocket server URL for IntClaw connection (e.g., wss://api.intclaw.example.com/ws)"
20
- },
21
17
  "apiKey": {
22
18
  "type": "string",
23
19
  "description": "API key for authentication with IntClaw server"
24
20
  },
25
- "reconnectInterval": {
26
- "type": "number",
27
- "description": "Reconnection interval in milliseconds",
28
- "default": 5000,
29
- "minimum": 1000
30
- },
31
- "dmPolicy": {
21
+ "apiSecret": {
32
22
  "type": "string",
33
- "enum": ["pairing", "allowlist", "open", "disabled"],
34
- "description": "Direct message policy",
35
- "default": "pairing"
36
- },
37
- "allowFrom": {
38
- "type": "array",
39
- "description": "DM allowlist (peer IDs)",
40
- "items": {
41
- "type": "string"
42
- }
23
+ "description": "API secret for authentication with IntClaw server"
43
24
  },
44
- "groupPolicy": {
45
- "type": "string",
46
- "enum": ["allowlist", "open", "disabled"],
47
- "description": "Group message policy",
48
- "default": "allowlist"
25
+ "shadowInstance": {
26
+ "type": "boolean",
27
+ "description": "Enable shadow instance mode",
28
+ "default": false
49
29
  },
50
- "groupAllowFrom": {
30
+ "shadowDataAllowlist": {
51
31
  "type": "array",
52
- "description": "Group allowlist (peer IDs)",
32
+ "description": "Shadow data allowlist",
53
33
  "items": {
54
34
  "type": "string"
55
- }
56
- },
57
- "groups": {
58
- "type": "object",
59
- "description": "Per-group configuration",
60
- "additionalProperties": {
61
- "type": "object",
62
- "properties": {
63
- "allow": {
64
- "type": "boolean",
65
- "default": true
66
- },
67
- "requireMention": {
68
- "type": "boolean",
69
- "default": true
70
- }
71
- }
72
- }
73
- },
74
- "accounts": {
75
- "type": "object",
76
- "description": "Multi-account configuration",
77
- "additionalProperties": {
78
- "type": "object",
79
- "properties": {
80
- "enabled": {
81
- "type": "boolean",
82
- "default": true
83
- },
84
- "wsUrl": {
85
- "type": "string",
86
- "description": "Account-specific WebSocket URL"
87
- },
88
- "apiKey": {
89
- "type": "string",
90
- "description": "Account-specific API key"
91
- }
92
- }
93
- }
35
+ },
36
+ "default": [
37
+ "AGENTS.md",
38
+ "SOUL.md",
39
+ "IDENTITY.md",
40
+ "TOOLS.md",
41
+ "HEARTBEAT.md",
42
+ "BOOT.md",
43
+ "BOOTSTRAP.md",
44
+ "skills/",
45
+ "canvas/"
46
+ ]
94
47
  }
95
48
  }
96
49
  },
97
50
  "uiHints": {
98
- "wsUrl": {
99
- "label": "WebSocket Server URL",
100
- "placeholder": "wss://api.intclaw.example.com/ws",
101
- "helpText": "The WebSocket URL of your IntClaw server",
102
- "order": 1
103
- },
104
51
  "apiKey": {
105
52
  "label": "API Key",
106
53
  "placeholder": "Enter your API key",
107
54
  "helpText": "API key for authenticating with the IntClaw server",
108
55
  "sensitive": true,
56
+ "order": 1
57
+ },
58
+ "apiSecret": {
59
+ "label": "API Secret",
60
+ "placeholder": "Enter your API secret",
61
+ "helpText": "API secret for authenticating with the IntClaw server",
62
+ "sensitive": true,
109
63
  "order": 2
110
64
  },
111
- "reconnectInterval": {
112
- "label": "Reconnection Interval (ms)",
113
- "placeholder": "5000",
114
- "helpText": "How long to wait before reconnecting (in milliseconds)",
65
+ "shadowInstance": {
66
+ "label": "Shadow Instance",
67
+ "helpText": "Enable shadow instance mode",
115
68
  "order": 3
116
69
  },
117
- "dmPolicy": {
118
- "label": "Direct Message Policy",
119
- "helpText": "How to handle direct messages from unknown users",
120
- "options": {
121
- "pairing": "Require pairing approval",
122
- "allowlist": "Only allow listed users",
123
- "open": "Allow all users",
124
- "disabled": "Disable direct messages"
125
- },
70
+ "shadowDataAllowlist": {
71
+ "label": "Shadow Data Allowlist",
72
+ "helpText": "List of allowed shadow data paths",
126
73
  "order": 4
127
- },
128
- "groupPolicy": {
129
- "label": "Group Message Policy",
130
- "helpText": "How to handle group messages",
131
- "options": {
132
- "allowlist": "Only allow listed groups",
133
- "open": "Allow all groups",
134
- "disabled": "Disable group messages"
135
- },
136
- "order": 5
137
74
  }
138
75
  }
139
76
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insta-dev01/intclaw",
3
- "version": "1.0.6",
3
+ "version": "1.0.9",
4
4
  "type": "module",
5
5
  "description": "OpenClaw plugin for IntClaw services - WebSocket-based channel integration for Community Platform, Message Channel, and Agent Collaboration Engine",
6
6
  "main": "src/index.js",
@@ -5,6 +5,7 @@
5
5
  */
6
6
 
7
7
  const CHANNEL_ID = 'intclaw';
8
+ const DEFAULT_WS_URL = 'wss://claw-message.int-os.com';
8
9
  const DEFAULT_RECONNECT_INTERVAL = 5000;
9
10
 
10
11
  /**
@@ -52,10 +53,6 @@ export class IntClawChannel {
52
53
  async start() {
53
54
  this.#log('info', 'Starting IntClaw channel...');
54
55
 
55
- if (!this.#config.wsUrl) {
56
- throw new Error('IntClaw channel requires wsUrl in configuration');
57
- }
58
-
59
56
  if (!this.#config.apiKey) {
60
57
  throw new Error('IntClaw channel requires apiKey in configuration');
61
58
  }
@@ -92,12 +89,13 @@ export class IntClawChannel {
92
89
  }
93
90
 
94
91
  try {
95
- this.#log('info', `Connecting to IntClaw server: ${this.#config.wsUrl}`);
92
+ const wsUrl = this.#config.wsUrl || DEFAULT_WS_URL;
93
+ this.#log('info', `Connecting to IntClaw server: ${wsUrl}`);
96
94
 
97
95
  // Import ws module dynamically
98
96
  const WebSocket = (await import('ws')).default;
99
97
 
100
- this.#ws = new WebSocket(this.#config.wsUrl, {
98
+ this.#ws = new WebSocket(wsUrl, {
101
99
  headers: {
102
100
  'X-API-Key': this.#config.apiKey,
103
101
  },
package/src/index.js CHANGED
@@ -30,9 +30,9 @@ export async function register(gateway, config) {
30
30
  return;
31
31
  }
32
32
 
33
- // Skip if required configuration is missing (plugin not configured yet)
33
+ // Skip if required configuration is missing
34
34
  if (!config?.wsUrl || !config?.apiKey) {
35
- console.log('[IntClaw] Plugin installed but not configured yet. Run "claw setup intclaw" to configure.');
35
+ console.log('[IntClaw] Configuration missing (wsUrl, apiKey)');
36
36
  return;
37
37
  }
38
38