@chrisromp/copilot-bridge 0.6.1-dev.14 → 0.6.1-dev.15

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
@@ -24,7 +24,9 @@ Mattermost Channel → copilot-bridge → @github/copilot-sdk → Copilot CLI
24
24
  - **MCP & skills** — Auto-loads MCP servers and skill directories from Copilot config
25
25
  - **Fuzzy model matching** — `/model opus` resolves to `claude-opus-4.6` (mobile-friendly)
26
26
  - **Interactive permissions** — Approve/deny tool use via chat, or `/autopilot` to auto-approve
27
- - **Session management** — `/reload` to refresh config, `/resume` to switch between sessions
27
+ - **Model fallback** — Automatic fallback to alternative models on capacity/availability errors
28
+ - **Loop detection** — Detects and breaks tool call loops with user notification
29
+ - **Session management** — `/reload` to refresh config, `/resume` to switch between sessions (prefix matching supported)
28
30
  - **Persistent preferences** — Model, agent, verbose mode, permissions saved per-channel
29
31
  - **Scheduled tasks** — Recurring (cron) and one-off (datetime) tasks per channel
30
32
  - **Inter-agent communication** — Bot-to-bot messaging via `ask_agent` tool
@@ -2,15 +2,8 @@
2
2
  "platforms": {
3
3
  "mattermost": {
4
4
  "url": "https://chat.example.com",
5
-
6
- "_comment_auth": "Use ONE of: 'botToken' (single bot) OR 'bots' (multiple identities)",
7
-
8
- "botToken": "SINGLE_BOT_TOKEN",
9
-
10
- "_comment_bots": "Multi-bot example (remove 'botToken' above and rename '_bots' to 'bots'):",
11
- "_bots": {
12
- "copilot": { "token": "BOT_TOKEN_1", "admin": true },
13
- "bob": { "token": "BOT_TOKEN_2", "agent": "bob-agent" }
5
+ "bots": {
6
+ "copilot": { "token": "YOUR_BOT_TOKEN", "admin": true }
14
7
  }
15
8
  }
16
9
  },
@@ -26,21 +19,11 @@
26
19
  "triggerMode": "mention",
27
20
  "threadedReplies": true,
28
21
  "verbose": false
29
- },
30
- {
31
- "id": "another-channel-id",
32
- "platform": "mattermost",
33
- "bot": "bob",
34
- "name": "Bob's Channel",
35
- "workingDirectory": "/path/to/other-project",
36
- "model": "claude-sonnet-4.6",
37
- "triggerMode": "mention",
38
- "threadedReplies": true,
39
- "verbose": false
40
22
  }
41
23
  ],
42
24
  "defaults": {
43
25
  "model": "claude-sonnet-4.6",
26
+ "fallbackModels": [],
44
27
  "agent": null,
45
28
  "triggerMode": "mention",
46
29
  "threadedReplies": true,
@@ -855,7 +855,7 @@ export class SessionManager {
855
855
  this.eventHandler?.(session.sessionId, channelId, {
856
856
  type: 'assistant.message',
857
857
  data: {
858
- message: `⚠️ Model \`${prefs.model}\` is unavailable. Switched to \`${usedModel}\`.`,
858
+ content: `⚠️ Model \`${prefs.model}\` is unavailable. Switched to \`${usedModel}\`.`,
859
859
  },
860
860
  });
861
861
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrisromp/copilot-bridge",
3
- "version": "0.6.1-dev.14",
3
+ "version": "0.6.1-dev.15",
4
4
  "description": "Mattermost ↔ GitHub Copilot bridge",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",