@sealpixel/plugins 1.0.0-rc.2 → 1.0.0-rc.8

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/LICENSE.md CHANGED
@@ -16,7 +16,7 @@ This Additional Use Grant does not permit offering the Licensed Work, or a work
16
16
 
17
17
  For information about alternative licensing arrangements for the Licensed Work, please visit: https://sealpixel.dev/pricing
18
18
 
19
- Organizations, and anyone who develops with the Licensed Work for an organization, obtain the commercial license this License refers to as developer seats under the Sealpixel Developer Seat License (`LICENSE-COMMERCIAL.md`).
19
+ Organizations, and anyone who develops with the Licensed Work for an organization, obtain the commercial license this License refers to as developer seats under the Sealpixel Developer Seat License, published at https://sealpixel.dev/license#seats and as `LICENSE-COMMERCIAL.md` in the source repository.
20
20
 
21
21
  ## Notice
22
22
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { AnyPlugin } from '@sealpixel/core';
2
2
  import { annotatePlugin } from '@sealpixel/plugin-annotate';
3
+ import { assistPlugin } from '@sealpixel/plugin-assist';
3
4
  import { cropPlugin } from '@sealpixel/plugin-crop';
4
5
  import { fillPlugin } from '@sealpixel/plugin-fill';
5
6
  import { filterPlugin } from '@sealpixel/plugin-filter';
@@ -7,6 +8,7 @@ import { finetunePlugin } from '@sealpixel/plugin-finetune';
7
8
  import { redactPlugin } from '@sealpixel/plugin-redact';
8
9
  import { resizePlugin } from '@sealpixel/plugin-resize';
9
10
  export * from '@sealpixel/plugin-annotate';
11
+ export * from '@sealpixel/plugin-assist';
10
12
  export * from '@sealpixel/plugin-crop';
11
13
  export * from '@sealpixel/plugin-fill';
12
14
  export * from '@sealpixel/plugin-filter';
@@ -16,7 +18,7 @@ export * from '@sealpixel/plugin-redact';
16
18
  export * from '@sealpixel/plugin-resize';
17
19
  export * from '@sealpixel/plugin-sticker';
18
20
  export * from '@sealpixel/plugin-watermark';
19
- export { annotatePlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, redactPlugin, resizePlugin, };
21
+ export { annotatePlugin, assistPlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, redactPlugin, resizePlugin, };
20
22
  /**
21
23
  * The plugins a plain editor starts with.
22
24
  *
@@ -24,6 +26,9 @@ export { annotatePlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, r
24
26
  * `stickerPlugin` or `watermarkPlugin` to `plugins` to switch them on. The
25
27
  * array order does not matter, the registry sorts by each plugin's declared
26
28
  * stage, and the default UI supplies the matching tool.
29
+ *
30
+ * Assist is not in the set either: it is an opt-in like the two above, and it
31
+ * shows a button only when the host also installs a tool with a detector.
27
32
  */
28
33
  export declare const defaultPlugins: readonly AnyPlugin[];
29
34
  /**
@@ -32,4 +37,12 @@ export declare const defaultPlugins: readonly AnyPlugin[];
32
37
  * for when a host wants all of them rather than the starting set.
33
38
  */
34
39
  export declare const allPlugins: readonly AnyPlugin[];
40
+ /**
41
+ * The plugins a renderer has to know: those that declare operations. A plugin
42
+ * without operations — `assist` — never puts anything into the log and never
43
+ * plans a stage, so a worker built for `defaultPlugins` renders a session that
44
+ * also registers it. `createDefaultRenderer` compares plugin lists through
45
+ * this, so adding such a plugin does not cost a host the bundled worker.
46
+ */
47
+ export declare function renderingPlugins(plugins: readonly AnyPlugin[]): AnyPlugin[];
35
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAK5C,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,GACb,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAS9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAAwD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAK5C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,GACb,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAS9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAK1C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,CAE3E"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { annotatePlugin } from '@sealpixel/plugin-annotate';
2
+ import { assistPlugin } from '@sealpixel/plugin-assist';
2
3
  import { cropPlugin } from '@sealpixel/plugin-crop';
3
4
  import { fillPlugin } from '@sealpixel/plugin-fill';
4
5
  import { filterPlugin } from '@sealpixel/plugin-filter';
@@ -7,6 +8,7 @@ import { framePlugin } from '@sealpixel/plugin-frame';
7
8
  import { redactPlugin } from '@sealpixel/plugin-redact';
8
9
  import { resizePlugin } from '@sealpixel/plugin-resize';
9
10
  export * from '@sealpixel/plugin-annotate';
11
+ export * from '@sealpixel/plugin-assist';
10
12
  export * from '@sealpixel/plugin-crop';
11
13
  export * from '@sealpixel/plugin-fill';
12
14
  export * from '@sealpixel/plugin-filter';
@@ -18,7 +20,7 @@ export * from '@sealpixel/plugin-sticker';
18
20
  export * from '@sealpixel/plugin-watermark';
19
21
  import { stickerPlugin } from '@sealpixel/plugin-sticker';
20
22
  import { watermarkPlugin } from '@sealpixel/plugin-watermark';
