@intentic/extension-manifest 1.316.0 → 1.318.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 CHANGED
@@ -16,8 +16,10 @@ flowchart LR
16
16
  - The runtime parse is lenient and the authoring schema strict, since an unknown key in an author's file is a typo.
17
17
  The generated schema is committed twice, here and in the site's `public/` behind `MANIFEST_SCHEMA_URL`, and the
18
18
  editor's `manifest-schema.test.ts` fails when either copy is stale.
19
- - `sandboxRouteAllowed` is the permission rule: an entry is `"<METHOD> <path-glob>"`, and each `*` matches one path
20
- segment.
19
+ - `sandboxRouteAllowed` is the permission rule: an entry is `"<METHOD> <path-glob>"`, and each `*` stands alone
20
+ between slashes and matches one whole path segment, never a `.` or `..` the URL would resolve away. A malformed entry
21
+ (`**`, a `*` inside a segment, an unknown method, a relative path) fails the manifest parse rather than the first
22
+ call it gates.
21
23
  - What a field MEANS to the host is declared on the field, with `.meta({ power, effect, mintsServer })`
22
24
  (`meaning.ts`), and read from there: the powers `diffPowers` folds a manifest into (so an update re-asks only
23
25
  when it adds one), the effects a card discloses in the capability catalog, and the capability kinds whose ids
@@ -27,7 +29,8 @@ flowchart LR
27
29
  card's `mcp`, its alias for one release. A `superRefine` on the envelope says what no single field can: tools need
28
30
  a `server` bundle or a declared process to serve them.
29
31
  - `HOST_PUBLISHED_SPECIFIERS` lists the only bare imports a published bundle may use: the modules the shell's import
30
- map provides.
32
+ map provides. `bundleProblem` finds a bundle's imports with a small tokenizer rather than a line regex, since a
33
+ minified bundle puts them all on one line and a string or comment may spell the word.
31
34
 
32
35
  ## Key files
33
36
 
@@ -42,4 +45,5 @@ flowchart LR
42
45
 
