@extentos/mcp-server 0.0.9 → 0.0.12
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 +88 -56
- package/dist/index.js +39 -2
- package/dist/index.js.map +1 -1
- package/dist/telemetry/installRegistry.d.ts +12 -0
- package/dist/telemetry/installRegistry.d.ts.map +1 -1
- package/dist/telemetry/installRegistry.js +29 -0
- package/dist/telemetry/installRegistry.js.map +1 -1
- package/dist/tools/data/version.js +6 -6
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +5 -20
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +169 -14
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.d.ts.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.js +8 -4
- package/dist/tools/handlers/createSimulatorSession.js.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.d.ts.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.js +45 -4
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/generateConsumer.js +15 -18
- package/dist/tools/handlers/generateConsumer.js.map +1 -1
- package/dist/tools/handlers/initSpec.d.ts.map +1 -1
- package/dist/tools/handlers/initSpec.js +6 -1
- package/dist/tools/handlers/initSpec.js.map +1 -1
- package/dist/tools/handlers/updateSpec.d.ts.map +1 -1
- package/dist/tools/handlers/updateSpec.js +10 -2
- package/dist/tools/handlers/updateSpec.js.map +1 -1
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +9 -1
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +0 -2
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/templates/androidBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/androidBootstrap.js +45 -2
- package/dist/tools/templates/androidBootstrap.js.map +1 -1
- package/dist/tools/templates/callbackHandler.d.ts.map +1 -1
- package/dist/tools/templates/callbackHandler.js +16 -4
- package/dist/tools/templates/callbackHandler.js.map +1 -1
- package/dist/tools/templates/iosBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/iosBootstrap.js +76 -48
- package/dist/tools/templates/iosBootstrap.js.map +1 -1
- package/dist/tools/util/manifest.d.ts +10 -0
- package/dist/tools/util/manifest.d.ts.map +1 -1
- package/dist/tools/util/manifest.js +5 -1
- package/dist/tools/util/manifest.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,56 +1,88 @@
|
|
|
1
|
-
# @extentos/mcp-server
|
|
2
|
-
|
|
3
|
-
MCP server for building Meta-glasses-connected apps with Claude Code and other
|
|
4
|
-
MCP-aware agents. Exposes 18 deterministic tools covering
|
|
5
|
-
authoring, code generation, permissions, credential guidance, validation,
|
|
6
|
-
a browser-based simulator for testing without physical hardware.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
# @extentos/mcp-server
|
|
2
|
+
|
|
3
|
+
MCP server for building Meta-glasses-connected apps with Claude Code and other
|
|
4
|
+
MCP-aware agents. Exposes 18 deterministic tools covering capability discovery,
|
|
5
|
+
spec authoring, code generation, permissions, credential guidance, validation,
|
|
6
|
+
and a browser-based simulator for testing without physical hardware.
|
|
7
|
+
|
|
8
|
+
The server has no planning tool — agents are better planners than regex bundles
|
|
9
|
+
of keyword matches. Catalog topics in `searchDocs` carry inline minimal
|
|
10
|
+
examples sufficient for most specs; `getExampleSpec` is a reference library
|
|
11
|
+
for studying complex compositions on demand.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
Register the server with Claude Code (or any MCP host) in one line:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
claude mcp add extentos -- npx -y @extentos/mcp-server@latest
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Restart Claude Code. `/mcp` should list `extentos` with all tools available.
|
|
22
|
+
|
|
23
|
+
Prerequisites: Node.js 20+ on `PATH`. That's it — `npx` fetches the package on
|
|
24
|
+
first run and caches it.
|
|
25
|
+
|
|
26
|
+
## Getting started (for the agent)
|
|
27
|
+
|
|
28
|
+
The agent plans composition itself. Start with discovery, then mutate.
|
|
29
|
+
|
|
30
|
+
**Discovery (read these first; cheap, all local):**
|
|
31
|
+
|
|
32
|
+
- `getPlatformInfo({ sections: ["version", "capabilities"], glasses: "meta_rayban" })` — fetch the catalog of what exists.
|
|
33
|
+
- `searchDocs({ topic: "getting_started" })` — index of catalog topics, mutation tool order, constraint topics.
|
|
34
|
+
- `searchDocs({ topic: "trigger_types" | "action_types" | "block_types" | "stream_types" | "spec_format" })` — primitive catalog with inline minimal examples.
|
|
35
|
+
|
|
36
|
+
**Mutation tool sequence (deterministic, in order):**
|
|
37
|
+
|
|
38
|
+
1. `generateConnectionModule` — one-shot scaffold (bootstrap module, Gradle/SPM wiring, empty spec). Returns `developerInstructions.Step 1` asking the dev where `ExtentosConnectionPage` should live — surface the question, do not skip it.
|
|
39
|
+
2. `initSpec` — populate the first real spec from the primitives you composed.
|
|
40
|
+
3. `generateConsumer(kind: "callback")` — stub `app_callback` handlers if the spec has any. (`kind: "stream"` for stream consumers.)
|
|
41
|
+
4. `validateIntegration` — pre-test correctness gate. Re-run after every mutation.
|
|
42
|
+
5. `createSimulatorSession` — provision a browser-hosted glasses surrogate.
|
|
43
|
+
|
|
44
|
+
**Iteration:** `inspectIntegration` (for the `basedOn` freshness token) → `updateSpec` → `generateConsumer` (if handlers/streams added) → `validateIntegration`.
|
|
45
|
+
|
|
46
|
+
**Debugging:** `getEventLog`, `getSimulatorStatus`. **Ship-readiness:** `getProductionChecklist`.
|
|
47
|
+
|
|
48
|
+
**Reference library (on demand):** `getExampleSpec` returns 8 worked patterns (voice_assistant, live_translation, video_call, etc.). Use only for complex compositions; the catalog topics cover simple cases without it.
|
|
49
|
+
|
|
50
|
+
See the full tool reference and example flow in the repo:
|
|
51
|
+
|
|
52
|
+
- [MCP tool catalog](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/MCP_TOOLS.md)
|
|
53
|
+
- [12-step example flow](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/EXAMPLE_FLOW.md)
|
|
54
|
+
- [Authentication model](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/AUTHENTICATION.md)
|
|
55
|
+
- [Auto-bind dev loop](https://github.com/Asgermolgaard/vibe-hardware/blob/master/docs/mcp/PERSISTENT_DEV_SESSION.md)
|
|
56
|
+
|
|
57
|
+
## Features
|
|
58
|
+
|
|
59
|
+
- **Anonymous-first.** First simulator session needs no signup. 500-event
|
|
60
|
+
anonymous meter; account linking via device-code flow when exhausted.
|
|
61
|
+
- **Auto-bind dev loop (Android).** Once the library is in your app, the
|
|
62
|
+
MCP and library coordinate via a `127.0.0.1:31337/whoami` localhost
|
|
63
|
+
bridge. Subsequent `createSimulatorSession` calls auto-attach the
|
|
64
|
+
running app to the new session — no rebuild, no URL paste, no typed
|
|
65
|
+
code in the happy path. Calling the tool while a session is already
|
|
66
|
+
active supersedes silently. iOS auto-bind: in progress.
|
|
67
|
+
- **Browser simulator surrogate.** Camera, mic, hardware alerts,
|
|
68
|
+
notifications, replay — all browser-side; no physical glasses needed
|
|
69
|
+
for the bulk of the dev loop.
|
|
70
|
+
|
|
71
|
+
## Platforms
|
|
72
|
+
|
|
73
|
+
- **Android** — primary target for the current pre-release. Library resolves
|
|
74
|
+
from `mavenLocal()` during Phase 7a; Maven Central promotion is on the
|
|
75
|
+
Phase 7b roadmap. Auto-bind is fully shipped on this platform.
|
|
76
|
+
- **iOS** — supported via SPM. Same MCP tool surface, different generated
|
|
77
|
+
artifacts. Auto-bind in progress; iOS apps still use the URL-bake path
|
|
78
|
+
via `extentos.session.plist` until that lands.
|
|
79
|
+
|
|
80
|
+
## Status
|
|
81
|
+
|
|
82
|
+
Pre-1.0. APIs may shift between minor versions until the hardware test loop
|
|
83
|
+
closes. Pin to an exact version (`@0.1.0`) if you need reproducibility across
|
|
84
|
+
sessions.
|
|
85
|
+
|
|
86
|
+
## License
|
|
87
|
+
|
|
88
|
+
MIT — see [LICENSE](https://github.com/Asgermolgaard/vibe-hardware/blob/master/LICENSE) in the repo.
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,46 @@ import { toolDefinitions } from "./tools/definitions.js";
|
|
|
10
10
|
import { handlers } from "./tools/registry.js";
|
|
11
11
|
import { mcpErrorResponse } from "./stub.js";
|
|
12
12
|
import { drainTelemetry, emitInstalledOnce, emitToolCalled, } from "./telemetry/index.js";
|
|
13
|
+
import { claimFirstPrivacyNotice } from "./telemetry/installRegistry.js";
|
|
13
14
|
import { startLocalBridge, stopLocalBridge } from "./localBridge.js";
|
|
15
|
+
const PRIVACY_NOTICE = {
|
|
16
|
+
url: "https://extentos.com/privacy",
|
|
17
|
+
version: "2026-04",
|
|
18
|
+
note: "First call on this install — Extentos collects anonymous usage telemetry by default to improve the tool. " +
|
|
19
|
+
"Your installId tags telemetry events; no source code or personal data is collected. " +
|
|
20
|
+
"Opt out: run `npx @extentos/mcp-server@latest decline-privacy`, or set EXTENTOS_TELEMETRY=0. " +
|
|
21
|
+
"This note is shown once per install.",
|
|
22
|
+
};
|
|
23
|
+
// Inject privacyPolicy into the first successful tool response on a fresh
|
|
24
|
+
// install. AUTHENTICATION.md § Consent handling defines this contract; the
|
|
25
|
+
// notice is dismissed-by-continuing per industry pattern (Vercel CLI,
|
|
26
|
+
// Astro, Vite, etc.). Runs once per install, persisted via
|
|
27
|
+
// claimFirstPrivacyNotice.
|
|
28
|
+
function maybeInjectPrivacyNotice(result) {
|
|
29
|
+
if (result.isError)
|
|
30
|
+
return result;
|
|
31
|
+
if (!claimFirstPrivacyNotice())
|
|
32
|
+
return result;
|
|
33
|
+
const text = result.content[0]?.text;
|
|
34
|
+
if (typeof text !== "string")
|
|
35
|
+
return result;
|
|
36
|
+
let parsed;
|
|
37
|
+
try {
|
|
38
|
+
parsed = JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
if (!parsed || typeof parsed !== "object")
|
|
44
|
+
return result;
|
|
45
|
+
const enriched = { ...parsed, privacyPolicy: PRIVACY_NOTICE };
|
|
46
|
+
return {
|
|
47
|
+
...result,
|
|
48
|
+
content: [{ type: "text", text: JSON.stringify(enriched, null, 2) }],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
14
51
|
const SERVER_NAME = "@extentos/mcp-server";
|
|
15
|
-
const SERVER_VERSION = "0.0.
|
|
52
|
+
const SERVER_VERSION = "0.0.10";
|
|
16
53
|
async function main() {
|
|
17
54
|
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
|
|
18
55
|
// First-run install event (no-op if already fired or consent declined).
|
|
@@ -48,7 +85,7 @@ async function main() {
|
|
|
48
85
|
const result = await handler(request.params.arguments ?? {});
|
|
49
86
|
const outcome = result.isError ? "error" : "success";
|
|
50
87
|
emitToolCalled({ toolName: name, durationMs: Date.now() - start, outcome });
|
|
51
|
-
return result;
|
|
88
|
+
return maybeInjectPrivacyNotice(result);
|
|
52
89
|
}
|
|
53
90
|
catch (err) {
|
|
54
91
|
emitToolCalled({ toolName: name, durationMs: Date.now() - start, outcome: "error" });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,2CAA2C;AAC3C,wEAAwE;AACxE,sEAAsE;AACtE,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,18 @@ export declare function resolveInstallId(): string;
|
|
|
9
9
|
* so the event does not fire again on subsequent runs.
|
|
10
10
|
*/
|
|
11
11
|
export declare function claimFirstRun(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Returns true the first time it's called per install. Used to inject the
|
|
14
|
+
* one-shot privacyPolicy note into a tool response. Subsequent calls
|
|
15
|
+
* (across MCP process restarts) return false. Persists by writing
|
|
16
|
+
* `privacyNoticeShownAt` to `~/.extentos/install.json`.
|
|
17
|
+
*
|
|
18
|
+
* Distinct from `claimFirstRun` (which gates the `mcp.installed` telemetry
|
|
19
|
+
* event) — that flag fires inside the MCP boot sequence before any tool
|
|
20
|
+
* call happens, so it's already consumed by the time we'd want to inject
|
|
21
|
+
* the user-visible notice.
|
|
22
|
+
*/
|
|
23
|
+
export declare function claimFirstPrivacyNotice(): boolean;
|
|
12
24
|
/**
|
|
13
25
|
* Millis since the install file was first created. Used for `account.linked`
|
|
14
26
|
* as `timeSinceInstallMs`. Returns null if the install file is missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installRegistry.d.ts","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installRegistry.d.ts","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"AAyEA;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAajD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAM9C"}
|
|
@@ -35,6 +35,9 @@ function readInstall() {
|
|
|
35
35
|
installId: parsed.installId,
|
|
36
36
|
createdAt: parsed.createdAt,
|
|
37
37
|
installedEventEmitted: parsed.installedEventEmitted === true,
|
|
38
|
+
privacyNoticeShownAt: typeof parsed.privacyNoticeShownAt === "string"
|
|
39
|
+
? parsed.privacyNoticeShownAt
|
|
40
|
+
: undefined,
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
return null;
|
|
@@ -85,6 +88,32 @@ export function claimFirstRun() {
|
|
|
85
88
|
writeInstall(updated);
|
|
86
89
|
return true;
|
|
87
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns true the first time it's called per install. Used to inject the
|
|
93
|
+
* one-shot privacyPolicy note into a tool response. Subsequent calls
|
|
94
|
+
* (across MCP process restarts) return false. Persists by writing
|
|
95
|
+
* `privacyNoticeShownAt` to `~/.extentos/install.json`.
|
|
96
|
+
*
|
|
97
|
+
* Distinct from `claimFirstRun` (which gates the `mcp.installed` telemetry
|
|
98
|
+
* event) — that flag fires inside the MCP boot sequence before any tool
|
|
99
|
+
* call happens, so it's already consumed by the time we'd want to inject
|
|
100
|
+
* the user-visible notice.
|
|
101
|
+
*/
|
|
102
|
+
export function claimFirstPrivacyNotice() {
|
|
103
|
+
const file = readInstall() ?? {
|
|
104
|
+
installId: `inst_${randomBytes(16).toString("hex")}`,
|
|
105
|
+
createdAt: new Date().toISOString(),
|
|
106
|
+
installedEventEmitted: false,
|
|
107
|
+
};
|
|
108
|
+
if (file.privacyNoticeShownAt)
|
|
109
|
+
return false;
|
|
110
|
+
const updated = {
|
|
111
|
+
...file,
|
|
112
|
+
privacyNoticeShownAt: new Date().toISOString(),
|
|
113
|
+
};
|
|
114
|
+
writeInstall(updated);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
88
117
|
/**
|
|
89
118
|
* Millis since the install file was first created. Used for `account.linked`
|
|
90
119
|
* as `timeSinceInstallMs`. Returns null if the install file is missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installRegistry.js","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,qCAAqC;AACrC,4EAA4E;AAC5E,qEAAqE;AACrE,wDAAwD;AACxD,EAAE;AACF,yEAAyE;AAEzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"installRegistry.js","sourceRoot":"","sources":["../../src/telemetry/installRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
// scaffold a project pointing at 1.0.0 (no probe code) while running
|
|
7
7
|
// 0.0.7+ server-side smarts that needed 1.1.x to function.
|
|
8
8
|
//
|
|
9
|
-
// Pre-public-Maven note: 1.1.
|
|
9
|
+
// Pre-public-Maven note: 1.1.5-pair currently lives only on the dev's
|
|
10
10
|
// mavenLocal (./gradlew :glasses-core:publishToMavenLocal). Until a
|
|
11
11
|
// public Maven Central / JitPack publish lands, scaffolded projects
|
|
12
12
|
// require the dev to run mavenLocal-publish first. Document next to
|
|
13
13
|
// the dependency notation in generateConnectionModule.
|
|
14
14
|
export const VERSION_INFO = {
|
|
15
|
-
latestStable: "1.1.
|
|
15
|
+
latestStable: "1.1.5-pair",
|
|
16
16
|
specVersion: "1.0",
|
|
17
17
|
android: {
|
|
18
18
|
minimumSdk: 31,
|
|
@@ -30,13 +30,13 @@ export const VERSION_INFO = {
|
|
|
30
30
|
},
|
|
31
31
|
artifacts: {
|
|
32
32
|
android: {
|
|
33
|
-
core: "com.extentos:glasses:1.1.
|
|
34
|
-
ui: "com.extentos:glasses-ui:1.1.
|
|
35
|
-
debug: "com.extentos:glasses-debug:1.1.
|
|
33
|
+
core: "com.extentos:glasses:1.1.5-pair",
|
|
34
|
+
ui: "com.extentos:glasses-ui:1.1.5-pair",
|
|
35
|
+
debug: "com.extentos:glasses-debug:1.1.5-pair",
|
|
36
36
|
},
|
|
37
37
|
ios: {
|
|
38
38
|
package: "https://github.com/extentos/swift-glasses",
|
|
39
|
-
version: "1.1.
|
|
39
|
+
version: "1.1.5-pair",
|
|
40
40
|
products: ["GlassesCore", "GlassesUI", "GlassesDebug", "GlassesLifecycle", "GlassesTesting"],
|
|
41
41
|
},
|
|
42
42
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;CACH;AAMD,eAAO,MAAM,eAAe,EAAE,OAAO,EA6VpC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAyB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export const toolDefinitions = [
|
|
|
9
9
|
// --- 1. Discovery and Planning ---
|
|
10
10
|
{
|
|
11
11
|
name: "getPlatformInfo",
|
|
12
|
-
description: "Return static platform metadata (library version, spec schema, glasses capabilities) in a single call. USE at session start. DON'T USE for how to use a primitive (use searchDocs) or what's installed in the project (use inspectIntegration).",
|
|
12
|
+
description: "Return static platform metadata (library version, spec schema, glasses capabilities) in a single call. The right first call for any new task — gives you the catalog of what exists so you can plan composition yourself. Pair with searchDocs for inline examples of each primitive. USE at session start, before any spec work. DON'T USE for how to use a primitive (use searchDocs catalog topics) or what's installed in the project (use inspectIntegration).",
|
|
13
13
|
inputSchema: {
|
|
14
14
|
type: "object",
|
|
15
15
|
properties: {
|
|
@@ -24,24 +24,9 @@ export const toolDefinitions = [
|
|
|
24
24
|
additionalProperties: false,
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
|
-
{
|
|
28
|
-
name: "planIntegration",
|
|
29
|
-
description: "Turn a natural-language goal into a tool-call sequence. Strategy-level, pre-generation. USE as first tool call. DON'T USE for modifying the spec (use updateSpec).",
|
|
30
|
-
inputSchema: {
|
|
31
|
-
type: "object",
|
|
32
|
-
properties: {
|
|
33
|
-
goal: { type: "string", minLength: 1 },
|
|
34
|
-
platform: platformEnum,
|
|
35
|
-
glasses: glassesEnum,
|
|
36
|
-
hasExistingIntegration: { type: "boolean" },
|
|
37
|
-
},
|
|
38
|
-
required: ["goal", "platform", "glasses"],
|
|
39
|
-
additionalProperties: false,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
27
|
{
|
|
43
28
|
name: "getExampleSpec",
|
|
44
|
-
description: "
|
|
29
|
+
description: "Reference library — retrieve one of 8 worked example specs (voice_assistant, live_translation, scene_description, notification_reader, navigation_guide, video_call, object_detection, voice_notes) when you want to study a complete worked composition. USE on demand to study how complex flows compose; peel pieces off, do not copy whole. DON'T USE for simple cases — read searchDocs catalog topics (trigger_types, action_types, block_types) instead, which carry inline minimal examples sufficient for most specs. DON'T USE as a starting template for initSpec — write the spec from primitives the dev's goal actually needs.",
|
|
45
30
|
inputSchema: {
|
|
46
31
|
type: "object",
|
|
47
32
|
properties: {
|
|
@@ -66,7 +51,7 @@ export const toolDefinitions = [
|
|
|
66
51
|
// --- 2. Setup and Generation ---
|
|
67
52
|
{
|
|
68
53
|
name: "generateConnectionModule",
|
|
69
|
-
description: "One-shot project scaffold — bootstrap module, empty spec, manifest, dependencies, permissions. Run once per project before any spec work. USE as first generation tool
|
|
54
|
+
description: "One-shot project scaffold — bootstrap module, empty spec, manifest, dependencies, permissions. Run once per project before any spec work. Returns developerInstructions.Step 1 telling you to ask the dev where ExtentosConnectionPage should live (5 placement options); do not skip that prompt. USE as the first generation tool when scaffolding a fresh project. DON'T USE when Extentos is already installed (use inspectIntegration + updateSpec).",
|
|
70
55
|
inputSchema: {
|
|
71
56
|
type: "object",
|
|
72
57
|
properties: {
|
|
@@ -190,7 +175,7 @@ export const toolDefinitions = [
|
|
|
190
175
|
},
|
|
191
176
|
{
|
|
192
177
|
name: "inspectIntegration",
|
|
193
|
-
description: "Read-only snapshot of current Extentos integration
|
|
178
|
+
description: "Read-only snapshot of current Extentos integration. Returns the manifest snapshot, spec snapshot, generated-file hashes, dependency list, AND a `basedOn: { hash, timestamp }` freshness token that updateSpec / generateConsumer require to detect stale concurrent edits. USE before every updateSpec or generateConsumer call. DON'T USE for correctness checking (use validateIntegration).",
|
|
194
179
|
inputSchema: {
|
|
195
180
|
type: "object",
|
|
196
181
|
properties: {
|
|
@@ -334,7 +319,7 @@ export const toolDefinitions = [
|
|
|
334
319
|
// --- 7. Documentation ---
|
|
335
320
|
{
|
|
336
321
|
name: "searchDocs",
|
|
337
|
-
description: "Search Extentos documentation by topic or keyword. Primary way to learn about the platform. USE to understand how
|
|
322
|
+
description: "Search Extentos documentation by topic or keyword. Primary way to learn about the platform — catalog topics (trigger_types, action_types, block_types, stream_types, spec_format, template_syntax, app_callback_guide, library_api) carry inline minimal examples agents can compose against, so most specs can be written without ever fetching a getExampleSpec pattern. Topic IDs are stable; read getting_started first to see the index. USE to understand how a primitive works or how to compose primitives. DON'T USE for the platform capability list (use getPlatformInfo) or for project-installed state (use inspectIntegration).",
|
|
338
323
|
inputSchema: {
|
|
339
324
|
type: "object",
|
|
340
325
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,mFAAmF;AACnF,oFAAoF;AACpF,sEAAsE;AAatE,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;AAC3E,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;AACvE,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,oCAAoC;IACpC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/docs/index.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAiHD,eAAO,MAAM,SAAS,EAAE,QAAQ,EAoY/B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuB/E"}
|