21
- export { annotatePlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, redactPlugin, resizePlugin, };
23
+ export { annotatePlugin, assistPlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, redactPlugin, resizePlugin, };
22
24
  /**
23
25
  * The plugins a plain editor starts with.
24
26
  *
@@ -26,6 +28,9 @@ export { annotatePlugin, cropPlugin, fillPlugin, filterPlugin, finetunePlugin, r
26
28
  * `stickerPlugin` or `watermarkPlugin` to `plugins` to switch them on. The
27
29
  * array order does not matter, the registry sorts by each plugin's declared
28
30
  * stage, and the default UI supplies the matching tool.
31
+ *
32
+ * Assist is not in the set either: it is an opt-in like the two above, and it
33
+ * shows a button only when the host also installs a tool with a detector.
29
34
  */
30
35
  export const defaultPlugins = [
31
36
  finetunePlugin,
@@ -42,5 +47,20 @@ export const defaultPlugins = [
42
47
  * client and a server must register the same set, so this is the list to reach
43
48
  * for when a host wants all of them rather than the starting set.
44
49
  */
45
- export const allPlugins = [...defaultPlugins, stickerPlugin, watermarkPlugin];
50
+ export const allPlugins = [
51
+ ...defaultPlugins,
52
+ stickerPlugin,
53
+ watermarkPlugin,
54
+ assistPlugin,
55
+ ];
56
+ /**
57
+ * The plugins a renderer has to know: those that declare operations. A plugin
58
+ * without operations — `assist` — never puts anything into the log and never
59
+ * plans a stage, so a worker built for `defaultPlugins` renders a session that
60
+ * also registers it. `createDefaultRenderer` compares plugin lists through
61
+ * this, so adding such a plugin does not cost a host the bundled worker.
62
+ */
63
+ export function renderingPlugins(plugins) {
64
+ return plugins.filter((p) => p.operations.length > 0);
65
+ }
46
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,GACb,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,UAAU;IACV,UAAU;IACV,WAAW;IACX,YAAY;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAyB,CAAC,GAAG,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,GACb,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,UAAU;IACV,UAAU;IACV,WAAW;IACX,YAAY;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,GAAG,cAAc;IACjB,aAAa;IACb,eAAe;IACf,YAAY;CACb,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6B;IAC5D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealpixel/plugins",
3
- "version": "1.0.0-rc.2",
3
+ "version": "1.0.0-rc.8",
4
4
  "description": "All first-party Sealpixel plugins, with `defaultPlugins` and `allPlugins`.",
5
5
  "license": "BUSL-1.1",
6
6
  "repository": {
@@ -24,28 +24,29 @@
24
24
  "./package.json": "./package.json"
25
25
  },
26
26
  "dependencies": {
27
- "@sealpixel/plugin-crop": "1.0.0-rc.2",
28
- "@sealpixel/plugin-fill": "1.0.0-rc.2",
29
- "@sealpixel/plugin-filter": "1.0.0-rc.2",
30
- "@sealpixel/plugin-finetune": "1.0.0-rc.2",
31
- "@sealpixel/plugin-frame": "1.0.0-rc.2",
32
- "@sealpixel/plugin-redact": "1.0.0-rc.2",
33
- "@sealpixel/plugin-watermark": "1.0.0-rc.2",
34
- "@sealpixel/plugin-annotate": "1.0.0-rc.2",
35
- "@sealpixel/plugin-resize": "1.0.0-rc.2",
36
- "@sealpixel/plugin-sticker": "1.0.0-rc.2"
27
+ "@sealpixel/plugin-annotate": "1.0.0-rc.7",
28
+ "@sealpixel/plugin-assist": "1.0.0-rc.8",
29
+ "@sealpixel/plugin-crop": "1.0.0-rc.7",
30
+ "@sealpixel/plugin-fill": "1.0.0-rc.7",
31
+ "@sealpixel/plugin-filter": "1.0.0-rc.7",
32
+ "@sealpixel/plugin-finetune": "1.0.0-rc.7",
33
+ "@sealpixel/plugin-frame": "1.0.0-rc.7",
34
+ "@sealpixel/plugin-redact": "1.0.0-rc.7",
35
+ "@sealpixel/plugin-resize": "1.0.0-rc.7",
36
+ "@sealpixel/plugin-sticker": "1.0.0-rc.7",
37
+ "@sealpixel/plugin-watermark": "1.0.0-rc.7"
37
38
  },
38
39
  "peerDependencies": {
39
- "zod": "^4.0.0",
40
- "@sealpixel/core": "1.0.0-rc.2"
40
+ "@sealpixel/core": "1.0.0-rc.7",
41
+ "zod": "^4.0.0"
41
42
  },
42
43
  "devDependencies": {
44
+ "@sealpixel/config": "0.0.0",
45
+ "@sealpixel/core": "1.0.0-rc.7",
43
46
  "@types/node": "^24.0.0",
44
- "typescript": "^5.9.0",
47
+ "typescript": "^6.0.0",
45
48
  "zod": "^4.0.0",
46
- "vitest": "^4.0.0",
47
- "@sealpixel/config": "0.0.0",
48
- "@sealpixel/core": "1.0.0-rc.2"
49
+ "vitest": "^5.0.0"
49
50
  },
50
51
  "scripts": {
51
52
  "build": "tsc -p tsconfig.build.json",