@quillmark/registry 0.10.2 → 0.11.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
@@ -15,15 +15,21 @@ npm install @quillmark/registry
15
15
  ### Browser (HTTP source)
16
16
 
17
17
  ```ts
18
- import { Quillmark } from '@quillmark/wasm';
18
+ import { Quillmark, init } from '@quillmark/wasm';
19
19
  import { QuillRegistry, HttpSource } from '@quillmark/registry';
20
20
 
21
- const engine = new Quillmark();
22
21
  const source = new HttpSource({ baseUrl: 'https://cdn.example.com/quills/' });
23
- const registry = new QuillRegistry({ source, engine });
22
+ const registry = new QuillRegistry({ source });
23
+
24
+ // Start fetching while @quillmark/wasm initializes
25
+ const fetched = registry.fetch('usaf_memo@1.0.0');
26
+ init();
27
+ const engine = new Quillmark();
28
+ registry.setEngine(engine);
29
+ await fetched;
24
30
 
25
31
  // Resolve a quill — fetches, caches, and registers with the engine
26
- const bundle = await registry.resolve('usaf_memo');
32
+ const bundle = await registry.resolve('usaf_memo'); // or await registry.resolve('usaf_memo@1.0.0')
27
33
 
28
34
  // Engine is now ready to render
29
35
  const parsed = Quillmark.parseMarkdown(myMarkdown);
@@ -55,8 +61,9 @@ const registry = new QuillRegistry({ source, engine });
55
61
 
56
62
  | Method | Description |
57
63
  |---|---|
58
- | `resolve(ref)` | Resolves a quill reference (`name` or `name@version`). Fetches from source, caches, and registers with the engine. Returns a `QuillBundle`. |
59
- | `preload(refs)` | Resolves multiple quill references in parallel. Fail-fast rejects immediately if any quill fails. |
64
+ | `fetch(canonicalRef)` | Fetches a quill bundle by canonical ref (`name@version`, full semver) and caches it. Does not register with the engine. |
65
+ | `resolve(ref)` | Resolves a quill reference (`name`, `name@version`, or semver selector like `name@1` / `name@1.2`). Reuses fetched bundles when present, otherwise fetches on demand, then registers with the engine. Returns a `QuillBundle`. |
66
+ | `setEngine(engine)` | Attaches or replaces the engine used by `resolve()`. Useful when fetching before `@quillmark/wasm` initialization completes. |
60
67
  | `getManifest()` | Returns the full `QuillManifest` from the source. |
61
68
  | `getAvailableQuills()` | Returns `QuillMetadata[]` for all quills in the source. |
62
69
  | `isLoaded(name)` | Returns `true` if the quill is registered in the engine. |
@@ -97,7 +104,7 @@ Implement this to create custom sources:
97
104
  ```ts
98
105
  interface QuillSource {
99
106
  getManifest(): Promise<QuillManifest>;
100
- loadQuill(name: string, version?: string): Promise<QuillBundle>;
107
+ loadQuill(name: string, version: string): Promise<QuillBundle>;
101
108
  }