43
46
  ```sh
44
47
  pnpm --filter @intentic/extension-manifest schema # regenerate both copies of the authoring schema
48
+ pnpm --filter @intentic/extension-manifest test # the bundle scanner, the permission grammar, every power counting
45
49
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,qBAAqB,CAAU,CAAC;AAItI,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,MAAM,EAMvD,CAAC;AAGF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAM,GAAG,SAYvD,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,qBAAqB,CAAU,CAAC;AA6RtI,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,MAAM,EAIvD,CAAC;AAGF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAM,GAAG,SAYvD,CAAC"}
package/dist/bundle.js CHANGED
@@ -1,11 +1,223 @@
1
1
  export const HOST_PUBLISHED_SPECIFIERS = ["vue", "@intentic/extension-api", "@intentic/extension-ui", "@tanstack/vue-query"];
2
- export const bundleSpecifiers = (source) => [
3
- ...new Set([
4
- ...[...source.matchAll(/(?:^|\n)\s*(?:import|export)[^;\n]*?from\s*["'`]([^"'`]+)["'`]/gu)].map((match) => match[1] ?? ""),
5
- ...[...source.matchAll(/\bimport\s*\(\s*["'`]([^"'`]+)["'`]\s*\)/gu)].map((match) => match[1] ?? ""),
6
- ...[...source.matchAll(/(?:^|\n)\s*import\s*["'`]([^"'`]+)["'`]/gu)].map((match) => match[1] ?? ""),
7
- ]),
8
- ];
2
+ const BEFORE_EXPRESSION = new Set(["return", "typeof", "instanceof", "in", "of", "new", "delete", "void", "throw", "case", "do", "else", "yield", "await", "extends"]);
3
+ const regexMayFollow = (last) => {
4
+ if (last === undefined) {
5
+ return true;
6
+ }
7
+ if (last.kind === "ident") {
8
+ return BEFORE_EXPRESSION.has(last.text);
9
+ }
10
+ return last.kind === "punct" && ![")", "]", "++", "--"].includes(last.text);
11
+ };
12
+ const IDENT = /[#$_\\\p{ID_Start}][$\\\u200C\u200D\p{ID_Continue}]*/uy;
13
+ const NUMBER = /\.?\d[\w.]*/y;
14
+ const LINE_BREAK = /[\n\r\u2028\u2029]/u;
15
+ const SPACE = /\s/u;
16
+ const matchEnd = (pattern, source, at) => {
17
+ pattern.lastIndex = at;
18
+ return pattern.test(source) ? pattern.lastIndex : -1;
19
+ };
20
+ const lineEnd = (source, at) => {
21
+ const offset = source.slice(at).search(LINE_BREAK);
22
+ return offset < 0 ? source.length : at + offset;
23
+ };
24
+ const readString = (source, at) => {
25
+ const quote = source[at];
26
+ for (let i = at + 1; i < source.length; i++) {
27
+ const char = source[i];
28
+ if (char === "\\") {
29
+ i++;
30
+ }
31
+ else if (char === quote) {
32
+ return { end: i + 1, value: source.slice(at + 1, i) };
33
+ }
34
+ else if (char === "\n" || char === "\r") {
35
+ return { end: i, value: source.slice(at + 1, i) };
36
+ }
37
+ }
38
+ return { end: source.length, value: source.slice(at + 1) };
39
+ };
40
+ const regexEnd = (source, at) => {
41
+ let inClass = false;
42
+ for (let i = at + 1; i < source.length; i++) {
43
+ const char = source[i] ?? "";
44
+ if (LINE_BREAK.test(char)) {
45
+ return -1;
46
+ }
47
+ if (char === "\\") {
48
+ i++;
49
+ }
50
+ else if (char === "[" || char === "]") {
51
+ inClass = char === "[";
52
+ }
53
+ else if (char === "/" && !inClass) {
54
+ return Math.max(i + 1, matchEnd(IDENT, source, i + 1));
55
+ }
56
+ }
57
+ return -1;
58
+ };
59
+ const templateSpan = (source, at) => {
60
+ for (let i = at; i < source.length; i++) {
61
+ const char = source[i];
62
+ if (char === "\\") {
63
+ i++;
64
+ }
65
+ else if (char === "`") {
66
+ return { end: i + 1, hole: false };
67
+ }
68
+ else if (char === "$" && source[i + 1] === "{") {
69
+ return { end: i + 2, hole: true };
70
+ }
71
+ }
72
+ return { end: source.length, hole: false };
73
+ };
74
+ const punctAt = (source, at) => {
75
+ if (source.startsWith("...", at)) {
76
+ return "...";
77
+ }
78
+ const two = source.slice(at, at + 2);
79
+ if (two === "++" || two === "--" || (two === "?." && !/\d/u.test(source[at + 2] ?? ""))) {
80
+ return two;
81
+ }
82
+ return source[at] ?? "";
83
+ };
84
+ const skipTrivia = (source, lexer) => {
85
+ for (;;) {
86
+ if (SPACE.test(source[lexer.at] ?? "")) {
87
+ lexer.at++;
88
+ }
89
+ else if (source.startsWith("//", lexer.at)) {
90
+ lexer.at = lineEnd(source, lexer.at);
91
+ }
92
+ else if (source.startsWith("/*", lexer.at)) {
93
+ const close = source.indexOf("*/", lexer.at + 2);
94
+ lexer.at = close < 0 ? source.length : close + 2;
95
+ }
96
+ else {
97
+ return;
98
+ }
99
+ }
100
+ };
101
+ const readTemplate = (source, lexer, from, head) => {
102
+ const span = templateSpan(source, from);
103
+ lexer.at = span.end;
104
+ if (span.hole) {
105
+ lexer.holes.push(lexer.braces);
106
+ return { kind: "punct", text: "${" };
107
+ }
108
+ return { kind: "template", value: head ? source.slice(from, span.end - 1) : undefined };
109
+ };
110
+ const readToken = (source, lexer) => {
111
+ const { at } = lexer;
112
+ const char = source[at] ?? "";
113
+ const regex = char === "/" && regexMayFollow(lexer.last) ? regexEnd(source, at) : -1;
114
+ if (regex >= 0) {
115
+ lexer.at = regex;
116
+ return { kind: "regex" };
117
+ }
118
+ if (char === '"' || char === "'") {
119
+ const { end, value } = readString(source, at);
120
+ lexer.at = end;
121
+ return { kind: "string", value };
122
+ }
123
+ if (char === "`") {
124
+ return readTemplate(source, lexer, at + 1, true);
125
+ }
126
+ if (char === "}" && lexer.holes.at(-1) === lexer.braces) {
127
+ lexer.holes.pop();
128
+ return readTemplate(source, lexer, at + 1, false);
129
+ }
130
+ const ident = matchEnd(IDENT, source, at);
131
+ if (ident >= 0) {
132
+ lexer.at = ident;
133
+ return { kind: "ident", text: source.slice(at, ident) };
134
+ }
135
+ const number = matchEnd(NUMBER, source, at);
136
+ if (number >= 0) {
137
+ lexer.at = number;
138
+ return { kind: "number" };
139
+ }
140
+ const text = punctAt(source, at);
141
+ lexer.braces += text === "{" ? 1 : text === "}" ? -1 : 0;
142
+ lexer.at += text.length;
143
+ return { kind: "punct", text };
144
+ };
145
+ const tokenize = (source, emit) => {
146
+ const lexer = { at: source.startsWith("#!") ? lineEnd(source, 0) : 0, last: undefined, braces: 0, holes: [] };
147
+ for (skipTrivia(source, lexer); lexer.at < source.length; skipTrivia(source, lexer)) {
148
+ lexer.last = readToken(source, lexer);
149
+ emit(lexer.last);
150
+ }
151
+ };
152
+ const isPunct = (token, text) => token.kind === "punct" && token.text === text;
153
+ const IDLE = { at: "idle" };
154
+ const clauseNext = (depth, closed, token) => {
155
+ if (depth === 0 && token.kind === "ident" && token.text === "from") {
156
+ return { at: "from" };
157
+ }
158
+ if (closed) {
159
+ return undefined;
160
+ }
161
+ if (isPunct(token, "{")) {
162
+ return { at: "clause", depth: depth + 1, closed: false };
163
+ }
164
+ if (isPunct(token, "}") && depth > 0) {
165
+ return { at: "clause", depth: depth - 1, closed: depth === 1 };
166
+ }
167
+ const bindingPart = token.kind === "ident" || token.kind === "string" || isPunct(token, ",") || isPunct(token, "*");
168
+ return bindingPart ? { at: "clause", depth, closed } : undefined;
169
+ };
170
+ const literalOf = (token) => (token.kind === "string" || token.kind === "template" ? token.value : undefined);
171
+ const transition = (state, token, found) => {
172
+ switch (state.at) {
173
+ case "idle":
174
+ return token.kind === "ident" && (token.text === "import" || token.text === "export") ? { at: token.text } : IDLE;
175
+ case "import":
176
+ if (isPunct(token, "(")) {
177
+ return { at: "dynamic" };
178
+ }
179
+ if (token.kind === "string") {
180
+ found.add(token.value);
181
+ return IDLE;
182
+ }
183
+ return clauseNext(0, false, token);
184
+ case "export":
185
+ return isPunct(token, "*") || isPunct(token, "{") ? clauseNext(0, false, token) : undefined;
186
+ case "dynamic": {
187
+ const value = literalOf(token);
188
+ return value === undefined ? undefined : { at: "argument", value };
189
+ }
190
+ case "argument":
191
+ if (isPunct(token, ")") || isPunct(token, ",")) {
192
+ found.add(state.value);
193
+ }
194
+ return undefined;
195
+ case "from":
196
+ if (token.kind === "string") {
197
+ found.add(token.value);
198
+ return IDLE;
199
+ }
200
+ return clauseNext(0, false, token);
201
+ case "clause":
202
+ return clauseNext(state.depth, state.closed, token);
203
+ }
204
+ };
205
+ const specifierReader = (found) => {
206
+ let state = IDLE;
207
+ let previous;
208
+ return (token) => {
209
+ const member = previous !== undefined && (isPunct(previous, ".") || isPunct(previous, "?."));
210
+ previous = token;
211
+ if (!member) {
212
+ state = transition(state, token, found) ?? transition(IDLE, token, found) ?? IDLE;
213
+ }
214
+ };
215
+ };
216
+ export const bundleSpecifiers = (source) => {
217
+ const found = new Set();
218
+ tokenize(source, specifierReader(found));
219
+ return [...found];
220
+ };
9
221
  export const bundleProblem = (source) => {
10
222
  const specifiers = bundleSpecifiers(source);
11
223
  const relative = specifiers.filter((specifier) => specifier.startsWith(".") || specifier.startsWith("/"));
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,qBAAqB,CAAU,CAAC;AAItI,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAY,EAAE,CAAC;IAC1D,GAAG,IAAI,GAAG,CAAC;QACP,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,kEAAkE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1H,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACtG,CAAC;CACL,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAsB,EAAE;IAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,0BAA0B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gFAAgF,CAAC;IACzI,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,WAAW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mEAAmE,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACtJ,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,7 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
107
107
  identity: z.ZodOptional<z.ZodString>;
108
108
  insecure: z.ZodOptional<z.ZodBoolean>;
109
109
  }, z.core.$strip>>;
110
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
110
111
  mcp: z.ZodOptional<z.ZodString>;
111
112
  }, z.core.$strip>, z.ZodObject<{
112
113
  id: z.ZodString;
@@ -349,6 +350,11 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
349
350
  secret: z.ZodOptional<z.ZodBoolean>;
350
351
  env: z.ZodOptional<z.ZodString>;
351
352
  }, z.core.$strip>>>;
353
+ sideViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
354
+ id: z.ZodString;
355
+ label: z.ZodString;
356
+ links: z.ZodOptional<z.ZodBoolean>;
357
+ }, z.core.$strip>>>;
352
358
  tools: z.ZodOptional<z.ZodObject<{
353
359
  perCard: z.ZodOptional<z.ZodString>;
354
360
  process: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0GxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,aAAa,aAAc,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,KAAG,MAAkD,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqHxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,aAAa,aAAc,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,MAAM,CAAC,KAAG,MAAkD,CAAC"}
package/dist/manifest.js CHANGED
@@ -1,6 +1,13 @@
1
1
  import { z } from "zod";
2
2
  import { MARK_FIELDS } from "./mark.js";
3
+ import { permissionProblem } from "./permissions.js";
3
4
  import { contributesSchema } from "./points/index.js";
5
+ const permissionEntry = () => z.string().superRefine((entry, ctx) => {
6
+ const problem = permissionProblem(entry);
7
+ if (problem !== undefined) {
8
+ ctx.addIssue({ code: "custom", message: problem });
9
+ }
10
+ });
4
11
  const ManifestShape = z.object({
5
12
  $schema: z.string().optional().describe("The authoring schema, for editor completion and validation. Nothing at runtime reads it."),
6
13
  publisher: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
@@ -32,11 +39,11 @@ const ManifestShape = z.object({
32
39
  permissions: z
33
40
  .object({
34
41
  sandbox: z
35
- .array(z.string().meta({ power: { key: "sandbox:${value}", sentence: "its UI calls the sandbox route ${value}" } }))
42
+ .array(permissionEntry().meta({ power: { key: "sandbox:${value}", sentence: "its UI calls the sandbox route ${value}" } }))
36
43
  .optional()
37
44
  .describe("Daemon routes your UI half may call. Your own backend namespace needs no entry: its backend is your own code."),
38
45
  daemon: z
39
- .array(z.string().meta({ power: { key: "daemon:${value}", sentence: "its backend calls the daemon route ${value}" } }))
46
+ .array(permissionEntry().meta({ power: { key: "daemon:${value}", sentence: "its backend calls the daemon route ${value}" } }))
40
47
  .optional()
41
48
  .describe("Daemon routes your SERVER half may call. Separate from `sandbox` because the two halves run as different principals: the UI as the owner's session, the backend as a minted per-extension token, so a grant to one must never quietly widen the other."),
42
49
  })
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export declare const permissionProblem: (entry: string) => string | undefined;
1
2
  export declare const sandboxRouteAllowed: (permissions: readonly string[], method: string, path: string) => boolean;
2
3
  //# sourceMappingURL=permissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,mBAAmB,gBAAiB,SAAS,MAAM,EAAE,UAAU,MAAM,QAAQ,MAAM,KAAG,OAOlG,CAAC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,iBAAiB,UAAW,MAAM,KAAG,MAAM,GAAG,SAI1D,CAAC;AAkBF,eAAO,MAAM,mBAAmB,gBAAiB,SAAS,MAAM,EAAE,UAAU,MAAM,QAAQ,MAAM,KAAG,OAYlG,CAAC"}
@@ -1,21 +1,56 @@
1
- const escapeRegExp = (literal) => literal.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1
+ const METHODS = new Set(["GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]);
2
+ const DOT_SEGMENT = /^(?:\.|%2e){1,2}$/iu;
3
+ const segmentProblem = (segment) => {
4
+ if (segment.includes("*") && segment !== "*") {
5
+ return `"${segment}" is not a segment glob: a \`*\` stands alone between slashes and matches one whole segment, so \`**\` and a \`*\` inside a segment are not supported`;
6
+ }
7
+ if (DOT_SEGMENT.test(segment)) {
8
+ return `"${segment}" is not a route segment: the URL resolves it away before any route sees it`;
9
+ }
10
+ return undefined;
11
+ };
12
+ const syntaxProblem = (method, glob) => {
13
+ if (glob === "") {
14
+ return `expected "<METHOD> <path-glob>", e.g. "GET /panels"`;
15
+ }
16
+ if (!METHODS.has(method.toUpperCase())) {
17
+ return `"${method}" is not one of ${[...METHODS].join(", ")}`;
18
+ }
19
+ if (!glob.startsWith("/")) {
20
+ return `the path must start with "/"`;
21
+ }
22
+ if (/[?#\\]/u.test(glob)) {
23
+ return `the path may not hold "?", "#" or "\\": routes are matched on the path alone`;
24
+ }
25
+ return glob.slice(1).split("/").map(segmentProblem).find((found) => found !== undefined);
26
+ };
27
+ const split = (entry) => {
28
+ const [, method = "", glob = ""] = /^(\S+)\s+(\S+)$/u.exec(entry.trim()) ?? [];
29
+ return { method, glob };
30
+ };
31
+ export const permissionProblem = (entry) => {
32
+ const { method, glob } = split(entry);
33
+ const problem = syntaxProblem(method, glob);
34
+ return problem === undefined ? undefined : `invalid permission "${entry}": ${problem}`;
35
+ };
2
36
  const compile = (entry) => {
3
- const spaceIndex = entry.indexOf(" ");
4
- if (spaceIndex < 0) {
5
- throw new Error(`invalid sandbox permission "${entry}": expected "<METHOD> <path-glob>", e.g. "GET /panels"`);
37
+ const problem = permissionProblem(entry);
38
+ if (problem !== undefined) {
39
+ throw new Error(problem);
6
40
  }
7
- const method = entry.slice(0, spaceIndex).trim().toUpperCase();
8
- const glob = entry.slice(spaceIndex + 1).trim();
9
- const source = `^${glob.split("*").map(escapeRegExp).join("[^/]+")}$`;
10
- const regex = new RegExp(source);
11
- return { method, test: (path) => regex.test(path) };
41
+ const { method, glob } = split(entry);
42
+ return { method: method.toUpperCase(), segments: glob.slice(1).split("/").map((segment) => (segment === "*" ? undefined : segment)) };
12
43
  };
44
+ const segmentMatches = (glob, segment) => glob === undefined ? segment !== "" && !segment.includes("\\") && !DOT_SEGMENT.test(segment) : glob === segment;
13
45
  export const sandboxRouteAllowed = (permissions, method, path) => {
14
46
  const route = path.split("?")[0] ?? path;
15
47
  const wanted = method.toUpperCase();
48
+ const segments = route.startsWith("/") ? route.slice(1).split("/") : [];
16
49
  return permissions.some((entry) => {
17
50
  const compiled = compile(entry);
18
- return compiled.method === wanted && compiled.test(route);
51
+ return (compiled.method === wanted &&
52
+ compiled.segments.length === segments.length &&
53
+ compiled.segments.every((glob, index) => segmentMatches(glob, segments[index] ?? "")));
19
54
  });
20
55
  };
21
56
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AASjG,MAAM,OAAO,GAAG,CAAC,KAAa,EAAiB,EAAE;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,wDAAwD,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAA8B,EAAE,MAAc,EAAE,IAAY,EAAW,EAAE;IACzG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,7 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
77
77
  identity: z.ZodOptional<z.ZodString>;
78
78
  insecure: z.ZodOptional<z.ZodBoolean>;
79
79
  }, z.core.$strip>>;
80
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
81
  mcp: z.ZodOptional<z.ZodString>;
81
82
  }, z.core.$strip>, z.ZodObject<{
82
83
  id: z.ZodString;
@@ -312,6 +313,7 @@ export declare const capabilitiesPoint: {
312
313
  identity: z.ZodOptional<z.ZodString>;
313
314
  insecure: z.ZodOptional<z.ZodBoolean>;
314
315
  }, z.core.$strip>>;
316
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
315
317
  mcp: z.ZodOptional<z.ZodString>;
316
318
  }, z.core.$strip>, z.ZodObject<{
317
319
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,aAAa,EAAgC,MAAM,eAAe,CAAC;AAIjF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;iBAkEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,YAAY,UAAW,eAAe,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,OACtB,CAAC;AAqE5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiHiE,CAAC;AAC3G,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAQnF,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAAM,GAAG,SAA8D,CAAC;AAKjI,eAAO,MAAM,kBAAkB,kBACZ,SAAS,sBAAsB,EAAE,cACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAC1F,sBAAsB,GAAG,SAM3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;mBACpB,cAAc;0BAEhB,kYAAkY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEpW,CAAC;AAKvC,eAAO,MAAM,6BAA6B,QAAO,WAAW,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAa1F,CAAC;AAIF,eAAO,MAAM,qBAAqB,iBAAkB,sBAAsB,KAAG,WAAW,CAAC,aAAa,CAarG,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,KAAK,aAAa,EAAgC,MAAM,eAAe,CAAC;AAIjF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;iBAkEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,YAAY,UAAW,eAAe,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,OACtB,CAAC;AAqE5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwHiE,CAAC;AAC3G,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAQnF,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,MAAM,GAAG,SAA8D,CAAC;AAKjI,eAAO,MAAM,kBAAkB,kBACZ,SAAS,sBAAsB,EAAE,cACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,KAC1F,sBAAsB,GAAG,SAM3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;mBACpB,cAAc;0BAEhB,kYAAkY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEpW,CAAC;AAKvC,eAAO,MAAM,6BAA6B,QAAO,WAAW,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAa1F,CAAC;AAIF,eAAO,MAAM,qBAAqB,iBAAkB,sBAAsB,KAAG,WAAW,CAAC,aAAa,CAarG,CAAC"}
@@ -120,6 +120,10 @@ export const CapabilityContributionSchema = z
120
120
  .describe("A sandbox feature pack name (whisper, llamacpp, browser, …) supplying this tool. Preferred over `fragment`: an image that already bakes the pack needs no rebuild, and there is no copy to drift.")
121
121
  .meta({ effect: "image" }),
122
122
  probe: ProbeSchema.optional().describe("One authenticated request that tests this card's settings before they are saved, so a wrong token or an unreachable host is answered on the form rather than by a card that says 'not connected' afterwards."),
123
+ hosts: z
124
+ .array(z.string().min(1))
125
+ .optional()
126
+ .describe("The hosts this card's credential is meant for, as templates over the fields like `env` (`api.github.com`, `*.githubusercontent.com`, `${url}`); a value that comes out as a URL counts as its host. The sandbox limits the credential's `{{secret:…}}` reference to them by default, so a use aimed anywhere else asks a person first. The owner can change or lift the list on the Secrets view."),
123
127
  mcp: z
124
128
  .string()
125
129
  .regex(TOOL_PATH)
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/points/capabilities.ts"],"names":[],"mappings":"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"}
@@ -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 "./side-views.js";
13
14
  export * from "./tools.js";
14
15
  export * from "./viewers.js";
15
16
  export * from "./views.js";
@@ -55,6 +56,14 @@ export declare const CONTRIBUTION_POINTS: readonly [{
55
56
  id: z.ZodString;
56
57
  label: z.ZodString;
57
58
  }, z.core.$strip>>;
59
+ }, {
60
+ readonly name: "sideViews";
61
+ readonly description: "Things this extension can show in the editor's side panel, one input at a time, beside whatever the reader is doing. Each entry reserves an id; the extension supplies the component with api.sideViews.register and opens one with api.sideViews.open, and the host refuses any id this list does not cover.";
62
+ readonly schema: z.ZodArray<z.ZodObject<{
63
+ id: z.ZodString;
64
+ label: z.ZodString;
65
+ links: z.ZodOptional<z.ZodBoolean>;
66
+ }, z.core.$strip>>;
58
67
  }, {
59
68
  readonly name: "commands";
60
69
  readonly description: "Commands this extension may register handlers for, surfaced in the command palette. Title, icon and shortcut all come from here rather than from the registration call, because this is what the owner approved at install.";
@@ -165,6 +174,7 @@ export declare const CONTRIBUTION_POINTS: readonly [{
165
174
  identity: z.ZodOptional<z.ZodString>;
166
175
  insecure: z.ZodOptional<z.ZodBoolean>;
167
176
  }, z.core.$strip>>;
177
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
168
178
  mcp: z.ZodOptional<z.ZodString>;
169
179
  }, z.core.$strip>, z.ZodObject<{
170
180
  id: z.ZodString;
@@ -504,6 +514,7 @@ export declare const contributesSchema: z.ZodObject<{
504
514
  identity: z.ZodOptional<z.ZodString>;
505
515
  insecure: z.ZodOptional<z.ZodBoolean>;
506
516
  }, z.core.$strip>>;
517
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
507
518
  mcp: z.ZodOptional<z.ZodString>;
508
519
  }, z.core.$strip>, z.ZodObject<{
509
520
  id: z.ZodString;
@@ -746,6 +757,11 @@ export declare const contributesSchema: z.ZodObject<{
746
757
  secret: z.ZodOptional<z.ZodBoolean>;
747
758
  env: z.ZodOptional<z.ZodString>;
748
759
  }, z.core.$strip>>>;
760
+ sideViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
761
+ id: z.ZodString;
762
+ label: z.ZodString;
763
+ links: z.ZodOptional<z.ZodBoolean>;
764
+ }, z.core.$strip>>>;
749
765
  tools: z.ZodOptional<z.ZodObject<{
750
766
  perCard: z.ZodOptional<z.ZodString>;
751
767
  process: z.ZodOptional<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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/points/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,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,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAK3B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBiB,CAAC;AAUlD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC"}
@@ -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 { sideViewsPoint } from "./side-views.js";
13
14
  import { toolsPoint } from "./tools.js";
14
15
  import { viewersPoint } from "./viewers.js";
15
16
  import { viewsPoint } from "./views.js";
@@ -24,6 +25,7 @@ export * from "./files.js";
24
25
  export * from "./listener.js";
25
26
  export * from "./processes.js";
26
27
  export * from "./settings.js";
28
+ export * from "./side-views.js";
27
29
  export * from "./tools.js";
28
30
  export * from "./viewers.js";
29
31
  export * from "./views.js";
@@ -32,6 +34,7 @@ export const CONTRIBUTION_POINTS = [
32
34
  filesPoint,
33
35
  viewersPoint,
34
36
  documentsPoint,
37
+ sideViewsPoint,
35
38
  commandsPoint,
36
39
  settingsPoint,
37
40
  processesPoint,