@adea-ai/plugins 3.0.10 → 4.0.1

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.
Files changed (75) hide show
  1. package/README.md +18 -11
  2. package/dist/agent-plugins-catalog.d.ts +2 -3
  3. package/dist/agent-plugins-catalog.js +2 -10
  4. package/dist/agent-plugins-catalog.js.map +1 -1
  5. package/dist/catalog-store.d.ts +81 -0
  6. package/dist/catalog-store.js +487 -0
  7. package/dist/catalog-store.js.map +1 -0
  8. package/dist/consumer-index.d.ts +1 -1
  9. package/dist/consumer-index.js +17 -7
  10. package/dist/consumer-index.js.map +1 -1
  11. package/dist/display-name.js +3 -2
  12. package/dist/display-name.js.map +1 -1
  13. package/dist/harness.d.ts +50 -9
  14. package/dist/harness.js +190 -147
  15. package/dist/harness.js.map +1 -1
  16. package/dist/icon-mirror.d.ts +2 -2
  17. package/dist/icon-mirror.js +38 -25
  18. package/dist/icon-mirror.js.map +1 -1
  19. package/dist/icons.js +5 -27
  20. package/dist/icons.js.map +1 -1
  21. package/dist/index.d.ts +9 -3
  22. package/dist/index.js +103 -88
  23. package/dist/index.js.map +1 -1
  24. package/dist/publication.d.ts +8 -11
  25. package/dist/publication.js +8 -11
  26. package/dist/publication.js.map +1 -1
  27. package/dist/schema.d.ts +0 -40
  28. package/dist/schema.js +0 -36
  29. package/dist/schema.js.map +1 -1
  30. package/dist/site-icons.d.ts +2 -0
  31. package/dist/site-icons.js +46 -9
  32. package/dist/site-icons.js.map +1 -1
  33. package/dist/source-digest.d.ts +2 -0
  34. package/dist/source-digest.js +12 -0
  35. package/dist/source-digest.js.map +1 -0
  36. package/dist/sources.js +3 -3
  37. package/dist/sources.js.map +1 -1
  38. package/native/build-provenance.txt +5 -5
  39. package/native/staged-reader-win32-arm64.node +0 -0
  40. package/native/staged-reader-win32-x64.node +0 -0
  41. package/package.json +4 -9
  42. package/src/agent-plugins-catalog.ts +3 -10
  43. package/src/artifacts.test.ts +80 -0
  44. package/src/catalog-installation.test.ts +1 -1
  45. package/src/catalog-store.ts +546 -0
  46. package/src/consumer-index.test.ts +125 -0
  47. package/src/consumer-index.ts +23 -8
  48. package/src/default-head.test.ts +143 -0
  49. package/src/display-name.test.ts +8 -0
  50. package/src/display-name.ts +3 -2
  51. package/src/{agent-plugins-harness.test.ts → harness.test.ts} +1 -1
  52. package/src/harness.ts +249 -170
  53. package/src/icon-mirror.ts +36 -23
  54. package/src/icons.test.ts +5 -0
  55. package/src/icons.ts +6 -29
  56. package/src/index.test.ts +272 -40
  57. package/src/index.ts +131 -94
  58. package/src/manifest-retry.test.ts +49 -0
  59. package/src/portable-catalog.test.ts +8 -5
  60. package/src/publication.ts +8 -11
  61. package/src/schema.ts +0 -40
  62. package/src/site-icon-fallback.test.ts +36 -19
  63. package/src/site-icons.test.ts +104 -0
  64. package/src/site-icons.ts +47 -9
  65. package/src/source-config-sync.test.ts +84 -0
  66. package/src/source-digest.test.ts +101 -0
  67. package/src/source-digest.ts +14 -0
  68. package/src/sources-json.test.ts +53 -0
  69. package/src/sources.ts +3 -3
  70. package/src/upstream-headers.test.ts +31 -7
  71. package/src/write-artifacts.test.ts +375 -0
  72. package/dist/agent-plugins-harness.d.ts +0 -54
  73. package/dist/agent-plugins-harness.js +0 -212
  74. package/dist/agent-plugins-harness.js.map +0 -1
  75. package/src/agent-plugins-harness.ts +0 -281
package/README.md CHANGED
@@ -14,19 +14,26 @@ harness or start an MCP server or command.
14
14
  bun add @adea-ai/plugins
