@intentic/extension-manifest 1.326.0 → 1.327.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
@@ -20,6 +20,10 @@ flowchart LR
20
20
  between slashes and matches one whole path segment, never a `.` or `..` the URL would resolve away. A malformed entry
21
21
  (`**`, a `*` inside a segment, an unknown method, a relative path) fails the manifest parse rather than the first
22
22
  call it gates.
23
+ - `extensionRouteReach` is the whole rule for an extension's own token: the two routes every extension reaches about
24
+ itself (`EXTENSION_OWN_ROUTES`: its settings and its event stream), its own listener provider's routes, and whatever
25
+ `permissions.daemon` declares. The daemon's grant and the SDK's test fake both judge by it, and `./permissions` exports
26
+ the rule alone, for a process that should not load the manifest schema.
23
27
  - What a field MEANS to the host is declared on the field, with `.meta({ power, effect, mintsServer })`
24
28
  (`meaning.ts`), and read from there: the powers `diffPowers` folds a manifest into (so an update re-asks only
25
29
  when it adds one), the effects a card discloses in the capability catalog, and the capability kinds whose ids
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./bundle.js";
2
2
  export * from "./contribution-point.js";
3
3
  export * from "./json-schema.js";
4
4
  export * from "./manifest.js";
5
+ export { ART_MAX_BYTES } from "./mark.js";
5
6
  export * from "./meaning.js";
6
7
  export * from "./permissions.js";
7
8
  export * from "./points/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./bundle.js";
2
2
  export * from "./contribution-point.js";
3
3
  export * from "./json-schema.js";
4
4
  export * from "./manifest.js";
5
+ export { ART_MAX_BYTES } from "./mark.js";
5
6
  export * from "./meaning.js";
6
7
  export * from "./permissions.js";
7
8
  export * from "./points/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -108,6 +108,30 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
108
108
  insecure: z.ZodOptional<z.ZodBoolean>;
109
109
  }, z.core.$strip>>;
110
110
  hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
111
+ broker: z.ZodOptional<z.ZodObject<{
112
+ routes: z.ZodArray<z.ZodObject<{
113
+ upstream: z.ZodString;
114
+ env: z.ZodOptional<z.ZodString>;
115
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
116
+ basic: z.ZodOptional<z.ZodObject<{
117
+ username: z.ZodString;
118
+ password: z.ZodString;
119
+ }, z.core.$strip>>;
120
+ form: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
121
+ pathPrefix: z.ZodOptional<z.ZodString>;
122
+ git: z.ZodOptional<z.ZodBoolean>;
123
+ }, z.core.$strip>>;
124
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
125
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
126
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
127
+ action: z.ZodEnum<{
128
+ allow: "allow";
129
+ ask: "ask";
130
+ deny: "deny";
131
+ }>;
132
+ why: z.ZodOptional<z.ZodString>;
133
+ }, z.core.$strip>>>;
134
+ }, z.core.$strip>>;
111
135
  mcp: z.ZodOptional<z.ZodString>;
