@dieulc/pi-office-protocol 0.1.0 → 0.3.0

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
@@ -14,5 +14,18 @@ same format at runtime.
14
14
  - **Client → Server:** `hello`, `ping`, `tool_result`, `user_message`, `status`
15
15
  - **Server → Client:** `welcome`, `pong`, `tool_call`, `agent_message` (delta/final), `tool_activity`, `error`
16
16
 
17
- See `src/protocol.ts` for the typed shapes. Bump `BRIDGE_PROTOCOL_VERSION` on
18
- breaking changes.
17
+ ## Version & capabilities
18
+
19
+ `BRIDGE_PROTOCOL_VERSION` is bumped only on **breaking** message-shape changes.
20
+ Additive fields keep both halves compatible:
21
+
22
+ - `welcome.serverVersion?: string` — the bridge extension's package version.
23
+ - `welcome.capabilities?: BridgeCapability[]` — currently `"http-health"`,
24
+ meaning the server answers `GET /health` with JSON metadata.
25
+
26
+ Both are **optional**. An absent `capabilities` array (or absent
27
+ `serverVersion`) means the peer is a legacy 0.1.0 bridge: clients must degrade
28
+ gracefully (the live WebSocket status is still authoritative) instead of
29
+ assuming the server is unreachable.
30
+
31
+ See `src/protocol.ts` for the typed shapes.
package/package.json CHANGED
@@ -1,19 +1,29 @@
1
1
  {
2
2
  "name": "@dieulc/pi-office-protocol",
3
- "version": "0.1.0",
4
- "description": "Shared bridge wire protocol between the pi-office-bridge Pi extension and the pi-for-office task-pane add-in.",
3
+ "version": "0.3.0",
4
+ "description": "Shared bridge wire protocol + office op catalog between the pi-office-bridge Pi extension and the pi-for-office task-pane add-in.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "main": "./src/protocol.ts",
8
8
  "types": "./src/protocol.ts",
9
9
  "exports": {
10
- ".": "./src/protocol.ts"
10
+ ".": "./src/protocol.ts",
11
+ "./office-catalog": "./src/office-catalog.ts"
11
12
  },
12
- "files": ["src/protocol.ts", "README.md"],
13
+ "files": [
14
+ "src/protocol.ts",
15
+ "src/office-catalog.ts",
16
+ "README.md"
17
+ ],
13
18
  "publishConfig": {
14
19
  "access": "public"
15
20
  },
21
+ "dependencies": {
22
+ "typebox": "^1.3.10"
23
+ },
16
24
  "scripts": {
17
- "typecheck": "tsc --noEmit"
25
+ "typecheck": "tsc --noEmit",
26
+ "build": "tsc --noEmit",
27
+ "test": "node --test --experimental-strip-types tests/office-catalog.test.ts"
18
28
  }
19
- }
29
+ }