102
109
  ```
103
110
 
@@ -126,7 +133,7 @@ try {
126
133
 
127
134
  ## Version Resolution
128
135
 
129
- The `ref` parameter accepts either `name` (for example, `usaf_memo`) or `name@version` (for example, `usaf_memo@1.0.0`). When version is omitted, it resolves to the latest available. The registry checks the engine first (via `resolveQuill()`) to avoid redundant fetches, then checks its in-memory cache, and only hits the source if needed.
136
+ `fetch()` requires a canonical ref (`name@version`) using full semver (for example, `usaf_memo@1.0.0`). `resolve()` accepts `name`, canonical `name@version`, or semver selectors with missing segments (for example, `usaf_memo@1` or `usaf_memo@1.2`) and picks the highest matching version from a manifest that is loaded eagerly when the registry is constructed. Fetches are deduplicated in-memory to prevent duplicate source loads under races.
130
137
 
131
138
  ## License
132
139
 
@@ -1,7 +1,7 @@
1
1
  import type { QuillBundle, QuillManifest, QuillmarkEngine, QuillMetadata, QuillSource } from './types.js';
2
2
  export interface QuillRegistryOptions {
3
3
  source: QuillSource;
4
- engine: QuillmarkEngine;
4
+ engine?: QuillmarkEngine;
5
5
  }
6
6
  /**
7
7
  * Orchestrates quill sources, resolves versions, caches loaded quills,
@@ -15,37 +15,50 @@ export interface QuillRegistryOptions {
15
15
  export declare class QuillRegistry {
16
16
  private source;
17
17
  private engine;
18
+ private manifestPromise;
19
+ /**
20
+ * In-memory cache of in-flight and settled fetch operations.
21
+ * Keyed by quill ref (`name` or `name@version`).
22
+ */
23
+ private fetched;
18
24
  /**
19
25
  * In-memory cache of in-flight and settled resolve operations.
20
26
  * Keyed by quill ref (`name` or `name@version`).
21
27
  */
22
- private inflight;
28
+ private resolving;
29
+ /** Coalesces registration to avoid duplicate registerQuill() races. */
30
+ private registering;
23
31
  constructor(options: QuillRegistryOptions);
32
+ /** Attaches or replaces the engine instance used by resolve(). */
33
+ setEngine(engine: QuillmarkEngine): void;
24
34
  /** Returns the manifest from the underlying source. */
25
35
  getManifest(): Promise<QuillManifest>;
26
36
  /** Returns metadata for all available quills from the source manifest. */
27
37
  getAvailableQuills(): Promise<QuillMetadata[]>;
28
38
  /**
29
- * Resolves a quill by a reference string (e.g., `name@version` or just `name`).
39
+ * Fetches a quill by canonical ref (`name@version`) without registering it.
40
+ * Intended for loading in parallel before engine initialization.
41
+ */
42
+ fetch(canonicalRef: string): Promise<QuillBundle>;
43
+ /**
44
+ * Resolves a quill by reference (e.g., `name@version` or `name`) and
45
+ * ensures it is registered with the attached engine.
30
46
  *
31
47
  * Resolution flow:
32
- * 1. Check engine via resolveQuill() — return immediately if already registered
33
- * 2. Check registry cache return if cached
48
+ * 1. Check resolve cache — return if cached
49
+ * 2. Fetch bundle (or reuse fetch cache)
34
50
  * 3. Ask source for the bundle (or throw version_not_found / quill_not_found)
35
- * 4. Register with engine via registerQuill()
51
+ * 4. Register with engine via registerQuill() (coalesced by canonical ref)
36
52
  *
37
53
  * When no version is specified, resolves to latest available.
38
54
  */
39
55
  resolve(ref: string): Promise<QuillBundle>;
40
- /**
41
- * Preloads multiple quills using reference strings (e.g., `name@version`).
42
- * Fail-fast: if any quill fails to load, rejects immediately.
43
- */
44
- preload(refs: string[]): Promise<void>;
45
56
  /**
46
57
  * Checks whether a quill is currently loaded in the engine.
47
58
  * Delegates to engine.resolveQuill().
48
59
  */
49
60
  isLoaded(name: string): boolean;
61
+ private fetchForResolve;
62
+ private ensureRegistered;
50
63
  }
51
64
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAgD;gBAEpD,OAAO,EAAE,oBAAoB;IAKzC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmDhD;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG/B"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;CACzB;AAkDD;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAAyB;IAChD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAgD;IAC/D;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAgD;IACjE,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAAyC;gBAEhD,OAAO,EAAE,oBAAoB;IASzC,kEAAkE;IAClE,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIxC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;OAGG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBvD;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+BhD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;YAIjB,eAAe;YAgEf,gBAAgB;CA4B9B"}
package/dist/registry.js CHANGED
@@ -1,3 +1,48 @@
1
+ import { RegistryError } from './errors.js';
2
+ function compareSemver(a, b) {
3
+ const partsA = a.split('.').map(Number);
4
+ const partsB = b.split('.').map(Number);
5
+ const len = Math.max(partsA.length, partsB.length);
6
+ for (let i = 0; i < len; i++) {
7
+ const numA = partsA[i] ?? 0;
8
+ const numB = partsB[i] ?? 0;
9
+ if (numA !== numB)
10
+ return numA - numB;
11
+ }
12
+ return 0;
13
+ }
14
+ function isCanonicalSemver(version) {
15
+ return /^\d+\.\d+\.\d+$/.test(version);
16
+ }
17
+ function matchesSemverSelector(version, selector) {
18
+ if (selector === version)
19
+ return true;
20
+ const selectorParts = selector.split('.');
21
+ const versionParts = version.split('.');
22
+ if (selectorParts.length === 0 ||
23
+ selectorParts.length > 3 ||
24
+ selectorParts.some((p) => p.length === 0 || Number.isNaN(Number(p)))) {
25
+ return false;
26
+ }
27
+ if (selectorParts.length > versionParts.length)
28
+ return false;
29
+ for (let i = 0; i < selectorParts.length; i++) {
30
+ if (selectorParts[i] !== versionParts[i])
31
+ return false;
32
+ }
33
+ return true;
34
+ }
35
+ function chooseHighestVersion(versions) {
36
+ if (versions.length === 0)
37
+ return null;
38
+ const copy = [...versions];
39
+ copy.sort((a, b) => compareSemver(b, a));
40
+ return copy[0] ?? null;
41
+ }
42
+ function isCanonicalRef(ref) {
43
+ const [name, version, ...rest] = ref.split('@');
44
+ return Boolean(name && version && rest.length === 0 && isCanonicalSemver(version));
45
+ }
1
46
  /**
2
47
  * Orchestrates quill sources, resolves versions, caches loaded quills,
3
48
  * and registers them with the engine.
@@ -10,93 +55,186 @@
10
55
  export class QuillRegistry {
11
56
  source;
12
57
  engine;
58
+ manifestPromise;
59
+ /**
60
+ * In-memory cache of in-flight and settled fetch operations.
61
+ * Keyed by quill ref (`name` or `name@version`).
62
+ */
63
+ fetched = new Map();
13
64
  /**
14
65
  * In-memory cache of in-flight and settled resolve operations.
15
66
  * Keyed by quill ref (`name` or `name@version`).
16
67
  */
17
- inflight = new Map();
68
+ resolving = new Map();
69
+ /** Coalesces registration to avoid duplicate registerQuill() races. */
70
+ registering = new Map();
18
71
  constructor(options) {
19
72
  this.source = options.source;
20
- this.engine = options.engine;
73
+ this.engine = options.engine ?? null;
74
+ // Eagerly load the manifest at startup so resolve() can assume availability.
75
+ this.manifestPromise = this.source.getManifest();
76
+ // Prevent unhandled rejection noise if consumers never await manifest-dependent APIs.
77
+ void this.manifestPromise.catch(() => undefined);
78
+ }
79
+ /** Attaches or replaces the engine instance used by resolve(). */
80
+ setEngine(engine) {
81
+ this.engine = engine;
21
82
  }
22
83
  /** Returns the manifest from the underlying source. */
23
84
  async getManifest() {
24
- return this.source.getManifest();
85
+ return this.manifestPromise;
25
86
  }
26
87
  /** Returns metadata for all available quills from the source manifest. */
27
88
  async getAvailableQuills() {
28
- const manifest = await this.source.getManifest();
89
+ const manifest = await this.manifestPromise;
29
90
  return manifest.quills;
30
91
  }
31
92
  /**
32
- * Resolves a quill by a reference string (e.g., `name@version` or just `name`).
93
+ * Fetches a quill by canonical ref (`name@version`) without registering it.
94
+ * Intended for loading in parallel before engine initialization.
95
+ */
96
+ async fetch(canonicalRef) {
97
+ const [name, version, ...rest] = canonicalRef.split('@');
98
+ if (!name || !version || rest.length > 0 || !isCanonicalSemver(version)) {
99
+ throw new Error(`fetch() requires a canonical ref in the form "name@version". Received "${canonicalRef}"`);
100
+ }
101
+ const cacheKey = `${name}@${version}`;
102
+ const cachedPromise = this.fetched.get(cacheKey);
103
+ if (cachedPromise)
104
+ return cachedPromise;
105
+ const fetchPromise = this.source.loadQuill(name, version).catch((error) => {
106
+ this.fetched.delete(cacheKey);
107
+ throw error;
108
+ });
109
+ this.fetched.set(cacheKey, fetchPromise);
110
+ return fetchPromise;
111
+ }
112
+ /**
113
+ * Resolves a quill by reference (e.g., `name@version` or `name`) and
114
+ * ensures it is registered with the attached engine.
33
115
  *
34
116
  * Resolution flow:
35
- * 1. Check engine via resolveQuill() — return immediately if already registered
36
- * 2. Check registry cache return if cached
117
+ * 1. Check resolve cache — return if cached
118
+ * 2. Fetch bundle (or reuse fetch cache)
37
119
  * 3. Ask source for the bundle (or throw version_not_found / quill_not_found)
38
- * 4. Register with engine via registerQuill()
120
+ * 4. Register with engine via registerQuill() (coalesced by canonical ref)
39
121
  *
40
122
  * When no version is specified, resolves to latest available.
41
123
  */
42
124
  async resolve(ref) {
43
- const cachedPromise = this.inflight.get(ref);
44
- if (cachedPromise) {
45
- return cachedPromise;
46
- }
47
- // Parse ref into name and optional version
48
- const [name, version] = ref.split('@');
49
- // 1. Check engine — return immediately if already registered
50
- const engineInfo = this.engine.resolveQuill(ref);
51
- if (engineInfo) {
52
- const engineVersion = engineInfo.metadata?.version;
53
- if (typeof engineVersion === 'string') {
54
- const cacheKey = `${engineInfo.name}@${engineVersion}`;
55
- const cached = this.inflight.get(cacheKey);
56
- if (cached) {
57
- this.inflight.set(ref, cached);
58
- return cached;
59
- }
60
- }
125
+ if (!this.engine) {
126
+ throw new Error('resolve() requires an attached engine. Provide one in constructor or call setEngine().');
61
127
  }
62
- // 2. Check registry cache (only for explicit versioned lookups)
63
- if (version) {
64
- const cacheKey = `${name}@${version}`;
65
- const cached = this.inflight.get(cacheKey);
66
- if (cached) {
67
- this.inflight.set(ref, cached);
68
- return cached;
69
- }
128
+ const canonicalInput = isCanonicalRef(ref);
129
+ const inFlight = this.resolving.get(ref);
130
+ if (inFlight) {
131
+ return inFlight;
70
132
  }
71
- const resolvePromise = this.source
72
- .loadQuill(name, version)
73
- .then((bundle) => {
74
- this.engine.registerQuill(bundle.data);
133
+ const resolvePromise = this.fetchForResolve(ref)
134
+ .then(async (bundle) => {
135
+ await this.ensureRegistered(bundle);
75
136
  const resolvedKey = `${bundle.name}@${bundle.version}`;
76
- this.inflight.set(resolvedKey, resolvePromise);
77
- this.inflight.set(ref, resolvePromise);
137
+ this.resolving.set(resolvedKey, resolvePromise);
78
138
  return bundle;
79
139
  })
80
- .catch((error) => {
81
- this.inflight.delete(ref);
82
- throw error;
140
+ .finally(() => {
141
+ // Keep canonical refs cached, but do not pin selector/name refs.
142
+ if (!canonicalInput) {
143
+ this.resolving.delete(ref);
144
+ }
83
145
  });
84
- this.inflight.set(ref, resolvePromise);
146
+ this.resolving.set(ref, resolvePromise);
85
147
  return resolvePromise;
86
148
  }
87
- /**
88
- * Preloads multiple quills using reference strings (e.g., `name@version`).
89
- * Fail-fast: if any quill fails to load, rejects immediately.
90
- */
91
- async preload(refs) {
92
- await Promise.all(refs.map((ref) => this.resolve(ref)));
93
- }
94
149
  /**
95
150
  * Checks whether a quill is currently loaded in the engine.
96
151
  * Delegates to engine.resolveQuill().
97
152
  */
98
153
  isLoaded(name) {
99
- return this.engine.resolveQuill(name) !== null;
154
+ return this.engine?.resolveQuill(name) !== null;
155
+ }
156
+ async fetchForResolve(ref) {
157
+ if (isCanonicalRef(ref)) {
158
+ const cached = this.fetched.get(ref);
159
+ if (cached)
160
+ return cached;
161
+ }
162
+ const [name, version] = ref.split('@');
163
+ if (version) {
164
+ if (!isCanonicalSemver(version)) {
165
+ const selector = version;
166
+ const candidateVersionsFromCache = [];
167
+ for (const key of this.fetched.keys()) {
168
+ if (!key.startsWith(`${name}@`))
169
+ continue;
170
+ const candidateVersion = key.slice(name.length + 1);
171
+ if (matchesSemverSelector(candidateVersion, selector)) {
172
+ candidateVersionsFromCache.push(candidateVersion);
173
+ }
174
+ }
175
+ const manifest = await this.getManifest();
176
+ const manifestByName = manifest.quills.filter((q) => q.name === name);
177
+ const candidateVersionsFromManifest = manifestByName
178
+ .filter((q) => matchesSemverSelector(q.version, selector))
179
+ .map((q) => q.version);
180
+ const candidateVersions = [
181
+ ...new Set([...candidateVersionsFromCache, ...candidateVersionsFromManifest]),
182
+ ];
183
+ if (candidateVersions.length === 0) {
184
+ const hasQuillInCache = [...this.fetched.keys()].some((k) => k.startsWith(`${name}@`));
185
+ const hasQuillInManifest = manifestByName.length > 0;
186
+ if (!hasQuillInCache && !hasQuillInManifest) {
187
+ throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
188
+ quillName: name,
189
+ version: selector,
190
+ });
191
+ }
192
+ throw new RegistryError('version_not_found', `Quill "${name}" exists but version selector "${selector}" was not found`, { quillName: name, version: selector });
193
+ }
194
+ const canonicalVersion = chooseHighestVersion(candidateVersions);
195
+ const canonicalRef = `${name}@${canonicalVersion}`;
196
+ return this.fetch(canonicalRef);
197
+ }
198
+ return this.fetch(`${name}@${version}`);
199
+ }
200
+ const manifest = await this.getManifest();
201
+ const manifestByName = manifest.quills.filter((q) => q.name === name).map((q) => q.version);
202
+ const cachedVersionsByName = [...this.fetched.keys()]
203
+ .filter((k) => k.startsWith(`${name}@`))
204
+ .map((k) => k.slice(name.length + 1));
205
+ const latestVersion = chooseHighestVersion([...new Set([...manifestByName, ...cachedVersionsByName])]);
206
+ if (!latestVersion) {
207
+ throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
208
+ quillName: name,
209
+ });
210
+ }
211
+ return this.fetch(`${name}@${latestVersion}`);
212
+ }
213
+ async ensureRegistered(bundle) {
214
+ if (!this.engine) {
215
+ throw new Error('resolve() requires an attached engine. Provide one in constructor or call setEngine().');
216
+ }
217
+ const canonical = `${bundle.name}@${bundle.version}`;
218
+ const existing = this.registering.get(canonical);
219
+ if (existing) {
220
+ return existing;
221
+ }
222
+ const registerPromise = Promise.resolve()
223
+ .then(() => {
224
+ const exactInfo = this.engine.resolveQuill(canonical);
225
+ const byNameInfo = this.engine.resolveQuill(bundle.name);
226
+ const info = exactInfo ?? byNameInfo;
227
+ const existingVersion = info?.metadata?.version;
228
+ if (typeof existingVersion === 'string' && existingVersion === bundle.version) {
229
+ return;
230
+ }
231
+ this.engine.registerQuill(bundle.data);
232
+ })
233
+ .finally(() => {
234
+ this.registering.delete(canonical);
235
+ });
236
+ this.registering.set(canonical, registerPromise);
237
+ return registerPromise;
100
238
  }
101
239
  }
102
240
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -30,17 +30,12 @@ export declare class FileSystemSource implements QuillSource {
30
30
  private quillsDir;
31
31
  constructor(quillsDir: string);
32
32
  getManifest(): Promise<QuillManifest>;
33
- loadQuill(name: string, version?: string): Promise<QuillBundle>;
33
+ loadQuill(name: string, version: string): Promise<QuillBundle>;
34
34
  /**
35
35
  * Packages all quills for HTTP static hosting.
36
36
  * Creates a zip archive of each quill version and writes
37
37
  * `.zip` bundles plus a `manifest.json` to `outputDir`.
38
38
  */
39
39
  packageForHttp(outputDir: string): Promise<void>;
40
- /**
41
- * Resolves the latest version for a quill by listing version directories
42
- * and picking the highest semver.
43
- */
44
- private resolveLatestVersion;
45
40
  }
46
41
  //# sourceMappingURL=file-system-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-source.d.ts","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AA+F1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAIvB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoDrE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtD;;;OAGG;YACW,oBAAoB;CA+BlC"}
1
+ {"version":3,"file":"file-system-source.d.ts","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AA4E1F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,MAAM;IAIvB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiDpE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA6BtD"}
@@ -56,26 +56,9 @@ async function listSubdirectories(dirPath) {
56
56
  .filter((e) => e.isDirectory() && !e.name.startsWith('.'))
57
57
  .map((e) => e.name);
58
58
  }
59
- /** Returns true if the string looks like a semver version (digits and dots only). */
59
+ /** Returns true if the string is exactly a three-part semver version (digits and dots only). */
60
60
  function isSemver(value) {
61
- return /^\d+\.\d+\.\d+/.test(value);
62
- }
63
- /**
64
- * Compares two semver version strings. Returns a negative number if a < b,
65
- * zero if equal, positive if a > b. Handles versions with any number of
66
- * numeric segments (e.g., "1.0.0", "0.1", "2.1.0").
67
- */
68
- function compareSemver(a, b) {
69
- const partsA = a.split('.').map(Number);
70
- const partsB = b.split('.').map(Number);
71
- const len = Math.max(partsA.length, partsB.length);
72
- for (let i = 0; i < len; i++) {
73
- const numA = partsA[i] ?? 0;
74
- const numB = partsB[i] ?? 0;
75
- if (numA !== numB)
76
- return numA - numB;
77
- }
78
- return 0;
61
+ return /^\d+\.\d+\.\d+$/.test(value);
79
62
  }
80
63
  /**
81
64
  * Node.js-only QuillSource that reads Quill directories from the local filesystem.
@@ -146,9 +129,7 @@ export class FileSystemSource {
146
129
  return { quills };
147
130
  }
148
131
  async loadQuill(name, version) {
149
- // If no version specified, resolve to latest
150
- const resolvedVersion = version ?? (await this.resolveLatestVersion(name));
151
- const quillDir = path.join(this.quillsDir, name, resolvedVersion);
132
+ const quillDir = path.join(this.quillsDir, name, version);
152
133
  // Verify directory exists
153
134
  try {
154
135
  await fs.access(quillDir);
@@ -159,19 +140,19 @@ export class FileSystemSource {
159
140
  try {
160
141
  await fs.access(nameDir);
161
142
  // Name exists but version doesn't
162
- throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${resolvedVersion}" was not found`, { quillName: name, version: resolvedVersion });
143
+ throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${version}" was not found`, { quillName: name, version });
163
144
  }