112
136
  }, z.core.$strip>, z.ZodObject<{
113
137
  id: z.ZodString;
@@ -235,6 +259,48 @@ export declare const ExtensionManifestSchema: z.ZodObject<{
235
259
  kind: z.ZodLiteral<"webext">;
236
260
  install: z.ZodOptional<z.ZodURL>;
237
261
  skill: z.ZodString;
262
+ }, z.core.$strip>, z.ZodObject<{
263
+ id: z.ZodString;
264
+ catalog: z.ZodObject<{
265
+ art: z.ZodOptional<z.ZodString>;
266
+ logo: z.ZodOptional<z.ZodString>;
267
+ icon: z.ZodOptional<z.ZodString>;
268
+ name: z.ZodString;
269
+ description: z.ZodString;
270
+ category: z.ZodString;
271
+ hint: z.ZodOptional<z.ZodString>;
272
+ guide: z.ZodOptional<z.ZodObject<{
273
+ url: z.ZodOptional<z.ZodString>;
274
+ urlFromField: z.ZodOptional<z.ZodString>;
275
+ path: z.ZodOptional<z.ZodString>;
276
+ linkLabel: z.ZodOptional<z.ZodString>;
277
+ scopes: z.ZodOptional<z.ZodString>;
278
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>;
281
+ fields: z.ZodArray<z.ZodObject<{
282
+ key: z.ZodString;
283
+ label: z.ZodString;
284
+ placeholder: z.ZodOptional<z.ZodString>;
285
+ secret: z.ZodOptional<z.ZodBoolean>;
286
+ optional: z.ZodOptional<z.ZodBoolean>;
287
+ multiline: z.ZodOptional<z.ZodBoolean>;
288
+ advanced: z.ZodOptional<z.ZodBoolean>;
289
+ boolean: z.ZodOptional<z.ZodBoolean>;
290
+ hint: z.ZodOptional<z.ZodString>;
291
+ rebuild: z.ZodOptional<z.ZodBoolean>;
292
+ default: z.ZodOptional<z.ZodString>;
293
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
294
+ value: z.ZodString;
295
+ label: z.ZodString;
296
+ }, z.core.$strip>>>;
297
+ when: z.ZodOptional<z.ZodString>;
298
+ value: z.ZodOptional<z.ZodString>;
299
+ totp: z.ZodOptional<z.ZodBoolean>;
300
+ }, z.core.$strip>>;
301
+ kind: z.ZodLiteral<"phone">;
302
+ install: z.ZodOptional<z.ZodURL>;
303
+ skill: z.ZodString;
238
304
  }, z.core.$strip>, z.ZodObject<{
239
305
  id: z.ZodString;
240
306
  catalog: z.ZodObject<{
@@ -1 +1 @@
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"}
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/mark.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ export declare const ART_MAX_BYTES = 4096;
2
3
  export declare const MARK_FIELDS: {
3
4
  art: z.ZodOptional<z.ZodString>;
4
5
  logo: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,WAAW;IAEpB,GAAG;IASH,IAAI;IAOJ,IAAI;CAMP,CAAC"}
1
+ {"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC,eAAO,MAAM,WAAW;IAEpB,GAAG;IASH,IAAI;IAOJ,IAAI;CAMP,CAAC"}
package/dist/mark.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- const ART_MAX_BYTES = 4096;
2
+ export const ART_MAX_BYTES = 4096;
3
3
  export const MARK_FIELDS = {
4
4
  art: z
5
5
  .string()
package/dist/mark.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mark.js","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAG;IAEvB,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,aAAa,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACL,ycAAyc,CAC5c;IAGL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,iRAAiR,CACpR;IAEL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,wPAAwP,CAC3P;CACR,CAAC"}
1
+ {"version":3,"file":"mark.js","sourceRoot":"","sources":["../src/mark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG;IAEvB,GAAG,EAAE,CAAC;SACD,MAAM,EAAE;SACR,GAAG,CAAC,aAAa,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACL,ycAAyc,CAC5c;IAGL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,iRAAiR,CACpR;IAEL,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACL,wPAAwP,CAC3P;CACR,CAAC"}
@@ -1,3 +1,10 @@
1
1
  export declare const permissionProblem: (entry: string) => string | undefined;
2
2
  export declare const sandboxRouteAllowed: (permissions: readonly string[], method: string, path: string) => boolean;
3
+ export declare const EXTENSION_OWN_ROUTES: readonly string[];
4
+ export interface ExtensionReach {
5
+ readonly permissions: readonly string[];
6
+ readonly listener?: string | undefined;
7
+ }
8
+ export declare const listenerSegmentOf: (path: string) => string | undefined;
9
+ export declare const extensionRouteReach: (reach: ExtensionReach, method: string, path: string) => boolean;
3
10
  //# sourceMappingURL=permissions.d.ts.map
@@ -1 +1 @@
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
+ {"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;AAKF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAyD,CAAC;AAI5G,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAKD,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAAM,GAAG,SAAiE,CAAC;AAO5H,eAAO,MAAM,mBAAmB,UAAW,cAAc,UAAU,MAAM,QAAQ,MAAM,KAAG,OASzF,CAAC"}
@@ -53,4 +53,17 @@ export const sandboxRouteAllowed = (permissions, method, path) => {
53
53
  compiled.segments.every((glob, index) => segmentMatches(glob, segments[index] ?? "")));
54
54
  });
55
55
  };
56
+ export const EXTENSION_OWN_ROUTES = ["GET /extension/settings", "GET /extension/events"];
57
+ const LISTENER_ROUTE = /^\/listeners\/([^/]+)\/(?:state|dispatch|failure|status)$/u;
58
+ export const listenerSegmentOf = (path) => LISTENER_ROUTE.exec(path.split("?")[0] ?? path)?.[1];
59
+ export const extensionRouteReach = (reach, method, path) => {
60
+ if (sandboxRouteAllowed(EXTENSION_OWN_ROUTES, method, path)) {
61
+ return true;
62
+ }
63
+ const segment = listenerSegmentOf(path);
64
+ if (segment !== undefined) {
65
+ return reach.listener !== undefined && (segment === reach.listener || segment === encodeURIComponent(reach.listener));
66
+ }
67
+ return sandboxRouteAllowed(reach.permissions, method, path);
68
+ };
56
69
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,55 @@ export declare const CapabilityFieldSchema: z.ZodObject<{
22
22
  }, z.core.$strip>;
23
23
  export type CapabilityField = z.infer<typeof CapabilityFieldSchema>;
24
24
  export declare const fieldApplies: (field: CapabilityField, values: Readonly<Record<string, unknown>>) => boolean;
25
+ declare const BrokerRouteSchema: z.ZodObject<{
26
+ upstream: z.ZodString;
27
+ env: z.ZodOptional<z.ZodString>;
28
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
29
+ basic: z.ZodOptional<z.ZodObject<{
30
+ username: z.ZodString;
31
+ password: z.ZodString;
32
+ }, z.core.$strip>>;
33
+ form: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
34
+ pathPrefix: z.ZodOptional<z.ZodString>;
35
+ git: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$strip>;
37
+ export type BrokerRoute = z.infer<typeof BrokerRouteSchema>;
38
+ export declare const BrokerRuleSchema: z.ZodObject<{
39
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ action: z.ZodEnum<{
42
+ allow: "allow";
43
+ ask: "ask";
44
+ deny: "deny";
45
+ }>;
46
+ why: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strip>;
48
+ export type BrokerRule = z.infer<typeof BrokerRuleSchema>;
49
+ export declare const BrokerSchema: z.ZodObject<{
50
+ routes: z.ZodArray<z.ZodObject<{
51
+ upstream: z.ZodString;
52
+ env: z.ZodOptional<z.ZodString>;
53
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
54
+ basic: z.ZodOptional<z.ZodObject<{
55
+ username: z.ZodString;
56
+ password: z.ZodString;
57
+ }, z.core.$strip>>;
58
+ form: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
59
+ pathPrefix: z.ZodOptional<z.ZodString>;
60
+ git: z.ZodOptional<z.ZodBoolean>;
61
+ }, z.core.$strip>>;
62
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
64
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
+ action: z.ZodEnum<{
66
+ allow: "allow";
67
+ ask: "ask";
68
+ deny: "deny";
69
+ }>;
70
+ why: z.ZodOptional<z.ZodString>;
71
+ }, z.core.$strip>>>;
72
+ }, z.core.$strip>;
73
+ export type Broker = z.infer<typeof BrokerSchema>;
25
74
  export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
26
75
  id: z.ZodString;
27
76
  catalog: z.ZodObject<{
@@ -78,6 +127,30 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
78
127
  insecure: z.ZodOptional<z.ZodBoolean>;
79
128
  }, z.core.$strip>>;
80
129
  hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
+ broker: z.ZodOptional<z.ZodObject<{
131
+ routes: z.ZodArray<z.ZodObject<{
132
+ upstream: z.ZodString;
133
+ env: z.ZodOptional<z.ZodString>;
134
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
135
+ basic: z.ZodOptional<z.ZodObject<{
136
+ username: z.ZodString;
137
+ password: z.ZodString;
138
+ }, z.core.$strip>>;
139
+ form: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
140
+ pathPrefix: z.ZodOptional<z.ZodString>;
141
+ git: z.ZodOptional<z.ZodBoolean>;
142
+ }, z.core.$strip>>;
143
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
144
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
145
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
146
+ action: z.ZodEnum<{
147
+ allow: "allow";
148
+ ask: "ask";
149
+ deny: "deny";
150
+ }>;
151
+ why: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strip>>>;
153
+ }, z.core.$strip>>;
81
154
  mcp: z.ZodOptional<z.ZodString>;
82
155
  }, z.core.$strip>, z.ZodObject<{
83
156
  id: z.ZodString;
@@ -205,6 +278,48 @@ export declare const CapabilityContributionSchema: z.ZodDiscriminatedUnion<[z.Zo
205
278
  kind: z.ZodLiteral<"webext">;
206
279
  install: z.ZodOptional<z.ZodURL>;
207
280
  skill: z.ZodString;
281
+ }, z.core.$strip>, z.ZodObject<{
282
+ id: z.ZodString;
283
+ catalog: z.ZodObject<{
284
+ art: z.ZodOptional<z.ZodString>;
285
+ logo: z.ZodOptional<z.ZodString>;
286
+ icon: z.ZodOptional<z.ZodString>;
287
+ name: z.ZodString;
288
+ description: z.ZodString;
289
+ category: z.ZodString;
290
+ hint: z.ZodOptional<z.ZodString>;
291
+ guide: z.ZodOptional<z.ZodObject<{
292
+ url: z.ZodOptional<z.ZodString>;
293
+ urlFromField: z.ZodOptional<z.ZodString>;
294
+ path: z.ZodOptional<z.ZodString>;
295
+ linkLabel: z.ZodOptional<z.ZodString>;
296
+ scopes: z.ZodOptional<z.ZodString>;
297
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
298
+ }, z.core.$strip>>;
299
+ }, z.core.$strip>;
300
+ fields: z.ZodArray<z.ZodObject<{
301
+ key: z.ZodString;
302
+ label: z.ZodString;
303
+ placeholder: z.ZodOptional<z.ZodString>;
304
+ secret: z.ZodOptional<z.ZodBoolean>;
305
+ optional: z.ZodOptional<z.ZodBoolean>;
306
+ multiline: z.ZodOptional<z.ZodBoolean>;
307
+ advanced: z.ZodOptional<z.ZodBoolean>;
308
+ boolean: z.ZodOptional<z.ZodBoolean>;
309
+ hint: z.ZodOptional<z.ZodString>;
310
+ rebuild: z.ZodOptional<z.ZodBoolean>;
311
+ default: z.ZodOptional<z.ZodString>;
312
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
313
+ value: z.ZodString;
314
+ label: z.ZodString;
315
+ }, z.core.$strip>>>;
316
+ when: z.ZodOptional<z.ZodString>;
317
+ value: z.ZodOptional<z.ZodString>;
318
+ totp: z.ZodOptional<z.ZodBoolean>;
319
+ }, z.core.$strip>>;
320
+ kind: z.ZodLiteral<"phone">;
321
+ install: z.ZodOptional<z.ZodURL>;
322
+ skill: z.ZodString;
208
323
  }, z.core.$strip>, z.ZodObject<{
209
324
  id: z.ZodString;
210
325
  catalog: z.ZodObject<{
@@ -314,6 +429,30 @@ export declare const capabilitiesPoint: {
314
429
  insecure: z.ZodOptional<z.ZodBoolean>;
315
430
  }, z.core.$strip>>;
316
431
  hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
432
+ broker: z.ZodOptional<z.ZodObject<{
433
+ routes: z.ZodArray<z.ZodObject<{
434
+ upstream: z.ZodString;
435
+ env: z.ZodOptional<z.ZodString>;
436
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
437
+ basic: z.ZodOptional<z.ZodObject<{
438
+ username: z.ZodString;
439
+ password: z.ZodString;
440
+ }, z.core.$strip>>;
441
+ form: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
442
+ pathPrefix: z.ZodOptional<z.ZodString>;
443
+ git: z.ZodOptional<z.ZodBoolean>;
444
+ }, z.core.$strip>>;
445
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
446
+ methods: z.ZodOptional<z.ZodArray<z.ZodString>>;
447
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
448
+ action: z.ZodEnum<{
449
+ allow: "allow";
450
+ ask: "ask";
451
+ deny: "deny";
452
+ }>;
453
+ why: z.ZodOptional<z.ZodString>;
454
+ }, z.core.$strip>>>;
455
+ }, z.core.$strip>>;
317
456
  mcp: z.ZodOptional<z.ZodString>;
318
457
  }, z.core.$strip>, z.ZodObject<{
319
458
  id: z.ZodString;
@@ -441,6 +580,48 @@ export declare const capabilitiesPoint: {
441
580
  kind: z.ZodLiteral<"webext">;
442
581
  install: z.ZodOptional<z.ZodURL>;
443
582
  skill: z.ZodString;
583
+ }, z.core.$strip>, z.ZodObject<{
584
+ id: z.ZodString;
585
+ catalog: z.ZodObject<{
586
+ art: z.ZodOptional<z.ZodString>;
587
+ logo: z.ZodOptional<z.ZodString>;
588
+ icon: z.ZodOptional<z.ZodString>;
589
+ name: z.ZodString;
590
+ description: z.ZodString;
591
+ category: z.ZodString;
592
+ hint: z.ZodOptional<z.ZodString>;
593
+ guide: z.ZodOptional<z.ZodObject<{
594
+ url: z.ZodOptional<z.ZodString>;
595
+ urlFromField: z.ZodOptional<z.ZodString>;
596
+ path: z.ZodOptional<z.ZodString>;
597
+ linkLabel: z.ZodOptional<z.ZodString>;
598
+ scopes: z.ZodOptional<z.ZodString>;
599
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
600
+ }, z.core.$strip>>;
601
+ }, z.core.$strip>;
602
+ fields: z.ZodArray<z.ZodObject<{
603
+ key: z.ZodString;
604
+ label: z.ZodString;
605
+ placeholder: z.ZodOptional<z.ZodString>;
606
+ secret: z.ZodOptional<z.ZodBoolean>;
607
+ optional: z.ZodOptional<z.ZodBoolean>;
608
+ multiline: z.ZodOptional<z.ZodBoolean>;
609
+ advanced: z.ZodOptional<z.ZodBoolean>;
610
+ boolean: z.ZodOptional<z.ZodBoolean>;
611
+ hint: z.ZodOptional<z.ZodString>;
612
+ rebuild: z.ZodOptional<z.ZodBoolean>;
613
+ default: z.ZodOptional<z.ZodString>;
614
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
615
+ value: z.ZodString;
616
+ label: z.ZodString;
617
+ }, z.core.$strip>>>;
618
+ when: z.ZodOptional<z.ZodString>;
619
+ value: z.ZodOptional<z.ZodString>;
620
+ totp: z.ZodOptional<z.ZodBoolean>;
621
+ }, z.core.$strip>>;
622
+ kind: z.ZodLiteral<"phone">;
623
+ install: z.ZodOptional<z.ZodURL>;
624
+ skill: z.ZodString;
444
625
  }, z.core.$strip>, z.ZodObject<{
445
626
  id: z.ZodString;
446
627
  catalog: z.ZodObject<{
@@ -485,4 +666,5 @@ export declare const capabilitiesPoint: {
485
666
  };
486
667
  export declare const contributedServerMintingKinds: () => ReadonlySet<CapabilityContribution["kind"]>;
487
668
  export declare const contributionEffectsOf: (contribution: CapabilityContribution) => ReadonlySet<EffectMeaning>;
669
+ export {};
488
670
  //# sourceMappingURL=capabilities.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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;AA8B5E,QAAA,MAAM,iBAAiB;;;;;;;;;;;iBA6CrB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;iBAa3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;iBAQvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AA8ClD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAyIiE,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;AAYnF,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,CAiB1F,CAAC;AAIF,eAAO,MAAM,qBAAqB,iBAAkB,sBAAsB,KAAG,WAAW,CAAC,aAAa,CAarG,CAAC"}
@@ -65,6 +65,57 @@ const ProbeSchema = z.object({
65
65
  .optional()
66
66
  .describe("Accept a self-signed certificate, for a service whose local install ships one (Obsidian's Local REST API)."),
67
67
  });
68
+ const BrokerRouteSchema = z.object({
69
+ upstream: z
70
+ .string()
71
+ .min(1)
72
+ .describe("The service's base URL, a template over the fields like `env` (`https://api.github.com`, `${url}`). What is sent to this route's gateway address goes here and nowhere else."),
73
+ env: z
74
+ .string()
75
+ .regex(/^[A-Z][A-Z0-9_]*$/)
76
+ .optional()
77
+ .describe("The variable the agent's shell finds this route's gateway address in (`GITHUB_API_URL`), suffixed per instance like `env`. Naming one of `env`'s own variables (`GITLAB_URL`) points it at the gateway instead of the service, so a skill written against it needs no change."),
78
+ headers: z
79
+ .record(z.string(), z.string())
80
+ .optional()
81
+ .describe('The headers that carry the credential, templated over the fields (`{"authorization": "Bearer ${token}"}`). The gateway sets them on every request it forwards, replacing any the agent sent under the same name.'),
82
+ basic: z
83
+ .object({ username: z.string(), password: z.string() })
84
+ .optional()
85
+ .describe("HTTP Basic credentials, templated over the fields, for a service that takes them (git over HTTPS: `x-access-token` and `${token}`)."),
86
+ form: z
87
+ .record(z.string(), z.string())
88
+ .optional()
89
+ .describe("Fields the gateway sets in a request's url-encoded form body, templated over the fields, for a service that takes its credential there: an OAuth token exchange's `client_secret` or `refresh_token`. What the exchange answers (a short-lived access token) is the agent's to use; the long-lived secret never is."),
90
+ pathPrefix: z
91
+ .string()
92
+ .startsWith("/")
93
+ .optional()
94
+ .describe("A path the gateway puts before the agent's own, templated over the fields, for a service that takes its credential in the path (Telegram's `/bot${token}`)."),
95
+ git: z
96
+ .boolean()
97
+ .optional()
98
+ .describe("This upstream serves git over HTTP: the agent's git is pointed at the gateway for it (`url.<gateway>.insteadOf`), so a clone, fetch or push needs no credential in the agent's hands."),
99
+ });
100
+ export const BrokerRuleSchema = z.object({
101
+ methods: z
102
+ .array(z.string().regex(/^[A-Z]+$/))
103
+ .optional()
104
+ .describe("The HTTP methods it covers (`DELETE`, `PUT`); absent covers every method."),
105
+ paths: z
106
+ .array(z.string().startsWith("/"))
107
+ .optional()
108
+ .describe("The paths it covers, below the route's upstream: `*` matches one segment, `**` any number of them (`/repos/*/*/hooks/**`). Absent covers every path."),
109
+ action: z.enum(["allow", "ask", "deny"]).describe("`allow` forwards it, `ask` holds it on a card for the owner, `deny` refuses it."),
110
+ why: z.string().optional().describe("One line on what the rule protects, shown on the card or in the refusal."),
111
+ });
112
+ export const BrokerSchema = z.object({
113
+ routes: z.array(BrokerRouteSchema).min(1),
114
+ rules: z
115
+ .array(BrokerRuleSchema)
116
+ .optional()
117
+ .describe("What the credential may do, checked in order against each request the gateway forwards; the first rule covering a request decides, and one no rule covers is allowed. The owner's own rules for a card replace these."),
118
+ });
68
119
  const CatalogSchema = z.object({
69
120
  name: z.string().min(1),
70
121
  ...MARK_FIELDS,
@@ -124,6 +175,7 @@ export const CapabilityContributionSchema = z
124
175
  .array(z.string().min(1))
125
176
  .optional()
126
177
  .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."),
178
+ broker: BrokerSchema.optional().describe("Route the credential through the sandbox's credential gateway instead of handing it to the agent: per upstream, the variable carrying the gateway's address and how the credential is attached, plus optional method and path rules. Every `env` variable whose template names a secret field then holds an inert placeholder. Declare it on every card whose service is spoken to over HTTP."),
127
179
  mcp: z
128
180
  .string()
129
181
  .regex(TOOL_PATH)
@@ -162,10 +214,21 @@ export const CapabilityContributionSchema = z
162
214
  .object({
163
215
  ...contributionBase,
164
216
  kind: z.literal("webext"),
165
- install: z.url().optional().describe("Where this browser's extension is installed from: its store listing, or a page offering the build."),
217
+ install: z
218
+ .url()
219
+ .optional()
220
+ .describe("Where this browser's extension is installed from: its store listing, or a page offering the build."),
166
221
  skill: z.string().min(1).describe("Checkout-relative SKILL.md teaching the agent to drive this browser."),
167
222
  })
168
223
  .meta({ mintsServer: true }),
224
+ z
225
+ .object({
226
+ ...contributionBase,
227
+ kind: z.literal("phone"),
228
+ install: z.url().optional().describe("Where this phone's app is installed from: its store listing, or a page offering the build."),
229
+ skill: z.string().min(1).describe("Checkout-relative SKILL.md teaching the agent to work on this phone."),
230
+ })
231
+ .meta({ mintsServer: true }),
169
232
  z.object({ ...contributionBase, kind: z.literal("agent") }),
170
233
  ])
171
234
  .superRefine((spec, ctx) => {
@@ -182,7 +245,14 @@ export const CapabilityContributionSchema = z
182
245
  }
183
246
  })
184
247
  .meta({ power: { key: "capability:${id}", sentence: 'a ${kind} capability card "${catalog.name}"' } });
185
- const DISCRIMINATOR = { cli: "provider", browser: "platform", device: "platform", webext: "platform", agent: undefined };
248
+ const DISCRIMINATOR = {
249
+ cli: "provider",
250
+ browser: "platform",
251
+ device: "platform",
252
+ webext: "platform",
253
+ phone: "platform",
254
+ agent: undefined,
255
+ };
186
256
  export const contributionDiscriminator = (kind) => DISCRIMINATOR[kind];
187
257
  export const contributedEntryOf = (contributions, capability) => {
188
258
  const key = contributionDiscriminator(capability.kind);
@@ -204,7 +274,8 @@ export const contributedServerMintingKinds = () => {
204
274
  if (kind === undefined) {
205
275
  continue;
206
276
  }
207
- if (unwrapMeaning(option).meaning.mintsServer === true || [...fieldMeanings(option).values()].some((meaning) => meaning.mintsServer === true)) {
277
+ if (unwrapMeaning(option).meaning.mintsServer === true ||
278
+ [...fieldMeanings(option).values()].some((meaning) => meaning.mintsServer === true)) {
208
279
  kinds.add(kind);
209
280
  }
210
281
  }
@@ -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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"}