mandala-computer-mcp 0.1.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/LICENSE +21 -0
- package/README.md +544 -0
- package/dist/api.d.ts +186 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +932 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.d.ts +55 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +292 -0
- package/dist/cli.js.map +1 -0
- package/dist/errors.d.ts +560 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +873 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +406 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +1679 -0
- package/dist/events.js.map +1 -0
- package/dist/format.d.ts +125 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +180 -0
- package/dist/format.js.map +1 -0
- package/dist/http.d.ts +46 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +792 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/paths.d.ts +394 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +677 -0
- package/dist/paths.js.map +1 -0
- package/dist/server.d.ts +18 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +97 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +78 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +166 -0
- package/dist/session.js.map +1 -0
- package/dist/stdio.d.ts +11 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +43 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tools/agent.d.ts +16 -0
- package/dist/tools/agent.d.ts.map +1 -0
- package/dist/tools/agent.js +147 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/computers.d.ts +3 -0
- package/dist/tools/computers.d.ts.map +1 -0
- package/dist/tools/computers.js +1037 -0
- package/dist/tools/computers.js.map +1 -0
- package/dist/tools/events.d.ts +3 -0
- package/dist/tools/events.d.ts.map +1 -0
- package/dist/tools/events.js +1077 -0
- package/dist/tools/events.js.map +1 -0
- package/dist/tools/guest.d.ts +3 -0
- package/dist/tools/guest.d.ts.map +1 -0
- package/dist/tools/guest.js +761 -0
- package/dist/tools/guest.js.map +1 -0
- package/dist/tools/input.d.ts +3 -0
- package/dist/tools/input.d.ts.map +1 -0
- package/dist/tools/input.js +240 -0
- package/dist/tools/input.js.map +1 -0
- package/dist/tools/snapshots.d.ts +3 -0
- package/dist/tools/snapshots.d.ts.map +1 -0
- package/dist/tools/snapshots.js +333 -0
- package/dist/tools/snapshots.js.map +1 -0
- package/dist/tools/templates.d.ts +3 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +492 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/types.d.ts +18 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/webhooks.d.ts +3 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +260 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/package.json +59 -0
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The library face of this package, for embedding the server rather than
|
|
3
|
+
* spawning it — a host application that already knows who the user is can build
|
|
4
|
+
* a server on their key without going through the CLI.
|
|
5
|
+
*/
|
|
6
|
+
export { Api, DEFAULT_BASE_URL, MODEL_KEY_HEADER } from './api.js';
|
|
7
|
+
export { APIError, AuthenticationError, CancelledError, ConflictError, ConnectivityError, ConnectivityInterruptedError, GatewayTimeoutError, isTransient, MandalaError, MoveRequiredError, NotFoundError, OriginResponseError, OriginTLSError, OriginUnreachableError, PermissionDeniedError, PlanLimitError, RangeNotSatisfiableError, RateLimitError, UnavailableError, } from './errors.js';
|
|
8
|
+
export { type HttpConfig, runHttp } from './http.js';
|
|
9
|
+
export { createServer, SERVER_NAME, SERVER_VERSION, type ServerConfig } from './server.js';
|
|
10
|
+
export { Session, type SessionConfig } from './session.js';
|
|
11
|
+
export { runStdio } from './stdio.js';
|
|
12
|
+
export type { ToolOptions } from './tools/types.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The library face of this package, for embedding the server rather than
|
|
3
|
+
* spawning it — a host application that already knows who the user is can build
|
|
4
|
+
* a server on their key without going through the CLI.
|
|
5
|
+
*/
|
|
6
|
+
export { Api, DEFAULT_BASE_URL, MODEL_KEY_HEADER } from './api.js';
|
|
7
|
+
export { APIError, AuthenticationError, CancelledError, ConflictError, ConnectivityError, ConnectivityInterruptedError, GatewayTimeoutError, isTransient, MandalaError, MoveRequiredError, NotFoundError, OriginResponseError, OriginTLSError, OriginUnreachableError, PermissionDeniedError, PlanLimitError, RangeNotSatisfiableError, RateLimitError, UnavailableError, } from './errors.js';
|
|
8
|
+
export { runHttp } from './http.js';
|
|
9
|
+
export { createServer, SERVER_NAME, SERVER_VERSION } from './server.js';
|
|
10
|
+
export { Session } from './session.js';
|
|
11
|
+
export { runStdio } from './stdio.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAmB,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/paths.d.ts
ADDED
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every path this server can reach, and every body it can send.
|
|
3
|
+
*
|
|
4
|
+
* Built in one place for the reason mandala-computer-python builds them in one
|
|
5
|
+
* place: the surface test pins what this server calls against the platform's
|
|
6
|
+
* `V1_ROUTES` allowlist, and a URL assembled at a call site is a URL that test
|
|
7
|
+
* cannot see. Anything absent from the allowlist is a 404 in a user's hands
|
|
8
|
+
* rather than a failure here.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TEMPLATES = "templates";
|
|
11
|
+
/** The JSON Schema for a `mandala/v1` document (platform OPL-3568). */
|
|
12
|
+
export declare const TEMPLATE_SCHEMA = "templates/schema";
|
|
13
|
+
/** Check a document without publishing it. Side-effect free, and claims no ref. */
|
|
14
|
+
export declare const TEMPLATE_VALIDATE = "templates/validate";
|
|
15
|
+
/**
|
|
16
|
+
* Every build this account has started (platform OPL-3791).
|
|
17
|
+
*
|
|
18
|
+
* A collection, like {@link MOVES} and for the same reason: a build is a job
|
|
19
|
+
* rather than a property of a computer, and it outlives the request that
|
|
20
|
+
* started it.
|
|
21
|
+
*/
|
|
22
|
+
export declare const BUILDS = "builds";
|
|
23
|
+
export declare const SIZES = "sizes";
|
|
24
|
+
export declare const COMPUTERS = "computers";
|
|
25
|
+
export declare const SNAPSHOTS = "snapshots";
|
|
26
|
+
/**
|
|
27
|
+
* Every move on the account, live and recently finished (OPL-3766).
|
|
28
|
+
*
|
|
29
|
+
* A collection and not `computers/:id/move`, which is the platform's own
|
|
30
|
+
* decision and worth knowing here: a per-computer read could not tell a computer
|
|
31
|
+
* with no move from an id that does not exist, so there is no such route. The
|
|
32
|
+
* poll filters this by `computer_id`.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MOVES = "moves";
|
|
35
|
+
/** What the account has used, over a window. Account-scoped, like {@link MOVES}. */
|
|
36
|
+
export declare const USAGE = "usage";
|
|
37
|
+
/**
|
|
38
|
+
* How long automatic snapshots are kept — the plan's retention window.
|
|
39
|
+
*
|
|
40
|
+
* Account-scoped like {@link USAGE} and {@link MOVES}, and answered by the
|
|
41
|
+
* control plane rather than by a hypervisor, so it cannot come back short the
|
|
42
|
+
* way a fleet listing can. Read-only: the plan owns retention, and there is no
|
|
43
|
+
* write on any surface.
|
|
44
|
+
*/
|
|
45
|
+
export declare const RETENTION = "retention";
|
|
46
|
+
/**
|
|
47
|
+
* The account's webhook subscriptions (platform OPL-4300; OPL-4306 here).
|
|
48
|
+
*
|
|
49
|
+
* Account-scoped like {@link USAGE}: a subscription receives events from many
|
|
50
|
+
* computers, so it belongs to the account and not to any of them. Answered by
|
|
51
|
+
* the control plane from its own tables, never by a hypervisor.
|
|
52
|
+
*/
|
|
53
|
+
export declare const WEBHOOKS = "webhooks";
|
|
54
|
+
/** The window to ask about, or undefined for the account's billing period. */
|
|
55
|
+
export declare function usageQuery(from?: string, to?: string): Record<string, string> | undefined;
|
|
56
|
+
export declare const computer: (id: string) => string;
|
|
57
|
+
/**
|
|
58
|
+
* start | stop | suspend | restart | clone | screenshot | input | exec |
|
|
59
|
+
* windows | files | snapshots | schedule | agent
|
|
60
|
+
*/
|
|
61
|
+
export declare const computerAction: (id: string, action: string) => string;
|
|
62
|
+
/** A background command's guest pid (OPL-3584). */
|
|
63
|
+
export declare const execHandle: (id: string, pid: number) => string;
|
|
64
|
+
/** One window on the desktop (OPL-3583). The id is `0x2600003`-shaped. */
|
|
65
|
+
export declare const window_: (id: string, windowId: string) => string;
|
|
66
|
+
/**
|
|
67
|
+
* One published template, by the two halves of its ref (platform OPL-3789).
|
|
68
|
+
*
|
|
69
|
+
* Two segments and not one, because that is the shape of the route: the
|
|
70
|
+
* platform reduces `templates/<a>/<b>` to `templates/:namespace/:name`, so a
|
|
71
|
+
* ref handed over whole — `acc-1/devbox@1.0.0` — would be percent-encoded into
|
|
72
|
+
* one segment and reach a route that does not exist. The version is a QUERY
|
|
73
|
+
* parameter on this path, not part of it; see {@link templateVersionQuery}.
|
|
74
|
+
*/
|
|
75
|
+
export declare const templateRef: (namespace: string, name: string) => string;
|
|
76
|
+
/**
|
|
77
|
+
* The `version` query parameter, refused when it is not a version.
|
|
78
|
+
*
|
|
79
|
+
* Absence and emptiness have to be different things here, and a model is the
|
|
80
|
+
* caller most likely to conflate them. The platform answers 400 for a version
|
|
81
|
+
* that is empty or malformed rather than defaulting, and that refusal exists
|
|
82
|
+
* because of a real defect: `?version=` read as "no version was named" and
|
|
83
|
+
* retired an entire template, irreversibly.
|
|
84
|
+
*
|
|
85
|
+
* This server cannot send that. `undefined` omits the parameter — which on a
|
|
86
|
+
* retire means EVERY version — and anything else has to be a version. A model
|
|
87
|
+
* that passes an empty string is told what a version looks like, before
|
|
88
|
+
* anything is deleted.
|
|
89
|
+
*/
|
|
90
|
+
export declare function templateVersionQuery(version?: string): Record<string, string>;
|
|
91
|
+
/**
|
|
92
|
+
* The document a publish, a validate or a build sends.
|
|
93
|
+
*
|
|
94
|
+
* Raw bytes, not a JSON envelope: the platform reads JSON or YAML off the body
|
|
95
|
+
* itself, so a wrapper would be a document the validator never sees — and one
|
|
96
|
+
* that parses, so the failure would be a complaint about the wrapper's fields.
|
|
97
|
+
*/
|
|
98
|
+
export declare function templateDocument(document: string): Uint8Array;
|
|
99
|
+
export declare const build: (id: string) => string;
|
|
100
|
+
/** progress | events */
|
|
101
|
+
export declare const buildAction: (id: string, action: string) => string;
|
|
102
|
+
/**
|
|
103
|
+
* `no_reuse`, sent only when it is asked for.
|
|
104
|
+
*
|
|
105
|
+
* Omitted rather than sent as `false`, and the reason is the documented schema
|
|
106
|
+
* rather than a claim about the parser: lib/apidoc gives this parameter
|
|
107
|
+
* `enum: ['true']`, so `true` is the only value the reference admits.
|
|
108
|
+
*
|
|
109
|
+
* This said the platform reads the key's PRESENCE, which is false —
|
|
110
|
+
* server/buildjob.go reads `Get("no_reuse") == "true"`. The request was right
|
|
111
|
+
* either way; the stated reason was not (/code-review, OPL-3835).
|
|
112
|
+
*/
|
|
113
|
+
export declare const buildQuery: (noReuse?: boolean) => Record<string, string>;
|
|
114
|
+
export declare const snapshot: (id: string) => string;
|
|
115
|
+
/** restore | clone */
|
|
116
|
+
export declare const snapshotAction: (id: string, action: string) => string;
|
|
117
|
+
type Json = Record<string, unknown>;
|
|
118
|
+
/** Drop the keys a caller did not set, rather than sending them as null.
|
|
119
|
+
*
|
|
120
|
+
* Omission is meaningful on create: the platform applies the template's
|
|
121
|
+
* defaults only where a key is absent, so an explicit null overrides a good
|
|
122
|
+
* default with nothing.
|
|
123
|
+
*/
|
|
124
|
+
export declare function omitUndefined(body: Json): Json;
|
|
125
|
+
export declare function createBody(args: {
|
|
126
|
+
name?: string;
|
|
127
|
+
size?: string;
|
|
128
|
+
template?: string;
|
|
129
|
+
cpu?: number;
|
|
130
|
+
ram_mb?: number;
|
|
131
|
+
disk_gb?: number;
|
|
132
|
+
resolution?: string;
|
|
133
|
+
start?: boolean;
|
|
134
|
+
}): Json;
|
|
135
|
+
/**
|
|
136
|
+
* The shell command that puts a URL on the guest's screen.
|
|
137
|
+
*
|
|
138
|
+
* The browser is named rather than asked for, and the reasoning is the platform
|
|
139
|
+
* SDK's: Firefox by name, not `xdg-open` or one of the other portable wrappers.
|
|
140
|
+
* Naming it keeps the choice in one place — this function is the only thing that
|
|
141
|
+
* decides which browser the guest opens, so a change of image, or of which
|
|
142
|
+
* browser we want, is a change here rather than in every prompt that ever asked
|
|
143
|
+
* for a browser.
|
|
144
|
+
*/
|
|
145
|
+
export declare function openUrlCommand(url: string): string;
|
|
146
|
+
/** POSIX single-quoting: the only characters that survive are the ones inside. */
|
|
147
|
+
export declare function shellQuote(s: string): string;
|
|
148
|
+
export declare function execBody(args: {
|
|
149
|
+
command: string;
|
|
150
|
+
timeout_s?: number;
|
|
151
|
+
desktop?: boolean;
|
|
152
|
+
background?: boolean;
|
|
153
|
+
cwd?: string;
|
|
154
|
+
env?: Record<string, string>;
|
|
155
|
+
}): Json;
|
|
156
|
+
/**
|
|
157
|
+
* The environment for one command, refused here rather than at the platform.
|
|
158
|
+
*
|
|
159
|
+
* An empty object is dropped rather than sent, for the reason `desktop` is
|
|
160
|
+
* dropped: `execEnvList` returns nil for `len(env) == 0`, so an empty object and
|
|
161
|
+
* an absent one are already the same request, and the one that says so in fewer
|
|
162
|
+
* fields is the one worth sending.
|
|
163
|
+
*
|
|
164
|
+
* The three rules below are checked in this process because the platform checks
|
|
165
|
+
* them AFTER it has resumed the computer. `POST computers/:id/exec` runs its
|
|
166
|
+
* `use` — which wakes a suspended guest and bills the resume — before `Exec`
|
|
167
|
+
* ever looks at the environment, so a malformed name costs a machine coming up
|
|
168
|
+
* to be told no. They are also the rules that will not drift: they are what an
|
|
169
|
+
* entry IS in the list the guest agent takes, `NAME=value` strings separated by
|
|
170
|
+
* NULs, rather than policy. The ceilings on how many entries and how long one
|
|
171
|
+
* may be (64 and 4096 bytes, execbg.go) are policy, are the platform's to
|
|
172
|
+
* change, and are deliberately not repeated here.
|
|
173
|
+
*
|
|
174
|
+
* The `=` case is the one a model actually gets wrong. `{'FOO=bar': ''}` is the
|
|
175
|
+
* assignment written into the name, which is the same mistake as writing the
|
|
176
|
+
* assignment into the command line — so the refusal says the shape rather than
|
|
177
|
+
* just the rule.
|
|
178
|
+
*/
|
|
179
|
+
export declare function execEnv(env?: Record<string, string>): Json | undefined;
|
|
180
|
+
export declare const MODIFIER_JOIN = "+";
|
|
181
|
+
export declare function pointerBody(action: string, x: number, y: number): Json;
|
|
182
|
+
/**
|
|
183
|
+
* A click, optionally at a point and optionally with keys held down.
|
|
184
|
+
*
|
|
185
|
+
* No coordinate means "where the pointer already is", which is a real and
|
|
186
|
+
* different request from clicking (0, 0) — the corner of the screen. So the
|
|
187
|
+
* keys are omitted rather than sent as zeros; the platform carries that
|
|
188
|
+
* distinction all the way down to `inputWire` in server/input.go.
|
|
189
|
+
*/
|
|
190
|
+
export declare function clickBody(action: string, x: number | undefined, y: number | undefined, modifiers?: string[]): Json;
|
|
191
|
+
/**
|
|
192
|
+
* A press, a move and a release — one gesture, not two clicks.
|
|
193
|
+
*
|
|
194
|
+
* Half an origin is refused here rather than dropped. A drag naming only
|
|
195
|
+
* `from_x` reads as a caller who meant to give a starting point, and silently
|
|
196
|
+
* ignoring the half they gave produces a drag that succeeds while selecting a
|
|
197
|
+
* different region: the worst shape a mistake can take, because nothing reports
|
|
198
|
+
* it.
|
|
199
|
+
*/
|
|
200
|
+
export declare function dragBody(toX: number, toY: number, fromX?: number, fromY?: number): Json;
|
|
201
|
+
export declare function buttonBody(action: string, x?: number, y?: number): Json;
|
|
202
|
+
export declare const SCROLL_DIRECTIONS: readonly ["up", "down", "left", "right"];
|
|
203
|
+
export type ScrollDirection = (typeof SCROLL_DIRECTIONS)[number];
|
|
204
|
+
/**
|
|
205
|
+
* A wheel scroll, optionally at a point and optionally with keys held.
|
|
206
|
+
*
|
|
207
|
+
* `coordinate` and not the flat pair, and that is not a style choice. The
|
|
208
|
+
* platform reads a flat `x:0, y:0` on a scroll as "no position" — it has to,
|
|
209
|
+
* because that is what every defaulted scroll sent before the keys became
|
|
210
|
+
* optional — so a caller who genuinely means the top-left corner cannot say so
|
|
211
|
+
* that way. `coordinate` has no such history.
|
|
212
|
+
*/
|
|
213
|
+
export declare function scrollBody(args: {
|
|
214
|
+
direction: ScrollDirection;
|
|
215
|
+
amount: number;
|
|
216
|
+
x?: number;
|
|
217
|
+
y?: number;
|
|
218
|
+
modifiers?: string[];
|
|
219
|
+
}): Json;
|
|
220
|
+
/**
|
|
221
|
+
* Text typed at the keyboard, checked the way the clipboard's is.
|
|
222
|
+
*
|
|
223
|
+
* The same silent corruption {@link clipboardBody} refuses and `write_file`
|
|
224
|
+
* refuses, on the third path that carries a caller's own characters into the
|
|
225
|
+
* guest: `JSON.stringify` escapes a lone surrogate and Go's `encoding/json`
|
|
226
|
+
* decodes it to U+FFFD.
|
|
227
|
+
*
|
|
228
|
+
* What happens NEXT is this route's own, and it is worth stating precisely
|
|
229
|
+
* rather than borrowing the clipboard's sentence. The platform's `type` handler
|
|
230
|
+
* walks runes and looks each one up in `charKeys` — a printable-ASCII map — and
|
|
231
|
+
* `continue`s past anything it does not find (server/input.go). So the
|
|
232
|
+
* replacement character is not typed onto the desktop; it is DROPPED, and the
|
|
233
|
+
* tool goes on to report `Typed N character(s).` counting the character that
|
|
234
|
+
* never arrived. Either way the screen does not hold what the caller asked for
|
|
235
|
+
* and the answer says it does, which is the thing worth refusing. NOT extended
|
|
236
|
+
* to a NUL for the same reason: the platform skips an unmappable rune rather
|
|
237
|
+
* than truncating the string at it, so a NUL is no more special there than any
|
|
238
|
+
* other unmappable character, and singling it out would be a rule about one
|
|
239
|
+
* codepoint dressed as a rule about corruption (/code-review, OPL-4244).
|
|
240
|
+
*/
|
|
241
|
+
export declare function typeBody(text: string): Json;
|
|
242
|
+
export declare function keyBody(keys: string[], holdSeconds?: number): Json;
|
|
243
|
+
/**
|
|
244
|
+
* A pause inside the guest.
|
|
245
|
+
*
|
|
246
|
+
* Capped at 30 seconds by the platform, and asking for longer is refused rather
|
|
247
|
+
* than truncated — a wait here is a held HTTP request crossing a reverse proxy,
|
|
248
|
+
* and 100 seconds would not return, it would fail. The cap is checked here too
|
|
249
|
+
* so a model learns the limit from the tool's own error instead of spending a
|
|
250
|
+
* round trip on it.
|
|
251
|
+
*/
|
|
252
|
+
export declare function waitBody(seconds: number): Json;
|
|
253
|
+
export declare const cursorBody: () => Json;
|
|
254
|
+
export declare const WINDOW_ACTIONS: readonly ["focus", "raise", "minimize", "maximize", "unmaximize", "close", "move", "resize"];
|
|
255
|
+
export type WindowAction = (typeof WINDOW_ACTIONS)[number];
|
|
256
|
+
/**
|
|
257
|
+
* The body for a window action, with the arguments that action needs.
|
|
258
|
+
*
|
|
259
|
+
* Checked here for the reason `wholePoint` is: the window manager places the
|
|
260
|
+
* frame where it likes and applications snap to their own grid, so a move that
|
|
261
|
+
* arrived with half a coordinate does not come back looking wrong — it comes
|
|
262
|
+
* back looking like the window manager's usual approximation. A `resize` with
|
|
263
|
+
* neither dimension is the same shape of failure, one the platform would have
|
|
264
|
+
* to guess its way out of.
|
|
265
|
+
*/
|
|
266
|
+
export declare function windowBody(args: {
|
|
267
|
+
action: WindowAction;
|
|
268
|
+
x?: number;
|
|
269
|
+
y?: number;
|
|
270
|
+
width?: number;
|
|
271
|
+
height?: number;
|
|
272
|
+
}): Json;
|
|
273
|
+
/**
|
|
274
|
+
* The most text `PUT /computers/{id}/clipboard` carries INTO a guest, in bytes.
|
|
275
|
+
*
|
|
276
|
+
* Mirrored so a request that can only fail is not made. NOT machine-checked —
|
|
277
|
+
* `scripts/check-surface.mjs` reads the platform's `web/lib`, and this number
|
|
278
|
+
* lives in its `server/clipboard.go` as `clipboardWriteMax`. It is not
|
|
279
|
+
* arbitrary: the platform puts the text inside one argument of one command,
|
|
280
|
+
* Linux caps a single argv string at 128 KiB, and two layers of base64 stand
|
|
281
|
+
* between the text and that ceiling, so each byte costs about 1.8 of it. Past
|
|
282
|
+
* the cap `execve` fails with E2BIG rather than truncating.
|
|
283
|
+
*
|
|
284
|
+
* The READ cap is 128 KiB, a different bound on a different channel, and is
|
|
285
|
+
* deliberately not mirrored: nothing here can meet it, since that text comes
|
|
286
|
+
* from the guest.
|
|
287
|
+
*/
|
|
288
|
+
export declare const MAX_CLIPBOARD_BYTES: number;
|
|
289
|
+
/**
|
|
290
|
+
* Whether a string carries half a character.
|
|
291
|
+
*
|
|
292
|
+
* Its own predicate because there is more than one way into this failure and
|
|
293
|
+
* they do not share a refusal sentence. The clipboard's says "on the desktop";
|
|
294
|
+
* `write_file` puts the same broken byte into a file on a disk. What they DO
|
|
295
|
+
* share is the check, and that is the part worth having in one place — a second
|
|
296
|
+
* hand-rolled surrogate walk is a second chance to get the pairing backwards.
|
|
297
|
+
*
|
|
298
|
+
* Walked in UTF-16 code units, because that is what the flaw is made of: a high
|
|
299
|
+
* surrogate is legal where a low one follows it and is half a character
|
|
300
|
+
* anywhere else. `for...of` would not do — it yields the lone surrogate as a
|
|
301
|
+
* string and hides which half it was.
|
|
302
|
+
*/
|
|
303
|
+
export declare function hasUnpairedSurrogate(text: string): boolean;
|
|
304
|
+
/**
|
|
305
|
+
* The body for a clipboard write, checked before it costs a round trip.
|
|
306
|
+
*
|
|
307
|
+
* Two of these refusals are the platform's own, mirrored so a call that can only
|
|
308
|
+
* fail is not spent. The NUL is the one worth explaining: the platform confirms
|
|
309
|
+
* a write by reading the selection back through a command substitution, and a
|
|
310
|
+
* shell truncates that at the first NUL — so the write would land, the read-back
|
|
311
|
+
* would disagree, and the answer would be a 409 inviting a retry at something
|
|
312
|
+
* that had already worked.
|
|
313
|
+
*
|
|
314
|
+
* The UNPAIRED SURROGATE is not the platform's, and that is exactly why it is
|
|
315
|
+
* here. Nothing refuses it anywhere on the path: `JSON.stringify` escapes the
|
|
316
|
+
* lone code unit, Go's `encoding/json` decodes it to U+FFFD, and the desktop
|
|
317
|
+
* ends up holding a replacement character where a caller's text was. A write
|
|
318
|
+
* that succeeds with different text than was asked for is worse than one that
|
|
319
|
+
* fails, and this is the last place that can tell the difference — `TextEncoder`
|
|
320
|
+
* below has already made the substitution, which is why the scan runs before it.
|
|
321
|
+
* The other two clients refuse it too (mandala-computer-typescript's
|
|
322
|
+
* `clipboardBody`, and mandala-computer-python, where `str.encode` raises).
|
|
323
|
+
*
|
|
324
|
+
* The cap is counted in UTF-8 BYTES rather than characters. An emoji is four of
|
|
325
|
+
* them, so a `text.length` check would pass four times the legal payload to an
|
|
326
|
+
* execve that answers E2BIG.
|
|
327
|
+
*/
|
|
328
|
+
export declare function clipboardBody(text: string): Json;
|
|
329
|
+
/**
|
|
330
|
+
* The body for a capture: what to include, and what to call it.
|
|
331
|
+
*
|
|
332
|
+
* An args object rather than the bare boolean it was, matching `createBody` and
|
|
333
|
+
* `execBody` next to it — `memory` was never going to be the only thing this
|
|
334
|
+
* route took, and a second positional boolean is the kind of call site nobody
|
|
335
|
+
* reads correctly.
|
|
336
|
+
*
|
|
337
|
+
* A name that is only whitespace is dropped rather than sent, and that is the
|
|
338
|
+
* one case worth spelling out. The daemon defaults an EMPTY name to
|
|
339
|
+
* "<computer> <timestamp>" and stores anything else exactly as it arrives (see
|
|
340
|
+
* `newSnapMeta` in the platform's server/snapshot.go), so " " is the single
|
|
341
|
+
* input that produces a snapshot nobody can pick out of a list — a blank row
|
|
342
|
+
* where the generated name it displaced would have said something.
|
|
343
|
+
*/
|
|
344
|
+
export declare function snapshotBody(args: {
|
|
345
|
+
memory: boolean;
|
|
346
|
+
name?: string;
|
|
347
|
+
}): Json;
|
|
348
|
+
export declare function scheduleBody(args: {
|
|
349
|
+
enabled: boolean;
|
|
350
|
+
hour: number;
|
|
351
|
+
minute?: number;
|
|
352
|
+
tz?: string;
|
|
353
|
+
}): Json;
|
|
354
|
+
export declare function agentBody(args: {
|
|
355
|
+
prompt: string;
|
|
356
|
+
max_steps?: number;
|
|
357
|
+
system?: string;
|
|
358
|
+
stream: boolean;
|
|
359
|
+
}): Json;
|
|
360
|
+
/** One webhook subscription. The id is `whk-`-shaped. */
|
|
361
|
+
export declare const webhook: (id: string) => string;
|
|
362
|
+
/** rotate | test | deliveries */
|
|
363
|
+
export declare const webhookAction: (id: string, action: string) => string;
|
|
364
|
+
/** The platform's own caps (`DESCRIPTION_MAX`, `COMPUTERS_MAX` in its lib/webhooks). */
|
|
365
|
+
export declare const WEBHOOK_DESCRIPTION_MAX = 200;
|
|
366
|
+
export declare const WEBHOOK_COMPUTERS_MAX = 64;
|
|
367
|
+
/**
|
|
368
|
+
* The body for a webhook create or update — the fields, checked before they
|
|
369
|
+
* cost a round trip.
|
|
370
|
+
*
|
|
371
|
+
* Three of the platform's refusals are mirrored here, because each is a call
|
|
372
|
+
* that can only fail: a url that is not `https:` or carries a username or
|
|
373
|
+
* password, a description over the cap, and a `computers` filter over its cap.
|
|
374
|
+
* The one that is NOT mirrored is the address check — that the hostname resolves
|
|
375
|
+
* to a public address — because it is a DNS answer the platform gets at create
|
|
376
|
+
* time, and a guess made here would be wrong in both directions.
|
|
377
|
+
*
|
|
378
|
+
* `events` and `computers` are de-duplicated rather than refused for repeats,
|
|
379
|
+
* the way the platform stores them. The event vocabulary is not checked at all:
|
|
380
|
+
* the platform refuses an unknown type with a 400 that lists the current ones,
|
|
381
|
+
* and a list held here would refuse a type it had started accepting.
|
|
382
|
+
*
|
|
383
|
+
* Undefined fields are dropped. On an update that is what "leave it as it is"
|
|
384
|
+
* means, and on a create it is what lets the platform apply its defaults.
|
|
385
|
+
*/
|
|
386
|
+
export declare function webhookBody(args: {
|
|
387
|
+
url?: string;
|
|
388
|
+
description?: string;
|
|
389
|
+
events?: string[];
|
|
390
|
+
computers?: string[];
|
|
391
|
+
enabled?: boolean;
|
|
392
|
+
}): Json;
|
|
393
|
+
export {};
|
|
394
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,uEAAuE;AACvE,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,oFAAoF;AACpF,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,aAAa,CAAC;AAenC,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CA0BzF;AAuBD,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,WAA8C,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,EAAE,QAAQ,MAAM,WAAgC,CAAC;AAE1F,mDAAmD;AACnD,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,EAAE,KAAK,MAAM,WAKjD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,EAAE,UAAU,MAAM,WACS,CAAC;AAE9D;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,MAAM,EAAE,MAAM,MAAM,WACiB,CAAC;AAK7E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAS7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAK7D;AAED,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,WAA2C,CAAC;AAE5E,wBAAwB;AACxB,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,EAAE,QAAQ,MAAM,WAA6B,CAAC;AAEpF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAC/B,CAAC;AAEtC,eAAO,MAAM,QAAQ,GAAI,IAAI,MAAM,WAA8C,CAAC;AAElF,sBAAsB;AACtB,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,EAAE,QAAQ,MAAM,WAAgC,CAAC;AAI1F,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAE9C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAGP;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,GAAG,IAAI,CA0BP;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAkBtE;AASD,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEtE;AAiBD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,SAAS,GAAE,MAAM,EAAO,GACvB,IAAI,CASN;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAOvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAQvE;AAED,eAAO,MAAM,iBAAiB,0CAA2C,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,IAAI,CAYP;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG3C;AASD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAKlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAK9C;AAED,eAAO,MAAM,UAAU,QAAO,IAAuC,CAAC;AAItE,eAAO,MAAM,cAAc,8FASjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAYP;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAa7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAahD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG3E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAKP;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAEP;AAED,yDAAyD;AACzD,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,WAA+C,CAAC;AAElF,iCAAiC;AACjC,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,QAAQ,MAAM,WAA+B,CAAC;AAExF,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAuCP"}
|