@intentic/extension-manifest 1.312.0 → 1.313.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/README.md +9 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +5 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +38 -3
- package/dist/manifest.js.map +1 -1
- package/dist/meaning.d.ts +21 -0
- package/dist/meaning.d.ts.map +1 -0
- package/dist/meaning.js +127 -0
- package/dist/meaning.js.map +1 -0
- package/dist/points/agent.d.ts +1 -1
- package/dist/points/agent.d.ts.map +1 -1
- package/dist/points/agent.js +3 -2
- package/dist/points/agent.js.map +1 -1
- package/dist/points/bin.d.ts.map +1 -1
- package/dist/points/bin.js +2 -1
- package/dist/points/bin.js.map +1 -1
- package/dist/points/capabilities.d.ts +3 -0
- package/dist/points/capabilities.d.ts.map +1 -1
- package/dist/points/capabilities.js +51 -10
- package/dist/points/capabilities.js.map +1 -1
- package/dist/points/commands.d.ts.map +1 -1
- package/dist/points/commands.js +4 -2
- package/dist/points/commands.js.map +1 -1
- package/dist/points/documents.d.ts.map +1 -1
- package/dist/points/documents.js +2 -1
- package/dist/points/documents.js.map +1 -1
- package/dist/points/environment.d.ts.map +1 -1
- package/dist/points/environment.js +2 -1
- package/dist/points/environment.js.map +1 -1
- package/dist/points/files.d.ts.map +1 -1
- package/dist/points/files.js +2 -1
- package/dist/points/files.js.map +1 -1
- package/dist/points/index.d.ts +15 -1
- package/dist/points/index.d.ts.map +1 -1
- package/dist/points/index.js +3 -0
- package/dist/points/index.js.map +1 -1
- package/dist/points/listener.d.ts.map +1 -1
- package/dist/points/listener.js +2 -1
- package/dist/points/listener.js.map +1 -1
- package/dist/points/processes.d.ts.map +1 -1
- package/dist/points/processes.js +2 -1
- package/dist/points/processes.js.map +1 -1
- package/dist/points/settings.d.ts.map +1 -1
- package/dist/points/settings.js +2 -1
- package/dist/points/settings.js.map +1 -1
- package/dist/points/tools.d.ts +18 -0
- package/dist/points/tools.d.ts.map +1 -0
- package/dist/points/tools.js +31 -0
- package/dist/points/tools.js.map +1 -0
- package/dist/points/viewers.d.ts.map +1 -1
- package/dist/points/viewers.js +2 -1
- package/dist/points/viewers.js.map +1 -1
- package/dist/points/views.d.ts.map +1 -1
- package/dist/points/views.js +4 -2
- package/dist/points/views.js.map +1 -1
- package/dist/powers-diff.d.ts +1 -1
- package/dist/powers-diff.d.ts.map +1 -1
- package/dist/powers-diff.js +6 -56
- package/dist/powers-diff.js.map +1 -1
- package/dist/tool-servers.d.ts +19 -0
- package/dist/tool-servers.d.ts.map +1 -0
- package/dist/tool-servers.js +21 -0
- package/dist/tool-servers.js.map +1 -0
- package/intentic-extension.schema.json +120 -8
- package/package.json +2 -2
- package/src/index.ts +2 -0
- package/src/manifest.ts +40 -3
- package/src/meaning.ts +189 -0
- package/src/points/agent.ts +5 -3
- package/src/points/bin.ts +2 -1
- package/src/points/capabilities.ts +68 -20
- package/src/points/commands.ts +4 -2
- package/src/points/documents.ts +2 -1
- package/src/points/environment.ts +2 -1
- package/src/points/files.ts +2 -1
- package/src/points/index.ts +3 -0
- package/src/points/listener.ts +2 -1
- package/src/points/processes.ts +2 -1
- package/src/points/settings.ts +2 -1
- package/src/points/tools.ts +48 -0
- package/src/points/viewers.ts +2 -1
- package/src/points/views.ts +4 -2
- package/src/powers-diff.ts +9 -60
- package/src/tool-servers.ts +50 -0
package/dist/points/documents.js
CHANGED
|
@@ -5,7 +5,8 @@ export const DocumentContributionSchema = z.object({
|
|
|
5
5
|
.string()
|
|
6
6
|
.min(1)
|
|
7
7
|
.describe("The family's name, shown in the install dialog beside your other contributions. Per-row wording stays with the provider, which is the only thing that knows what it found."),
|
|
8
|
-
})
|
|
8
|
+
})
|
|
9
|
+
.meta({ power: { key: "document:${id}", sentence: 'marks workspace directories ("${label}")' } });
|
|
9
10
|
export const documentsPoint = {
|
|
10
11
|
name: "documents",
|
|
11
12
|
description: "Per-directory documents this extension can offer. Your provider marks the rows in the Workspace tree it has something to say about, and the host opens your component as a tab.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/points/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAE5C,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,4KAA4K,CAC/K;CACR,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../src/points/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAE5C,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,4KAA4K,CAC/K;CACR,CAAC;KACG,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,0CAA0C,EAAE,EAAE,CAAC,CAAC;AAGtG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,WAAW,EACP,iLAAiL;IACrL,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACT,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/points/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,6BAA6B;;
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/points/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,6BAA6B;;iBASqF,CAAC;AAChI,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,gBAAgB;mBACnB,aAAa;0BAEf,kPAAkP;;;;CAEpN,CAAC"}
|
|
@@ -5,7 +5,8 @@ export const EnvironmentContributionSchema = z.object({
|
|
|
5
5
|
.min(1)
|
|
6
6
|
.refine((value) => !value.split("/").includes(".."), { message: "fragment must stay inside the checkout" })
|
|
7
7
|
.describe("Checkout-relative path to a file holding ONLY RUN and ENV instructions. FROM and privileged directives are rejected: those stay daemon-owned."),
|
|
8
|
-
})
|
|
8
|
+
})
|
|
9
|
+
.meta({ effect: "image", power: { key: "environment", sentence: "bakes an environment fragment into the sandbox image" } });
|
|
9
10
|
export const environmentPoint = {
|
|
10
11
|
name: "environment",
|
|
11
12
|
description: "A Dockerfile fragment baked into the sandbox image so your tools are actually installed at runtime: a whisper binary, a psql client. The owner approves the composed overlay and rebuilds out of band, so this does not take effect immediately.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/points/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;SAC1G,QAAQ,CACL,+IAA+I,CAClJ;CACR,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/points/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;SAC1G,QAAQ,CACL,+IAA+I,CAClJ;CACR,CAAC;KACG,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,sDAAsD,EAAE,EAAE,CAAC,CAAC;AAGhI,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,IAAI,EAAE,aAAa;IACnB,WAAW,EACP,kPAAkP;IACtP,MAAM,EAAE,6BAA6B;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/points/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/points/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;iBAqBqD,CAAC;AACzF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,UAAU;mBACb,OAAO;0BAET,2PAA2P;;;;;CAE7N,CAAC"}
|
package/dist/points/files.js
CHANGED
|
@@ -11,7 +11,8 @@ export const FileContributionSchema = z.object({
|
|
|
11
11
|
.array(z.string().min(1))
|
|
12
12
|
.min(1)
|
|
13
13
|
.describe("The query keys this path makes stale, the first element of your own api.sandbox.key(...) keys. Keep both this and the path as narrow as the view actually needs: a broad prefix costs every connected browser a refetch on every matching write."),
|
|
14
|
-
})
|
|
14
|
+
})
|
|
15
|
+
.meta({ power: { key: "files:${path}", sentence: 'is told when ${path} changes' } });
|
|
15
16
|
export const filesPoint = {
|
|
16
17
|
name: "files",
|
|
17
18
|
description: "Which workspace files back your views, so the daemon's file watcher can tell the browser they went stale instead of you polling for it. The agent edits the workspace out of band from every HTTP route, and this push is the only thing that can notice.",
|
package/dist/points/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/points/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAG3C,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC3E,OAAO,EAAE,oEAAoE;KAChF,CAAC;SACD,QAAQ,CACL,qSAAqS,CACxS;IAGL,WAAW,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,kPAAkP,CACrP;CACR,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/points/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAG3C,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC3E,OAAO,EAAE,oEAAoE;KAChF,CAAC;SACD,QAAQ,CACL,qSAAqS,CACxS;IAGL,WAAW,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,kPAAkP,CACrP;CACR,CAAC;KACG,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;AAGzF,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EACP,2PAA2P;IAC/P,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACL,CAAC"}
|
package/dist/points/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./files.js";
|
|
|
10
10
|
export * from "./listener.js";
|
|
11
11
|
export * from "./processes.js";
|
|
12
12
|
export * from "./settings.js";
|
|
13
|
+
export * from "./tools.js";
|
|
13
14
|
export * from "./viewers.js";
|
|
14
15
|
export * from "./views.js";
|
|
15
16
|
export declare const CONTRIBUTION_POINTS: readonly [{
|
|
@@ -96,7 +97,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
|
|
|
96
97
|
}, z.core.$strip>>;
|
|
97
98
|
}, {
|
|
98
99
|
readonly name: "agent";
|
|
99
|
-
readonly description: "Declare that this checkout is also a Claude Code plugin, so
|
|
100
|
+
readonly description: "Declare that this checkout is also a Claude Code plugin, so Claude Code turns pick up its skills, agents, hooks and commands. Only Claude Code reads it: give the agent tools with `contributes.tools`, which every runtime gets, and put a skill every runtime should read in a capability card's `skill`. MCP servers in the plugin's `.mcp.json` are deprecated, reach Claude Code alone, and are warned about at load.";
|
|
100
101
|
readonly schema: z.ZodObject<{
|
|
101
102
|
path: z.ZodOptional<z.ZodString>;
|
|
102
103
|
}, z.core.$strip>;
|
|
@@ -404,6 +405,14 @@ export declare const CONTRIBUTION_POINTS: readonly [{
|
|
|
404
405
|
readonly name: "bin";
|
|
405
406
|
readonly description: "A checkout-relative directory of executables the daemon puts on the agent's PATH every turn, how you ship the agent a command-line tool. The files are the approved code themselves: they ride the pinned checkout, and the daemon only adds the directory to PATH.";
|
|
406
407
|
readonly schema: z.ZodString;
|
|
408
|
+
}, {
|
|
409
|
+
readonly name: "tools";
|
|
410
|
+
readonly description: "Tools for the agent, as an MCP server the daemon mounts into every turn and every runtime (Claude Code, Codex, Cursor, ACP agents). Serve them from your `server` bundle with `api.tools.serve((card) => [...])`, or from a declared process's port. Replaces an agent plugin's `.mcp.json`, which only Claude Code read.";
|
|
411
|
+
readonly schema: z.ZodObject<{
|
|
412
|
+
perCard: z.ZodOptional<z.ZodString>;
|
|
413
|
+
process: z.ZodOptional<z.ZodString>;
|
|
414
|
+
path: z.ZodOptional<z.ZodString>;
|
|
415
|
+
}, z.core.$strip>;
|
|
407
416
|
}];
|
|
408
417
|
export declare const contributesSchema: z.ZodObject<{
|
|
409
418
|
agent: z.ZodOptional<z.ZodObject<{
|
|
@@ -737,6 +746,11 @@ export declare const contributesSchema: z.ZodObject<{
|
|
|
737
746
|
secret: z.ZodOptional<z.ZodBoolean>;
|
|
738
747
|
env: z.ZodOptional<z.ZodString>;
|
|
739
748
|
}, z.core.$strip>>>;
|
|
749
|
+
tools: z.ZodOptional<z.ZodObject<{
|
|
750
|
+
perCard: z.ZodOptional<z.ZodString>;
|
|
751
|
+
process: z.ZodOptional<z.ZodString>;
|
|
752
|
+
path: z.ZodOptional<z.ZodString>;
|
|
753
|
+
}, z.core.$strip>>;
|
|
740
754
|
viewers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
741
755
|
id: z.ZodString;
|
|
742
756
|
extensions: z.ZodArray<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAK3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeiB,CAAC;AAUlD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC"}
|
package/dist/points/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { filesPoint } from "./files.js";
|
|
|
10
10
|
import { listenerPoint } from "./listener.js";
|
|
11
11
|
import { processesPoint } from "./processes.js";
|
|
12
12
|
import { settingsPoint } from "./settings.js";
|
|
13
|
+
import { toolsPoint } from "./tools.js";
|
|
13
14
|
import { viewersPoint } from "./viewers.js";
|
|
14
15
|
import { viewsPoint } from "./views.js";
|
|
15
16
|
export * from "./agent.js";
|
|
@@ -23,6 +24,7 @@ export * from "./files.js";
|
|
|
23
24
|
export * from "./listener.js";
|
|
24
25
|
export * from "./processes.js";
|
|
25
26
|
export * from "./settings.js";
|
|
27
|
+
export * from "./tools.js";
|
|
26
28
|
export * from "./viewers.js";
|
|
27
29
|
export * from "./views.js";
|
|
28
30
|
export const CONTRIBUTION_POINTS = [
|
|
@@ -39,6 +41,7 @@ export const CONTRIBUTION_POINTS = [
|
|
|
39
41
|
listenerPoint,
|
|
40
42
|
automationTemplatesPoint,
|
|
41
43
|
binPoint,
|
|
44
|
+
toolsPoint,
|
|
42
45
|
];
|
|
43
46
|
export const contributesSchema = z.object(Object.fromEntries(CONTRIBUTION_POINTS.map((point) => [point.name, point.schema.describe(point.description).optional()])));
|
|
44
47
|
//# sourceMappingURL=index.js.map
|
package/dist/points/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAK3B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,UAAU;IACV,UAAU;IACV,YAAY;IACZ,cAAc;IACd,aAAa;IACb,aAAa;IACb,cAAc;IACd,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,wBAAwB;IACxB,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAK3B,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,UAAU;IACV,UAAU;IACV,YAAY;IACZ,cAAc;IACd,aAAa;IACb,aAAa;IACb,cAAc;IACd,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,wBAAwB;IACxB,QAAQ;IACR,UAAU;CACmC,CAAC;AAUlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CACrC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAqB,CAChJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/points/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/points/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqDsE,CAAC;AAC9G,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,aAAa;mBAChB,UAAU;0BAEZ,+WAA+W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEjV,CAAC"}
|
package/dist/points/listener.js
CHANGED
|
@@ -37,7 +37,8 @@ export const ListenerContributionSchema = z.object({
|
|
|
37
37
|
.describe("The first prompt a new automation on this source is prefilled with. You own the payload vocabulary, so you own the prompt that explains it."),
|
|
38
38
|
})
|
|
39
39
|
.describe("How the generic automation editor presents this source: its name, its filters, and the prompt it starts people on."),
|
|
40
|
-
})
|
|
40
|
+
})
|
|
41
|
+
.meta({ power: { key: "listener:${provider}", sentence: 'a realtime listener provider "${provider}"' } });
|
|
41
42
|
export const listenerPoint = {
|
|
42
43
|
name: "listener",
|
|
43
44
|
description: "A realtime event source this extension supplies, so automations can trigger on it. One declaration feeds both halves: the daemon accepts these event types and serves this provider's control surface, and the automation editor derives its source picker, filters and starter prompt from it, so a newly installed listener is configurable without a matching app release.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/points/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;CACnI,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,CAAC,qDAAqD,CAAC;IACpE,MAAM,EAAE,CAAC;SACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC,CACL;SACA,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE;QACnF,OAAO,EAAE,qCAAqC;KACjD,CAAC;SACD,QAAQ,CAAC,+HAA+H,CAAC;IAC9I,UAAU,EAAE,CAAC;SACR,MAAM,CAAC;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAGxB,YAAY,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACL,6KAA6K,CAChL;QACL,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAG5G,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3D,+KAA+K,CAClL;QAGD,MAAM,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtD,0OAA0O,CAC7O;QACD,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3D,4IAA4I,CAC/I;QAED,aAAa,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACL,6IAA6I,CAChJ;KACR,CAAC;SACD,QAAQ,CAAC,oHAAoH,CAAC;CACtI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/points/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;CACnI,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,CAAC,qDAAqD,CAAC;IACpE,MAAM,EAAE,CAAC;SACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC,CACL;SACA,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE;QACnF,OAAO,EAAE,qCAAqC;KACjD,CAAC;SACD,QAAQ,CAAC,+HAA+H,CAAC;IAC9I,UAAU,EAAE,CAAC;SACR,MAAM,CAAC;QACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAGxB,YAAY,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACL,6KAA6K,CAChL;QACL,OAAO,EAAE,8BAA8B,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAG5G,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3D,+KAA+K,CAClL;QAGD,MAAM,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtD,0OAA0O,CAC7O;QACD,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC3D,4IAA4I,CAC/I;QAED,aAAa,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACL,6IAA6I,CAChJ;KACR,CAAC;SACD,QAAQ,CAAC,oHAAoH,CAAC;CACtI,CAAC;KACG,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,QAAQ,EAAE,4CAA4C,EAAE,EAAE,CAAC,CAAC;AAG9G,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EACP,+WAA+W;IACnX,MAAM,EAAE,0BAA0B;CACA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../src/points/processes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;
|
|
1
|
+
{"version":3,"file":"processes.d.ts","sourceRoot":"","sources":["../../src/points/processes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;iBAQwG,CAAC;AAC/I,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,cAAc;mBACjB,WAAW;0BAEb,wOAAwO;;;;;;;;;CAE1M,CAAC"}
|
package/dist/points/processes.js
CHANGED
|
@@ -6,7 +6,8 @@ export const ProcessContributionSchema = z.object({
|
|
|
6
6
|
port: z.literal("auto").optional().describe("Assign a free port and inject it as PORT."),
|
|
7
7
|
preview: z.boolean().optional().describe("Expose the port on a tunnelled preview hostname."),
|
|
8
8
|
autoStart: z.boolean().optional().describe("Launch it on install and on daemon boot, rather than waiting to be started."),
|
|
9
|
-
})
|
|
9
|
+
})
|
|
10
|
+
.meta({ effect: "process", power: { key: "process:${name}", sentence: 'a background process "${name}"${autoStart? (starts on boot):}' } });
|
|
10
11
|
export const processesPoint = {
|
|
11
12
|
name: "processes",
|
|
12
13
|
description: "Long-lived background processes the daemon runs for this extension: a gateway holding a connection the daemon must not, a dev server. Managed the same way panel dev servers are, and startable and stoppable from the Extensions tab.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/points/processes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACtG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAC5H,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"processes.js","sourceRoot":"","sources":["../../src/points/processes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACtG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAC5H,CAAC;KACG,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,+DAA+D,EAAE,EAAE,CAAC,CAAC;AAG/I,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,WAAW,EACP,wOAAwO;IAC5O,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/points/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/points/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAmBpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,aAAa;mBAChB,UAAU;0BAEZ,8KAA8K;;;;;;;;;;;;;;;;CAEhJ,CAAC"}
|
package/dist/points/settings.js
CHANGED
|
@@ -14,7 +14,8 @@ export const SettingContributionSchema = z.object({
|
|
|
14
14
|
.string()
|
|
15
15
|
.regex(/^[A-Z][A-Z0-9_]*$/)
|
|
16
16
|
.optional()
|
|
17
|
-
.describe("Inject the stored value into the agent's shell environment under this name, every turn. How a credential you hold reaches the agent's command-line tools.")
|
|
17
|
+
.describe("Inject the stored value into the agent's shell environment under this name, every turn. How a credential you hold reaches the agent's command-line tools.")
|
|
18
|
+
.meta({ power: { key: "setting-env:${key}", sentence: 'puts the "${key}" setting into the agent\'s environment as ${env}' } }),
|
|
18
19
|
});
|
|
19
20
|
export const settingsPoint = {
|
|
20
21
|
name: "settings",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/points/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC;IAC9I,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACrG,MAAM,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,gHAAgH,CAAC;IAC/H,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CACL,2JAA2J,CAC9J;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/points/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC;IAC9I,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACrG,MAAM,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,gHAAgH,CAAC;IAC/H,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CACL,2JAA2J,CAC9J;SACA,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mEAAmE,EAAE,EAAE,CAAC;CACrI,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EACP,8KAA8K;IAClL,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CACR,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TOOL_PATH: RegExp;
|
|
3
|
+
export declare const ToolsContributionSchema: z.ZodObject<{
|
|
4
|
+
perCard: z.ZodOptional<z.ZodString>;
|
|
5
|
+
process: z.ZodOptional<z.ZodString>;
|
|
6
|
+
path: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type ToolsContribution = z.infer<typeof ToolsContributionSchema>;
|
|
9
|
+
export declare const toolsPoint: {
|
|
10
|
+
readonly name: "tools";
|
|
11
|
+
readonly description: "Tools for the agent, as an MCP server the daemon mounts into every turn and every runtime (Claude Code, Codex, Cursor, ACP agents). Serve them from your `server` bundle with `api.tools.serve((card) => [...])`, or from a declared process's port. Replaces an agent plugin's `.mcp.json`, which only Claude Code read.";
|
|
12
|
+
readonly schema: z.ZodObject<{
|
|
13
|
+
perCard: z.ZodOptional<z.ZodString>;
|
|
14
|
+
process: z.ZodOptional<z.ZodString>;
|
|
15
|
+
path: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/points/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,SAAS,QAAkD,CAAC;AAEzE,eAAO,MAAM,uBAAuB;;;;iBA4B9B,CAAC;AACP,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,UAAU;mBACb,OAAO;0BAET,2TAA2T;;;;;;CAE7R,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const TOOL_PATH = /^[a-z0-9][a-z0-9-]*(?:\/[a-z0-9][a-z0-9-]*)*$/;
|
|
3
|
+
export const ToolsContributionSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
perCard: z
|
|
6
|
+
.string()
|
|
7
|
+
.regex(/^[a-z0-9][a-z0-9-]*$/)
|
|
8
|
+
.optional()
|
|
9
|
+
.describe("The id of one of this extension's `cli` capability cards. Every turn granted a card of that kind gets one server named by the card's id, handed that card's settings (secrets included) with each call. Absent ⇒ one server for the extension, named by its `name`, in every turn while the extension is enabled."),
|
|
10
|
+
process: z
|
|
11
|
+
.string()
|
|
12
|
+
.regex(/^[a-z0-9][a-z0-9-]*$/)
|
|
13
|
+
.optional()
|
|
14
|
+
.describe('A process from `contributes.processes`, declared with `port: "auto"`, that answers MCP over Streamable HTTP at `path` on its port. Absent ⇒ your `server` bundle serves the tools.'),
|
|
15
|
+
path: z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(TOOL_PATH)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Where the MCP endpoint answers, without a leading or trailing slash: on the process's port, or in your backend's own namespace when your `server` bundle speaks MCP itself. Absent with no `process` ⇒ the host serves what `api.tools.serve` returns, which is what you want: the host owns the transport, the deadlines and the card lookup. With `perCard`, a request arrives at `<path>/<card id>`."),
|
|
20
|
+
})
|
|
21
|
+
.meta({
|
|
22
|
+
effect: "mcp",
|
|
23
|
+
mintsServer: true,
|
|
24
|
+
power: { key: "tools${perCard?-${perCard}:}", sentence: 'gives the agent MCP tools${perCard?, one server for each "${perCard}" card:}' },
|
|
25
|
+
});
|
|
26
|
+
export const toolsPoint = {
|
|
27
|
+
name: "tools",
|
|
28
|
+
description: "Tools for the agent, as an MCP server the daemon mounts into every turn and every runtime (Claude Code, Codex, Cursor, ACP agents). Serve them from your `server` bundle with `api.tools.serve((card) => [...])`, or from a declared process's port. Replaces an agent plugin's `.mcp.json`, which only Claude Code read.",
|
|
29
|
+
schema: ToolsContributionSchema,
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/points/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,CAAC,MAAM,SAAS,GAAG,+CAA+C,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACnC,MAAM,CAAC;IACJ,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CACL,mTAAmT,CACtT;IACL,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CACL,oLAAoL,CACvL;IACL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,EAAE;SACV,QAAQ,CACL,yYAAyY,CAC5Y;CACR,CAAC;KACD,IAAI,CAAC;IACF,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,EAAE,GAAG,EAAE,8BAA8B,EAAE,QAAQ,EAAE,8EAA8E,EAAE;CAC3I,CAAC,CAAC;AAGP,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EACP,2TAA2T;IAC/T,MAAM,EAAE,uBAAuB;CACG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewers.d.ts","sourceRoot":"","sources":["../../src/points/viewers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"viewers.d.ts","sourceRoot":"","sources":["../../src/points/viewers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAoCgH,CAAC;AACtJ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,YAAY;mBACf,SAAS;0BAEX,6OAA6O;;;;;;;;;;;;;CAE/M,CAAC"}
|
package/dist/points/viewers.js
CHANGED
|
@@ -16,7 +16,8 @@ export const ViewerContributionSchema = z.object({
|
|
|
16
16
|
.boolean()
|
|
17
17
|
.optional()
|
|
18
18
|
.describe("Whether this viewer also draws two versions of a file as one, with what changed marked in place: its registration then carries a `compare` component the host renders with `before` and `after` blobs. Only for `fetch: \"blob\"`."),
|
|
19
|
-
})
|
|
19
|
+
})
|
|
20
|
+
.meta({ power: { key: "viewer:${id}", sentence: '${edit?opens and edits:opens}${compare? and compares:} .${extensions|, .} files (${fetch})' } });
|
|
20
21
|
export const viewersPoint = {
|
|
21
22
|
name: "viewers",
|
|
22
23
|
description: "File formats this extension can render. The host resolves an opened file to your viewer by its extension, fetches the content, and renders your component with it: you keep none of the fetch lifecycle and none of the daemon credentials.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewers.js","sourceRoot":"","sources":["../../src/points/viewers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,UAAU,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sDAAsD,CAAC;IASrE,KAAK,EAAE,CAAC;SACH,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACrC,QAAQ,CACL,ggBAAggB,CACngB;IAGL,IAAI,EAAE,CAAC;SACF,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,mKAAmK,CACtK;IAGL,OAAO,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,oOAAoO,CACvO;CACR,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"viewers.js","sourceRoot":"","sources":["../../src/points/viewers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,UAAU,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sDAAsD,CAAC;IASrE,KAAK,EAAE,CAAC;SACH,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACrC,QAAQ,CACL,ggBAAggB,CACngB;IAGL,IAAI,EAAE,CAAC;SACF,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,mKAAmK,CACtK;IAGL,OAAO,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,oOAAoO,CACvO;CACR,CAAC;KACG,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,4FAA4F,EAAE,EAAE,CAAC,CAAC;AAGtJ,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,IAAI,EAAE,SAAS;IACf,WAAW,EACP,6OAA6O;IACjP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;CACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/points/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,sBAAsB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/points/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,sBAAsB;;;;;;;;;iBAoBkD,CAAC;AACtF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,UAAU;mBACb,OAAO;0BAET,iOAAiO;;;;;;;;;;;CAEnM,CAAC"}
|
package/dist/points/views.js
CHANGED
|
@@ -8,8 +8,10 @@ export const ViewContributionSchema = z.object({
|
|
|
8
8
|
badge: z
|
|
9
9
|
.boolean()
|
|
10
10
|
.optional()
|
|
11
|
-
.describe("Allow this view to say something on its tile: a count, a glyph, or that work is running there. Declared because a badge interrupts from every other screen in the app; leave it out and any badge the extension registers is dropped.")
|
|
12
|
-
})
|
|
11
|
+
.describe("Allow this view to say something on its tile: a count, a glyph, or that work is running there. Declared because a badge interrupts from every other screen in the app; leave it out and any badge the extension registers is dropped.")
|
|
12
|
+
.meta({ power: { key: "view-badge:${id}", sentence: 'may badge the "${label}" tile from any screen' } }),
|
|
13
|
+
})
|
|
14
|
+
.meta({ power: { key: "view:${id}", sentence: 'a ${surface} view "${label}"' } });
|
|
13
15
|
export const viewsPoint = {
|
|
14
16
|
name: "views",
|
|
15
17
|
description: "Sidebar elements this extension may register at runtime. Each entry reserves an id and a surface; the extension supplies the component with api.views.register, and the host refuses any registration this list does not cover.",
|
package/dist/points/views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/points/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mGAAmG,CAAC;IACtI,OAAO,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;SACtC,QAAQ,CACL,+NAA+N,CAClO;IAKL,KAAK,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,uOAAuO,CAC1O;
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/points/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mGAAmG,CAAC;IACtI,OAAO,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;SACtC,QAAQ,CACL,+NAA+N,CAClO;IAKL,KAAK,EAAE,CAAC;SACH,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACL,uOAAuO,CAC1O;SACA,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,+CAA+C,EAAE,EAAE,CAAC;CAC/G,CAAC;KACG,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;AAGtF,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EACP,iOAAiO;IACrO,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACL,CAAC"}
|
package/dist/powers-diff.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powers-diff.d.ts","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"powers-diff.d.ts","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AAQhF,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAChC;AAKD,eAAO,MAAM,QAAQ,aAAc,iBAAiB,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAQxE,CAAC;AAGF,eAAO,MAAM,aAAa,SAAU,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,UAalG,CAAC;AAIF,eAAO,MAAM,UAAU,WAAY,iBAAiB,GAAG,SAAS,SAAS,iBAAiB,KAAG,UACU,CAAC"}
|
package/dist/powers-diff.js
CHANGED
|
@@ -1,62 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { ExtensionManifestSchema } from "./manifest.js";
|
|
2
|
+
import { fillTemplate, walkMeaning } from "./meaning.js";
|
|
2
3
|
export const powersOf = (manifest) => {
|
|
3
4
|
const powers = new Map();
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (manifest.server !== undefined) {
|
|
8
|
-
powers.set("server", "runs a backend bundle inside the daemon's extension host");
|
|
9
|
-
}
|
|
10
|
-
for (const route of manifest.permissions?.sandbox ?? []) {
|
|
11
|
-
powers.set(`sandbox:${route}`, `its UI calls the sandbox route ${route}`);
|
|
12
|
-
}
|
|
13
|
-
for (const route of manifest.permissions?.daemon ?? []) {
|
|
14
|
-
powers.set(`daemon:${route}`, `its backend calls the daemon route ${route}`);
|
|
15
|
-
}
|
|
16
|
-
for (const view of manifest.contributes?.views ?? []) {
|
|
17
|
-
powers.set(`view:${view.id}`, `a ${view.surface} view "${view.label}"`);
|
|
18
|
-
if (view.badge === true) {
|
|
19
|
-
powers.set(`view-badge:${view.id}`, `may badge the "${view.label}" tile from any screen`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
for (const viewer of manifest.contributes?.viewers ?? []) {
|
|
23
|
-
powers.set(`viewer:${viewer.id}`, viewerPower(viewer));
|
|
24
|
-
}
|
|
25
|
-
for (const document of manifest.contributes?.documents ?? []) {
|
|
26
|
-
powers.set(`document:${document.id}`, `marks workspace directories ("${document.label}")`);
|
|
27
|
-
}
|
|
28
|
-
for (const command of manifest.contributes?.commands ?? []) {
|
|
29
|
-
powers.set(`command:${command.command}`, `a palette command "${command.title}"`);
|
|
30
|
-
if (command.keybinding !== undefined) {
|
|
31
|
-
powers.set(`keybinding:${command.command}`, `the global shortcut ${command.keybinding} ("${command.title}")`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
for (const setting of manifest.contributes?.settings ?? []) {
|
|
35
|
-
if (setting.env !== undefined) {
|
|
36
|
-
powers.set(`setting-env:${setting.key}`, `puts the "${setting.key}" setting into the agent's environment as ${setting.env}`);
|
|
5
|
+
walkMeaning(ExtensionManifestSchema, manifest, (meaning, context) => {
|
|
6
|
+
if (meaning.power !== undefined) {
|
|
7
|
+
powers.set(fillTemplate(meaning.power.key, context), fillTemplate(meaning.power.sentence, context));
|
|
37
8
|
}
|
|
38
|
-
}
|
|
39
|
-
for (const process of manifest.contributes?.processes ?? []) {
|
|
40
|
-
powers.set(`process:${process.name}`, `a background process "${process.name}"${process.autoStart === true ? " (starts on boot)" : ""}`);
|
|
41
|
-
}
|
|
42
|
-
for (const file of manifest.contributes?.files ?? []) {
|
|
43
|
-
powers.set(`files:${file.path}`, `is told when ${file.path} changes`);
|
|
44
|
-
}
|
|
45
|
-
if (manifest.contributes?.agent !== undefined) {
|
|
46
|
-
powers.set("agent", "contributes skills, agents and hooks to the agent's turns");
|
|
47
|
-
}
|
|
48
|
-
if (manifest.contributes?.environment !== undefined) {
|
|
49
|
-
powers.set("environment", "bakes an environment fragment into the sandbox image");
|
|
50
|
-
}
|
|
51
|
-
for (const capability of manifest.contributes?.capabilities ?? []) {
|
|
52
|
-
powers.set(`capability:${capability.id}`, `a ${capability.kind} capability card "${capability.catalog.name}"`);
|
|
53
|
-
}
|
|
54
|
-
if (manifest.contributes?.listener !== undefined) {
|
|
55
|
-
powers.set(`listener:${manifest.contributes.listener.provider}`, `a realtime listener provider "${manifest.contributes.listener.provider}"`);
|
|
56
|
-
}
|
|
57
|
-
if (manifest.contributes?.bin !== undefined) {
|
|
58
|
-
powers.set("bin", "puts its shipped tools on the agent's PATH");
|
|
59
|
-
}
|
|
9
|
+
});
|
|
60
10
|
return powers;
|
|
61
11
|
};
|
|
62
12
|
export const diffPowerMaps = (from, to) => {
|
package/dist/powers-diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powers-diff.js","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"powers-diff.js","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiBzD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAA2B,EAAuB,EAAE;IACzE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,WAAW,CAAC,uBAAuB,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QAChE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxG,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAiC,EAAE,EAA+B,EAAc,EAAE;IAC5G,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACzC,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAqC,EAAE,KAAwB,EAAc,EAAE,CACtG,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ExtensionManifest } from "./manifest.js";
|
|
2
|
+
export type ToolServe = {
|
|
3
|
+
readonly by: "host";
|
|
4
|
+
} | {
|
|
5
|
+
readonly by: "backend";
|
|
6
|
+
readonly path: string;
|
|
7
|
+
} | {
|
|
8
|
+
readonly by: "process";
|
|
9
|
+
readonly process: string;
|
|
10
|
+
readonly path: string;
|
|
11
|
+
};
|
|
12
|
+
export interface ToolServer {
|
|
13
|
+
readonly perCard?: string;
|
|
14
|
+
readonly serve: ToolServe;
|
|
15
|
+
}
|
|
16
|
+
export declare const toolServersOf: (manifest: ExtensionManifest) => ToolServer[];
|
|
17
|
+
export declare const toolServerForCard: (manifest: ExtensionManifest, cardKind: string) => ToolServer | undefined;
|
|
18
|
+
export declare const backendToolPathsOf: (manifest: ExtensionManifest) => string[];
|
|
19
|
+
//# sourceMappingURL=tool-servers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-servers.d.ts","sourceRoot":"","sources":["../src/tool-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD,MAAM,MAAM,SAAS,GAEf;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAEvB;IAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAEjD;IAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,MAAM,WAAW,UAAU;IAGvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,aAAc,iBAAiB,KAAG,UAAU,EAmBrE,CAAC;AAGF,eAAO,MAAM,iBAAiB,aAAc,iBAAiB,YAAY,MAAM,KAAG,UAAU,GAAG,SACtB,CAAC;AAI1E,eAAO,MAAM,kBAAkB,aAAc,iBAAiB,KAAG,MAAM,EACoC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const toolServersOf = (manifest) => {
|
|
2
|
+
const servers = [];
|
|
3
|
+
const tools = manifest.contributes?.tools;
|
|
4
|
+
if (tools !== undefined) {
|
|
5
|
+
const serve = tools.process !== undefined
|
|
6
|
+
? { by: "process", process: tools.process, path: tools.path ?? "" }
|
|
7
|
+
: tools.path !== undefined
|
|
8
|
+
? { by: "backend", path: tools.path }
|
|
9
|
+
: { by: "host" };
|
|
10
|
+
servers.push({ ...(tools.perCard === undefined ? {} : { perCard: tools.perCard }), serve });
|
|
11
|
+
}
|
|
12
|
+
for (const card of manifest.contributes?.capabilities ?? []) {
|
|
13
|
+
if (card.kind === "cli" && card.mcp !== undefined && tools?.perCard !== card.id) {
|
|
14
|
+
servers.push({ perCard: card.id, serve: { by: "backend", path: card.mcp } });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return servers;
|
|
18
|
+
};
|
|
19
|
+
export const toolServerForCard = (manifest, cardKind) => toolServersOf(manifest).find((server) => server.perCard === cardKind);
|
|
20
|
+
export const backendToolPathsOf = (manifest) => toolServersOf(manifest).flatMap((server) => (server.serve.by === "backend" ? [server.serve.path] : []));
|
|
21
|
+
//# sourceMappingURL=tool-servers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-servers.js","sourceRoot":"","sources":["../src/tool-servers.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAA2B,EAAgB,EAAE;IACvE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GACP,KAAK,CAAC,OAAO,KAAK,SAAS;YACvB,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE;YACnE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBACrC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC;QAE1D,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,QAAgB,EAA0B,EAAE,CACvG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;AAI1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAA2B,EAAY,EAAE,CACxE,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|