@tavora/sdk 0.2.2 → 0.2.5
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/CHANGELOG.md +12 -0
- package/README.md +1 -0
- package/dist/index.d.ts +47 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -3
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +86 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +9 -0
- package/dist/protocol.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +97 -2
- package/src/protocol.ts +65 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
What changed in `@tavora/sdk` and the bridge protocol it speaks, newest first. Before Tavora 1.0 the SDK may still change in ways that break modules; each such change raises the minor version (0.2 → 0.3) and is marked **Breaking** here. Anything else raises the patch version. To make sure players have a Tavora that knows what your module uses, set [`minTavora`](https://docs.mytavora.app/reference/manifest) in its manifest.
|
|
4
4
|
|
|
5
|
+
## 0.2.5
|
|
6
|
+
|
|
7
|
+
- `pictures.save(png, name)`: saves a PNG as a new file in the player's `Pictures\Tavora` folder, right after a click or key press in the panel; resolves with the file name it got (Tavora 0.17.19). `MIN_TAVORA` is now `0.17.19`.
|
|
8
|
+
|
|
9
|
+
## 0.2.4
|
|
10
|
+
|
|
11
|
+
- Opening another panel: `panels.open(type, { content })` opens one of the module's own panel types in the current game, right after a click or key press. Tavora brings forward a panel of that type already showing the content, else asks the one used last to switch through `panel.onNavigate(fn)` (save pending edits, then resolve; throw to refuse; 5 seconds), else opens a new one, whose `panel.getLaunch()` is `{ reason: "open", content }`. It resolves with `"shown"`, `"switched"`, `"opened"` or `"failed"`; when a switch fails, the player is offered the content in a new panel (Tavora 0.17.18). Set `minTavora` to `0.17.18` or newer when you use them.
|
|
12
|
+
|
|
13
|
+
## 0.2.3
|
|
14
|
+
|
|
15
|
+
- Content per panel: `panel.setContent({ id, title } | null)` tells Tavora what the panel shows now, such as the build picked in your toolbar. Tavora keeps it with the panel across game switches and restarts and shows the title when the player hovers the tab. `panel.getLaunch()` says why the page is loading: `{ reason: "add" }` for a panel the player just added (pick the content yourself, such as the last one used), or `{ reason: "restore", content }` for one that was open before (Tavora 0.17.17). Set `minTavora` to `0.17.17` or newer when you use them.
|
|
16
|
+
|
|
5
17
|
## 0.2.2
|
|
6
18
|
|
|
7
19
|
- `MIN_TAVORA`: the oldest Tavora that has everything this SDK version offers, for `minTavora` in your manifest.
|
package/README.md
CHANGED
|
@@ -50,6 +50,7 @@ Values you store must be JSON. Type parameters such as `get<number>()` are not c
|
|
|
50
50
|
| `tavora.ui.getLanguage()`, `onLanguageChange` | The language of Tavora's own texts (`"en"`, `"de"`). Show your module in it, or in English when you have no translation. |
|
|
51
51
|
| `tavora.blobs` | Pictures too big for a document: up to 50 MB each and 500 MB per module and game. `put` a file, show it with `url(id)`. See [Files](https://docs.mytavora.app/reference/protocol#files-blobs). |
|
|
52
52
|
| `tavora.clipboard.writeImage(png)` | Puts a PNG on the system clipboard. Call it from the click or key press that asked for it. See [Clipboard](https://docs.mytavora.app/reference/protocol#clipboard). |
|
|
53
|
+
| `tavora.pictures.save(png, name)` | Saves a PNG in the player's `Pictures\Tavora` folder and resolves with the file name. Call it from the click or key press that asked for it. See [Saving pictures](https://docs.mytavora.app/reference/protocol#saving-pictures). |
|
|
53
54
|
| `tavora.links.open(url)` | Opens a web address in the game's Browser panel, from a click or key press. |
|
|
54
55
|
| `tavora.network.fetch(url, init)` | A web request to a host listed in `permissions.network`, once the player granted it. See [Network](https://docs.mytavora.app/reference/protocol#network). |
|
|
55
56
|
| `tavora.connectors.aiUsage` | The usage of the player's Claude and Codex accounts, with the `ai-usage` connector. |
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { type AiUsageAccountInfo, type AiUsageReading, type BlobInfo, type BlobUsage, type Capability, type DiscordCommand, type DiscordCommands, type DiscordEvent, type DiscordEventName, type DiscordResult, type DiscordState, type DocumentChange, type DocumentSummary, type ErrorCode, type ErrorPayload, type HandshakeResult, type JsonValue, type MenuRequest, type NetworkRequest, type NetworkResponse, type PutDocumentParams, type TavoraDocument, type TavoraGame, type TavoraTheme, type TavoraViewport } from "./protocol.js";
|
|
2
|
-
export type { AiUsageAccountInfo, AiUsageReading, BlobInfo, BlobType, BlobUsage, Capability, DiscordCommand, DiscordCommands, DiscordEvent, DiscordEventName, DiscordResult, DiscordState, DocumentChange, DocumentSummary, ErrorCode, HandshakeResult, JsonValue, MenuEntry, MenuRequest, NetworkRequest, NetworkResponse, PutDocumentParams, TavoraDocument, TavoraGame, TavoraTheme, TavoraViewport, ThemeToken, } from "./protocol.js";
|
|
1
|
+
import { type AiUsageAccountInfo, type AiUsageReading, type BlobInfo, type BlobUsage, type Capability, type DiscordCommand, type DiscordCommands, type DiscordEvent, type DiscordEventName, type DiscordResult, type DiscordState, type DocumentChange, type DocumentSummary, type ErrorCode, type ErrorPayload, type HandshakeResult, type JsonValue, type MenuRequest, type NetworkRequest, type NetworkResponse, type PanelContent, type PanelLaunch, type PanelOpenResult, type PutDocumentParams, type TavoraDocument, type TavoraGame, type TavoraTheme, type TavoraViewport } from "./protocol.js";
|
|
2
|
+
export type { AiUsageAccountInfo, AiUsageReading, BlobInfo, BlobType, BlobUsage, Capability, DiscordCommand, DiscordCommands, DiscordEvent, DiscordEventName, DiscordResult, DiscordState, DocumentChange, DocumentSummary, ErrorCode, HandshakeResult, JsonValue, MenuEntry, MenuRequest, NetworkRequest, NetworkResponse, PanelContent, PanelLaunch, PanelOpenResult, PutDocumentParams, TavoraDocument, TavoraGame, TavoraTheme, TavoraViewport, ThemeToken, } from "./protocol.js";
|
|
3
3
|
export { BLOB_ID, BLOB_TYPES, DISCORD_COMMANDS, DISCORD_EVENTS, LIMITS, PROTOCOL_VERSION, THEME_TOKENS } from "./protocol.js";
|
|
4
4
|
/** Version of this SDK package, sent to the host during the handshake. */
|
|
5
|
-
export declare const SDK_VERSION = "0.2.
|
|
5
|
+
export declare const SDK_VERSION = "0.2.5";
|
|
6
6
|
/**
|
|
7
7
|
* The oldest Tavora that has everything this SDK version offers. Put it in your manifest as
|
|
8
8
|
* `minTavora`, so an older Tavora says it needs an update instead of loading a module it cannot run
|
|
9
9
|
* (the starter, `npm create @tavora/module`, does). The changelog names it for every version.
|
|
10
10
|
*/
|
|
11
|
-
export declare const MIN_TAVORA = "0.17.
|
|
11
|
+
export declare const MIN_TAVORA = "0.17.19";
|
|
12
12
|
export declare class TavoraError extends Error {
|
|
13
13
|
readonly code: ErrorCode;
|
|
14
14
|
/** Set for PERMISSION_DENIED. */
|
|
@@ -60,6 +60,37 @@ export interface TavoraSDK {
|
|
|
60
60
|
readonly type: string | null;
|
|
61
61
|
getState<T = JsonValue>(): Promise<T | null>;
|
|
62
62
|
setState(value: JsonValue | null): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Why this page is loading: `{ reason: "add" }` for a panel the player just added (pick its content
|
|
65
|
+
* yourself, such as the last one used, or show a picker), or `{ reason: "restore", content }` for a panel
|
|
66
|
+
* that was open before, with what it last showed. Needs Tavora 0.17.17 or newer.
|
|
67
|
+
*/
|
|
68
|
+
getLaunch(): Promise<PanelLaunch>;
|
|
69
|
+
/**
|
|
70
|
+
* Tells Tavora what this panel shows now, such as the build picked in your toolbar's selector, or null for
|
|
71
|
+
* nothing. Tavora keeps it with the panel, shows the title when the player hovers the tab, and gives it
|
|
72
|
+
* back through getLaunch after a restart. Needs Tavora 0.17.17 or newer.
|
|
73
|
+
*/
|
|
74
|
+
setContent(content: PanelContent | null): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Lets another panel of this module switch this one to other content (`panels.open`). The handler saves any
|
|
77
|
+
* pending edits and switches, then resolves; it throws (or rejects) when it cannot, and the panel keeps what it
|
|
78
|
+
* showed. It has 5 seconds. One handler per page: a new one replaces the last. Without one, Tavora opens a new
|
|
79
|
+
* panel instead of switching this one. Needs Tavora 0.17.18 or newer.
|
|
80
|
+
*/
|
|
81
|
+
onNavigate(fn: (content: PanelContent) => void | Promise<void>): Unsubscribe;
|
|
82
|
+
};
|
|
83
|
+
/** The module's other panels. */
|
|
84
|
+
panels: {
|
|
85
|
+
/**
|
|
86
|
+
* Opens one of this module's own panel types in the current game, on `content` when given. Tavora brings
|
|
87
|
+
* forward a panel of that type already showing the content, else switches the one used last
|
|
88
|
+
* (`panel.onNavigate`), else opens a new one. Call it from the click or key press that asked for it: the host
|
|
89
|
+
* refuses it otherwise (PERMISSION_DENIED). Needs Tavora 0.17.18 or newer.
|
|
90
|
+
*/
|
|
91
|
+
open(type: string, options?: {
|
|
92
|
+
content?: PanelContent;
|
|
93
|
+
}): Promise<PanelOpenResult>;
|
|
63
94
|
};
|
|
64
95
|
workspace: {
|
|
65
96
|
getViewport(): Promise<TavoraViewport>;
|
|
@@ -102,6 +133,18 @@ export interface TavoraSDK {
|
|
|
102
133
|
*/
|
|
103
134
|
writeImage(png: Blob): Promise<void>;
|
|
104
135
|
};
|
|
136
|
+
pictures: {
|
|
137
|
+
/**
|
|
138
|
+
* Saves a picture as a .png file in Tavora's folder in the player's Pictures (Pictures\Tavora), right away,
|
|
139
|
+
* without a dialog. `name` suggests the file name: Tavora makes it safe and adds " (2)" and so on rather than
|
|
140
|
+
* replace a file. Resolves with the name it was saved under; the module never learns where the folder is.
|
|
141
|
+
* Call it from the click or key press that asked for it: the host refuses it otherwise (PERMISSION_DENIED), and
|
|
142
|
+
* one press saves one picture. The same PNG limits as clipboard.writeImage apply.
|
|
143
|
+
*/
|
|
144
|
+
save(png: Blob, name?: string): Promise<{
|
|
145
|
+
fileName: string;
|
|
146
|
+
}>;
|
|
147
|
+
};
|
|
105
148
|
links: {
|
|
106
149
|
/**
|
|
107
150
|
* Opens a web address (http or https) in a Browser panel of this game, as a new tab or in a new
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,YAAY,EAGjB,KAAK,eAAe,EAEpB,KAAK,SAAS,EACd,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK9H,0EAA0E;AAC1E,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5C,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,OAAO,EAAE,YAAY;CAOlC;AAED,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAE9B,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,IAAI,EAAE;QACJ,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;KACnC,CAAC;IACF,4EAA4E;IAC5E,OAAO,EAAE,aAAa,GAAG;QACvB,yFAAyF;QACzF,GAAG,EAAE,aAAa,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,SAAS,EAAE;QACT,IAAI,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,cAAc,GAAG;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/E,mGAAmG;QACnG,GAAG,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACrE,kEAAkE;QAClE,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,WAAW,CAAC;KAC7D,CAAC;IACF,mGAAmG;IACnG,KAAK,EAAE;QACL,yHAAyH;QACzH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,QAAQ,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD;;;;WAIG;QACH,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC;;;;WAIG;QACH,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD;;;;;WAKG;QACH,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;KAC9E,CAAC;IACF,iCAAiC;IACjC,MAAM,EAAE;QACN;;;;;WAKG;QACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,YAAY,CAAA;SAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KACpF,CAAC;IACF,SAAS,EAAE;QACT,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;QACvC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,GAAG,WAAW,CAAC;KAC/D,CAAC;IACF,EAAE,EAAE;QACF,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,WAAW,CAAC;QAC7D,gJAAgJ;QAChJ,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,kDAAkD;QAClD,gBAAgB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC;QAC9D;;;;WAIG;QACH,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KACxD,CAAC;IACF;;;;OAIG;IACH,KAAK,EAAE;QACL,iHAAiH;QACjH,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,8EAA8E;QAC9E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5B,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,8DAA8D;QAC9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,CAAC;IACF,SAAS,EAAE;QACT;;;;WAIG;QACH,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE;QACR;;;;;;WAMG;QACH,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/D,CAAC;IACF,KAAK,EAAE;QACL;;;;WAIG;QACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAClC,CAAC;IACF,OAAO,EAAE;QACP;;;;WAIG;QACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAClF,CAAC;IACF,8KAA8K;IAC9K,UAAU,EAAE;QACV,sHAAsH;QACtH,OAAO,EAAE;YACP,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC1C,gHAAgH;YAChH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YACjD,iEAAiE;YACjE,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;SAC/C,CAAC;QACF;;;WAGG;QACH,OAAO,EAAE;YACP,mEAAmE;YACnE,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/B,aAAa,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW,CAAC;YAC9D,0GAA0G;YAC1G,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,gIAAgI;YAChI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,sKAAsK;YACtK,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YAChG,gJAAgJ;YAChJ,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACtE,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACxE,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW,CAAC;YACxD,iHAAiH;YACjH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAC5C,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,iGAAiG;QACjG,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;QACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;QACtC,iEAAiE;QACjE,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAQxE"}
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
// @tavora/sdk: thin typed client for modules running inside Tavora Desktop.
|
|
2
2
|
// The host enforces every check; this package only marshals typed calls.
|
|
3
3
|
// Protocol reference: apps/docs/reference/protocol.md.
|
|
4
|
-
import { BLOB_PATH, CLIPBOARD_PATH, HELLO_MESSAGE, LIMITS, PORT_MESSAGE, PROTOCOL_VERSION, } from "./protocol.js";
|
|
4
|
+
import { BLOB_PATH, CLIPBOARD_PATH, PICTURES_PATH, HELLO_MESSAGE, LIMITS, PORT_MESSAGE, PROTOCOL_VERSION, } from "./protocol.js";
|
|
5
5
|
export { BLOB_ID, BLOB_TYPES, DISCORD_COMMANDS, DISCORD_EVENTS, LIMITS, PROTOCOL_VERSION, THEME_TOKENS } from "./protocol.js";
|
|
6
6
|
/** How long a menu may stay open; the host closes it itself when its panel goes. */
|
|
7
7
|
const MENU_TIMEOUT_MS = 60 * 60_000;
|
|
8
8
|
/** Version of this SDK package, sent to the host during the handshake. */
|
|
9
|
-
export const SDK_VERSION = "0.2.
|
|
9
|
+
export const SDK_VERSION = "0.2.5";
|
|
10
10
|
/**
|
|
11
11
|
* The oldest Tavora that has everything this SDK version offers. Put it in your manifest as
|
|
12
12
|
* `minTavora`, so an older Tavora says it needs an update instead of loading a module it cannot run
|
|
13
13
|
* (the starter, `npm create @tavora/module`, does). The changelog names it for every version.
|
|
14
14
|
*/
|
|
15
|
-
export const MIN_TAVORA = "0.17.
|
|
15
|
+
export const MIN_TAVORA = "0.17.19";
|
|
16
16
|
export class TavoraError extends Error {
|
|
17
17
|
code;
|
|
18
18
|
/** Set for PERMISSION_DENIED. */
|
|
@@ -126,6 +126,24 @@ async function createClient(port, requestTimeoutMs) {
|
|
|
126
126
|
return () => set.delete(listener);
|
|
127
127
|
}
|
|
128
128
|
const host = await call("bridge.handshake", { protocol: PROTOCOL_VERSION, sdkVersion: SDK_VERSION });
|
|
129
|
+
// panel.onNavigate: Tavora asks, the handler saves and switches, and the answer says how it went.
|
|
130
|
+
let navigate = null;
|
|
131
|
+
on("panel.navigate", ({ requestId, content }) => {
|
|
132
|
+
const handler = navigate;
|
|
133
|
+
void (async () => {
|
|
134
|
+
let ok = false;
|
|
135
|
+
if (handler) {
|
|
136
|
+
try {
|
|
137
|
+
await handler(content);
|
|
138
|
+
ok = true;
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
console.error("[tavora] panel.onNavigate handler failed", error);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
await call("panel.navigated", { requestId, handled: handler !== null, ok }).catch(() => { });
|
|
145
|
+
})();
|
|
146
|
+
});
|
|
129
147
|
return {
|
|
130
148
|
host,
|
|
131
149
|
game: {
|
|
@@ -166,6 +184,21 @@ async function createClient(port, requestTimeoutMs) {
|
|
|
166
184
|
setState: async (value) => {
|
|
167
185
|
await call("panel.setState", { value });
|
|
168
186
|
},
|
|
187
|
+
getLaunch: () => call("panel.getLaunch"),
|
|
188
|
+
setContent: async (content) => {
|
|
189
|
+
await call("panel.setContent", { content });
|
|
190
|
+
},
|
|
191
|
+
onNavigate: (fn) => {
|
|
192
|
+
navigate = fn;
|
|
193
|
+
return () => {
|
|
194
|
+
if (navigate === fn)
|
|
195
|
+
navigate = null;
|
|
196
|
+
};
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
panels: {
|
|
200
|
+
// Tavora may wait for another panel to save first.
|
|
201
|
+
open: (type, options = {}) => call("panels.open", { type, ...(options.content ? { content: options.content } : {}) }, LIMITS.navigateTimeoutMs + 5_000),
|
|
169
202
|
},
|
|
170
203
|
workspace: {
|
|
171
204
|
getViewport: () => call("workspace.getViewport"),
|
|
@@ -222,6 +255,26 @@ async function createClient(port, requestTimeoutMs) {
|
|
|
222
255
|
throw new TavoraError(body?.error ?? { code: "INTERNAL", message: `could not copy the picture (${response.status})` });
|
|
223
256
|
},
|
|
224
257
|
},
|
|
258
|
+
pictures: {
|
|
259
|
+
save: async (png, name = "") => {
|
|
260
|
+
if (png.type !== "image/png")
|
|
261
|
+
throw new TavoraError({ code: "INVALID_PARAMS", message: "only a PNG picture can be saved" });
|
|
262
|
+
const address = new URL(PICTURES_PATH, window.location.href);
|
|
263
|
+
if (name)
|
|
264
|
+
address.searchParams.set("name", name);
|
|
265
|
+
let response;
|
|
266
|
+
try {
|
|
267
|
+
response = await fetch(address, { method: "POST", body: png, headers: { "Content-Type": "image/png" } });
|
|
268
|
+
}
|
|
269
|
+
catch {
|
|
270
|
+
throw new TavoraError({ code: "INTERNAL", message: "could not save the picture" });
|
|
271
|
+
}
|
|
272
|
+
const body = (await response.json().catch(() => null));
|
|
273
|
+
if (response.ok && typeof body?.fileName === "string")
|
|
274
|
+
return { fileName: body.fileName };
|
|
275
|
+
throw new TavoraError(body?.error ?? { code: "INTERNAL", message: `could not save the picture (${response.status})` });
|
|
276
|
+
},
|
|
277
|
+
},
|
|
225
278
|
links: {
|
|
226
279
|
open: async (url) => {
|
|
227
280
|
await call("links.open", { url });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -57,6 +57,46 @@ export interface HandshakeResult {
|
|
|
57
57
|
type: string | null;
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* What a panel shows, as the module names it: a build, a character, a run, a document. Tavora keeps it
|
|
62
|
+
* with the panel and shows the title when the player hovers the panel's tab.
|
|
63
|
+
*/
|
|
64
|
+
export interface PanelContent {
|
|
65
|
+
/** The module's own id for it, at most 200 characters. */
|
|
66
|
+
id: string;
|
|
67
|
+
/** Its full name, at most 200 characters on one line. */
|
|
68
|
+
title: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Why this page of the panel is loading.
|
|
72
|
+
* - `add`: the player just added the panel. Pick the content yourself, such as the last one used, or show a picker.
|
|
73
|
+
* - `restore`: the panel was open before (a restart, a game switch back, a reload). `content` is what it last
|
|
74
|
+
* showed through `panel.setContent`, or null.
|
|
75
|
+
* - `open`: another panel of this module opened it with `panels.open`. Show `content`, or pick yourself when it is null.
|
|
76
|
+
*/
|
|
77
|
+
export type PanelLaunch = {
|
|
78
|
+
reason: "add";
|
|
79
|
+
} | {
|
|
80
|
+
reason: "restore";
|
|
81
|
+
content: PanelContent | null;
|
|
82
|
+
} | {
|
|
83
|
+
reason: "open";
|
|
84
|
+
content: PanelContent | null;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* What `panels.open` did.
|
|
88
|
+
* - `shown`: a panel of that type already showed the content (or none was asked for), and Tavora brought it to the front.
|
|
89
|
+
* - `switched`: an open panel of that type switched to the content (its `panel.onNavigate` handler succeeded).
|
|
90
|
+
* - `opened`: Tavora opened a new panel of that type.
|
|
91
|
+
* - `failed`: the panel that should switch could not save or did not answer in time. It keeps what it showed, and
|
|
92
|
+
* Tavora offers the player to open the content in a new panel.
|
|
93
|
+
*/
|
|
94
|
+
export type PanelOpenResult = "shown" | "switched" | "opened" | "failed";
|
|
95
|
+
/** Tavora asks this panel to show other content (the `panel.navigate` event); answer with `panel.navigated`. */
|
|
96
|
+
export interface PanelNavigateRequest {
|
|
97
|
+
requestId: number;
|
|
98
|
+
content: PanelContent;
|
|
99
|
+
}
|
|
60
100
|
export interface DocumentSummary {
|
|
61
101
|
id: string;
|
|
62
102
|
title: string;
|
|
@@ -330,6 +370,41 @@ export interface Methods {
|
|
|
330
370
|
};
|
|
331
371
|
result: null;
|
|
332
372
|
};
|
|
373
|
+
/** Why this page is loading; the same answer for every call until the page loads again. Tavora 0.17.17 and newer. */
|
|
374
|
+
"panel.getLaunch": {
|
|
375
|
+
params: undefined;
|
|
376
|
+
result: PanelLaunch;
|
|
377
|
+
};
|
|
378
|
+
/** What the panel shows now, or null for nothing. Tavora 0.17.17 and newer. */
|
|
379
|
+
"panel.setContent": {
|
|
380
|
+
params: {
|
|
381
|
+
content: PanelContent | null;
|
|
382
|
+
};
|
|
383
|
+
result: null;
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* The answer to a `panel.navigate` event: `handled` is false when the page takes no navigation (no handler), `ok`
|
|
387
|
+
* whether it now shows the content. Tavora 0.17.18 and newer.
|
|
388
|
+
*/
|
|
389
|
+
"panel.navigated": {
|
|
390
|
+
params: {
|
|
391
|
+
requestId: number;
|
|
392
|
+
handled: boolean;
|
|
393
|
+
ok: boolean;
|
|
394
|
+
};
|
|
395
|
+
result: null;
|
|
396
|
+
};
|
|
397
|
+
/**
|
|
398
|
+
* Opens one of this module's own panel types in the current game, optionally on some content. Only right after a
|
|
399
|
+
* click or key press in the panel, once per click. Tavora 0.17.18 and newer.
|
|
400
|
+
*/
|
|
401
|
+
"panels.open": {
|
|
402
|
+
params: {
|
|
403
|
+
type: string;
|
|
404
|
+
content?: PanelContent;
|
|
405
|
+
};
|
|
406
|
+
result: PanelOpenResult;
|
|
407
|
+
};
|
|
333
408
|
"workspace.getViewport": {
|
|
334
409
|
params: undefined;
|
|
335
410
|
result: TavoraViewport;
|
|
@@ -447,6 +522,8 @@ export interface Events {
|
|
|
447
522
|
"discord.state": DiscordState;
|
|
448
523
|
/** A Discord event this panel subscribed to. Only with capability `discord`. */
|
|
449
524
|
"discord.event": DiscordEvent;
|
|
525
|
+
/** Another panel of this module asked this one to show other content; answer with `panel.navigated` within navigateTimeoutMs. */
|
|
526
|
+
"panel.navigate": PanelNavigateRequest;
|
|
450
527
|
"lifecycle.suspend": null;
|
|
451
528
|
"lifecycle.resume": null;
|
|
452
529
|
"lifecycle.dispose": null;
|
|
@@ -522,6 +599,10 @@ export declare const LIMITS: {
|
|
|
522
599
|
readonly maxDocumentsBytes: number;
|
|
523
600
|
readonly maxDocuments: 1000;
|
|
524
601
|
readonly maxTitleLength: 200;
|
|
602
|
+
/** A panel content's id (panel.setContent); its title has maxTitleLength. */
|
|
603
|
+
readonly maxContentIdLength: 200;
|
|
604
|
+
/** How long a panel has to save and switch after a panel.navigate event before Tavora counts it as failed. */
|
|
605
|
+
readonly navigateTimeoutMs: 5000;
|
|
525
606
|
/** UI state for one panel. */
|
|
526
607
|
readonly maxPanelStateBytes: number;
|
|
527
608
|
/** One stored file (see Blobs). */
|
|
@@ -635,6 +716,11 @@ export declare const BLOB_PATH = "/_blobs/";
|
|
|
635
716
|
export declare const BLOB_ID: RegExp;
|
|
636
717
|
/** POST a PNG here, from the module's own page, to put it on the clipboard (see clipboard.writeImage). */
|
|
637
718
|
export declare const CLIPBOARD_PATH = "/_clipboard/";
|
|
719
|
+
/**
|
|
720
|
+
* POST a PNG here, from the module's own page, to save it as a file in Tavora's folder in the player's Pictures
|
|
721
|
+
* (see pictures.save). `?name=` suggests the file name; the answer is `{ fileName }`, the name it was saved under.
|
|
722
|
+
*/
|
|
723
|
+
export declare const PICTURES_PATH = "/_pictures/";
|
|
638
724
|
/** Document ids: host-generated UUIDs or module-chosen slugs. */
|
|
639
725
|
export declare const DOCUMENT_ID: RegExp;
|
|
640
726
|
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
CHANGED
|
@@ -74,6 +74,10 @@ export const LIMITS = {
|
|
|
74
74
|
maxDocumentsBytes: 50 * 1024 * 1024,
|
|
75
75
|
maxDocuments: 1000,
|
|
76
76
|
maxTitleLength: 200,
|
|
77
|
+
/** A panel content's id (panel.setContent); its title has maxTitleLength. */
|
|
78
|
+
maxContentIdLength: 200,
|
|
79
|
+
/** How long a panel has to save and switch after a panel.navigate event before Tavora counts it as failed. */
|
|
80
|
+
navigateTimeoutMs: 5_000,
|
|
77
81
|
/** UI state for one panel. */
|
|
78
82
|
maxPanelStateBytes: 256 * 1024,
|
|
79
83
|
/** One stored file (see Blobs). */
|
|
@@ -118,6 +122,11 @@ export const BLOB_PATH = "/_blobs/";
|
|
|
118
122
|
export const BLOB_ID = /^[a-f0-9]{32}$/;
|
|
119
123
|
/** POST a PNG here, from the module's own page, to put it on the clipboard (see clipboard.writeImage). */
|
|
120
124
|
export const CLIPBOARD_PATH = "/_clipboard/";
|
|
125
|
+
/**
|
|
126
|
+
* POST a PNG here, from the module's own page, to save it as a file in Tavora's folder in the player's Pictures
|
|
127
|
+
* (see pictures.save). `?name=` suggests the file name; the answer is `{ fileName }`, the name it was saved under.
|
|
128
|
+
*/
|
|
129
|
+
export const PICTURES_PATH = "/_pictures/";
|
|
121
130
|
/** Document ids: host-generated UUIDs or module-chosen slugs. */
|
|
122
131
|
export const DOCUMENT_ID = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;
|
|
123
132
|
//# sourceMappingURL=protocol.js.map
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6DAA6D;AAC7D,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AAEtE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAC5C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAgC1C,iEAAiE;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,iBAAiB;IACjB,SAAS;IACT,oBAAoB;IACpB,SAAS;IACT,eAAe;IACf,oBAAoB;IACpB,WAAW;IACX,sBAAsB;IACtB,OAAO;IACP,kBAAkB;IAClB,QAAQ;IACR,mBAAmB;IACnB,aAAa;IACb,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;CACE,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import {
|
|
6
6
|
BLOB_PATH,
|
|
7
7
|
CLIPBOARD_PATH,
|
|
8
|
+
PICTURES_PATH,
|
|
8
9
|
HELLO_MESSAGE,
|
|
9
10
|
LIMITS,
|
|
10
11
|
PORT_MESSAGE,
|
|
@@ -34,6 +35,9 @@ import {
|
|
|
34
35
|
type Methods,
|
|
35
36
|
type NetworkRequest,
|
|
36
37
|
type NetworkResponse,
|
|
38
|
+
type PanelContent,
|
|
39
|
+
type PanelLaunch,
|
|
40
|
+
type PanelOpenResult,
|
|
37
41
|
type PutDocumentParams,
|
|
38
42
|
type TavoraDocument,
|
|
39
43
|
type TavoraGame,
|
|
@@ -63,6 +67,9 @@ export type {
|
|
|
63
67
|
MenuRequest,
|
|
64
68
|
NetworkRequest,
|
|
65
69
|
NetworkResponse,
|
|
70
|
+
PanelContent,
|
|
71
|
+
PanelLaunch,
|
|
72
|
+
PanelOpenResult,
|
|
66
73
|
PutDocumentParams,
|
|
67
74
|
TavoraDocument,
|
|
68
75
|
TavoraGame,
|
|
@@ -76,14 +83,14 @@ export { BLOB_ID, BLOB_TYPES, DISCORD_COMMANDS, DISCORD_EVENTS, LIMITS, PROTOCOL
|
|
|
76
83
|
const MENU_TIMEOUT_MS = 60 * 60_000;
|
|
77
84
|
|
|
78
85
|
/** Version of this SDK package, sent to the host during the handshake. */
|
|
79
|
-
export const SDK_VERSION = "0.2.
|
|
86
|
+
export const SDK_VERSION = "0.2.5";
|
|
80
87
|
|
|
81
88
|
/**
|
|
82
89
|
* The oldest Tavora that has everything this SDK version offers. Put it in your manifest as
|
|
83
90
|
* `minTavora`, so an older Tavora says it needs an update instead of loading a module it cannot run
|
|
84
91
|
* (the starter, `npm create @tavora/module`, does). The changelog names it for every version.
|
|
85
92
|
*/
|
|
86
|
-
export const MIN_TAVORA = "0.17.
|
|
93
|
+
export const MIN_TAVORA = "0.17.19";
|
|
87
94
|
|
|
88
95
|
export class TavoraError extends Error {
|
|
89
96
|
readonly code: ErrorCode;
|
|
@@ -142,6 +149,35 @@ export interface TavoraSDK {
|
|
|
142
149
|
readonly type: string | null;
|
|
143
150
|
getState<T = JsonValue>(): Promise<T | null>;
|
|
144
151
|
setState(value: JsonValue | null): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Why this page is loading: `{ reason: "add" }` for a panel the player just added (pick its content
|
|
154
|
+
* yourself, such as the last one used, or show a picker), or `{ reason: "restore", content }` for a panel
|
|
155
|
+
* that was open before, with what it last showed. Needs Tavora 0.17.17 or newer.
|
|
156
|
+
*/
|
|
157
|
+
getLaunch(): Promise<PanelLaunch>;
|
|
158
|
+
/**
|
|
159
|
+
* Tells Tavora what this panel shows now, such as the build picked in your toolbar's selector, or null for
|
|
160
|
+
* nothing. Tavora keeps it with the panel, shows the title when the player hovers the tab, and gives it
|
|
161
|
+
* back through getLaunch after a restart. Needs Tavora 0.17.17 or newer.
|
|
162
|
+
*/
|
|
163
|
+
setContent(content: PanelContent | null): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Lets another panel of this module switch this one to other content (`panels.open`). The handler saves any
|
|
166
|
+
* pending edits and switches, then resolves; it throws (or rejects) when it cannot, and the panel keeps what it
|
|
167
|
+
* showed. It has 5 seconds. One handler per page: a new one replaces the last. Without one, Tavora opens a new
|
|
168
|
+
* panel instead of switching this one. Needs Tavora 0.17.18 or newer.
|
|
169
|
+
*/
|
|
170
|
+
onNavigate(fn: (content: PanelContent) => void | Promise<void>): Unsubscribe;
|
|
171
|
+
};
|
|
172
|
+
/** The module's other panels. */
|
|
173
|
+
panels: {
|
|
174
|
+
/**
|
|
175
|
+
* Opens one of this module's own panel types in the current game, on `content` when given. Tavora brings
|
|
176
|
+
* forward a panel of that type already showing the content, else switches the one used last
|
|
177
|
+
* (`panel.onNavigate`), else opens a new one. Call it from the click or key press that asked for it: the host
|
|
178
|
+
* refuses it otherwise (PERMISSION_DENIED). Needs Tavora 0.17.18 or newer.
|
|
179
|
+
*/
|
|
180
|
+
open(type: string, options?: { content?: PanelContent }): Promise<PanelOpenResult>;
|
|
145
181
|
};
|
|
146
182
|
workspace: {
|
|
147
183
|
getViewport(): Promise<TavoraViewport>;
|
|
@@ -184,6 +220,16 @@ export interface TavoraSDK {
|
|
|
184
220
|
*/
|
|
185
221
|
writeImage(png: Blob): Promise<void>;
|
|
186
222
|
};
|
|
223
|
+
pictures: {
|
|
224
|
+
/**
|
|
225
|
+
* Saves a picture as a .png file in Tavora's folder in the player's Pictures (Pictures\Tavora), right away,
|
|
226
|
+
* without a dialog. `name` suggests the file name: Tavora makes it safe and adds " (2)" and so on rather than
|
|
227
|
+
* replace a file. Resolves with the name it was saved under; the module never learns where the folder is.
|
|
228
|
+
* Call it from the click or key press that asked for it: the host refuses it otherwise (PERMISSION_DENIED), and
|
|
229
|
+
* one press saves one picture. The same PNG limits as clipboard.writeImage apply.
|
|
230
|
+
*/
|
|
231
|
+
save(png: Blob, name?: string): Promise<{ fileName: string }>;
|
|
232
|
+
};
|
|
187
233
|
links: {
|
|
188
234
|
/**
|
|
189
235
|
* Opens a web address (http or https) in a Browser panel of this game, as a new tab or in a new
|
|
@@ -354,6 +400,24 @@ async function createClient(port: MessagePort, requestTimeoutMs: number): Promis
|
|
|
354
400
|
|
|
355
401
|
const host = await call("bridge.handshake", { protocol: PROTOCOL_VERSION, sdkVersion: SDK_VERSION });
|
|
356
402
|
|
|
403
|
+
// panel.onNavigate: Tavora asks, the handler saves and switches, and the answer says how it went.
|
|
404
|
+
let navigate: ((content: PanelContent) => void | Promise<void>) | null = null;
|
|
405
|
+
on("panel.navigate", ({ requestId, content }) => {
|
|
406
|
+
const handler = navigate;
|
|
407
|
+
void (async () => {
|
|
408
|
+
let ok = false;
|
|
409
|
+
if (handler) {
|
|
410
|
+
try {
|
|
411
|
+
await handler(content);
|
|
412
|
+
ok = true;
|
|
413
|
+
} catch (error) {
|
|
414
|
+
console.error("[tavora] panel.onNavigate handler failed", error);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
await call("panel.navigated", { requestId, handled: handler !== null, ok }).catch(() => {});
|
|
418
|
+
})();
|
|
419
|
+
});
|
|
420
|
+
|
|
357
421
|
return {
|
|
358
422
|
host,
|
|
359
423
|
game: {
|
|
@@ -395,6 +459,21 @@ async function createClient(port: MessagePort, requestTimeoutMs: number): Promis
|
|
|
395
459
|
setState: async (value) => {
|
|
396
460
|
await call("panel.setState", { value });
|
|
397
461
|
},
|
|
462
|
+
getLaunch: () => call("panel.getLaunch"),
|
|
463
|
+
setContent: async (content) => {
|
|
464
|
+
await call("panel.setContent", { content });
|
|
465
|
+
},
|
|
466
|
+
onNavigate: (fn) => {
|
|
467
|
+
navigate = fn;
|
|
468
|
+
return () => {
|
|
469
|
+
if (navigate === fn) navigate = null;
|
|
470
|
+
};
|
|
471
|
+
},
|
|
472
|
+
},
|
|
473
|
+
panels: {
|
|
474
|
+
// Tavora may wait for another panel to save first.
|
|
475
|
+
open: (type, options = {}) =>
|
|
476
|
+
call("panels.open", { type, ...(options.content ? { content: options.content } : {}) }, LIMITS.navigateTimeoutMs + 5_000),
|
|
398
477
|
},
|
|
399
478
|
workspace: {
|
|
400
479
|
getViewport: () => call("workspace.getViewport"),
|
|
@@ -447,6 +526,22 @@ async function createClient(port: MessagePort, requestTimeoutMs: number): Promis
|
|
|
447
526
|
throw new TavoraError(body?.error ?? { code: "INTERNAL", message: `could not copy the picture (${response.status})` });
|
|
448
527
|
},
|
|
449
528
|
},
|
|
529
|
+
pictures: {
|
|
530
|
+
save: async (png, name = "") => {
|
|
531
|
+
if (png.type !== "image/png") throw new TavoraError({ code: "INVALID_PARAMS", message: "only a PNG picture can be saved" });
|
|
532
|
+
const address = new URL(PICTURES_PATH, window.location.href);
|
|
533
|
+
if (name) address.searchParams.set("name", name);
|
|
534
|
+
let response: Response;
|
|
535
|
+
try {
|
|
536
|
+
response = await fetch(address, { method: "POST", body: png, headers: { "Content-Type": "image/png" } });
|
|
537
|
+
} catch {
|
|
538
|
+
throw new TavoraError({ code: "INTERNAL", message: "could not save the picture" });
|
|
539
|
+
}
|
|
540
|
+
const body = (await response.json().catch(() => null)) as { fileName?: string; error?: ErrorPayload } | null;
|
|
541
|
+
if (response.ok && typeof body?.fileName === "string") return { fileName: body.fileName };
|
|
542
|
+
throw new TavoraError(body?.error ?? { code: "INTERNAL", message: `could not save the picture (${response.status})` });
|
|
543
|
+
},
|
|
544
|
+
},
|
|
450
545
|
links: {
|
|
451
546
|
open: async (url) => {
|
|
452
547
|
await call("links.open", { url });
|
package/src/protocol.ts
CHANGED
|
@@ -86,6 +86,45 @@ export interface HandshakeResult {
|
|
|
86
86
|
panel?: { type: string | null };
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
/**
|
|
90
|
+
* What a panel shows, as the module names it: a build, a character, a run, a document. Tavora keeps it
|
|
91
|
+
* with the panel and shows the title when the player hovers the panel's tab.
|
|
92
|
+
*/
|
|
93
|
+
export interface PanelContent {
|
|
94
|
+
/** The module's own id for it, at most 200 characters. */
|
|
95
|
+
id: string;
|
|
96
|
+
/** Its full name, at most 200 characters on one line. */
|
|
97
|
+
title: string;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Why this page of the panel is loading.
|
|
102
|
+
* - `add`: the player just added the panel. Pick the content yourself, such as the last one used, or show a picker.
|
|
103
|
+
* - `restore`: the panel was open before (a restart, a game switch back, a reload). `content` is what it last
|
|
104
|
+
* showed through `panel.setContent`, or null.
|
|
105
|
+
* - `open`: another panel of this module opened it with `panels.open`. Show `content`, or pick yourself when it is null.
|
|
106
|
+
*/
|
|
107
|
+
export type PanelLaunch =
|
|
108
|
+
| { reason: "add" }
|
|
109
|
+
| { reason: "restore"; content: PanelContent | null }
|
|
110
|
+
| { reason: "open"; content: PanelContent | null };
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* What `panels.open` did.
|
|
114
|
+
* - `shown`: a panel of that type already showed the content (or none was asked for), and Tavora brought it to the front.
|
|
115
|
+
* - `switched`: an open panel of that type switched to the content (its `panel.onNavigate` handler succeeded).
|
|
116
|
+
* - `opened`: Tavora opened a new panel of that type.
|
|
117
|
+
* - `failed`: the panel that should switch could not save or did not answer in time. It keeps what it showed, and
|
|
118
|
+
* Tavora offers the player to open the content in a new panel.
|
|
119
|
+
*/
|
|
120
|
+
export type PanelOpenResult = "shown" | "switched" | "opened" | "failed";
|
|
121
|
+
|
|
122
|
+
/** Tavora asks this panel to show other content (the `panel.navigate` event); answer with `panel.navigated`. */
|
|
123
|
+
export interface PanelNavigateRequest {
|
|
124
|
+
requestId: number;
|
|
125
|
+
content: PanelContent;
|
|
126
|
+
}
|
|
127
|
+
|
|
89
128
|
export interface DocumentSummary {
|
|
90
129
|
id: string;
|
|
91
130
|
title: string;
|
|
@@ -287,6 +326,20 @@ export interface Methods {
|
|
|
287
326
|
"documents.delete": { params: { id: string; ifRevision?: number }; result: null };
|
|
288
327
|
"panel.getState": { params: undefined; result: JsonValue | null };
|
|
289
328
|
"panel.setState": { params: { value: JsonValue | null }; result: null };
|
|
329
|
+
/** Why this page is loading; the same answer for every call until the page loads again. Tavora 0.17.17 and newer. */
|
|
330
|
+
"panel.getLaunch": { params: undefined; result: PanelLaunch };
|
|
331
|
+
/** What the panel shows now, or null for nothing. Tavora 0.17.17 and newer. */
|
|
332
|
+
"panel.setContent": { params: { content: PanelContent | null }; result: null };
|
|
333
|
+
/**
|
|
334
|
+
* The answer to a `panel.navigate` event: `handled` is false when the page takes no navigation (no handler), `ok`
|
|
335
|
+
* whether it now shows the content. Tavora 0.17.18 and newer.
|
|
336
|
+
*/
|
|
337
|
+
"panel.navigated": { params: { requestId: number; handled: boolean; ok: boolean }; result: null };
|
|
338
|
+
/**
|
|
339
|
+
* Opens one of this module's own panel types in the current game, optionally on some content. Only right after a
|
|
340
|
+
* click or key press in the panel, once per click. Tavora 0.17.18 and newer.
|
|
341
|
+
*/
|
|
342
|
+
"panels.open": { params: { type: string; content?: PanelContent }; result: PanelOpenResult };
|
|
290
343
|
"workspace.getViewport": { params: undefined; result: TavoraViewport };
|
|
291
344
|
"ui.getTheme": { params: undefined; result: TavoraTheme };
|
|
292
345
|
/** The language of Tavora's own texts, as a code such as "en" or "de". */
|
|
@@ -344,6 +397,8 @@ export interface Events {
|
|
|
344
397
|
"discord.state": DiscordState;
|
|
345
398
|
/** A Discord event this panel subscribed to. Only with capability `discord`. */
|
|
346
399
|
"discord.event": DiscordEvent;
|
|
400
|
+
/** Another panel of this module asked this one to show other content; answer with `panel.navigated` within navigateTimeoutMs. */
|
|
401
|
+
"panel.navigate": PanelNavigateRequest;
|
|
347
402
|
"lifecycle.suspend": null;
|
|
348
403
|
"lifecycle.resume": null;
|
|
349
404
|
"lifecycle.dispose": null;
|
|
@@ -420,6 +475,10 @@ export const LIMITS = {
|
|
|
420
475
|
maxDocumentsBytes: 50 * 1024 * 1024,
|
|
421
476
|
maxDocuments: 1000,
|
|
422
477
|
maxTitleLength: 200,
|
|
478
|
+
/** A panel content's id (panel.setContent); its title has maxTitleLength. */
|
|
479
|
+
maxContentIdLength: 200,
|
|
480
|
+
/** How long a panel has to save and switch after a panel.navigate event before Tavora counts it as failed. */
|
|
481
|
+
navigateTimeoutMs: 5_000,
|
|
423
482
|
/** UI state for one panel. */
|
|
424
483
|
maxPanelStateBytes: 256 * 1024,
|
|
425
484
|
/** One stored file (see Blobs). */
|
|
@@ -535,5 +594,11 @@ export const BLOB_ID = /^[a-f0-9]{32}$/;
|
|
|
535
594
|
/** POST a PNG here, from the module's own page, to put it on the clipboard (see clipboard.writeImage). */
|
|
536
595
|
export const CLIPBOARD_PATH = "/_clipboard/";
|
|
537
596
|
|
|
597
|
+
/**
|
|
598
|
+
* POST a PNG here, from the module's own page, to save it as a file in Tavora's folder in the player's Pictures
|
|
599
|
+
* (see pictures.save). `?name=` suggests the file name; the answer is `{ fileName }`, the name it was saved under.
|
|
600
|
+
*/
|
|
601
|
+
export const PICTURES_PATH = "/_pictures/";
|
|
602
|
+
|
|
538
603
|
/** Document ids: host-generated UUIDs or module-chosen slugs. */
|
|
539
604
|
export const DOCUMENT_ID = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;
|