@intentic/extension-manifest 1.308.2 → 1.309.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.
@@ -4,5 +4,7 @@ export interface PowersDiff {
4
4
  readonly removed: string[];
5
5
  readonly unchanged: string[];
6
6
  }
7
+ export declare const powersOf: (manifest: ExtensionManifest) => Map<string, string>;
8
+ export declare const diffPowerMaps: (from: ReadonlyMap<string, string>, to: ReadonlyMap<string, string>) => PowersDiff;
7
9
  export declare const diffPowers: (before: ExtensionManifest | undefined, after: ExtensionManifest) => PowersDiff;
8
10
  //# sourceMappingURL=powers-diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"powers-diff.d.ts","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOvD,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;AAoED,eAAO,MAAM,UAAU,WAAY,iBAAiB,GAAG,SAAS,SAAS,iBAAiB,KAAG,UAe5F,CAAC"}
1
+ {"version":3,"file":"powers-diff.d.ts","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOvD,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;AAMD,eAAO,MAAM,QAAQ,aAAc,iBAAiB,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CA2DxE,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"}
@@ -1,5 +1,5 @@
1
1
  const viewerPower = (viewer) => `${viewer.edit === true ? "opens and edits" : "opens"}${viewer.compare === true ? " and compares" : ""} .${viewer.extensions.join(", .")} files (${viewer.fetch})`;
2
- const powersOf = (manifest) => {
2
+ export const powersOf = (manifest) => {
3
3
  const powers = new Map();
4
4
  if (manifest.entry !== undefined) {
5
5
  powers.set("entry", "runs a UI bundle in your browser");
@@ -59,9 +59,7 @@ const powersOf = (manifest) => {
59
59
  }
60
60
  return powers;
61
61
  };
62
- export const diffPowers = (before, after) => {
63
- const from = before === undefined ? new Map() : powersOf(before);
64
- const to = powersOf(after);
62
+ export const diffPowerMaps = (from, to) => {
65
63
  const added = [];
66
64
  const removed = [];
67
65
  const unchanged = [];
@@ -75,4 +73,5 @@ export const diffPowers = (before, after) => {
75
73
  }
76
74
  return { added, removed, unchanged };
77
75
  };
76
+ export const diffPowers = (before, after) => diffPowerMaps(before === undefined ? new Map() : powersOf(before), powersOf(after));
78
77
  //# sourceMappingURL=powers-diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"powers-diff.js","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"powers-diff.js","sourceRoot":"","sources":["../src/powers-diff.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/extension-manifest",
3
- "version": "1.308.2",
3
+ "version": "1.309.0",
4
4
  "description": "What an intentic extension DECLARES, the intentic-extension.json schema and the sandbox-route allowlist rule",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -32,7 +32,7 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@intentic/base": "1.308.2",
35
+ "@intentic/base": "1.309.0",
36
36
  "tslib": "2.8.1",
37
37
  "zod": "4.5.4"
38
38
  },
@@ -15,7 +15,8 @@ export interface PowersDiff {
15
15
  const viewerPower = (viewer: { edit?: boolean | undefined; compare?: boolean | undefined; extensions: readonly string[]; fetch: string }): string =>
16
16
  `${viewer.edit === true ? "opens and edits" : "opens"}${viewer.compare === true ? " and compares" : ""} .${viewer.extensions.join(", .")} files (${viewer.fetch})`;
17
17
 
18
- const powersOf = (manifest: ExtensionManifest): Map<string, string> => {
18
+ // The fold itself: every power a manifest declares, its stable key to the sentence shown for it.
19
+ export const powersOf = (manifest: ExtensionManifest): Map<string, string> => {
19
20
  const powers = new Map<string, string>();
20
21
  if (manifest.entry !== undefined) {
21
22
  powers.set("entry", "runs a UI bundle in your browser");
@@ -76,11 +77,8 @@ const powersOf = (manifest: ExtensionManifest): Map<string, string> => {
76
77
  return powers;
77
78
  };
78
79
 
79
- // `before` absent covers a first install: everything the manifest declares is `added`, the same vocabulary the install
80
- // dialog already renders.
81
- export const diffPowers = (before: ExtensionManifest | undefined, after: ExtensionManifest): PowersDiff => {
82
- const from = before === undefined ? new Map<string, string>() : powersOf(before);
83
- const to = powersOf(after);
80
+ // The arithmetic over two folds, for a caller that kept a fold (key to sentence) rather than the manifest it came from.
81
+ export const diffPowerMaps = (from: ReadonlyMap<string, string>, to: ReadonlyMap<string, string>): PowersDiff => {
84
82
  const added: string[] = [];
85
83
  const removed: string[] = [];
86
84
  const unchanged: string[] = [];
@@ -94,3 +92,8 @@ export const diffPowers = (before: ExtensionManifest | undefined, after: Extensi
94
92
  }
95
93
  return { added, removed, unchanged };
96
94
  };
95
+
96
+ // `before` absent covers a first install: everything the manifest declares is `added`, the same vocabulary the install
97
+ // dialog already renders.
98
+ export const diffPowers = (before: ExtensionManifest | undefined, after: ExtensionManifest): PowersDiff =>
99
+ diffPowerMaps(before === undefined ? new Map<string, string>() : powersOf(before), powersOf(after));