@thatopen/services 0.28.2 → 0.29.1

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.
@@ -9,6 +9,26 @@ on the [That Open Platform](https://platform.thatopen.com) from scratch, using
9
9
 
10
10
  ---
11
11
 
12
+ > **Not building anything — here to USE an app the user has open?** If the user wants you to do
13
+ > something in an app that is already running on the platform ("make me drawings in the app I have
14
+ > open", "check this model", "count the doors"), you build nothing and install nothing but the MCP
15
+ > server. Nothing below applies past these steps:
16
+ >
17
+ > 1. **You need the `thatopen mcp` server** (section 5e below has the config to add). If your
18
+ > tools do not include `send-app-command`, tell the user to add it to their MCP client and
19
+ > restart it. You cannot add it yourself from a chat.
20
+ > 2. **Get the URL of the app tab**: `https://<platform>/dashboard/projects/<project>/apps/<app>`.
21
+ > Ask the user for it if they did not give it. Pass that URL as `project`, and the server reads
22
+ > the project and the app from it.
23
+ > 3. **Send `help` first.** Each app declares its own commands. Its `help` reply lists them and
24
+ > says how the app wants to be used, and some apps point on to a longer `guide`. That reply is
25
+ > the manual: follow it, not your guesses about the app.
26
+ > 4. Then do what was asked, one command at a time, reading every reply. `delivered: 0` means the
27
+ > app tab is not open (or needs a reload): ask the user, then retry.
28
+ >
29
+ > Phrases that mean this: *"in the app I have open"*, *"use Planner/Coordinator to…"*, *"drive
30
+ > my app"*, *"make me a set of drawings"*.
31
+
12
32
  > **Not building anything — here to work in Revit?** If what the user actually wants is to share a
13
33
  > Revit model with their team, join one a colleague uploaded, or review a change some other tool
14
34
  > proposed to their model, this is the wrong guide and nothing below applies. Go to
@@ -472,7 +492,10 @@ subscription alive) and `send-app-command` (publish a command to a running
472
492
  app — `ping`, `get-loaded-models`, or whatever the app declares — and return
473
493
  its reply). The project is named per call, by id or dashboard URL, so one MCP
474
494
  session can drive whichever project the user has open; while iterating with
475
- `thatopen serve`, `app_id` is omitted, same rule as the raw socket.
495
+ `thatopen serve`, `app_id` is omitted, same rule as the raw socket. A dashboard
496
+ URL with `/apps/<id>` in it gives the `app_id` as well, so the URL of the
497
+ user's app tab is all a call needs. To use an app rather than build one, send
498
+ it `help` first (see the box at the top of this guide).
476
499
 
477
500
  ## 6. Publish (when ready)
478
501
 
package/docs/cli/mcp.md CHANGED
@@ -35,6 +35,11 @@ to, as one external channel of kind `mcp`.
35
35
  whatever the app declares in `AppCommands`) to a running app and return its
36
36
  reply. Takes the project per call (id or dashboard URL); `app_id` is omitted
37
37
  while the app runs under `thatopen serve` and passed once it is published.
38
+ A URL with `/apps/<id>` (the user's app tab) gives the `app_id` too.
39
+
40
+ **Using an app, not building one:** send `help` first. Every app answers it
41
+ with its own commands and how it wants to be used, and that reply is the
42
+ manual the LLM follows.
38
43
 
39
44
  **The app must be open.** `delivered: 0` means no tab of that app has the
40
45
  channel joined — the LLM is told to ask the user to open or reload the app
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "access": "public"
16
16
  },
17
17
  "private": false,
18
- "version": "0.28.2",
18
+ "version": "0.29.1",
19
19
  "main": "dist/index.cjs.js",
20
20
  "module": "dist/index.es.js",
21
21
  "types": "dist/index.d.ts",