@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.
- package/dist/cli.js +129 -4
- package/dist/cli.js.map +1 -1
- package/dist/core/documents.d.ts +59 -0
- package/dist/index.cjs.js +5 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1038 -905
- package/dist/index.es.js.map +1 -1
- package/docs/ai-quickstart.md +24 -1
- package/docs/cli/mcp.md +5 -0
- package/package.json +1 -1
package/docs/ai-quickstart.md
CHANGED
|
@@ -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
|