15
15
  ```
16
16
 
17
+ ## Version 4 migration
18
+
19
+ Import portable planning from `@adea-ai/plugins/harness`, not the removed
20
+ `@adea-ai/plugins/agent-plugins/harness` subpath. The legacy materialization API
21
+ has been removed: use `createCatalogInstallationPlan` or `createInstallationPlan`
22
+ with the required instance identity and negotiated harness profile. A returned
23
+ plan describes work; it does not grant activation permission.
24
+
17
25
  ## Entry points
18
26
 
19
- | Import | Contents |
20
- | ---------------------------------------- | --------------------------------------------------------------------------------------- |
21
- | `@adea-ai/plugins` | Catalog compilation, artifacts, integrity, and last-known-good publication. |
22
- | `@adea-ai/plugins/schema` | Zod-backed versioned contracts and runtime parsing. |
23
- | `@adea-ai/plugins/sources` | OpenAI, Cursor, and Claude marketplace dialects, ref normalization, path and URL gates. |
24
- | `@adea-ai/plugins/harness` | Capability-negotiated v2 plans and MCP launch descriptors; no process launch. |
25
- | `@adea-ai/plugins/publication` | Where a published catalog lives, and the URLs that address it. |
26
- | `@adea-ai/plugins/portable-catalog` | Offline synchronization and verification against a source lock. |
27
- | `@adea-ai/plugins/agent-plugins` | Canonical package compilation. |
28
- | `@adea-ai/plugins/agent-plugins/schema` | Agent plugin and harness profile schemas. |
29
- | `@adea-ai/plugins/agent-plugins/harness` | Harness binding resolution and path verification. |
27
+ | Import | Contents |
28
+ | --------------------------------------- | --------------------------------------------------------------------------------------- |
29
+ | `@adea-ai/plugins` | Catalog compilation, artifacts, integrity, and last-known-good publication. |
30
+ | `@adea-ai/plugins/schema` | Zod-backed versioned contracts and runtime parsing. |
31
+ | `@adea-ai/plugins/sources` | OpenAI, Cursor, and Claude marketplace dialects, ref normalization, path and URL gates. |
32
+ | `@adea-ai/plugins/harness` | Capability-negotiated v2 plans and MCP launch descriptors; no process launch. |
33
+ | `@adea-ai/plugins/publication` | Where a published catalog lives, and the URLs that address it. |
34
+ | `@adea-ai/plugins/portable-catalog` | Offline synchronization and verification against a source lock. |
35
+ | `@adea-ai/plugins/agent-plugins` | Canonical package compilation. |
36
+ | `@adea-ai/plugins/agent-plugins/schema` | Agent plugin and harness profile schemas. |
30
37
 
31
38
  The former `@adea-ai/catalog-core`, `@adea-ai/catalog-schema`,
32
39
  `@adea-ai/source-adapters`, and `@adea-ai/harness-adapters` packages are
@@ -1,10 +1,9 @@
1
1
  import { NORMALIZER_VERSION, type McpServer, type AgentPackage, type PackageFile } from './agent-plugins-schema.js';
2
- export { NORMALIZER_VERSION };
2
+ import { sourceDigest } from './source-digest.js';
3
+ export { NORMALIZER_VERSION, sourceDigest };
3
4
  export declare const compare: (a: string, b: string) => number;
4
5
  export declare function stableJson(value: unknown): string;
5
6
  export declare function sha256(value: string | Uint8Array): string;
6
- /** Existing v1 source-byte identity, deliberately distinct from the derived package identity. */
7
- export declare function sourceDigest(files: ReadonlyMap<string, Uint8Array>): string;
8
7
  export declare function packageDigest(files: readonly PackageFile[]): string;
9
8
  export declare function isRecord(value: unknown): value is Record<string, unknown>;
10
9
  /** JSON grammar plus duplicate-key detection, including escaped/nested keys. No reviver or code evaluation. */
@@ -4,7 +4,8 @@ import { posix } from 'node:path';
4
4
  import { validateHeaderName, validateHeaderValue } from 'node:http';
5
5
  import { parseDocument } from 'yaml';
6
6
  import { AGENT_PLUGINS_VERSION, PLUGIN_SCHEMA_ID, MCP_SCHEMA_ID, NORMALIZER_VERSION, AgentManifestSchema, McpServerSchema, SkillFrontmatterSchema, AgentPackageSchema, } from './agent-plugins-schema.js';
7
- export { NORMALIZER_VERSION };
7
+ import { sourceDigest } from './source-digest.js';
8
+ export { NORMALIZER_VERSION, sourceDigest };
8
9
  const decoder = new TextDecoder('utf-8', { fatal: true });
9
10
  const encoder = new TextEncoder();
10
11
  const manifestKeys = new Set([
@@ -49,15 +50,6 @@ export function stableJson(value) {
49
50
  export function sha256(value) {
50
51
  return `sha256:${createHash('sha256').update(value).digest('hex')}`;
51
52
  }
52
- /** Existing v1 source-byte identity, deliberately distinct from the derived package identity. */
53
- export function sourceDigest(files) {
54
- const hash = createHash('sha256');
55
- for (const [path, bytes] of [...files].toSorted(([a], [b]) => a.localeCompare(b))) {
56
- hash.update(`${path.length}:${path}:${bytes.byteLength}:`);
57
- hash.update(bytes);
58
- }
59
- return `sha256:${hash.digest('hex')}`;
60
- }
61
53
  export function packageDigest(files) {
62
54
  return sha256(stableJson({
63
55
  algorithm: 'adea-package-files/1',
@@ -1 +1 @@
1
- {"version":3,"file":"agent-plugins-catalog.js","sourceRoot":"","sources":["../src/agent-plugins-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-plugins-catalog.js","sourceRoot":"","sources":["../src/agent-plugins-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export type PublicationStep = 'acquiring' | 'staged' | 'backed-up' | 'swapped' | 'cleaned';
2
+ export interface CatalogCoordinationOptions {
3
+ /** How long to wait for another holder before failing; default 30 s. */
4
+ readonly waitMs?: number;
5
+ /** Heartbeat age after which a holder is considered dead; default 120 s. */
6
+ readonly staleAfterMs?: number;
7
+ /** Interval at which a holder refreshes its heartbeat; default 5 s. */
8
+ readonly heartbeatMs?: number;
9
+ /** Interval between lock attempts while waiting; default 50 ms. */
10
+ readonly pollMs?: number;
11
+ /** Test seam: called after each publication step while the lock is held. */
12
+ readonly onStep?: (step: PublicationStep) => void | Promise<void>;
13
+ /** Test seam: called once a lock is held. */
14
+ readonly onLocked?: (mode: LockMode) => void | Promise<void>;
15
+ }
16
+ export interface PublishOptions extends CatalogCoordinationOptions {
17
+ /**
18
+ * Fingerprint of the output the caller built from, as returned by
19
+ * {@link catalogFingerprint} inside {@link withCatalogRead}. When set, the
20
+ * publication fails with `CATALOG_BASE_CHANGED` if the output differs.
21
+ */
22
+ readonly expectedBase?: string;
23
+ /** Runs after the swap while the lock is still held, e.g. to publish an index. */
24
+ readonly afterPublish?: () => Promise<void>;
25
+ }
26
+ type LockMode = 'read' | 'write';
27
+ export interface CatalogPaths {
28
+ readonly output: string;
29
+ readonly parent: string;
30
+ readonly backup: string;
31
+ readonly lock: string;
32
+ readonly owner: string;
33
+ readonly journal: string;
34
+ readonly stagePrefix: string;
35
+ }
36
+ /** Names the coordination files of one output, beside it in its real parent. */
37
+ export declare function catalogPathsIn(parent: string, name: string): CatalogPaths;
38
+ export declare class CatalogLock {
39
+ #private;
40
+ readonly paths: CatalogPaths;
41
+ readonly token: string;
42
+ constructor(paths: CatalogPaths, token: string, heartbeatMs: number);
43
+ /** Fails with `CATALOG_LOCK_LOST` if another process broke this lock. */
44
+ assertHeld(): Promise<void>;
45
+ release(): Promise<void>;
46
+ }
47
+ /**
48
+ * Completes or undoes an interrupted publication. Must run under the lock.
49
+ *
50
+ * | output | backup | staged dir | meaning | action |
51
+ * | ------ | ------ | ---------- | -------------------------------- | -------------- |
52
+ * | yes | no | any | not swapped, or already cleaned | drop staging |
53
+ * | no | yes | any | died between the two renames | roll back |
54
+ * | yes | yes | no | swapped, backup not yet removed | roll forward |
55
+ * | no | no | any | first publication never swapped | drop staging |
56
+ * | yes | yes | yes | inconsistent | stop, preserve |
57
+ */
58
+ export declare function recoverCatalogOutput(paths: CatalogPaths): Promise<void>;
59
+ /**
60
+ * A digest of the output's entries and bytes, or `absent`. Run it under the
61
+ * lock (inside {@link withCatalogRead}) so it describes a published state.
62
+ */
63
+ export declare function catalogFingerprint(output: string): Promise<string>;
64
+ /**
65
+ * Runs `read` while no writer can publish to `output`, after finishing any
66
+ * interrupted publication. Readers are serialized with writers and with each
67
+ * other; the lock is held only for the read itself.
68
+ */
69
+ export declare function withCatalogRead<T>(output: string, read: () => Promise<T>, options?: CatalogCoordinationOptions): Promise<T>;
70
+ /**
71
+ * Replaces `output` with exactly `files`. The previous output stays in place
72
+ * until the new one is complete, and a coordinated reader sees either one or
73
+ * the other.
74
+ */
75
+ export declare function publishCatalog(output: string, files: Readonly<Record<string, string | Uint8Array>>, options?: PublishOptions): Promise<void>;
76
+ /**
77
+ * Writes one file so a reader sees either the old or the new bytes. For
78
+ * content-addressed assets and the browsing index beside the catalog.
79
+ */
80
+ export declare function writeFileAtomically(path: string, content: string | Uint8Array): Promise<void>;
81
+ export {};