164
145
  catch (err) {
165
146
  if (err instanceof RegistryError)
166
147
  throw err;
167
148
  throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
168
149
  quillName: name,
169
- version: resolvedVersion,
150
+ version,
170
151
  });
171
152
  }
172
153
  }
173
154
  await assertQuillYamlExists(quillDir);
174
- const metadata = { name, version: resolvedVersion };
155
+ const metadata = { name, version };
175
156
  let files;
176
157
  try {
177
158
  files = await readDirRecursive(quillDir);
@@ -179,13 +160,13 @@ export class FileSystemSource {
179
160
  catch (err) {
180
161
  throw new RegistryError('load_error', `Failed to read quill directory: ${quillDir}`, {
181
162
  quillName: name,
182
- version: resolvedVersion,
163
+ version,
183
164
  cause: err,
184
165
  });
185
166
  }
186
167
  return {
187
168
  name,
188
- version: resolvedVersion,
169
+ version,
189
170
  data: toEngineFileTree(files),
190
171
  metadata,
191
172
  };
@@ -198,6 +179,14 @@ export class FileSystemSource {
198
179
  async packageForHttp(outputDir) {
199
180
  await fs.mkdir(outputDir, { recursive: true });
200
181
  const manifest = await this.getManifest();
182
+ const seenRefs = new Set();
183
+ for (const entry of manifest.quills) {
184
+ const ref = `${entry.name}@${entry.version}`;
185
+ if (seenRefs.has(ref)) {
186
+ throw new RegistryError('load_error', `Duplicate quill entry "${ref}" found while packaging manifest`);
187
+ }
188
+ seenRefs.add(ref);
189
+ }
201
190
  for (const entry of manifest.quills) {
202
191
  const quillDir = path.join(this.quillsDir, entry.name, entry.version);
203
192
  const fileList = await listFilesRecursive(quillDir);
@@ -207,36 +196,5 @@ export class FileSystemSource {
207
196
  }
208
197
  await fs.writeFile(path.join(outputDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
209
198
  }
210
- /**
211
- * Resolves the latest version for a quill by listing version directories
212
- * and picking the highest semver.
213
- */
214
- async resolveLatestVersion(name) {
215
- const nameDir = path.join(this.quillsDir, name);
216
- let versionDirs;
217
- try {
218
- versionDirs = await listSubdirectories(nameDir);
219
- }
220
- catch {
221
- throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
222
- quillName: name,
223
- });
224
- }
225
- if (versionDirs.length === 0) {
226
- throw new RegistryError('quill_not_found', `Quill "${name}" has no versions`, {
227
- quillName: name,
228
- });
229
- }
230
- // Filter to valid semver directories only
231
- const semverDirs = versionDirs.filter(isSemver);
232
- if (semverDirs.length === 0) {
233
- throw new RegistryError('quill_not_found', `Quill "${name}" has no valid version directories`, {
234
- quillName: name,
235
- });
236
- }
237
- // Sort by semver descending, return highest
238
- semverDirs.sort((a, b) => compareSemver(b, a));
239
- return semverDirs[0];
240
- }
241
199
  }
242
200
  //# sourceMappingURL=file-system-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-system-source.js","sourceRoot":"","sources":["../../src/sources/file-system-source.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,6 @@ export declare class HttpSource implements QuillSource {
20
20
  private fetchFn;
21
21
  constructor(options: HttpSourceOptions);
22
22
  getManifest(): Promise<QuillManifest>;
23
- loadQuill(name: string, version?: string): Promise<QuillBundle>;
23
+ loadQuill(name: string, version: string): Promise<QuillBundle>;
24
24
  }
25
25
  //# sourceMappingURL=http-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3E,MAAM,WAAW,iBAAiB;IACjC,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,iBAAiB;IAOhC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA8DrE"}
1
+ {"version":3,"file":"http-source.d.ts","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK3E,MAAM,WAAW,iBAAiB;IACjC,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,iBAAiB;IAOhC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAuCrC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA6DpE"}
@@ -52,9 +52,10 @@ export class HttpSource {
52
52
  }
53
53
  async loadQuill(name, version) {
54
54
  const manifest = await this.getManifest();
55
- const entry = manifest.quills.find((q) => q.name === name && (version === undefined || q.version === version));
55
+ const matchingByName = manifest.quills.filter((q) => q.name === name);
56
+ const entry = matchingByName.find((q) => q.version === version);
56
57
  if (!entry) {
57
- if (version && manifest.quills.some((q) => q.name === name)) {
58
+ if (version && matchingByName.length > 0) {
58
59
  throw new RegistryError('version_not_found', `Quill "${name}" exists but version "${version}" was not found`, { quillName: name, version });
59
60
  }
60
61
  throw new RegistryError('quill_not_found', `Quill "${name}" not found in source`, {
@@ -1 +1 @@
1
- {"version":3,"file":"http-source.js","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-source.js","sourceRoot":"","sources":["../../src/sources/http-source.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAW3C;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACd,OAAO,CAAS;IAChB,iBAAiB,CAAiB;IAClC,cAAc,CAAiB;IAC/B,OAAO,CAA0B;IAEzC,YAAY,OAA0B;QACrC,mEAAmE;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QACvF,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,eAAe,CAAC;QAC3C,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,iCAAiC,GAAG,EAAE,EAAE;gBACrF,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,CACtB,oBAAoB,EACpB,6BAA6B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACrE,CAAC;QACH,CAAC;QAED,IAAI,QAAuB,CAAC;QAC5B,IAAI,CAAC;YACJ,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,+BAA+B,EAAE;gBAC9E,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,aAAa,CACtB,mBAAmB,EACnB,UAAU,IAAI,yBAAyB,OAAO,iBAAiB,EAC/D,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAC5B,CAAC;YACH,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,iBAAiB,EAAE,UAAU,IAAI,uBAAuB,EAAE;gBACjF,SAAS,EAAE,IAAI;gBACf,OAAO;aACP,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC;QACtC,MAAM,cAAc,GAAG,GAAG,IAAI,IAAI,eAAe,MAAM,CAAC;QACxD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,MAAM,eAAe,EAAE,CAAC;QAE1E,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,qCAAqC,SAAS,EAAE,EAAE;gBACvF,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,CACtB,YAAY,EACZ,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACzE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAC7C,CAAC;QACH,CAAC;QAED,IAAI,KAAiC,CAAC;QACtC,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,2BAA2B,IAAI,GAAG,EAAE;gBACzE,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,GAAG;aACV,CAAC,CAAC;QACJ,CAAC;QAED,OAAO;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC;YAC7B,QAAQ,EAAE,KAAK;SACf,CAAC;IACH,CAAC;CACD"}
package/dist/types.d.ts CHANGED
@@ -27,7 +27,7 @@ export interface QuillBundle {
27
27
  /** Pluggable backend that knows how to list and fetch Quills from a specific location. */
28
28
  export interface QuillSource {
29
29
  getManifest(): Promise<QuillManifest>;
30
- loadQuill(name: string, version?: string): Promise<QuillBundle>;
30
+ loadQuill(name: string, version: string): Promise<QuillBundle>;
31
31
  }
32
32
  /**
33
33
  * Info returned by the engine after registering or resolving a quill.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;mFAE+E;IAC/E,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACxB;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC3B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,MAAM,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAEhC,qEAAqE;AACrE,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;mFAE+E;IAC/E,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACxB;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC3B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,MAAM,EAAE,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillmark/registry",
3
- "version": "0.10.2",
3
+ "version": "0.11.0",
4
4
  "description": "Unified API for discovering, loading, packaging, and registering Quills with the WASM engine",
5
5
  "main": "./dist/index.js",
6
6
  "publishConfig": {